/* -------------------- Reset -------------------- */
* {
    margin: 0;
    outline: none;
}

article, aside, figure, footer, header, nav, main, section, details, summary {
    display: block;
}

body, p, ul, li, ol, pre, caption, h1, h2, h3, h4, h5, h6, form, div, fieldset, legend {
    padding: 0;
}

html {
    width: 100%;
    height: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

body {
    display: block;
    position: relative;
    min-height: 100%;
    height: 100%;
    width: 100%;
    font: 300 .625em 'Roboto', sans-serif;
    color: #000;
    background: #fff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -ms-overflow-style: scrollbar;
}

img, fieldset {
    border: 0;
}

input, textarea {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

input::-moz-focus-inner, textarea::-moz-focus-inner, select::-moz-focus-inner, button::-moz-focus-inner {
    padding: 0;
    border: 0;
}

input[type="text"], input[type="password"], button, textarea {
    -webkit-appearance: none;
}

a, button {
    -webkit-transition: color 250ms, background 250ms, border 250ms, opacity 250ms;
    -o-transition: color 250ms, background 250ms, border 250ms, opacity 250ms;
    transition: color 250ms, background 250ms, border 250ms, opacity 250ms;
}

[fill] {
    -webkit-transition: fill 250ms;
    -o-transition: fill 250ms;
    transition: fill 250ms;
}

[stroke] {
    -webkit-transition: stroke 250ms;
    -o-transition: stroke 250ms;
    transition: stroke 250ms;
}

iframe {
    border: none;
}

.disable-hover,
.disable-hover * {
    pointer-events: none !important;
}

.disable-transition,
.disable-transition *,
.disable-transition *:after,
.disable-transition *:before {
    -webkit-transition-property: none !important;
    -o-transition-property: none !important;
    transition-property: none !important;
}


/* ----------------------- Global ----------------------- */
.g-hidden {
    display: none;
    visibility: hidden;
}

.g-invisible {
    opacity: 0;
    visibility: hidden;
}

.g-relative {
    position: relative;
    z-index: 5;
}

@media (min-width: 768px) {

    .g-pull-left {
        float: left;
        margin: 4px 22px 10px 0 !important;
    }

    .g-pull-right {
        float: right;
        margin: 4px 0 10px 22px !important;
    }

    .g-pull-left:first-child + p,
    .g-pull-right:first-child + p {
        margin-top: auto;
    }

    .g-pull-wrapper {
        overflow: hidden;
    }

}

.g-left {
    text-align: left;
}

.g-center {
    text-align: center;
}

.g-right {
    text-align: right;
}

.g-justify {
    text-align: justify;
}

@media (max-width: 479px) {

    .g-left-xs {
        text-align: left;
    }

    .g-center-xs {
        text-align: center;
    }

    .g-right-xs {
        text-align: right;
    }

}

@media (min-width: 480px) and (max-width: 767px) {

    .g-left-sm {
        text-align: left;
    }

    .g-center-sm {
        text-align: center;
    }

    .g-right-sm {
        text-align: right;
    }

}

@media (min-width: 768px) and (max-width: 1263px) {

    .g-left-md {
        text-align: left;
    }

    .g-center-md {
        text-align: center;
    }

    .g-right-md {
        text-align: right;
    }

}

@media (min-width: 1264px) {

    .g-left-lg {
        text-align: left;
    }

    .g-center-lg {
        text-align: center;
    }

    .g-right-lg {
        text-align: right;
    }

}

.g-thin {
    font-weight: 100;
}

.g-nowrap {
    white-space: nowrap;
}

.g-underline {
    text-decoration: underline;
}

.g-dashed {
    line-height: 1;
    text-decoration: none !important;
    border-bottom-width: 1px;
    border-bottom-style: dashed !important;
    -webkit-transition: all 250ms;
    -o-transition: all 250ms;
    transition: all 250ms;
}

.g-dashed-inverse {
    line-height: 1;
    text-decoration: none !important;
    border-bottom-width: 1px;
    border-bottom-style: dashed !important;
    border-bottom-color: transparent;
    -webkit-transition: all 250ms;
    -o-transition: all 250ms;
    transition: all 250ms;
}

.g-solid {
    line-height: 1;
    text-decoration: none !important;
    border-bottom-width: 1px;
    border-bottom-style: solid !important;
    -webkit-transition: all 250ms;
    -o-transition: all 250ms;
    transition: all 250ms;
}

.g-dashed:hover {
    border-bottom-color: transparent !important;
}

.g-dashed-inverse:hover {
    border-bottom-color: inherit !important;
}

.g-solid:hover {
    border-bottom-color: transparent !important;
}

.g-transition {
    -webkit-transition: all 250ms;
    -o-transition: all 250ms;
    transition: all 250ms;
}

.g-transition-transform {
    -webkit-transition: -webkit-transform 250ms, opacity 250ms, visibility 250ms;
    -o-transition: -o-transform 250ms, opacity 250ms, visibility 250ms;
    transition: transform 250ms, opacity 250ms, visibility 250ms;
}

.g-red {
    color: #fe0101 !important;
}

.g-green {
    color: #1fa6a3 !important;
}

.g-orange {
    color: #fe6913 !important;
}

/* * * Buttons * * */
.e-btn {
    display: inline-block;
    vertical-align: top;
    position: relative;
    text-decoration: none !important;
    text-align: center;
    border: 1px solid transparent;
    color: #878787;
    background: transparent;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: color 500ms, background 500ms, border 500ms, opacity 500ms;
    -o-transition: color 500ms, background 500ms, border 500ms, opacity 500ms;
    transition: color 500ms, background 500ms, border 500ms, opacity 500ms;
    outline: none;
    cursor: pointer;
}

.e-btn:hover {
    color: #1fa6a3;
}

.e-btn_sm {
    padding: 10px 22px;
    font: 400 14px/1 'Roboto', sans-serif;
    letter-spacing: .025em;
    -webkit-border-radius: 9px;
    border-radius: 9px;
}

.e-btn_md {
    padding: 9px 19px;
    font: 400 16px/1 'Roboto', sans-serif;
    letter-spacing: .025em;
    -webkit-border-radius: 9px;
    border-radius: 9px;
}

.e-btn_lg {
    padding: 16px 22px;
    font: 700 18px/1 'Roboto', sans-serif;
    letter-spacing: 0;
    -webkit-border-radius: 9px;
    border-radius: 9px;
}

.e-btn_xl {
    padding: 18px 31px;
    font: 700 24px/1 'Roboto', sans-serif;
    letter-spacing: 0;
    -webkit-border-radius: 9px;
    border-radius: 9px;
}

.e-btn_gray {
    color: #fff !important;
    background-color: #9b9b9b;
    border-color: #9b9b9b;
}

.e-btn_gray:hover {
    color: #fff !important;
    background-color: #828282;
    border-color: #828282;
}

.e-btn_green {
    color: #fff !important;
    background-color: #1fa6a3;
    border-color: #1fa6a3;
}

.e-btn_green.hover,
.e-btn_green:hover {
    color: #fff !important;
    background-color: #1b8c8a;
    border-color: #1b8c8a;
}

.e-btn_orange {
    color: #fff !important;
    background-color: #fe6913;
    border-color: #fe6913;
}

.e-btn_orange.hover,
.e-btn_orange:hover {
    color: #fff !important;
    background-color: #e35d10;
    border-color: #e35d10;
}

.e-btn.disabled,
.e-btn[disabled] {
    opacity: .5 !important;
    cursor: default !important;
    pointer-events: none;
}

.e-btn.disabled.e-btn_orange,
.e-btn[disabled].e-btn_orange {
    opacity: 1 !important;
    color: #fff !important;
    background-color: #9b9b9b;
    border-color: #9b9b9b;
}

.e-btn.muted {
    color: #fff !important;
    background: #bbb !important;
    border-color: #bbb !important;
    opacity: 1 !important;
}

.e-btn_effect {
    overflow: hidden;
}

.e-btn_effect:before {
    position: absolute;
    top: -5%;
    left: -110%;
    height: 110%;
    width: 80px;
    opacity: .25;
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJod…EiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(50%, rgba(255, 255, 255, 1)), to(rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
    background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
    -webkit-transform: skewX(-45deg);
    -ms-transform: skewX(-45deg);
    -o-transform: skewX(-45deg);
    transform: skewX(-45deg);
    pointer-events: none;
    content: '';
}

.e-btn_effect:hover:before {
    -webkit-animation: btn-effect 2500ms infinite;
    -o-animation: btn-effect 2500ms infinite;
    animation: btn-effect 2500ms infinite;
}

@-webkit-keyframes btn-effect {
    0% {
        left: -110%;
    }
    40%, 100% {
        left: 110%;
    }
}

@-o-keyframes btn-effect {
    0% {
        left: -110%;
    }
    40%, 100% {
        left: 110%;
    }
}

@keyframes btn-effect {
    0% {
        left: -110%;
    }
    40%, 100% {
        left: 110%;
    }
}

/* * * Buttons :: mods * * */
.e-btn_block {
    display: block;
    padding-left: 5px !important;
    padding-right: 5px !important;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
}

@media (max-width: 479px) {
    .e-btn_block_xs {
        display: block;
        padding-left: 5px !important;
        padding-right: 5px !important;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }
}

@media (min-width: 480px) and (max-width: 767px) {
    .e-btn_block_sm {
        display: block;
        padding-left: 5px !important;
        padding-right: 5px !important;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }
}

@media (min-width: 768px) and (max-width: 1263px) {
    .e-btn_block_md {
        display: block;
        padding-left: 5px !important;
        padding-right: 5px !important;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }
}

@media (min-width: 1264px) {
    .e-btn_block_lg {
        display: block;
        padding-left: 5px !important;
        padding-right: 5px !important;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }
}


/* -------------------- Page -------------------- */
.b-page {
    position: relative;
    min-width: 320px;
    min-height: 100%;
    color: #000;
    background: #fff;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.b-page_content {
    position: relative;
    padding: 12px 0 24px;
    font: 400 1.6em 'Roboto', sans-serif;
}

@media (min-width: 768px) {

    .b-page_content {
        padding: 14px 0 26px;
    }

}

@media (min-width: 1264px) {

    .b-page_content {
        padding: 22px 0 60px;
    }

}

/* * * Page :: flex main layout * * */
@supports ((display: -webkit-box) or (display: -webkit-flex) or (display: -moz-box) or (display: -ms-flexbox) or (display: flex)) {

    .b-page {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -moz-box-orient: vertical;
        -moz-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .b-page_content {
        -webkit-box-flex: 1;
        -webkit-flex: 1 0 auto;
        -moz-box-flex: 1;
        -ms-flex: 1 0 auto;
        flex: 1 0 auto;
    }

}

/* * * Page :: sections * * */
.b-section {
    position: relative;
    font: 400 1.6em 'Roboto', sans-serif;
}

.b-page_content .b-section {
    font: inherit;
}

/* * * Page :: content :: columns * * */
.b-page_content_columns {
    position: relative;
}

@media (max-width: 1263px) {

    .b-page_content_columns > [class*="col-"] ~ [class*="col-"] {
        margin-top: 26px;
    }

}

@media (min-width: 768px) and (max-width: 1263px) {

    .b-page_content_columns > [class*="col-"] ~ [class*="col-"].col-md-6 {
        margin-top: 0;
    }

}


/* -------------------- UI modules -------------------- */
/* * * Tabs * * */
.js-tabs .js-tabs-page ~ .js-tabs-page {
    display: none;
}

.js-tabs.js-init .js-tabs-page ~ .js-tabs-page {
    display: block;
}

.js-init .js-tabs-wrapper {
    position: relative;
    border-top: 1px solid transparent;
    border-bottom: 1px solid transparent;
    -webkit-transform: translateZ(0px);
    transform: translateZ(0px);
}

.js-init .js-tabs-page {
    display: block;
    position: absolute;
    z-index: -5;
    left: 0;
    top: 0;
    right: 0; /* visibility: hidden;*/
    opacity: 0;
    border-top: 1px solid transparent;
    border-bottom: 1px solid transparent;
}

.js-init .js-tabs-page.opened {
    position: static;
    left: auto !important;
    top: auto !important;
    right: auto !important; /* visibility: visible;*/
    opacity: 1;
}

.js-transition .js-tabs-page {
    -webkit-transition: height 300ms, visibility 300ms ease, opacity 300ms ease;
    -o-transition: height 300ms, visibility 300ms ease, opacity 300ms ease;
    transition: height 300ms, visibility 300ms ease, opacity 300ms ease;
}

/* * * Pockets * * */
.js-pocket.active .js-pocket-box {
    position: relative;
}

.js-pocket.active .js-pocket-toggle {
    display: inline;
}

.js-pocket.active.faded .js-pocket-box:before {
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: -1px;
    right: 0;
    height: 80px;
    pointer-events: none;
    -webkit-transition: all 250ms;
    -o-transition: all 250ms;
    transition: all 250ms;
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 1)));
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    content: '';
}

.js-pocket.active.faded.opened .js-pocket-box:before {
    opacity: 0;
    visibility: hidden;
}