.responsive body {
    min-width: 240px;
}

.responsive img {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.responsive .style-content-layout img,
.responsive .style-content-layout video {
    max-width: 100%;
    height: auto !important;
}

.responsive.responsive-phone .style-content-layout img {
    margin: 1%;
}

.responsive.responsive-phone .style-collage,
.responsive.responsive-tablet .style-collage {
    margin: 0 !important;
}

.responsive .style-content-layout .style-sidebar0,
.responsive .style-content-layout .style-sidebar1,
.responsive .style-content-layout .style-sidebar2 {
    width: auto !important;
}

.responsive .style-content-layout,
.responsive .style-content-layout-row,
.responsive .style-layout-cell {
    display: block;
}

.responsive .style-content-layout,
.responsive .style-content-layout-row {
    padding: 0;
}

.responsive .image-caption-wrapper {
    width: auto;
}

.responsive.responsive-tablet .style-vmenublock,
.responsive.responsive-tablet .style-block {
    margin-left: 1%;
    margin-right: 1%;
    width: 48%;
    float: left;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.responsive .style-responsive-embed {
    height: 0;
    padding-bottom: 56.25%;
    /* 16:9 */
    position: relative;
}

    .responsive .style-responsive-embed iframe,
    .responsive .style-responsive-embed object,
    .responsive .style-responsive-embed embed {
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%;
    }

/* dynamic width nav */
.responsive nav.style-nav,
.responsive .style-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: justify !important;
}

.responsive nav.style-nav {
    min-width: 1%;
    margin-right: 1% !important;
    margin-left: 1% !important;
}

.responsive .style-nav {
    padding-left: 0;
    padding-right: 0;
}

    /* full width hmenu, instead of inline-block */
    .responsive .style-nav ul.style-hmenu {
        float: none;
        text-align: center;
        display: none;
    }

        /* elements on different lines */
        .responsive .style-nav ul.style-hmenu li,
        .responsive .style-hmenu-extra1,
        .responsive .style-hmenu-extra2 {
            float: none;
        }

        /* horizontal margins */
        .responsive .style-nav ul.style-hmenu > li:first-child,
        .responsive .style-nav ul.style-hmenu > li:last-child,
        .responsive .style-nav ul.style-hmenu > li {
            margin-left: 0;
            margin-right: 0;
        }

            /* separator */
            .responsive .style-nav ul.style-hmenu > li:before {
                display: none;
            }

        /* vertical distance between items */
        .responsive .style-nav ul.style-hmenu a {
            margin-top: 1px !important;
            margin-bottom: 1px !important;
            height: auto;
            white-space: normal;
        }

        .responsive .style-nav ul.style-hmenu > li:first-child > a {
            margin-top: 0 !important;
        }

        .responsive .style-nav ul.style-hmenu > li:last-child > a {
            margin-bottom: 0 !important;
        }

        /* fixes for extended menu */
        .responsive .style-nav .ext,
        .responsive .style-nav ul.style-hmenu > li > ul,
        .responsive .style-nav ul.style-hmenu > li > ul > li,
        .responsive .style-nav ul.style-hmenu > li > ul > li a {
            width: auto !important;
        }

        /* submenu position on hover */
        .responsive .style-nav ul.style-hmenu ul {
            left: auto !important;
            right: auto !important;
            top: auto !important;
            bottom: auto !important;
            display: none !important;
            position: relative !important;
            visibility: visible !important;
        }

        .responsive .style-nav ul.style-hmenu li.active > ul {
            display: block !important;
        }

        .responsive .style-nav ul.style-hmenu ul li.active > a {
            font-weight: bold;
        }

.style-nav .style-menu-btn {
    border: 1px solid #404040;
    border-radius: 3px;
    box-shadow: 0 0 3px 0 rgba(0, 0, 0, .2);
    display: none;
    -svg-background: linear-gradient(to bottom, #707070 0, #000 100%);
    background: -ms-linear-gradient(top, #707070 0, #000 100%);
    background: -moz-linear-gradient(top, #707070 0, #000 100%);
    background: -o-linear-gradient(top, #707070 0, #000 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #707070), color-stop(1, #000));
    background: -webkit-linear-gradient(top, #707070 0, #000 100%);
    background: linear-gradient(to bottom, #707070 0, #000 100%);
    margin: 3px;
    outline: none;
    padding: 5px;
    position: relative;
    vertical-align: bottom;
    width: 20px;
}

    .style-nav .style-menu-btn span {
        background: #E0E0E0;
        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;
    }

    .style-nav .style-menu-btn:hover span {
        background: #f3f3f3;
    }

.responsive .style-nav .style-menu-btn {
    display: inline-block;
}

.responsive .style-nav .style-hmenu.visible {
    display: block;
}

.responsive .style-nav ul.style-hmenu > li > ul > li:first-child:after {
    display: none;
}

.responsive .style-nav ul.style-hmenu ul a {
    padding-left: 4% !important;
}

.responsive .style-nav ul.style-hmenu ul ul a {
    padding-left: 6% !important;
}

.responsive .style-nav ul.style-hmenu ul ul ul a {
    padding-left: 8% !important;
}

.responsive .style-nav ul.style-hmenu ul ul ul ul a {
    padding-left: 10% !important;
}

.responsive .style-nav ul.style-hmenu ul ul ul ul ul a {
    padding-left: 12% !important;
}

.responsive .style-nav ul.style-hmenu > li > ul {
    padding: 10px;
}

    .responsive .style-nav ul.style-hmenu > li > ul:before {
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
    }

.responsive .style-header {
    width: auto !important;
    max-width: none !important;
    min-height: 100px !important;
    min-width: 0 !important;
    margin-top: 1%;
    margin-right: 1% !important;
    margin-left: 1% !important;
    text-align: center;
}

.default-responsive .style-header {
    height: auto;
}

    .default-responsive .style-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 .style-header .style-headline,
    .default-responsive .style-header .style-slogan {
        display: block !important;
        top: 0 !important;
        left: 0 !important;
        margin: 2% !important;
        text-align: center !important;
    }

        .default-responsive .style-header .style-headline a,
        .default-responsive .style-header .style-slogan {
            white-space: normal !important;
        }

    .default-responsive .style-header .style-logo {
        display: inline-block;
        margin: auto !important;
        left: auto;
        top: auto !important;
        width: auto;
        height: auto;
    }

.responsive .style-header .style-slidenavigator {
    position: absolute;
}

.default-responsive .style-header .style-positioncontrol {
    display: block !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    margin: 2% auto !important;
    width: auto !important;
    height: auto !important;
}

.responsive .style-header #style-flash-area {
    display: none;
}

/* Search and other elements in header element directly */
.default-responsive .style-header > .style-textblock {
    position: relative !important;
    display: block !important;
    margin: 1% auto !important;
    width: 75% !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
}

.default-responsive .style-header .style-textblock {
    position: relative !important;
    display: block !important;
    margin: auto !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    height: auto !important;
    width: auto;
    background-image: none;
}

/* '.style-header *' used noram align, but for '.style-textblock *' we must force align because of preview */
.responsive .style-header .style-textblock * {
    text-align: center !important;
}

.default-responsive .style-header .style-shapes > .style-textblock,
.default-responsive .style-header .style-slide-item > .style-textblock {
    display: none !important;
}

    .default-responsive .style-header .style-shapes > .style-textblock * {
        text-align: center !important;
        width: auto !important;
        height: auto !important;
        display: block;
    }

.default-responsive .style-header .style-slider .style-textblock * {
    text-align: center !important;
    width: auto !important;
    height: auto !important;
    display: block;
}

/* For icons like facebook, rss, etc. */
.responsive .style-header > .style-textblock > div {
    width: 100%;
}

.responsive .style-sheet {
    width: auto !important;
    min-width: 240px !important;
    max-width: none !important;
    margin-right: 1% !important;
    margin-left: 1% !important;
}

#style-resp {
    display: none;
}

@media all and (max-width: 999px) {
    #style-resp, #style-resp-t {
        display: block;
    }

    #style-resp-m {
        display: none;
    }
}

@media all and (max-width: 480px) {
    #style-resp, #style-resp-m {
        display: block;
    }

    #style-resp-t {
        display: none;
    }
}

#style-resp-desktop {
    display: none;
}

