/* ========================================================================
 * Revision Date: 08/17/2016
 * ========================================================================
 * IPC 2016 
 * OSM CSS Styles that handle responsiveness.
 *
 * **** DO NOT MODIFY **** 
 *
 * Modified by Eduardo Jaime
 * Date: 03/15/2016
 * 
 */

/***** Outer elements *****/
html, body {
    height: 100%;
}

#ipc-main {
    margin: 0 auto;
    position: relative;
    width: 100%;
    min-height: 100%;
    left: 0;
    top: 0;
    overflow: hidden;
}

.ipc-sheet {
    margin: 0 auto;
    position: relative;
    cursor: auto;
    z-index: auto !important;
}

/***** Header *****/
.ipc-shapes {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    z-index: 0;
}

.ipc-header {
    margin: 0 auto;
    position: relative;
    z-index: auto !important;
}

.custom-responsive .ipc-header {
    background-position: center top;
}

.default-responsive .ipc-header, .default-responsive #ipc-header-bg {
    background-position: center center;
    background-size: cover;
}


/***** Navigation *****/
.ipc-nav {
    margin: 0 auto;
    position: relative;
    z-index: 499;
}

ul.ipc-hmenu a, ul.ipc-hmenu a:link, ul.ipc-hmenu a:visited, ul.ipc-hmenu a:hover {
    outline: none;
    position: relative;
    z-index: 11;
}

ul.ipc-hmenu, ul.ipc-hmenu ul {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    list-style-type: none;
}

    ul.ipc-hmenu li {
        position: relative;
        z-index: 5;
        display: block;
        float: left;
        background: none;
        margin: 0;
        padding: 0;
        border: 0;
    }

        ul.ipc-hmenu li:hover {
            z-index: 10000;
            white-space: normal;
        }

    ul.ipc-hmenu:after, ul.ipc-hmenu ul:after {
        content: ".";
        height: 0;
        display: block;
        visibility: hidden;
        overflow: hidden;
        clear: both;
    }

    ul.ipc-hmenu, ul.ipc-hmenu ul {
        min-height: 0;
    }

ul.ipc-hmenu {
    display: inline-block;
    vertical-align: middle;
}

.ipc-nav:before {
    content: ' ';
}

.ipc-hmenu {
    float: left;
}

.ipc-menuitemcontainer {
    margin: 0 auto;
}

ul.ipc-hmenu > li {
    margin-left: 5px;
}

    ul.ipc-hmenu > li:first-child {
        margin-left: 2px;
    }

    ul.ipc-hmenu > li:last-child, ul.ipc-hmenu > li.last-child {
        margin-right: 2px;
    }

    ul.ipc-hmenu > li > a {
        position: relative;
        display: block;
    }

    ul.ipc-hmenu > li:before {
        position: absolute;
        display: block;
    }

    ul.ipc-hmenu > li:first-child:before {
        display: none;
    }

ul.ipc-hmenu li li a {
    padding: 0 17px;
    margin: 0 auto;
}

ul.ipc-hmenu li li {
    float: none;
    width: auto;
    margin-top: 0;
    margin-bottom: 0;
}

.desktop ul.ipc-hmenu li li ul > li:first-child {
    margin-top: 0;
}

ul.ipc-hmenu li li ul > li:last-child {
    margin-bottom: 0;
}


.ipc-hmenu ul a {
    display: block;
    white-space: nowrap;
}

.desktop ul.ipc-hmenu > li > ul > li {
    margin-top: 0;
    margin-bottom: 0;
}


.desktop .ipc-hmenu > li > ul > li {
    float: left;
}

    .desktop .ipc-hmenu > li > ul > li > ul {
        position: relative;
        left: 0 !important;
        right: auto !important;
        padding: 0 !important;
        margin: 0 !important;
    }

.desktop .ipc-hmenu > li:hover > ul > li > ul {
    visibility: visible;
}

.desktop .ipc-hmenu > li > ul > li > ul:before {
    visibility: hidden;
}

ul.ipc-hmenu ul li a:hover {
    margin: 0 auto;
}

.desktop ul.ipc-hmenu li:hover > ul {
    visibility: visible;
    top: 100%;
}