#style-resp-tablet-landscape {
    display: none;
}

#style-resp-tablet-portrait {
    display: none;
}

#style-resp-phone-landscape {
    display: none;
}

#style-resp-phone-portrait {
    display: none;
}

@media (min-width: 1200px) {
    #style-resp-desktop {
        display: block;
    }
}

@media (min-width: 980px) and (max-width: 1199px) {
    #style-resp-tablet-landscape {
        display: block;
    }
}

@media (min-width: 768px) and (max-width: 979px) {
    #style-resp-tablet-portrait {
        display: block;
    }
}

@media (min-width: 480px) and (max-width: 767px) {
    #style-resp-phone-landscape {
        display: block;
    }
}

@media (max-width: 479px) {
    #style-resp-phone-portrait {
        display: block;
    }
}

.responsive .style-content-layout,
.responsive .style-content-layout-row,
.responsive .style-layout-cell {
    display: block;
}

.responsive .style-layout-cell {
    width: auto !important;
    height: auto !important;
}

    .responsive .style-content-layout:after,
    .responsive .style-content-layout-row:after,
    .responsive .style-layout-cell:after {
        content: ".";
        display: block;
        height: 0;
        clear: both;
        visibility: hidden;
    }

.responsive .responsive-tablet-layout-cell,
.responsive.responsive-tablet .style-footer .style-content-layout .style-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 .style-footer .style-content-layout .responsive-layout-row-2 .style-layout-cell {
    width: 48% !important;
}

.responsive .responsive-layout-row-3 .responsive-tablet-layout-cell,
.responsive.responsive-tablet .style-footer .style-content-layout .responsive-layout-row-3 .style-layout-cell {
    width: 31% !important;
}

.responsive .style-post {
    border-radius: 0;
}

.responsive .style-footer-inner {
    width: auto;
    padding: 2% !important;
    min-width: 0;
}