.desktop ul.ipc-hmenu li li:hover > ul {
    top: 0;
    left: 100%;
}

ul.ipc-hmenu ul {
    visibility: hidden;
    position: absolute;
    z-index: 10;
    left: 0;
    top: 0;
    background-image: url('images/spacer.gif');
}

.desktop ul.ipc-hmenu > li > ul {
    /*padding: 12px 32px 32px 32px;*/
    margin: -10px 0 0 -30px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.desktop ul.ipc-hmenu ul ul {
    padding: 32px 32px 32px 14px;
    margin: -32px 0 0 -9px;
}

.desktop ul.ipc-hmenu ul.ipc-hmenu-left-to-right {
    right: auto;
    left: 0;
    margin: -10px 0 0 -30px;
}

.desktop ul.ipc-hmenu ul.ipc-hmenu-right-to-left {
    left: auto;
    right: 0;
    margin: -10px -30px 0 0;
}

.desktop ul.ipc-hmenu li li:hover > ul.ipc-hmenu-left-to-right {
    right: auto;
    left: 100%;
}

.desktop ul.ipc-hmenu li li:hover > ul.ipc-hmenu-right-to-left {
    left: auto;
    right: 100%;
}

.desktop ul.ipc-hmenu ul ul.ipc-hmenu-left-to-right {
    right: auto;
    left: 0;
    padding: 32px 32px 32px 14px;
    margin: -32px 0 0 -9px;
}

.desktop ul.ipc-hmenu ul ul.ipc-hmenu-right-to-left {
    left: auto;
    right: 0;
    padding: 32px 14px 32px 32px;
    margin: -32px -9px 0 0;
}

.desktop ul.ipc-hmenu li ul > li:first-child {
    margin-top: 0;
}

.desktop ul.ipc-hmenu li ul > li:last-child {
    margin-bottom: 0;
}

.desktop ul.ipc-hmenu ul ul:before {
    border-radius: 4px;
    top: 30px;
    bottom: 30px;
    right: 30px;
    left: 12px;
}

.desktop ul.ipc-hmenu > li > ul:before {
    top: 10px;
    right: 30px;
    bottom: 30px;
    left: 30px;
}

.desktop ul.ipc-hmenu > li > ul.ipc-hmenu-left-to-right:before {
    right: 30px;
    left: 30px;
}

.desktop ul.ipc-hmenu > li > ul.ipc-hmenu-right-to-left:before {
    right: 30px;
    left: 30px;
}

.desktop ul.ipc-hmenu ul ul.ipc-hmenu-left-to-right:before {
    right: 30px;
    left: 12px;
}

.desktop ul.ipc-hmenu ul ul.ipc-hmenu-right-to-left:before {
    right: 12px;
    left: 30px;
}

.desktop ul.ipc-hmenu > li.ext > a {
    white-space: nowrap;
}

    .desktop ul.ipc-hmenu > li.ext > a:hover, .desktop ul.ipc-hmenu > li.ext:hover > a, .desktop ul.ipc-hmenu > li.ext:hover > a.active {
        /* default padding + border size */
        padding: 1px 23px 1px 23px;
        /* margin for shadow */
        margin: 0 0 0 0;
        overflow: hidden;
        position: relative;
        border: none;
        border-radius: 0;
        box-shadow: none;
    }

        .desktop ul.ipc-hmenu > li.ext > a:hover:before, .desktop ul.ipc-hmenu > li.ext:hover > a:before, .desktop ul.ipc-hmenu > li.ext:hover > a.active:before {
            position: absolute;
            content: ' ';
            /* top, right, left - for shadow */
            top: 0;
            right: 0;
            left: 0;
            /* border + shadow */
            bottom: -1px;
            border-top-left-radius: 4px;
            border-top-right-radius: 4px;
            box-shadow: 0 0 0 rgba(0, 0, 0, 0.8);
            z-index: -1;
        }

.desktop ul.ipc-hmenu > li.ext:hover > ul {
    padding-top: 1px;
    /* menu bar padding */
    margin-top: 0;
}

    .desktop ul.ipc-hmenu > li.ext:hover > ul:before {
        /* border + shadow */
        top: -1px;
        clip: rect(6px, auto, auto, auto);
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        box-shadow: 0 0 0 rgba(0, 0, 0, 0.8);
    }

ul.ipc-hmenu > li.ext > .ext-r, ul.ipc-hmenu > li.ext > .ext-l, ul.ipc-hmenu > li.ext > .ext-m, ul.ipc-hmenu > li.ext > .ext-off {
    display: none;
    z-index: 12;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.desktop ul.ipc-hmenu > li.ext > ul {
    z-index: 13;
}

.desktop ul.ipc-hmenu > li.ext.ext-r:hover > .ext-r, .desktop ul.ipc-hmenu > li.ext.ext-l:hover > .ext-l {
    position: absolute;
    display: block;
    overflow: hidden;
    /* size of radius 
   * if size if 0 we should now generate script 
   * that adds ext-r and ext-m divs
   */
    height: 6px;
    top: 100%;
    padding-top: 1px;
    margin-top: -1px;
    /* border width + shadow */
}

.desktop ul.ipc-hmenu > li.ext:hover > .ext-r:before, .desktop ul.ipc-hmenu > li.ext:hover > .ext-l:before {
    position: absolute;
    content: ' ';
    top: 0;
    /* border + shadow */
    bottom: -1px;
    box-shadow: 0 0 0 rgba(0, 0, 0, 0.8);
}

.desktop ul.ipc-hmenu > li.ext.ext-r:hover > .ext-r {
    left: 100%;
    right: auto;
    padding-left: 0;
    margin-left: 0;
    padding-right: 1px;
    margin-right: -1px;
    /* only shadow */
}

    .desktop ul.ipc-hmenu > li.ext.ext-r:hover > .ext-r:before {
        right: 0;
        left: -1px;
        border-top-left-radius: 0;
        border-top-right-radius: 4px;
    }

.desktop ul.ipc-hmenu > li.ext.ext-l:hover > .ext-l {
    right: 100%;
    left: auto;
    padding-right: 0;
    margin-right: 0;
    padding-left: 1px;
    margin-left: -1px;
    /* only shadow */
}

    .desktop ul.ipc-hmenu > li.ext.ext-l:hover > .ext-l:before {
        right: -1px;
        left: 0;
        border-top-right-radius: 0;
        border-top-left-radius: 4px;
    }

.desktop ul.ipc-hmenu > li.ext:hover > .ext-m, .desktop ul.ipc-hmenu > li.ext:hover > .ext-off {
    position: absolute;
    display: block;
    overflow: hidden;
    height: 5px;
    top: 100%;
}

.desktop ul.ipc-hmenu > li.ext.ext-r:hover > .ext-m {
    /* shadow offset */
    left: 0;
    right:0;
    /* shadow offset */
    padding-right: 0;
    padding-left: 0;
}

.desktop ul.ipc-hmenu > li.ext:hover > .ext-off {
    /* shadow offset */
    left: 0;
    right: 0;
    /* shadow offset */
    padding-left: 0;
    padding-right: 0;
}

.desktop ul.ipc-hmenu > li.ext.ext-l:hover > .ext-m {
    /* shadow offset */
    right: 0;
    left: 0;
    /* shadow offset */
    padding-left: 0;
    padding-right: 0;
}

.desktop ul.ipc-hmenu > li.ext.ext-l.ext-r:hover > .ext-m {
    /* shadow offset */
    right: 0;
    left: 0;
    /* shadow offset */
    padding-left: 0;
    padding-right: 0;
}

.desktop ul.ipc-hmenu > li.ext:hover > .ext-m:before, .desktop ul.ipc-hmenu > li.ext:hover > .ext-off:before {
    position: absolute;
    content: ' ';
    top: -1px;
    bottom: -1px;
    /* shadow offset */
    box-shadow: 0 0 0 rgba(0, 0, 0, 0.8);
}

.desktop ul.ipc-hmenu > li.ext.ext-r:hover > .ext-m:before {
    right: -1px;
    left: 0;
}

.desktop ul.ipc-hmenu > li.ext.ext-l:hover > .ext-m:before {
    left: -1px;
    right: 0;
}

.desktop ul.ipc-hmenu > li.ext.ext-l.ext-r:hover > .ext-m:before {
    left: -1px;
    right: -1px;
}
/***** VERTICAL DROPDOWNS MENU *****/

.ipc-vmenu {
    float: left;
}

ul.ipc-vmenu > li {
    margin-left: 5px;
}

    ul.ipc-vmenu > li:first-child {
        margin-left: 2px;
    }

    ul.ipc-vmenu > li:last-child, ul.ipc-vmenu > li.last-child {
        margin-right: 2px;
    }

ul.ipc-vmenu a, ul.ipc-vmenu a:link, ul.ipc-vmenu a:visited, ul.ipc-vmenu a:hover {
    outline: none;
    position: relative;
    z-index: 11;
}

ul.ipc-vmenu, ul.ipc-vmenu ul {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    list-style-type: none;
}

    ul.ipc-vmenu li {
        position: relative;
        z-index: 5;
        display: block;
        float: left;
        background: none;
        margin: 0;
        padding: 0;
        border: 0;
    }

        ul.ipc-vmenu li:hover {
            z-index: 10000;
            white-space: normal;
        }

    ul.ipc-vmenu:after, ul.ipc-vmenu ul:after {
        content: ".";
        height: 0;
        display: block;
        visibility: hidden;
        overflow: hidden;
        clear: both;
    }

    ul.ipc-vmenu, ul.ipc-vmenu ul {
        min-height: 0;
    }

ul.ipc-vmenu {
    display: inline-block;
    vertical-align: middle;
}

    ul.ipc-vmenu > li:first-child:before {
        display: none;
    }

    ul.ipc-vmenu li li a {
        padding: 0 17px;
        margin: 0 auto;
    }

    ul.ipc-vmenu li li {
        float: none;
        width: auto;
        margin-top: 0;
        margin-bottom: 0;
    }


.desktop ul.ipc-vmenu li li ul > li:first-child {
    margin-top: 0;
}

ul.ipc-vmenu li li ul > li:last-child {
    margin-bottom: 0;
}

ul.ipc-vmenu ul li a:hover, .desktop ul.ipc-vmenu ul li:hover > a {
    margin: 0 auto;
}

/*
.ipc-vmenu ul a:hover {
    color: #000000;
}
ul.ipc-vmenu ul:before {
    background: inherit;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    border: 1px solid #6AAADF;
    margin: 0 auto;
    display: block;
    position: absolute;
    content: ' ';
    z-index: 1;
}
*/
.desktop ul.ipc-vmenu li:hover > ul {
    visibility: visible;
    top: 100%;
}

.desktop ul.ipc-vmenu li li:hover > ul {
    top: 0;
    left: 100%;
}

ul.ipc-vmenu ul {
    visibility: hidden;
    position: absolute;
    z-index: 10;
    left: 0;
    top: 0;
    background-image: url('images/spacer.gif');
}

/*
.desktop ul.ipc-vmenu > li > ul {
    padding: 12px 32px 32px 32px;
    margin: -10px 0 0 -30px;
}

.desktop ul.ipc-vmenu ul ul {
    padding: 32px 32px 32px 14px;
    margin: -32px 0 0 -9px;
}

.desktop ul.ipc-vmenu ul.ipc-vmenu-left-to-right 
{
   right: auto;
   left: 0;
   margin: -10px 0 0 -30px;
}

.desktop ul.ipc-vmenu ul.ipc-vmenu-right-to-left 
{
   left: auto;
   right: 0;
   margin: -10px -30px 0 0;
}

.desktop ul.ipc-vmenu li li:hover>ul.ipc-vmenu-left-to-right {
   right: auto;
   left: 100%;
}
.desktop ul.ipc-vmenu li li:hover>ul.ipc-vmenu-right-to-left {
   left: auto;
   right: 100%;
}

.desktop ul.ipc-vmenu ul ul.ipc-vmenu-left-to-right
{
   right: auto;
   left: 0;
   padding: 32px 32px 32px 14px;
   margin: -32px 0 0 -9px;
}

.desktop ul.ipc-vmenu ul ul.ipc-vmenu-right-to-left
{
   left: auto;
   right: 0;
   padding: 32px 14px 32px 32px;
   margin: -32px -9px 0 0;
}

.desktop ul.ipc-vmenu li ul>li:first-child {
   margin-top: 0;
}
.desktop ul.ipc-vmenu li ul>li:last-child {
   margin-bottom: 0;
}


.desktop ul.ipc-vmenu ul ul:before
{
   border-radius: 4px;
   top: 30px;
   bottom: 30px;
   right: 30px;
   left: 12px;
}

.desktop ul.ipc-vmenu>li>ul:before
{
   top: 10px;
   right: 30px;
   bottom: 30px;
   left: 30px;
}

.desktop ul.ipc-vmenu>li>ul.ipc-vmenu-left-to-right:before {
   right: 30px;
   left: 30px;
}
.desktop ul.ipc-vmenu>li>ul.ipc-vmenu-right-to-left:before {
   right: 30px;
   left: 30px;
}
.desktop ul.ipc-vmenu ul ul.ipc-vmenu-left-to-right:before {
   right: 30px;
   left: 12px;
}
.desktop ul.ipc-vmenu ul ul.ipc-vmenu-right-to-left:before {
   right: 12px;
   left: 30px;
}

*/
/*EDNSDRIPDOWN2*/

.responsive nav.ipc-nav,
.responsive .ipc-nav-inner {
    width: auto !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin-top: 0;
    margin-bottom: 0;
    min-width: 0;
    text-align: left !important;
}

.responsive nav.ipc-nav {
    min-width: 1%;
    margin-right: 1% !important;
    margin-left: 1% !important;
}

.responsive .ipc-nav {
    padding-left: 0;
    padding-right: 0;
}

    /* full width hmenu, instead of inline-block */
    .responsive .ipc-nav ul.ipc-vmenu {
        float: none;
        text-align: center;
        display: none;
    }

        /* elements on different lines */
        .responsive .ipc-nav ul.ipc-vmenu li,
        .responsive .ipc-vmenu-extra1,
        .responsive .ipc-vmenu-extra2 {
            float: none;
        }

        /* horizontal margins */
        .responsive .ipc-nav ul.ipc-vmenu > li:first-child,
        .responsive .ipc-nav ul.ipc-vmenu > li:last-child,
        .responsive .ipc-nav ul.ipc-vmenu > li {
            margin-left: 0;
            margin-right: 0;
        }

            /* separator */
            .responsive .ipc-nav ul.ipc-vmenu > li:before {
                display: none;
            }

        /* vertical distance between items */
        .responsive .ipc-nav ul.ipc-vmenu a {
            margin-top: 1px !important;
            margin-bottom: 1px !important;
            height: auto;
            white-space: normal;
        }

        .responsive .ipc-nav ul.ipc-vmenu > li:first-child > a {
            margin-top: 0 !important;
        }

        .responsive .ipc-nav ul.ipc-vmenu > li:last-child > a {
            margin-bottom: 0 !important;
        }

        /* fixes for extended menu */
        .responsive .ipc-nav .ext,
        .responsive .ipc-nav ul.ipc-vmenu > li > ul,
        .responsive .ipc-nav ul.ipc-vmenu > li > ul > li,
        .responsive .ipc-nav ul.ipc-vmenu > li > ul > li a {
            width: auto !important;
        }

        /* submenu position on hover */
        .responsive .ipc-nav ul.ipc-vmenu ul {
            left: auto !important;
            right: auto !important;
            top: auto !important;
            bottom: auto !important;
            display: none !important;
            position: relative !important;
            visibility: visible !important;
        }

        .responsive .ipc-nav ul.ipc-vmenu li.active > ul {
            display: block !important;
        }

        .responsive .ipc-nav ul.ipc-vmenu ul li.active > a {
            font-weight: bold;
        }

    .responsive .ipc-nav .ipc-vmenu.visible {
        display: block;
    }

    .responsive .ipc-nav ul.ipc-vmenu > li > ul > li:first-child:after {
        display: none;
    }

    .responsive .ipc-nav ul.ipc-vmenu ul a {
        padding-left: 4% !important;
    }

    .responsive .ipc-nav ul.ipc-vmenu ul ul a {
        padding-left: 6% !important;
    }

    .responsive .ipc-nav ul.ipc-vmenu ul ul ul a {
        padding-left: 8% !important;
    }

    .responsive .ipc-nav ul.ipc-vmenu ul ul ul ul a {
        padding-left: 10% !important;
    }

    .responsive .ipc-nav ul.ipc-vmenu ul ul ul ul ul a {
        padding-left: 12% !important;
    }

    .responsive .ipc-nav ul.ipc-vmenu > li > ul {
        padding: 1px;
    }

        .responsive .ipc-nav ul.ipc-vmenu > li > ul:before {
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
        }

/***** Body Elements *****/
/* Responsive DIVs 
    Layout wrapper contains a "content-layout"
    Each content-layout contains as many rows as needed as long as they have the same ammount of cells.
    Each layout-cell can have its contents aligned left, center or right by adding  the class: ipc-cell-aleft or aright or acenter

    Example:
    .ipc-layout-wrapper
        .ipc-content-layout
            .ipc-content-layout-row 
                .ipc-layout-cell .ipc-cell-aright 
                .ipc-layout-cell .ipc-cell-aright 
                .ipc-layout-cell .ipc-cell-aright 
            .ipc-content-layout-row 
                .ipc-layout-cell .ipc-cell-aright 
                .ipc-layout-cell .ipc-cell-aright 
                .ipc-layout-cell .ipc-cell-aright 
        .ipc-content-layout
            .ipc-content-layout-row 
                .ipc-layout-cell .ipc-cell-aleft 
                .ipc-layout-cell .ipc-cell-aright 
            .ipc-content-layout-row 
                .ipc-layout-cell .ipc-cell-aleft 
                .ipc-layout-cell .ipc-cell-aright 
    */

.ipc-layout-wrapper {
    position: relative;
    margin: 0 auto 0 auto;
    z-index: auto !important;
}

.ipc-content-layout {
    display: table;
    width: 100%;
    table-layout: fixed;
}

.ipc-content-layout-row {
    display: table-row;
}

.ipc-layout-cell {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: table-cell;
    vertical-align: top;
    padding: 5px;
}

.responsive .ipc-layout-cell {
    text-align: center !important;
    vertical-align: top !important;
}

.ipc-cell-aright {
    text-align: right;
    vertical-align: top;
}

.ipc-cell-aleft {
    text-align: left;
    vertical-align: top;
}

.ipc-cell-acenter {
    text-align: center;
    vertical-align: top;
}

/***** Footer *****/

.ipc-footer {
    position: relative;
}

    .ipc-header:after, #ipc-header-bg:after, .ipc-layout-cell:after, .ipc-layout-wrapper:after, .ipc-footer:after, .ipc-nav:after, #ipc-hmenu-bg:after, .ipc-sheet:after, .cleared, .clearfix:after {
        clear: both;
        font: 0/0 serif;
        display: block;
        content: " ";
    }

    .ipc-footer p {
        padding: 0;
        text-align: center;
    }

    .ipc-footer img {
        border: none;
        margin: 0;
    }


/*!
 * Responsive CSS classes
    **** DO NOT MODIFY **** 
 * The following classes handle element resizing and display in responsive mode. 
 */
.responsive body {
    min-width: 240px;
}

.responsive img {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.responsive .ipc-content-layout img, .responsive .ipc-content-layout video {
    max-width: 100%;
    height: auto !important;
}

.responsive.responsive-phone .ipc-content-layout img {
    margin: 1%;
}

.responsive.responsive-phone .ipc-collage, .responsive.responsive-tablet .ipc-collage {
    margin: 0 !important;
}

.responsive .ipc-content-layout .ipc-sidebar0, .responsive .ipc-content-layout .ipc-sidebar1, .responsive .ipc-content-layout .ipc-sidebar2 {
    width: auto !important;
}

.responsive .ipc-content-layout, .responsive .ipc-content-layout-row, .responsive .ipc-layout-cell {
    display: block;
}

.responsive .ipc-content-layout, .responsive .ipc-content-layout-row {
    padding: 0;
}

.responsive .image-caption-wrapper {
    width: auto;
}

.responsive .ipc-header {
    width: auto !important;
    max-width: none !important;
    min-height: 100px !important;
    min-width: 0 !important;
    margin-right: 1% !important;
    margin-left: 1% !important;
    text-align: center;
}

.default-responsive .ipc-header {
    height: auto;
}

    .default-responsive .ipc-header * {
        position: relative;
        text-align: center;
        -webkit-transform: none !important;
        -moz-transform: none !important;
        -o-transform: none !important;
        -ms-transform: none !important;
        transform: none !important;
    }

    .default-responsive .ipc-header .ipc-headline, .default-responsive .ipc-header .ipc-slogan {
        display: block !important;
        top: 0 !important;
        left: 0 !important;
        margin: 2% !important;
        text-align: center !important;
    }

        .default-responsive .ipc-header .ipc-headline a, .default-responsive .ipc-header .ipc-slogan {
            white-space: normal !important;
        }

/******* Horizontal Menu *******/

/* dynamic width nav */
.responsive nav.ipc-nav, .responsive .ipc-nav-inner {
    width: auto !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin-top: 0;
    margin-bottom: 0;
    min-width: 0;
    text-align: left !important;
}

.responsive nav.ipc-nav {
    min-width: 1%;
    margin-right: 1% !important;
    margin-left: 1% !important;
}

.responsive .ipc-nav {
    padding-left: 0;
    padding-right: 0;
}

    /* full width hmenu, instead of inline-block */
    .responsive .ipc-nav ul.ipc-hmenu {
        float: none;
        text-align: center;
        display: none;
    }

        /* elements on different lines */
        .responsive .ipc-nav ul.ipc-hmenu li, .responsive .ipc-hmenu-extra1, .responsive .ipc-hmenu-extra2 {
            float: none;
        }

        /* horizontal margins */
        .responsive .ipc-nav ul.ipc-hmenu > li:first-child, .responsive .ipc-nav ul.ipc-hmenu > li:last-child, .responsive .ipc-nav ul.ipc-hmenu > li {
            margin-left: 0;
            margin-right: 0;
        }

            /* separator */
            .responsive .ipc-nav ul.ipc-hmenu > li:before {
                display: none;
            }

        /* vertical distance between items */
        .responsive .ipc-nav ul.ipc-hmenu a {
            margin-top: 1px !important;
            margin-bottom: 1px !important;
            height: auto;
            white-space: normal;
        }

        .responsive .ipc-nav ul.ipc-hmenu > li:first-child > a {
            margin-top: 0 !important;
        }

        .responsive .ipc-nav ul.ipc-hmenu > li:last-child > a {
            margin-bottom: 0 !important;
        }

        /* fixes for extended menu */
        .responsive .ipc-nav .ext, .responsive .ipc-nav ul.ipc-hmenu > li > ul, .responsive .ipc-nav ul.ipc-hmenu > li > ul > li, .responsive .ipc-nav ul.ipc-hmenu > li > ul > li a {
            width: auto !important;
        }

        /* submenu position on hover */
        .responsive .ipc-nav ul.ipc-hmenu ul {
            left: auto !important;
            right: auto !important;
            top: auto !important;
            bottom: auto !important;
            display: none !important;
            position: relative !important;
            visibility: visible !important;
        }

        .responsive .ipc-nav ul.ipc-hmenu li.active > ul {
            display: block !important;
        }

        .responsive .ipc-nav ul.ipc-hmenu ul li.active > a {
            font-weight: bold;
        }

.ipc-nav .ipc-menu-btn {
    border-radius: 3px;
    box-shadow: 0 0 3px 0 rgba(0, 0, 0, .2);
    display: none;
    /* Button that opens the menu when in responsive mode */
    margin: 3px;
    outline: none;
    padding: 5px;
    position: relative;
    vertical-align: bottom;
    width: 20px;
}

    .ipc-nav .ipc-menu-btn span {
        border-radius: 2px;
        display: block;
        height: 3px;
        margin: 3px 1px;
        position: relative;
        -moz-transition: background .2s;
        -o-transition: background .2s;
        -webkit-transition: background .2s;
        transition: background .2s;
    }

.responsive .ipc-nav .ipc-menu-btn {
    display: inline-block;
}

.responsive .ipc-nav .ipc-hmenu.visible {
    display: block;
}

.responsive .ipc-nav ul.ipc-hmenu > li > ul > li:first-child:after {
    display: none;
}

/*Multi level properties*/
.responsive .ipc-nav ul.ipc-hmenu ul a {
    padding-left: 4% !important;
}

.responsive .ipc-nav ul.ipc-hmenu ul ul a {
    padding-left: 6% !important;
}

.responsive .ipc-nav ul.ipc-hmenu ul ul ul a {
    padding-left: 8% !important;
}

.responsive .ipc-nav ul.ipc-hmenu ul ul ul ul a {
    padding-left: 10% !important;
}

.responsive .ipc-nav ul.ipc-hmenu ul ul ul ul ul a {
    padding-left: 12% !important;
}

.responsive .ipc-nav ul.ipc-hmenu > li > ul {
    padding: 1px;
}

    .responsive .ipc-nav ul.ipc-hmenu > li > ul:before {
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
    }

.responsive .ipc-sheet {
    width: auto !important;
    min-width: 240px !important;
    max-width: none !important;
    margin-right: 1% !important;
    margin-left: 1% !important;
}

#ipc-resp {
    display: none;
}

@media all and (max-width: 768px) {
    #ipc-resp, #ipc-resp-t {
        display: block;
    }

    #ipc-resp-m {
        display: none;
    }
}

@media all and (max-width: 480px) {
    #ipc-resp, #ipc-resp-m {
        display: block;
    }

    #ipc-resp-t {
        display: none;
    }
}

#ipc-resp-desktop {
    display: none;
}

#ipc-resp-tablet-landscape {
    display: none;
}

#ipc-resp-tablet-portrait {
    display: none;
}

#ipc-resp-phone-landscape {
    display: none;
}

#ipc-resp-phone-portrait {
    display: none;
}

@media (min-width: 1200px) {
    #ipc-resp-desktop {
        display: block;
    }
}

@media (min-width: 980px) and (max-width: 1199px) {
    #ipc-resp-tablet-landscape {
        display: block;
    }
}

@media (min-width: 768px) and (max-width: 979px) {
    #ipc-resp-tablet-portrait {
        display: block;
    }
}

@media (min-width: 480px) and (max-width: 767px) {
    #ipc-resp-phone-landscape {
        display: block;
    }
}

@media (max-width: 479px) {
    #ipc-resp-phone-portrait {
        display: block;
    }
}

.responsive .ipc-content-layout, .responsive .ipc-content-layout-row, .responsive .ipc-layout-cell {
    display: block;
}

.responsive .ipc-layout-cell {
    width: auto !important;
    height: auto !important;
}

    .responsive .ipc-content-layout:after, .responsive .ipc-content-layout-row:after, .responsive .ipc-layout-cell:after {
        content: ".";
        display: block;
        height: 0;
        clear: both;
        visibility: hidden;
    }

.responsive .responsive-tablet-layout-cell, .responsive.responsive-tablet .ipc-footer .ipc-content-layout .ipc-layout-cell {
    margin: 1%;
    width: 98% !important;
    float: left;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.responsive .responsive-layout-row-2 .responsive-tablet-layout-cell, .responsive.responsive-tablet .ipc-footer .ipc-content-layout .responsive-layout-row-2 .ipc-layout-cell {
    width: 48% !important;
}

.responsive .responsive-layout-row-3 .responsive-tablet-layout-cell, .responsive.responsive-tablet .ipc-footer .ipc-content-layout .responsive-layout-row-3 .ipc-layout-cell {
    width: 31% !important;
}

.responsive .ipc-post {
    border-radius: 0;
}

.responsive .ipc-footer-inner {
    min-width: 0;
}

.responsive .ipc-footer {
    margin-top: 1%;
}