p,
ul,
ol {
    color: #2f3940
}

.black,
.black * {
    color: #000
}

.white,
.white * {
    color: #f0f1f2
}

.theme-c-1,
.theme-c-1 * {
    color: #2f3940
}

.theme-c-1-,
.theme-c-1- * {
    color: #8d9da8
}

.theme-c-2,
.theme-c-2 * {
    color: #f14148
}

.theme-c-2-,
.theme-c-2- * {
    color: #f6676d
}

body {
    font-family: "AppliedSansPro-Regular", sans-serif
}

.upp {
    text-transform: uppercase
}

.low,
.low * {
    text-transform: none
}

.its,
.its * {
    font-style: italic
}

.udl,
.udl * {
    text-decoration: underline;
    text-underline-position: under
}

.bold *,
.bold,
strong {
    color: #000;
    font-family: 'AppliedSansPro-Bold', sans-serif
}

#content .xl-sz strong,
#content .xl-sz .bold,
#content .xl-sz .bold *,
#content .quote-text .bold,
#content .quote-text .bold *,
#content .quote-text strong {
    color: #f14148;
    font-family: 'AppliedSansPro-Medium', sans-serif
}

.white strong,
.white * strong {
    color: #fff;
    font-family: 'AppliedSansPro-Bold', sans-serif
}

.bolder,
.bolder * {
    font-family: 'AppliedSansPro-Bold', sans-serif
}

.med *,
.med {
    font-family: 'AppliedSansPro-Medium', sans-serif !important
}

.reg *,
.reg {
    font-family: 'AppliedSansPro-Regular', sans-serif
}

.st {
    text-shadow: 0 2px 3px rgba(0, 0, 0, .4)
}

.nost {
    text-shadow: none
}

.nols,
.nols * {
    letter-spacing: 0
}

.l-s,
.l-s * {
    letter-spacing: .16em
}

.neg-ls,
.neg-ls * {
    letter-spacing: -.05em
}

sup {
    font-size: 13px;
    font-family: 'AppliedSansPro-Medium', sans-serif;
    color: #000794;
    margin-left: 2px;
    font-style: italic;
    position: absolute;
    top: -8px
}

.lh-1,
.lh-1 * {
    line-height: 1
}

.site-main a:not(.site-main .btn a, .site-main .btn, .site-main .filter a, .site-main #pagination a, .site-main .anchor-links a) {
    font-family: 'AppliedSansPro-Bold', sans-serif;
    text-decoration: underline;
    color: #f14148;
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
    hyphens: auto
}

.site-main a:not(.site-main .btn a, .site-main .btn, .site-main .filter a, .site-main #pagination a):hover {
    color: #8d9da8
}

.centered-text {
    text-align: center
}

.right-text {
    text-align: right
}

.left-text {
    text-align: left
}

h1 {
    font-family: "AppliedSansPro-Bold", sans-serif
}

h2 {
    font-family: "AppliedSansPro-Medium", sans-serif
}

h3,
.h3-font,
h4,
.h4-font,
h5,
.h5-font {
    font-family: "AppliedSansPro-Medium", sans-serif;
    margin-bottom: 8px;
    line-height: 1.2
}

h1 {
    font-size: 4.688vw;
    margin-bottom: 20px;
    line-height: 1
}

h2 {
    font-size: 1.875vw;
    margin-bottom: 15px;
    line-height: 1.2
}

h3,
.h3-font {
    font-size: 1.563vw
}

h4,
.h4-font {
    font-size: 1.354vw
}

h5,
.h5-font {
    font-size: 1.25vw
}

p,
a,
ol li,
ul li {
    font-size: .938vw;
    line-height: 1.2;
    font-family: 'AppliedSansPro-Medium', sans-serif
}

p,
a {
    margin-bottom: 1.302vw
}

p:last-of-type,
a:last-of-type {
    margin-bottom: 0
}

.banner-title,
.banner-title * {
    font-size: 4.167vw;
    margin-bottom: 20px;
    line-height: 1;
    font-family: "AppliedSansPro-Bold", sans-serif
}

.banner-title-,
.banner-title- * {
    font-size: 3.75vw;
    margin-bottom: 15px;
    line-height: 1;
    font-family: "AppliedSansPro-Bold", sans-serif
}

.header-small-title,
.header-small-title * {
    font-size: 3.125vw
}

.big-title,
.big-title * {
    font-size: 2.917vw;
    line-height: 1;
    font-family: 'AppliedSansPro-Bold', sans-serif;
}

.large-title,
.large-title * {
    font-size: 2.604vw;
    padding-bottom: 5px;
    margin-bottom: 0 !important;
    line-height: 1
}

.xl-sz,
.xl-sz * {
    font-size: 1.875vw
}

.bg-sz,
.bg-sz * {
    font-size: 1.25vw
}

body .st-sz,
body .st-sz * {
    font-size: .833vw;
    line-height: 1.3
}

body .sm-sz,
body .sm-sz * {
    font-size: .729vw
}

#breadcrumbs * {
    font-size: .573vw
}

body .xsm-sz,
body .xsm-sz * {
    font-size: .625vw
}

.quote-text,
.quote-text * {
    font-size: 1.563vw
}

.small-title,
.small-title * {
    font-family: "AppliedSansPro-Bold", sans-serif;
    font-size: 1.458vw
}

.bg-sz,
.bg-sz * {
    font-size: 24px
}

.md-sz,
.md-sz * {
    font-size: 20px
}

input.wpcf7-form-control.wpcf7-text,
select.wpcf7-form-control.wpcf7-select,
body .wpcf7-textarea,
body input.wpcf7-date,
input.wpcf7-submit,
.fake-field {
    font-size: .833vw;
}

#wp-calendar caption {
    font-size: 1.25vw
}

footer a,
footer p {
    font-size: .833vw
}

.still-sticky .menu a,
header .still-sticky .main-menu-container .wpml-ls-legacy-list-horizontal a span {
    font-size: .833vw
}

.ln-1,
.ln-1 * {
    line-height: 1
}

#site-menu .single-contact a {
    font-size: .833vw
}

header .menu .menu-item-has-children>.sub-menu a {
    font-size: .729vw;
    display: block;
    padding: 1em 0
}

#site-menu .menu-lang-switch * {
    font-size: .938vw
}

.top-bar a,
.top-bar p {
    font-size: .729vw;
    display: block
}

#pre-footer .wpcf7-email {
    font-size: 24px
}

input.wpcf7-form-control.wpcf7-text,
select.wpcf7-form-control.wpcf7-select,
body .wpcf7-textarea,
body input.wpcf7-date {
    font-size: 1.563vw
}

@media screen and (max-width:1920px) {
    h1 {
        font-size: 90px
    }

    h2 {
        font-size: 36px
    }

    h3,
    .h3-font {
        font-size: 30px
    }

    h4,
    .h4-font {
        font-size: 26px
    }

    h5,
    .h5-font {
        font-size: 24px
    }

    p,
    a,
    ol li,
    ul li {
        font-size: 18px
    }

    .banner-title,
    .banner-title * {
        font-size: 80px
    }

    .banner-title-,
    .banner-title- * {
        font-size: 72px
    }

    .header-small-title,
    .header-small-title * {
        font-size: 60px
    }

    .big-title,
    .big-title * {
        font-size: 56px
    }

    .large-title,
    .large-title * {
        font-size: 50px
    }

    .small-title,
    .small-title * {
        font-size: 28px
    }

    .xl-sz,
    .xl-sz * {
        font-size: 36px
    }

    .bg-sz,
    .bg-sz * {
        font-size: 24px
    }

    body .st-sz,
    body .st-sz * {
        font-size: 16px
    }

    body .sm-sz,
    body .sm-sz * {
        font-size: 14px
    }

    #breadcrumbs * {
        font-size: 11px
    }

    body .xsm-sz,
    body .xsm-sz * {
        font-size: 12px
    }

    input.wpcf7-form-control.wpcf7-text,
    select.wpcf7-form-control.wpcf7-select,
    body .wpcf7-textarea,
    body input.wpcf7-date,
    input.wpcf7-submit,
    .fake-field {
        font-size: 16px
    }

    footer a,
    footer p {
        font-size: 16px
    }

    #site-menu .single-contact a {
        font-size: 16px
    }

    header .menu .menu-item-has-children>.sub-menu a {
        font-size: 14px
    }

    .still-sticky .menu a,
    header .still-sticky .main-menu-container .wpml-ls-legacy-list-horizontal a span {
        font-size: 16px
    }

    #site-menu .menu-lang-switch * {
        font-size: 18px
    }

    .top-bar a,
    .top-bar p {
        font-size: 14px
    }

    .quote-text,
    .quote-text * {
        font-size: 30px
    }

    input.wpcf7-form-control.wpcf7-text,
    select.wpcf7-form-control.wpcf7-select,
    body .wpcf7-textarea,
    body input.wpcf7-date {
        font-size: 30px
    }
}

@media screen and (max-width:1690px) {
    h1 {
        font-size: 84px
    }

    h2 {
        font-size: 34px
    }

    h3,
    .h3-font {
        font-size: 28px
    }

    h4,
    .h4-font {
        font-size: 25px
    }

    h5,
    .h5-font {
        font-size: 23px
    }

    .banner-title,
    .banner-title * {
        font-size: 76px
    }

    .banner-title-,
    .banner-title- * {
        font-size: 68px
    }

    .header-small-title,
    .header-small-title * {
        font-size: 56px
    }

    .big-title,
    .big-title * {
        font-size: 52px
    }

    .large-title,
    .large-title * {
        font-size: 48px
    }

    .small-title,
    .small-title * {
        font-size: 27px
    }

    .xl-sz,
    .xl-sz * {
        font-size: 34px
    }

    .bg-sz,
    .bg-sz * {
        font-size: 23px
    }

    .quote-text,
    .quote-text * {
        font-size: 28px
    }

    input.wpcf7-form-control.wpcf7-text,
    select.wpcf7-form-control.wpcf7-select,
    body .wpcf7-textarea,
    body input.wpcf7-date {
        font-size: 28px
    }

    #pre-footer .wpcf7-email {
        font-size: 23px
    }
}

@media screen and (max-width:1600px) {
    h1 {
        font-size: 74px
    }

    h2 {
        font-size: 32px
    }

    h3,
    .h3-font {
        font-size: 26px
    }

    h4,
    .h4-font {
        font-size: 24px
    }

    h5,
    .h5-font {
        font-size: 22px
    }

    .banner-title,
    .banner-title * {
        font-size: 70px
    }

    .banner-title-,
    .banner-title- * {
        font-size: 62px
    }

    .header-small-title,
    .header-small-title * {
        font-size: 52px
    }

    .big-title,
    .big-title * {
        font-size: 48px
    }

    .large-title,
    .large-title * {
        font-size: 44px
    }

    .small-title,
    .small-title * {
        font-size: 26px
    }

    .xl-sz,
    .xl-sz * {
        font-size: 32px
    }

    .bg-sz,
    .bg-sz * {
        font-size: 22px
    }

    .quote-text,
    .quote-text * {
        font-size: 26px
    }

    input.wpcf7-form-control.wpcf7-text,
    select.wpcf7-form-control.wpcf7-select,
    body .wpcf7-textarea,
    body input.wpcf7-date {
        font-size: 26px
    }

    #pre-footer .wpcf7-email {
        font-size: 22px
    }

    #footer-notes * {
        font-size: 15px
    }

    .tips-grid p {
        font-size: 17px
    }
}

@media screen and (max-width:1440px) {
    h1 {
        font-size: 68px
    }

    h2 {
        font-size: 30px
    }

    h3,
    .h3-font {
        font-size: 25px
    }

    h4,
    .h4-font {
        font-size: 23px
    }

    h5,
    .h5-font {
        font-size: 21px
    }

    .banner-title,
    .banner-title * {
        font-size: 66px
    }

    .banner-title-,
    .banner-title- * {
        font-size: 56px
    }

    .header-small-title,
    .header-small-title * {
        font-size: 48px
    }

    .big-title,
    .big-title * {
        font-size: 44px
    }

    .large-title,
    .large-title * {
        font-size: 40px
    }

    .small-title,
    .small-title * {
        font-size: 24px
    }

    .xl-sz,
    .xl-sz * {
        font-size: 30px
    }

    .bg-sz,
    .bg-sz * {
        font-size: 21px
    }

    body .st-sz,
    body .st-sz * {
        font-size: 15px
    }

    body .sm-sz,
    body .sm-sz * {
        font-size: 13px
    }

    body .xsm-sz,
    body .xsm-sz * {
        font-size: 11px
    }

    input.wpcf7-form-control.wpcf7-text,
    select.wpcf7-form-control.wpcf7-select,
    body .wpcf7-textarea,
    body input.wpcf7-date,
    input.wpcf7-submit,
    .fake-field {
        font-size: 15px
    }

    footer a,
    footer p {
        font-size: 15px
    }

    #site-menu .single-contact a {
        font-size: 15px
    }

    header .menu .menu-item-has-children>.sub-menu a {
        font-size: 13px
    }

    .still-sticky .menu a,
    header .still-sticky .main-menu-container .wpml-ls-legacy-list-horizontal a span {
        font-size: 15px
    }

    .quote-text,
    .quote-text * {
        font-size: 30px
    }

    .quote-text,
    .quote-text * {
        font-size: 25px
    }

    input.wpcf7-form-control.wpcf7-text,
    select.wpcf7-form-control.wpcf7-select,
    body .wpcf7-textarea,
    body input.wpcf7-date {
        font-size: 25px
    }

    #pre-footer .wpcf7-email {
        font-size: 21px
    }

    #footer-notes * {
        font-size: 14px
    }

    .tips-grid p {
        font-size: 16px
    }
}

@media screen and (max-width:1279px) {
    h1 {
        font-size: 64px
    }

    h2 {
        font-size: 28px
    }

    h3,
    .h3-font {
        font-size: 24px
    }

    h4,
    .h4-font {
        font-size: 22px
    }

    h5,
    .h5-font {
        font-size: 20px
    }

    .banner-title,
    .banner-title * {
        font-size: 60px
    }

    .banner-title-,
    .banner-title- * {
        font-size: 52px
    }

    .header-small-title,
    .header-small-title * {
        font-size: 44px
    }

    .big-title,
    .big-title * {
        font-size: 40px
    }

    .large-title,
    .large-title * {
        font-size: 36px
    }

    .small-title,
    .small-title * {
        font-size: 23px
    }

    .xl-sz,
    .xl-sz * {
        font-size: 28px
    }

    .bg-sz,
    .bg-sz * {
        font-size: 20px
    }

    .quote-text,
    .quote-text * {
        font-size: 28px
    }

    .quote-text,
    .quote-text * {
        font-size: 24px
    }

    input.wpcf7-form-control.wpcf7-text,
    select.wpcf7-form-control.wpcf7-select,
    body .wpcf7-textarea,
    body input.wpcf7-date {
        font-size: 24px
    }

    #pre-footer .wpcf7-email {
        font-size: 20px
    }

    #footer-notes * {
        font-size: 13px
    }
}

@media screen and (max-width:1150px) {
    h1 {
        font-size: 60px
    }

    h2 {
        font-size: 27px
    }

    h3,
    .h3-font {
        font-size: 23px
    }

    h4,
    .h4-font {
        font-size: 21px
    }

    h5,
    .h5-font {
        font-size: 19px
    }

    p,
    a,
    ol li,
    ul li {
        font-size: 17px
    }

    .banner-title,
    .banner-title * {
        font-size: 58px
    }

    .banner-title-,
    .banner-title- * {
        font-size: 48px
    }

    .header-small-title,
    .header-small-title * {
        font-size: 40px
    }

    .big-title,
    .big-title * {
        font-size: 36px
    }

    .large-title,
    .large-title * {
        font-size: 32px
    }

    .small-title,
    .small-title * {
        font-size: 22px
    }

    .xl-sz,
    .xl-sz * {
        font-size: 27px
    }

    .bg-sz,
    .bg-sz * {
        font-size: 18px
    }

    body .st-sz,
    body .st-sz * {
        font-size: 15px
    }

    body .sm-sz,
    body .sm-sz * {
        font-size: 13px
    }

    body .xsm-sz,
    body .xsm-sz * {
        font-size: 11px
    }

    footer a,
    footer p {
        font-size: 15px
    }

    #site-menu .single-contact a {
        font-size: 15px
    }

    header .menu .menu-item-has-children>.sub-menu a {
        font-size: 13px
    }

    .still-sticky .menu a,
    header .still-sticky .main-menu-container .wpml-ls-legacy-list-horizontal a span {
        font-size: 14px
    }

    #site-menu .menu-lang-switch * {
        font-size: 17px
    }

    .top-bar a,
    .top-bar p {
        font-size: 13px
    }

    .quote-text,
    .quote-text * {
        font-size: 23px
    }

    input.wpcf7-form-control.wpcf7-text,
    select.wpcf7-form-control.wpcf7-select,
    body .wpcf7-textarea,
    body input.wpcf7-date {
        font-size: 23px
    }

    #pre-footer .wpcf7-email {
        font-size: 19px
    }

    #footer-notes * {
        font-size: 12px
    }
}

@media screen and (max-width:992px) {
    h1 {
        font-size: 48px
    }

    h2 {
        font-size: 25px
    }

    h3,
    .h3-font {
        font-size: 22px
    }

    h4,
    .h4-font {
        font-size: 20px
    }

    h5,
    .h5-font {
        font-size: 18px
    }

    p,
    a,
    ol li,
    ul li {
        font-size: 16px
    }

    .banner-title,
    .banner-title * {
        font-size: 48px
    }

    .banner-title-,
    .banner-title- * {
        font-size: 42px
    }

    .header-small-title,
    .header-small-title * {
        font-size: 36px
    }

    .big-title,
    .big-title * {
        font-size: 32px
    }

    .large-title,
    .large-title * {
        font-size: 29px
    }

    .xl-sz,
    .xl-sz * {
        font-size: 25px
    }

    .bg-sz,
    .bg-sz * {
        font-size: 17px
    }

    body .st-sz,
    body .st-sz * {
        font-size: 14px
    }

    footer a,
    footer p {
        font-size: 14px
    }

    #site-menu .single-contact a {
        font-size: 14px
    }

    #site-menu .menu-lang-switch * {
        font-size: 16px
    }

    .quote-text,
    .quote-text * {
        font-size: 22px
    }

    input.wpcf7-form-control.wpcf7-text,
    select.wpcf7-form-control.wpcf7-select,
    body .wpcf7-textarea,
    body input.wpcf7-date {
        font-size: 22px
    }

    #pre-footer .wpcf7-email {
        font-size: 18px
    }
}

@media screen and (max-width:767px) {
    h1 {
        font-size: 44px
    }

    h2 {
        font-size: 24px
    }

    h3,
    .h3-font {
        font-size: 21px
    }

    h4,
    .h4-font {
        font-size: 19px
    }

    h5,
    .h5-font {
        font-size: 17px
    }

    .banner-title,
    .banner-title * {
        font-size: 44px
    }

    .banner-title-,
    .banner-title- * {
        font-size: 38px
    }

    .header-small-title,
    .header-small-title * {
        font-size: 34px
    }

    .big-title,
    .big-title * {
        font-size: 30px
    }

    .large-title,
    .large-title * {
        font-size: 28px
    }

    .xl-sz,
    .xl-sz * {
        font-size: 24px
    }

    .quote-text,
    .quote-text * {
        font-size: 21px
    }

    input.wpcf7-form-control.wpcf7-text,
    select.wpcf7-form-control.wpcf7-select,
    body .wpcf7-textarea,
    body input.wpcf7-date {
        font-size: 21px
    }

    #pre-footer .wpcf7-email {
        font-size: 17px
    }

    .full-name * {
        font-size: 22px
    }

    .role p {
        font-size: 11px
    }
}

.btn {
    display: inline-block;
    padding: 1.042vw 2.604vw;
    margin-top: 2.448vw;
    width: auto !important;
    min-width: 11.458vw;
    border-radius: 100px;
    font-family: "AppliedSansPro-Medium", sans-serif;
    font-size: .729vw;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: #fff;
    background-color: #f14148;
    cursor: pointer;
    -webkit-transition: all 0.2s ease;
    -ms-transition: all 0.2s ease;
    transition: all 0.2s ease !important
}

.btn-big {
    padding: 20px 50px 18px
}

.btn-large {
    min-width: 272px
}

.btn.btn-empty {
    background-color: transparent;
    color: #fff;
    border: 1px solid #fff
}

.btn.btn-empty:hover {
    background-color: rgb(255 255 255 / 30%)
}

.btn.btn-green {
    background-color: #40bb6a
}

.btn.btn-green:hover {
    background-color: #30884e
}

.btn.btn_2 {
    background-color: #b3dc23
}

.btn.btn_2:hover {
    background-color: #90b21b
}

.btn-white-transp {
    background-color: transparent;
    border: 1px solid #fff
}

.btn:hover {
    background-color: #bd353b;
    color: #fff !important;
    text-decoration: none
}

.btn-light:hover {
    color: #c1d6f5
}

.btn-white-transp:hover {
    background-color: rgb(255 255 255 / 30%)
}

.theme-b-3 .btn {
    background-color: #f0f1f2;
    color: #2f3940
}

.theme-b-3 .btn:hover {
    background: #2f3940
}

button.scroll-to-top {
    position: fixed;
    bottom: -1px;
    right: 1em;
    cursor: pointer;
    z-index: 11;
    background: none;
    border: none;
    outline: none;
    display: none
}

button.scroll-to-top i {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 15px;
    width: 60px;
    height: 60px;
    border-radius: unset;
    font-size: 12px;
    color: #fff;
    background-color: #f14148;
    box-shadow: 0 0 3px 1px rgb(0 0 0 / 30%);
    -webkit-transition: all 0.2s ease;
    -ms-transition: all 0.2s ease;
    transition: all 0.2s ease;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px
}

button.scroll-to-top:hover i {
    background: #bd353b
}

body .fa-chevron-down:before {
    content: url(scroll-down-arrow-min.png);
    opacity: .5
}

body .scroll-down:hover .fa-chevron-down:before {
    opacity: 1;
    transition: all 0.2s ease-in-out
}

.slick-prev,
.slick-next {
    height: 30px !important;
    width: 284px !important;
    background: unset !important;
    z-index: 1;
    -webkit-transition: all 0.2s ease;
    -ms-transition: all 0.2s ease;
    transition: all 0.2s ease
}

.slick-prev:before,
.slick-next:before {
    content: "" !important;
    height: 30px !important;
    width: 284px !important;
    background-size: contain;
    display: block;
    background-repeat: no-repeat;
    opacity: 1 !important
}

body .slick-next {
    top: 50%;
    right: 80px
}

body .slick-prev {
    top: 50%;
    left: 5px
}

.slick-prev:before {
    background-image: url(arrow-left.png);
    margin-left: 5px !important
}

.slick-next:before {
    background-image: url(arrow-right.png);
    margin-right: 0;
    margin-left: auto
}

body header .slick-dots {
    bottom: 3.5em
}

body header .slick-dotted.slick-slider {
    margin-bottom: -3px
}

body .slick-dots li {
    width: 12px;
    height: 16px;
    margin: 0 1.5em
}

body .slick-dots li button {
    width: 12px;
    height: 16px;
    padding: 0
}

body .slick-dots li button:before {
    color: #f6e4b4;
    font-size: 11px;
    width: auto;
    height: auto;
    display: block;
    opacity: .5
}

body .slick-dots li.slick-active button:before {
    opacity: 1;
    color: #f6e4b4
}

body .slick-dots {
    bottom: 2em
}

@media screen and (max-width:1920px) {
    .btn {
        padding: 20px 50px;
        margin-top: 47px;
        min-width: 220px;
        font-size: 14px
    }
}

@media screen and (max-width:1620px) {
    .btn {
        padding: 18px 46px;
        margin-top: 40px;
        min-width: 200px;
        font-size: 13px
    }
}

@media screen and (max-width:1440px) {
    .btn {
        min-width: 175px;
        margin-top: 30px
    }
}

@media screen and (max-width:1150px) {
    .btn {
        font-size: 12px;
        min-width: 150px;
        padding: 17px 40px
    }
}

@media screen and (max-width:992px) {
    .btn {
        padding: 17px 30px
    }
}

@media screen and (max-width:767px) {
    button.scroll-to-top {
        display: none !important
    }
}

body input,
body textarea,
body select {
    margin-bottom: 1.58vw;
    padding: 17px 32px 16px 32px;
    width: 100%;
    border: 0;
    font-family: 'AppliedSansPro-Medium', sans-serif
}

textarea {
    resize: none
}

.wpcf7 .wpcf7-submit {
    margin-bottom: 0;
    font-size: 14px !important;
    color: #fff;
    background-color: #f14148;
    text-transform: uppercase;
    letter-spacing: .16em
}

.wpcf7 .wpcf7-submit:disabled {
    opacity: .5
}

select::-ms-expand {
    display: none
}

select {
    cursor: pointer
}

.wpcf7-spinner {
    display: none !important
}

.wpcf7-form-control-wrap {
    display: block
}

span.wpcf7-not-valid-tip {
    position: absolute;
    bottom: 14px;
    left: 35px;
    font-size: 12px
}

.wpcf7-not-valid::placeholder {
    color: #F14148 !important;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
    color: #eb0e0e;
    margin: 15px 0 0 0;
    text-align: left;
    margin-top: 2em;
    font-size: 24px;
    color: #f14148
}

.wpcf7 form.sent .wpcf7-response-output {
    color: #46b450;
    display: none
}

.wpcf7-response-output {
    border: 0 !important;
    color: #c01515;
    padding: 0 !important
}

input.wpcf7-form-control.wpcf7-not-valid,
select.wpcf7-form-control.wpcf7-not-valid {
    color: #F14148 !important;
    border-color: #F14148 !important
}

span.wpcf7-not-valid-tip {
    display: none !important
}

textarea.wpcf7-not-valid {
    border-top: 0 !important;
    border-right: 0 !important;
    border-left: 0 !important;
    border-bottom: 2px solid #F14148 !important
}

.acceptance-box-text {
    width: 70%
}

.acceptance-box-text p {
    margin-left: 0 !important
}

.acceptance-box {
    width: 100%;
    border: 0;
    padding: 0;
    margin-top: 8px;
    align-items: center
}

input[type="checkbox"] {
    -webkit-appearance: none;
    margin: 0;
    width: 15px;
    height: 15px;
    cursor: pointer;
    background: #44535e;
    border-radius: 100%;
    position: relative
}

input[type="checkbox"]:checked:after {
    content: '';
    background: #f14148;
    border-radius: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 3px solid #44535e
}

.acceptance-box * {
    font-family: 'AppliedSansPro-Regular', sans-serif
}

.acceptance-box p {
    width: 100%;
    margin-left: 10px;
    font-size: 14px
}

.acceptance-box a {
    display: inline-block;
    font-family: 'AppliedSansPro-Bold';
    text-decoration: underline;
    text-underline-offset: .25em;
    font-size: 14px;
    margin-bottom: 0;
    color: #f14148
}

.acceptance-box span.wpcf7-form-control-wrap {
    display: flex;
    align-items: center
}

input.wpcf7-form-control.wpcf7-text,
select.wpcf7-form-control.wpcf7-select,
body .wpcf7-textarea,
body input.wpcf7-date {
    color: #f0f1f2;
    background-color: transparent;
    border-bottom: 2px solid #44535e
}

::placeholder {
    font-family: 'AppliedSansPro-Medium';
    color: #8d9da8
}

#pre-footer ::placeholder {
    color: #8d9da8
}

.selection span.wpcf7-form-control-wrap.menu-994 {
    position: relative
}

.selection span.wpcf7-form-control-wrap.menu-994:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 1em;
    min-width: 11px;
    min-height: 6px;
    width: .973vw;
    height: .556vw;
    background-image: url(dropdown-arrow.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    pointer-events: none
}

input.wpcf7-form-control.wpcf7-file.load_file {
    padding: 0;
    margin: 0 !important
}

.file-loading {
    margin-bottom: 1em;
    border-bottom: 1px solid #dedede;
    padding-bottom: 1.2em
}

.file-loading p:first-child {
    margin-bottom: 10px;
    letter-spacing: 0;
    color: #434343
}

.load_file {
    position: relative;
    height: 48px;
    width: 160px
}

.load_file:before {
    content: "Carica un File";
    position: absolute;
    left: 0;
    padding: 15px;
    background: #fff;
    color: #9d9d9d;
    width: 160px;
    height: 48px;
    text-align: center;
    border: 1px solid #9d9d9d;
    cursor: pointer;
    text-transform: uppercase;
    -webkit-transition: all 0.2s ease;
    -ms-transition: all 0.2s ease;
    transition: all 0.2s ease
}

.load_file>input {
    visibility: hidden
}

.load_file:hover:before {
    color: #000;
    border-color: #000
}

.cf-title {
    max-width: 50%
}

.hw {
    width: 50%
}

.hw-- {
    width: 70%
}

.hw- {
    width: 30%
}

.hw:nth-child(even) span,
.hw-:nth-child(even) span,
.hw--:nth-child(even) span {
    margin-left: .6vw;
    display: block
}

.hw:nth-child(odd) span,
.hw-:nth-child(odd) span,
.hw--:nth-child(odd) span {
    margin-right: .6vw;
    display: block
}

body select {
    background-image: url(dropdown-arrow.png);
    background-repeat: no-repeat;
    background-position: 98% center;
    cursor: pointer;
    background-size: 18px
}

.acceptance-box .wpcf7-form-control-wrap {
    position: unset
}

.acceptance-box span.wpcf7-not-valid-tip {
    color: #f14151 !important;
    display: block !important;
    font-size: 15px;
    width: 100%;
    left: 0;
    bottom: -20px
}

.acceptance-box span.wpcf7-not-valid-tip span {
    color: #dc3232
}

.acceptance-box {
    position: relative
}

@media screen and (max-width:992px) {

    body input,
    body textarea,
    body select {
        padding: 17px 15px 16px 15px
    }
}

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

    .hw,
    .hw--,
    .hw- {
        width: 100%
    }

    .hw:nth-child(even) span,
    .hw-:nth-child(even) span,
    .hw--:nth-child(even) span {
        margin: 0
    }

    body input,
    body textarea,
    body select {
        margin-bottom: 1em
    }

    .hw:nth-child(odd) span,
    .hw-:nth-child(odd) span,
    .hw--:nth-child(odd) span {
        margin: 0
    }

    .acceptance-box p,
    .acceptance-box a {
        font-size: 12px
    }

    body input,
    body textarea,
    body select {
        padding: 17px 10px 16px 10px
    }

    .acceptance-box span.wpcf7-not-valid-tip {
        bottom: -30px
    }
}

.stripe-container-full {
    width: 100vw
}

.stripe-container {
    width: 100%;
    margin: auto;
    padding-left: 3.125vw;
    padding-right: 3.125vw
}

.apply-pad {
    padding-left: 3.125vw;
    padding-right: 3.125vw
}

.apply-pad-r {
    padding-right: 3.125vw
}

.apply-pad-l {
    padding-left: 3.125vw
}

.bg-c {
    max-width: 100vw
}

.md-c {
    max-width: 93.75vw
}

.smd-c {
    max-width: 75vw
}

.st-c {
    max-width: 68.75vw
}

.sm-c {
    max-width: 56.25vw
}

.full-right {
    padding-left: 6.5vw;
    padding-right: 2px
}

.full-left {
    padding-right: 6.5vw;
    padding-left: 2px
}

@media screen and (max-width:1620px) {
    .md-c {
        max-width: 97vw
    }

    .smd-c {
        max-width: 80vw
    }

    .st-c {
        max-width: 75vw
    }

    .sm-c {
        max-width: 62vw
    }
}

@media screen and (max-width:1440px) {
    .full-right {
        padding-left: 4.5vw;
        padding-right: 2px
    }

    .full-left {
        padding-right: 4.5vw;
        padding-left: 2px
    }

    .md-c {
        max-width: 99vw
    }

    .smd-c {
        max-width: 92vw
    }

    .st-c {
        max-width: 87vw
    }

    .sm-c {
        max-width: 68vw
    }
}

@media screen and (max-width:1280px) {
    .full-right {
        padding-left: 4.5vw;
        padding-right: 2px
    }

    .full-left {
        padding-right: 4.5vw;
        padding-left: 2px
    }

    .md-c {
        max-width: 100vw
    }

    .smd-c {
        max-width: 95vw
    }

    .st-c {
        max-width: 90vw
    }

    .sm-c {
        max-width: 75vw
    }
}

@media screen and (max-width:992px) {
    .stripe-container {
        padding-left: 3em;
        padding-right: 3em
    }

    .full-right {
        padding-left: 3em
    }

    .full-left {
        padding-right: 3em
    }

    .bg-c,
    .md-c,
    .st-c,
    .sm-c {
        max-width: 100%
    }
}

@media screen and (max-width:767px) {
    .full-right {
        padding-left: 1em
    }

    .full-left {
        padding-right: 1em
    }

    .stripe-container {
        padding-left: 1em;
        padding-right: 1em
    }

    .stripe-container .apply-pad {
        padding-left: 0;
        padding-right: 0
    }
}

.xl-spacing {
    padding-top: 10.417vw
}

.xl-spacing-bk {
    padding-top: 10.417vw;
    padding-bottom: 10.417vw
}

.xl-bottom-spacing {
    padding-bottom: 10.417vw
}

.default-spacing {
    padding-top: 8.333vw
}

.default-spacing-bk {
    padding-top: 8.333vw;
    padding-bottom: 8.333vw
}

.default-bottom-spacing {
    padding-bottom: 8.333vw
}

.half-spacing {
    padding-top: 4.167vw
}

.half-bottom-spacing {
    padding-bottom: 4.167vw
}

.half-spacing-bk {
    padding-top: 4.167vw;
    padding-bottom: 4.167vw
}

.medium-spacing {
    padding-top: 3.125vw
}

.medium-bottom-spacing {
    padding-bottom: 3.125vw
}

.medium-spacing-bk {
    padding-top: 3.125vw;
    padding-bottom: 3.125vw
}

.small-spacing {
    padding-top: 2.604vw
}

.small-bottom-spacing {
    padding-bottom: 2.604vw
}

.small-spacing-bk {
    padding-top: 2.604vw;
    padding-bottom: 2.604vw
}

.xs-spacing-bk {
    padding-top: 40px;
    padding-bottom: 40px
}

.xs-spacing {
    padding-top: 2.083vw
}

.xs-bottom-spacing {
    padding-bottom: 2.083vw
}

.xxs-spacing {
    padding-top: 20px
}

.default-margin {
    margin-top: 8.333vw
}

.default-bottom-margin {
    margin-bottom: 8.333vw
}

.default-margin-bk {
    margin-top: 8.333vw;
    margin-bottom: 8.333vw
}

.half-mg {
    margin-top: 4.167vw
}

.half-bt-mg {
    margin-bottom: 4.167vw
}

.half-mg-bk {
    margin-top: 4.167vw;
    margin-bottom: 4.167vw
}

.med-mg {
    margin-top: 3.125vw
}

.med-bt-mg {
    margin-bottom: 3.125vw
}

.medium-g-bk {
    margin-top: 3.125vw;
    margin-bottom: 3.125vw
}

.sm-margin {
    margin-top: 2.604vw
}

.sm-bottom-margin {
    margin-bottom: 2.604vw
}

.sm-margin-bk {
    margin-top: 2.604vw;
    margin-bottom: 2.604vw
}

.mt-xs {
    margin-top: 20px
}

.xs-margin-top {
    margin-top: 20px
}

.xs-margin-bottom {
    margin-bottom: 20px
}

.xs-margin-bk {
    margin-top: 20px;
    margin-bottom: 20px
}

.xxs-margin-top {
    margin-top: 15px
}

.xxs-margin-bottom {
    margin-bottom: 15px
}

.no-bt-sp {
    padding-bottom: 0
}

.no-padding {
    padding: 0
}

.no-mg,
.no-mg * {
    margin: 0
}

.no-bt-mg,
.no-bt-mg * {
    margin-bottom: 0
}

@media screen and (max-width:1280px) {
    .xl-spacing {
        padding-top: 160px
    }

    .xl-spacing-bk {
        padding-top: 160px;
        padding-bottom: 160px
    }

    .xl-bottom-spacing {
        padding-bottom: 160px
    }

    .default-spacing {
        padding-top: 120px
    }

    .default-spacing-bk {
        padding-top: 120px;
        padding-bottom: 120px
    }

    .default-bottom-spacing {
        padding-bottom: 120px
    }

    .half-spacing {
        padding-top: 60px
    }

    .half-bottom-spacing {
        padding-bottom: 60px
    }

    .half-spacing-bk {
        padding-top: 60px;
        padding-bottom: 60px
    }

    .medium-spacing {
        padding-top: 50px
    }

    .medium-bottom-spacing {
        padding-bottom: 50px
    }

    .medium-spacing-bk {
        padding-top: 50px;
        padding-bottom: 50px
    }

    .small-spacing {
        padding-top: 45px
    }

    .small-bottom-spacing {
        padding-bottom: 45px
    }

    .small-spacing-bk {
        padding-top: 45px;
        padding-bottom: 45px
    }

    .xs-spacing-bk {
        padding-top: 40px;
        padding-bottom: 40px
    }

    .xs-spacing {
        padding-top: 40px
    }

    .xs-bottom-spacing {
        padding-bottom: 40px
    }

    .default-margin {
        margin-top: 120px
    }

    .default-bottom-margin {
        margin-bottom: 120px
    }

    .default-margin-bk {
        margin-top: 120px;
        margin-bottom: 120px
    }

    .half-mg {
        margin-top: 60px
    }

    .half-bt-mg {
        margin-bottom: 60px
    }

    .half-mg-bk {
        margin-top: 60px;
        margin-bottom: 60px
    }

    .med-mg {
        margin-top: 50px
    }

    .med-bt-mg {
        margin-bottom: 50px
    }

    .medium-g-bk {
        margin-top: 50px;
        margin-bottom: 50px
    }
}

@media screen and (max-width:992px) {
    .xl-spacing {
        padding-top: 120px
    }

    .xl-spacing-bk {
        padding-top: 120px;
        padding-bottom: 120px
    }

    .xl-bottom-spacing {
        padding-bottom: 120px
    }

    .default-spacing {
        padding-top: 90px
    }

    .default-spacing-bk {
        padding-top: 90px;
        padding-bottom: 90px
    }

    .default-bottom-spacing {
        padding-bottom: 90px
    }

    .half-spacing {
        padding-top: 45px
    }

    .half-bottom-spacing {
        padding-bottom: 45px
    }

    .half-spacing-bk {
        padding-top: 45px;
        padding-bottom: 45px
    }

    .medium-spacing {
        padding-top: 35px
    }

    .medium-bottom-spacing {
        padding-bottom: 35px
    }

    .medium-spacing-bk {
        padding-top: 35px;
        padding-bottom: 35px
    }

    .small-spacing {
        padding-top: 30px
    }

    .small-bottom-spacing {
        padding-bottom: 30px
    }

    .small-spacing-bk {
        padding-top: 30px;
        padding-bottom: 30px
    }

    .xs-spacing-bk {
        padding-top: 25px;
        padding-bottom: 25px
    }

    .xs-spacing {
        padding-top: 25px
    }

    .xs-bottom-spacing {
        padding-bottom: 25px
    }

    .xxs-spacing {
        padding-top: 20px
    }

    .xxs-spacing-bk {
        padding-top: 20px;
        padding-bottom: 20px
    }

    .xxs-spacing-bottom {
        padding-bottom: 20px
    }

    .default-margin {
        margin-top: 90px
    }

    .default-bottom-margin {
        margin-bottom: 90px
    }

    .default-margin-bk {
        margin-top: 90px;
        margin-bottom: 90px
    }

    .half-mg {
        margin-top: 45px
    }

    .half-bt-mg {
        margin-bottom: 45px
    }

    .half-mg-bk {
        margin-top: 45px;
        margin-bottom: 45px
    }

    .med-mg {
        margin-top: 35px
    }

    .med-bt-mg {
        margin-bottom: 35px
    }

    .medium-g-bk {
        margin-top: 35px;
        margin-bottom: 35px
    }

    .sm-margin {
        margin-top: 30px
    }

    .sm-bottom-margin {
        margin-bottom: 30px
    }

    .sm-margin-bk {
        margin-top: 30px;
        margin-bottom: 30px
    }
}

@media screen and (max-width:767px) {
    .xl-spacing {
        padding-top: 100px
    }

    .xl-spacing-bk {
        padding-top: 100px;
        padding-bottom: 100px
    }

    .xl-bottom-spacing {
        padding-bottom: 100px
    }

    .default-spacing {
        padding-top: 80px
    }

    .default-spacing-bk {
        padding-top: 80px;
        padding-bottom: 80px
    }

    .default-bottom-spacing {
        padding-bottom: 80px
    }

    .half-spacing {
        padding-top: 40px
    }

    .half-bottom-spacing {
        padding-bottom: 40px
    }

    .half-spacing-bk {
        padding-top: 40px;
        padding-bottom: 40px
    }

    .medium-spacing {
        padding-top: 30px
    }

    .medium-bottom-spacing {
        padding-bottom: 30px
    }

    .medium-spacing-bk {
        padding-top: 30px;
        padding-bottom: 30px
    }

    .small-spacing {
        padding-top: 25px
    }

    .small-bottom-spacing {
        padding-bottom: 25px
    }

    .small-spacing-bk {
        padding-top: 25px;
        padding-bottom: 25px
    }

    .xs-spacing-bk {
        padding-top: 20px;
        padding-bottom: 20px
    }

    .xs-spacing {
        padding-top: 20px
    }

    .xs-bottom-spacing {
        padding-bottom: 20px
    }

    .xxs-spacing {
        padding-top: 15px
    }

    .xxs-spacing-bk {
        padding-top: 15px;
        padding-bottom: 15px
    }

    .xxs-spacing-bottom {
        padding-bottom: 15px
    }

    .default-margin {
        margin-top: 80px
    }

    .default-bottom-margin {
        margin-bottom: 80px
    }

    .default-margin-bk {
        margin-top: 80px;
        margin-bottom: 80px
    }

    .half-mg {
        margin-top: 40px
    }

    .half-bt-mg {
        margin-bottom: 40px
    }

    .half-mg-bk {
        margin-top: 40px;
        margin-bottom: 40px
    }

    .med-mg {
        margin-top: 30px
    }

    .med-bt-mg {
        margin-bottom: 30px
    }

    .medium-g-bk {
        margin-top: 30px;
        margin-bottom: 30px
    }

    .sm-margin {
        margin-top: 25px
    }

    .sm-bottom-margin {
        margin-bottom: 25px
    }

    .sm-margin-bk {
        margin-top: 25px;
        margin-bottom: 25px
    }
}

body {
    margin: 0;
    background-color: #f0f1f2;
    overflow-x: hidden
}

.fh {
    height: 100%
}

.fw {
    width: 100%
}

.z-i {
    z-index: 1
}

:focus {
    outline: none
}

* {
    box-sizing: border-box
}

em {
    font-style: italic
}

.grecaptcha-badge {
    display: none !important
}

.automg {
    margin: auto
}

.center-mg {
    margin-left: auto;
    margin-right: auto
}

.mob-on {
    display: none
}

.iubenda-tp-btn[data-tp-float][data-tp-float=bottom-right],
.iubenda-tp-btn[data-tp-float][data-tp-float=top-right] {
    zoom: .5
}

span.wpcf7-list-item {
    margin: 0;
    display: flex
}

select::-ms-expand {
    display: none
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.post-content ul,
.post-content ol {
    padding-left: 10px;
    margin-bottom: 25px;
    margin-top: 25px
}

.post-content li {
    list-style: unset;
    position: relative;
    margin-bottom: 15px
}

.post-content li:before {
    content: '\2022';
    display: block;
    position: absolute;
    top: 0;
    left: -13px
}

.post-content ul li:last-child {
    margin-bottom: 0
}

ul li {
    list-style: disc inside
}

ul li,
ol li {
    margin-left: 15px
}

ol li,
.post-content ol li {
    list-style: decimal inside
}

ul.menu li {
    list-style: none;
    margin-left: 0;
    margin-bottom: 10px
}

ol li:before {
    display: none !important
}

ol {
    margin-left: 27px !important
}

ol li::marker {
    font-weight: 600
}

#main ul {
    margin: 1em 0 2em 0
}

#main ul li ul li,
#main ol li ol li {
    margin-left: 2em;
    list-style: circle;
    zoom: .85
}

picture {
    display: block;
    width: 100%;
    height: 100%
}

.img-fit {
    display: block;
    width: 100%;
    height: 100%;
    object-position: center
}

.img-fit-cover {
    object-fit: cover
}

.img-fit-contain {
    object-fit: contain
}

.img-full {
    height: 70em
}

.img-full2 {
    height: 966px
}

.bk-cover {
    background-size: cover;
    background-position: center
}

.bk-contain {
    background-size: contain;
    background-repeat: no-repeat
}

.bk-center {
    background-position: center
}

.bk-fixed {
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center
}

.bk-white {
    background-color: #fff
}

.rel-p {
    position: relative
}

.abs-p {
    position: absolute !important
}

body .sticky-p {
    position: sticky;
    height: 100%
}

.tp-rg {
    top: 0;
    right: 0
}

.tp-lf {
    top: 0;
    left: 0
}

.bt-lf {
    bottom: 0;
    left: 0
}

.x-trans {
    width: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    transform: translateX(-50%)
}

.y-trans {
    width: 100%;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    transform: translateY(-50%)
}

.abs-center {
    width: 100%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.d-block {
    display: block
}

.d-inline-b {
    display: inline-block
}

.d-flex {
    display: flex;
    flex-flow: wrap
}

.d-flex-nw {
    display: flex
}

.d-inline-f {
    display: inline-flex;
    flex-flow: wrap
}

.d-inline-f-nw {
    display: inline-flex
}

.d-table {
    display: table
}

.d-inline-t {
    display: inline-table
}

.d-grid {
    display: grid
}

.just-center {
    justify-content: center
}

.just-start {
    justify-content: flex-start
}

.just-end {
    justify-content: flex-end
}

.sp-around {
    justify-content: space-around
}

.sp-between {
    justify-content: space-between
}

.align-c {
    height: 100%;
    align-items: center
}

.align-end {
    align-items: flex-end
}

.flex-grow {
    flex-grow: 1
}

.all-centered {
    display: flex;
    align-items: center;
    justify-content: center
}

.one-col-grid {
    display: grid;
    grid-template-columns: 1fr
}

.two-col-grid {
    display: grid;
    grid-column-gap: 13px;
    grid-template-columns: 1fr 1fr
}

.three-col-grid {
    display: grid;
    grid-column-gap: 13px;
    grid-template-columns: 1fr 1fr 1fr
}

.four-col-grid {
    display: grid;
    grid-column-gap: 13px;
    grid-template-columns: 1fr 1fr 1fr 1fr
}

.five-col-grid {
    display: grid;
    grid-column-gap: 13px;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr
}

.overlay,
.overlay-1,
.overlay-2,
.overlay-3,
.overlay-4,
.overlay-5 {
    overflow: hidden;
    position: relative
}

.overlay::after,
.overlay-1::after,
.overlay-2::after,
.overlay-3::after,
.overlay-4::after,
.overlay-5::after,
.overlay-grad::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    background-color: #000;
    opacity: .2;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.overlay-1::after {
    background-color: #000;
    opacity: .3
}

.overlay-2::after {
    background-color: #000;
    opacity: .4
}

.overlay-3::after {
    opacity: .5
}

.overlay-4::after {
    opacity: .6
}

.overlay-5::after {
    opacity: .7
}

.overlay-grad::after {
    background: rgb(0, 0, 0);
    background: linear-gradient(180deg, rgba(0, 0, 0, .9) 0%, rgba(0, 0, 0, .3) 100%);
    opacity: 1
}

.overlay>*,
.overlay-1>*,
.overlay-2>*,
.overlay-3>*,
.overlay-4>*,
.overlay-5>*,
.overlay-grad>* {
    position: relative;
    color: #fff
}

.grad:after {
    content: '';
    background: rgb(10, 10, 10);
    background: linear-gradient(0deg, rgba(10, 10, 10, 1) 0%, rgba(10, 10, 10, 0) 100%);
    width: 100%;
    height: 50%;
    position: absolute;
    bottom: 0
}

.tpgrad:before,
.btgrad:before {
    content: '';
    position: absolute;
    width: 100%;
    background: rgb(0, 0, 0);
    z-index: 1;
    height: 50%
}

.tpgrad:before {
    top: 0;
    left: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    opacity: .85
}

.tpgrad.plusgrad:before {
    opacity: .6
}

.btgrad:before {
    bottom: 0;
    left: 0;
    background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    opacity: .6
}

.plusgrad:before {
    opacity: .8
}

.light-e:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1;
    mix-blend-mode: overlay;
    background: rgb(255, 255, 255);
    background: linear-gradient(235deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 70%)
}

.light-e_2:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: .6;
    mix-blend-mode: overlay;
    background: rgb(255, 255, 255);
    background: linear-gradient(235deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 70%);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease
}

.cell:hover .light-e_2:after {
    opacity: 1
}

.cell {
    position: relative
}

.reverse .cell:first-child {
    order: 2
}

.reverse .cell:last-child {
    order: 1
}

body .wd-65 {
    width: 65%
}

body .wd-58 {
    width: 58%
}

body .wd-50 {
    width: 50%
}

body .wd-33 {
    width: 33.3%
}

body .wd-25 {
    width: 25%
}

.left-block {
    width: 30%
}

.right-block {
    width: 70%
}

#social-share .stripe-container-inner {
    background-color: #ededed;
    padding: 35px
}

#social-share .social-share-title {
    letter-spacing: -.075em;
    margin-bottom: 25px
}

ul.social-share-buttons li {
    padding-left: 0;
    list-style: none;
    margin-left: 0
}

ul.social-share-buttons li:before {
    display: none
}

ul.social-share-buttons {
    margin: 0
}

.social-share-buttons li a {
    font-size: 24px;
    color: #fff;
    background: #383836;
    width: 57px;
    height: 57px;
    margin-right: .5em;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: .7;
    border-radius: 100%
}

.social-share-buttons li a:hover {
    opacity: 1;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    transition: all 0.2s ease
}

li.facebook a {
    background: #3b5998
}

li.twitter a {
    background: #55acee
}

li.pinterest a {
    background: #bd081c
}

li.reddit a {
    background: #ff4500
}

li.delicious a {
    background: #39f
}

li.stumble-upon a {
    background: #eb4924
}

li.linkedin a {
    background: #0077b5
}

li.tumblr a {
    background: #00405d
}

li.newsvine a {
    background: #00b488
}

li.evernote a {
    background: #2dbe60
}

li.mail a {
    background: #ea4335
}

.scroll-down {
    cursor: pointer
}

.grayscale {
    filter: grayscale(1)
}

.saturate {
    filter: saturate(80%)
}

.has-hover-effect * {
    overflow: hidden
}

.hover-effect_1 {
    overflow: hidden
}

.hover-effect_1:hover .cell-img img {
    -webkit-transform: scale(1.03);
    -moz-transform: scale(1.03);
    transform: scale(1.03)
}

.hover-effect_1:hover .content-move {
    bottom: 0.4em !important
}

.hover-effect_2 {
    overflow: hidden
}

.hover-effect_2:hover .cell-img img {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    transform: scale(1.05)
}

.cell-img img {
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    transition: all 1s ease
}

.content-move {
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out
}

.underlined {
    display: inline-block;
    position: relative;
    margin-bottom: 2.9vw
}

.underlined:after {
    content: '';
    display: block;
    height: 4px;
    width: 100%;
    position: absolute;
    bottom: -8px;
    background-color: #40bb6a
}

.underlined-yellow:after {
    background-color: #b4dc23
}

.full-vh {
    height: 100vh
}

@media screen and (max-width:1440px) {
    .social-share-buttons li a {
        font-size: 20px;
        width: 45px;
        height: 45px
    }

    #social-share .social-share-title {
        margin-bottom: 20px
    }
}

@media screen and (max-width:1280px) {
    #social-share .stripe-container-inner {
        padding: 25px
    }

    #social-share .social-share-title {
        margin-bottom: 15px
    }

    .social-share-buttons li a {
        font-size: 17px;
        width: 40px;
        height: 40px
    }
}

@media screen and (max-width:767px) {
    .mob-on {
        display: block
    }

    .underlined {
        margin-bottom: 1em
    }
}

header .menu .menu-item-has-children a:not(.sub-menu a):after {
    content: "";
    vertical-align: middle;
    display: inline-block;
    border: .35em solid transparent;
    border-top: .5em solid;
    position: absolute;
    right: -8px;
    font-size: 11px;
    color: #f0f1f2;
    top: 51%
}

#site-menu {
    position: fixed;
    transform: translateY(-150vh);
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 9999;
    background-color: #2f3940;
    display: none
}

#site-menu.active {
    transform: translateY(0)
}

#site-menu,
#site-menu.active {
    transition: transform 0.6s cubic-bezier(.13, .15, .42, .98)
}

#site-menu .sub-menu-toggle {
    display: none
}

#site-menu .menu-header {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    align-items: center
}

.menu-header>div {
    z-index: 5
}

#site-menu .menu-handler {
    height: auto
}

#site-menu.active .site-menu-container {
    display: flex;
    flex-flow: wrap;
    align-items: center;
    height: 100%
}

#site-menu #logo {
    height: 5.0528vw;
    width: 12.761vw;
    min-width: 150px;
    min-height: 55px;
    filter: brightness(10)
}

#site-menu .menu-contacts {
    justify-content: flex-end;
    padding-right: 2vw
}

#site-menu .menu-contacts .single-contact {
    width: auto;
    padding: 0 1vw;
    position: relative
}

#site-menu .menu-contacts .single-contact:last-child {
    padding-right: 0
}

#site-menu .menu-contacts .single-contact:nth-child(1):after {
    content: '';
    display: block;
    height: 35px;
    width: 2px;
    background-color: #fff;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%)
}

#site-menu .single-contact img {
    height: 26px;
    width: 26px;
    margin-right: 10px
}

#site-menu .menu-book-demo {
    padding-right: 2vw
}

#site-menu .menu-lang-switch {
    margin-right: 4.43vw
}

#site-menu .menu-lang-switch .wpml-ls-legacy-dropdown {
    margin-left: 5px
}

#site-menu .menu-handler-container .menu-text {
    font-weight: 600
}

#site-menu .menu-handler-container .menu-text {
    margin-left: -20px;
    margin-top: 4px
}

.menu-handler-container.close-menu {
    cursor: pointer;
    display: block;
    transition: background-color 0.3s ease-in-out
}

.menu-handler-container .menu-hamburgher:before,
.menu-handler-container .menu-hamburgher:after {
    content: '';
    display: block;
    height: .208vw;
    width: 30px;
    background-color: #fff
}

#site-menu .menu-handler-container.close-menu .menu-hamburgher:before {
    transform: rotate(43deg);
    margin: 0
}

#site-menu .menu-handler-container.close-menu .menu-hamburgher:after {
    transform: rotate(-43deg);
    margin: 0
}

#site-menu .menu-handler-container.close-menu .menu-hamburgher:before,
#site-menu .menu-handler-container.close-menu .menu-hamburgher:after {
    position: absolute
}

.menu-contacts-container .single-contact:after {
    height: 50%
}

.menu-contacts-container .single-contact a:before {
    filter: invert(1)
}

#main-menu li {
    margin-right: 4.167vw;
    margin-bottom: 0
}

.sticky-voices {
    display: none
}

header #main-menu .sub-menu li {
    margin: 0
}

header .menu .menu-item-has-children::after {
    width: 8px;
    height: 4px;
    cursor: pointer;
    position: absolute;
    right: -9px;
    top: 0;
    transform: translateY(-50%)
}

header .menu .current-menu-item.menu-item-has-children::after,
header .menu .current-menu-ancestor.current-menu-parent::after,
header .menu .menu-item-has-children:hover::after {
    content: url(dropdown_a.png)
}

header .menu .menu-item-has-children {
    position: relative
}

header .menu .menu-item-has-children a {
    padding-right: 5px
}

header .menu .menu-item-has-children>.sub-menu {
    position: absolute;
    right: 0;
    border-top: 0;
    z-index: 1;
    opacity: 0;
    -webkit-transform: translateY(-1000px);
    transform: translateY(-1000px);
    transition: opacity .2s, margin .2s, -webkit-transform 0s;
    transition: transform 0s, opacity .2s, margin .2s;
    transition: transform 0s, opacity .2s, margin .2s, -webkit-transform 0s;
    transition-delay: .4s, .2s, .2s
}

header .menu li a {
    position: relative
}

.small-sm .sub-menu {
    min-width: 190px !important
}

footer .current-menu-item a {
    text-decoration: underline
}

.current-menu-parent.menu-item-has-children a:not(.sub-menu a),
.current-menu-ancestor>a {
    text-decoration: underline
}

#site-menu .current-menu-item>a {
    color: #8d9da8 !important
}

.current-menu-item .sub-menu a {
    text-decoration: none
}

.sub-menu .current-menu-item a {
    background: #8d9da8;
    color: #fff !important
}

header .menu .menu-item-has-children:hover .sub-menu {
    transition: opacity .1s;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    transition-delay: 0s, 0s, 0s
}

header .menu .menu-item-has-children>.sub-menu {
    background-color: #f0f1f2;
    margin-top: 6px;
    min-width: 7.813vw;
    max-width: unset;
    padding-top: 0;
    box-shadow: 0 2px 5px rgb(0 0 0 / 10%);
    left: 0;
    top: 80%;
    border-radius: 8px
}

header .menu .menu-item-has-children>.sub-menu a {
    color: #2f3940;
    border-bottom: 1px solid #e1e1e1;
    padding: 1em;
    min-width: unset
}

header .menu .menu-item-has-children>.sub-menu li:last-child a {
    border-bottom: 0
}

header .menu .menu-item-has-children>.sub-menu>li {
    margin-bottom: 0;
    padding: 0;
    margin-top: -1px
}

header .menu .menu-item-has-children {
    margin-bottom: 0
}

header .menu .menu-item-has-children>.sub-menu>li a:hover {
    color: #f0f1f2;
    background-color: #8d9da8
}

header .menu .menu-item-has-children>.sub-menu li:first-child a {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px
}

header .menu .menu-item-has-children>.sub-menu li:last-child a {
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px
}

body .wpml-ls-legacy-dropdown .wpml-ls-current-language:hover>a,
body .wpml-ls-legacy-dropdown a:focus,
body .wpml-ls-legacy-dropdown a:hover {
    color: initial;
    background: unset
}

body .wpml-ls-legacy-dropdown .wpml-ls-sub-menu {
    border-top: 0;
    background: #f0f1f2;
    color: #2f3940;
    margin-top: 0;
    text-align: center;
    width: 100%;
    border-radius: 4px
}

body .wpml-ls-legacy-dropdown .wpml-ls-sub-menu li {
    color: #2f3940;
    list-style: none;
    padding: 0;
    margin: 0;
    padding: .8em;
    font-size: 14px
}

body .wpml-ls-legacy-dropdown .wpml-ls-sub-menu span {
    color: #2f3940
}

li#menu-item-116 a:first-child:hover:not(.sub-menu a) {
    cursor: context-menu;
    color: #f0f1f2
}

.sticky-header li#menu-item-116:hover a:not(.sub-menu a) {
    color: #2f3940 !important
}

header .sticky-header .menu .menu-item-has-children a:not(.sub-menu a):after {
    color: #2f3940;
    font-size: 9px
}

@media screen and (max-width:1920px) {
    header .menu .menu-item-has-children>.sub-menu {
        min-width: 150px
    }

    #main-menu li {
        margin-right: 80px
    }
}

@media screen and (max-width:1660px) {
    header .menu .menu-item-has-children a:not(.sub-menu a):after {
        font-size: 9px
    }

    #main-menu li {
        margin-right: 70px
    }
}

@media screen and (max-width:1440px) {
    #site-menu .menu-section ul.menu li.menu-item .sub-menu li {
        margin-bottom: 4px
    }

    .menu-section .sub-menu li a {
        font-size: 17px
    }

    #main-menu li {
        margin-right: 60px
    }

    #site-menu .single-contact img {
        height: 23px;
        width: 23px
    }

    .menu-body {
        padding-top: 5.65vw;
        padding-bottom: 4.65vw
    }

    .menu-section .sub-menu li {
        margin-bottom: 5px
    }

    .menu-footer {
        left: 2.5vw
    }

    .menu-footer * {
        font-size: 14px
    }
}

@media screen and (max-width:1366px) {
    #site-menu .menu-lang-switch * {
        font-size: 16px
    }
}

@media screen and (max-width:1280px) {
    #site-menu .menu-contacts a {
        font-size: 15px
    }

    #site-menu .menu-contacts .single-contact {
        padding: 0 15px
    }

    #site-menu .menu-section .menu>.menu-item>a {
        font-size: 24px
    }

    .menu-section .sub-menu li {
        margin-bottom: 3px
    }

    .menu-section .menu>li .sub-menu a {
        font-size: 16px
    }

    ul.menu li {
        margin-bottom: 5px
    }

    #main-menu li {
        margin-right: 50px
    }
}

@media screen and (max-width:1150px) {
    header .menu .menu-item-has-children>.sub-menu {
        min-width: 130px
    }

    #main-menu li {
        margin-right: 40px
    }
}

@media screen and (max-width:992px) {
    #site-menu {
        display: block
    }

    .menu-handler {
        color: #f1f2f3;
        display: block !important
    }

    .menu-handler-hamburgher {
        cursor: pointer
    }

    .menu-handler-hamburgher .menu-label {
        margin-right: 20px
    }

    .menu-handler-hamburgher .open-menu {
        cursor: pointer
    }

    .menu-handler.dark-handler,
    .still-sticky .menu-handler {
        color: #272727
    }

    #site-menu .menu-header {
        padding-top: 1.5em;
        padding-bottom: 1.3em;
        border-bottom: 2px solid #44535e
    }

    .menu-handler-hamburgher .menu-hamburger span:before,
    .menu-handler-hamburgher .menu-hamburger span:after {
        position: absolute;
        content: ''
    }

    .menu-handler-hamburgher .menu-hamburger span,
    .menu-handler-hamburgher .menu-hamburger span:before,
    .menu-handler-hamburgher .menu-hamburger span:after {
        width: 30px;
        height: 2px;
        background-color: #f1f0f2;
        display: block
    }

    .dark-handler .menu-handler-hamburgher .menu-hamburger span,
    .dark-handler .menu-handler-hamburgher .menu-hamburger span:before,
    .dark-handler .menu-handler-hamburgher .menu-hamburger span:after,
    .still-sticky .menu-handler-hamburgher .menu-hamburger span,
    .still-sticky .menu-handler-hamburgher .menu-hamburger span:before,
    .still-sticky .menu-handler-hamburgher .menu-hamburger span:after {
        background-color: #272727
    }

    .menu-handler-hamburgher .menu-hamburger span:before {
        margin-top: -10px
    }

    .menu-handler-hamburgher .menu-hamburger span:after {
        margin-top: 10px
    }

    .menu-handler .open-menu.active .menu-hamburger span {
        -webkit-transition-duration: 0s;
        transition-duration: 0s;
        -webkit-transition-delay: 0.2s;
        transition-delay: 0.2s
    }

    .menu-handler .open-menu.active .menu-hamburger span {
        background-color: rgba(0, 0, 0, 0);
        -webkit-transition-delay: 0.2s;
        transition-delay: 0.2s
    }

    .menu-handler .open-menu.active .menu-hamburger span:before,
    .menu-handler .open-menu .menu-hamburger span:before {
        -webkit-transition-property: margin, -webkit-transform;
        transition-property: margin, transform;
        -webkit-transition-duration: 0.2s;
        transition-duration: 0.2s;
        -webkit-transition-delay: 0.2s, 0s;
        transition-delay: 0.2s, 0s
    }

    .menu-handler .open-menu .menu-hamburger span:after,
    .menu-handler .open-menu.active .menu-hamburger span:after {
        -webkit-transition-property: margin, -webkit-transform;
        transition-property: margin, transform;
        -webkit-transition-duration: 0.2s;
        transition-duration: 0.2s;
        -webkit-transition-delay: 0.2s, 0s;
        transition-delay: 0.2s, 0s
    }

    .menu-handler .open-menu.active .menu-hamburger span:before {
        width: 25px;
        margin-top: 0;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        -webkit-transition-delay: 0s, 0.2s;
        transition-delay: 0s, 0.2s
    }

    .menu-handler .open-menu.active .menu-hamburger span:after {
        width: 25px;
        margin-top: 0;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        -webkit-transition-delay: 0s, 0.2s;
        transition-delay: 0s, 0.2s
    }

    .menu-main-navigation,
    .top-bar {
        display: none !important
    }

    .menu-section .menu>li {
        width: 100%
    }

    .menu-section .menu>li {
        margin-top: 25px;
        margin-bottom: 25px;
        padding-bottom: 25px;
        border-bottom: 1px solid #44535e
    }

    .menu-body>div {
        width: 100%
    }

    #site-menu .menu-header {
        position: relative;
        top: unset;
        left: unset;
        transform: none
    }

    .big-menu-container {
        height: 100%;
        overflow-y: auto;
        overflow-x: hidden
    }

    .menu-body {
        padding-top: 2em
    }

    #site-menu .menu-item-has-children {
        position: relative;
        display: flex;
        justify-content: space-between;
        flex-flow: wrap;
        align-items: center
    }

    #site-menu .sub-menu-toggle {
        display: block
    }

    #site-menu .sub-menu-toggle.opened {
        transform: rotate(270deg)
    }

    #site-menu ul#main-mobile-navigation {
        display: block
    }

    #site-menu .sub-menu {
        display: none;
        width: 100%
    }

    #site-menu .sub-menu-toggle {
        position: relative;
        right: 0;
        top: 0;
        background-color: transparent;
        background-image: url(arrow-right_b.png);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        border: unset;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 22px;
        width: 22px;
        opacity: 0;
        transform: rotate(90deg);
        filter: invert(1)
    }

    #site-menu .sub-menu .sub-menu-toggle {
        height: 13px;
        width: 30px
    }

    #site-menu .sub-menu .sub-menu-toggle {
        opacity: 1
    }

    #site-menu .menu-logo {
        flex-grow: 1
    }

    #site-menu .menu-handler-container.close-menu {
        width: 23px;
        height: 23px
    }

    #site-menu .menu-body {
        padding-top: 0;
        padding-bottom: 0
    }

    #site-menu .menu-contacts .single-contact:first-child {
        padding-left: 0
    }

    #site-menu .open-sub>a {
        display: block;
        flex-grow: 1
    }

    #site-menu .menu-section .menu>li .sub-menu a {
        font-size: 18px
    }

    #site-menu .sub-menu li {
        margin-bottom: 25px !important;
        margin-left: 1em
    }

    #site-menu .sub-menu li:first-child {
        margin-top: 20px
    }

    .menu-content {
        padding-top: 0;
        padding-bottom: 0;
        overflow: unset;
        height: calc(100% - 101.8px)
    }

    #site-menu .menu-content-wrapper {
        height: 100%
    }

    .main-menu-container .stripe-container {
        align-items: center
    }

    .sub-menu .current-menu-item a {
        background: unset
    }

    .menu-content-wrapper {
        display: flex;
        flex-direction: column
    }

    .mobile-menu-footer {
        background: #232a2f;
        padding: 2em 1em;
        justify-content: space-evenly;
        align-items: center;
        width: 100%;
        min-height: 240px
    }

    .menu-section .menu>li:last-child {
        margin-bottom: 0;
        border-bottom: 0;
        padding-bottom: 20px
    }

    .mobile-menu-footer .fab {
        font-size: 24px
    }

    img.wpml-ls-flag {
        height: 25px;
        width: 25px
    }
}

@media screen and (max-width:767px) {
    #site-menu .menu-section .menu>.menu-item>a {
        font-size: 20px
    }

    #site-menu .menu-section .menu>li .sub-menu a {
        font-size: 16px
    }

    #site-menu .sub-menu-toggle {
        width: 30px;
        height: 14px
    }

    .menu-section .menu>li {
        margin: 20px 0;
        padding-bottom: 20px
    }
}

.main-menu-container>.stripe-container {
    padding-top: 30px
}

.main-menu-container .stripe-container .logo-container {
    padding-bottom: 15px
}

.wpml-ls-legacy-list-horizontal {
    border: unset !important;
    padding: 0 !important
}

.wpml-ls-legacy-list-horizontal a {
    padding: 0 !important
}

.has-expanded-submenu .main-navigation {
    transition: border-color 0.3s ease-in-out
}

.has-expanded-submenu .main-navigation {
    border-color: transparent
}

.has-expanded-submenu .main-navigation-content {
    position: relative
}

.has-expanded-submenu .main-navigation:before {
    content: '';
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: rgb(0, 0, 0);
    background: linear-gradient(180deg, rgba(0, 0, 0, .3) 0%, rgba(0, 0, 0, 0) 100%)
}

.mega-menu-container {
    display: grid;
    grid-template-columns: 50% 50%
}

.main-menu-container:hover>.stripe-container {
    box-shadow: 0 0 20px 2px rgb(0 0 0 / 12%);
    position: relative;
    z-index: 4
}

.wpml-ls-legacy-list-horizontal .wpml-ls-item {
    list-style-type: none !important;
    list-style: none !important;
    margin: 0
}

#main-menu>li>a,
header .wpml-ls-legacy-list-horizontal a {
    padding: 16px 0 44px 0 !important;
    display: block
}

.main-menu-container {
    transition: background-color 0.3s ease-in-out
}

.main-menu-container:hover {
    background-color: #fff
}

.main-menu-container:hover .header-logo {
    display: none
}

.main-menu-container:hover .sticky-logo {
    display: block
}

header .main-menu-container:hover .menu li a,
header .main-menu-container:hover .wpml-ls-legacy-list-horizontal a span,
.current_page_item {
    color: #2f3940 !important
}

header .main-menu-container .menu .with-mega-menu.active>a,
body header .main-menu-container .menu .current_page_item>a {
    color: #f1414b !important
}

.mega-menu a.current-page {
    color: #f14148 !important
}

.mega-menu {
    width: 100%;
    z-index: 2;
    display: flex;
    background-color: rgb(255 255 255 / 95%);
    border-top: 1px solid rgb(255 255 255 / 60%);
    box-shadow: 0 53px 40px 10px rgb(0 0 0 / 32%);
    transition: 0.2s ease-in-out;
    transition-property: opacity, visibility
}

.mega-menu.active {
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 3;
    transition: 0.3s ease-in-out;
    transition-property: opacity, visibility
}

.menu-title {
    margin-bottom: 30px
}

.mega-menu li a:hover {
    opacity: .8
}

.mega-menu-voices>*:not(:last-child) {
    margin-bottom: 20px
}

.mega-menu-single-voice a {
    letter-spacing: .03em
}

.mega-menu .btn {
    min-width: unset !important;
    width: auto !important;
    display: inline-block
}

.menu-right,
.menu-left {
    padding-top: 30px;
    padding-bottom: 30px
}

.menu-left .menu-title {
    margin-bottom: 20px
}

.fast-link-title>*,
.read-more>* {
    font-family: "AppliedSansPro-Bold", sans-serif
}

.fast-link-title {
    margin-bottom: 25px
}

.fast-link-img,
.mega-menu .swiper-slide.swiper-slide {
    height: 13.021vw
}

.fast-link-box {
    position: relative;
    display: block
}

.mega-menu .box-title {
    position: absolute;
    bottom: 25px;
    left: 30px;
    z-index: 1;
    color: #fff;
    padding-right: 65px
}

header .read-more {
    margin-top: 25px !important
}

header .read-more:before {
    width: 30px
}

header .read-more:after {
    left: 30px
}

.mega-menu .btn {
    padding: .8vw 1.8vw;
    font-size: 12px
}

.mega-menu-button {
    padding-top: 5px
}

.mega-menu .swiper-slide.swiper-slide {
    width: 100%;
    gap: 3.125vw;
    padding: 1.042vw 1.042vw 1.042vw 0;
    align-content: space-between
}

.mega-menu .swiper-slide.swiper-slide img {
    width: calc(33.3% - 2.084vw);
    height: 3.75vw
}

.menu-right {
    border-left: 1px solid #c7c7c7
}

.menu-right-container-2col {
    grid-row: 1;
    grid-column: 2;
    margin: 0;
    display: grid;
    grid-template-rows: repeat(1, min-content);
    grid-template-columns: repeat(2, auto);
    grid-auto-flow: column;
    align-content: space-between;
    justify-content: flex-start;
    border: none;
    gap: 0 7.292vw
}

.mega-menu-voices-2col {
    grid-row: 1;
    grid-column: 2;
    margin: 0;
    display: grid;
    grid-template-rows: repeat(4, min-content);
    grid-template-columns: repeat(2, 50%);
    grid-auto-flow: column;
    align-content: space-between;
    justify-content: flex-start;
    border: none;
    gap: 0 30px
}

.with-mega-menu.active {
    position: relative
}

.with-mega-menu.active:after {
    content: '';
    display: block;
    height: 20px;
    width: 20px;
    background-color: #F1414B;
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 100%;
    pointer-events: none
}

.main-navigation-container.still-sticky:not(.sticky-header) .mega-menu {
    visibility: hidden !important;
    opacity: 0 !important
}

.still-sticky.main-navigation-container {
    background-color: rgb(26 25 25 / 70%) !important
}

.still-sticky.main-navigation-container:hover {
    background-color: rgb(26 25 25 / 85%) !important
}

.has-expanded-submenu .still-sticky.main-navigation-container {
    background-color: #1a1919 !important
}

@media screen and (max-width:1920px) {
    .mega-menu .btn {
        padding: 15px 34px
    }

    .fast-link-img,
    .mega-menu .swiper-slide.swiper-slide {
        height: 250px
    }

    .mega-menu .swiper-slide.swiper-slide {
        gap: 60px;
        padding: 20px 20px 20px 0
    }

    .mega-menu .swiper-slide.swiper-slide img {
        width: calc(33.3% - 40px);
        height: 72px
    }
}

@media screen and (max-width:1600px) {

    .menu-right,
    .menu-left {
        padding-top: 25px;
        padding-bottom: 25px
    }

    .fast-link-title {
        margin-bottom: 20px
    }

    .fast-link-img,
    .mega-menu .swiper-slide.swiper-slide {
        height: 240px
    }

    header .read-more {
        margin-top: 20px !important
    }

    .menu-title {
        margin-bottom: 25px
    }

    .mega-menu-voices>*:not(:last-child) {
        margin-bottom: 15px
    }

    .mega-menu-single-voice a {
        font-size: 18px
    }
}

@media screen and (max-width:1440px) {

    .menu-right,
    .menu-left {
        padding-top: 20px;
        padding-bottom: 20px
    }

    .fast-link-title {
        margin-bottom: 15px
    }

    .fast-link-img,
    .mega-menu .swiper-slide.swiper-slide {
        height: 220px
    }

    .menu-title {
        margin-bottom: 20px
    }

    .mega-menu-voices>*:not(:last-child) {
        margin-bottom: 13px
    }

    .mega-menu-single-voice a {
        font-size: 17px
    }

    .mega-menu .btn {
        padding: 14px 30px
    }

    .mega-menu .swiper-slide.swiper-slide {
        gap: 50px;
        padding: 15px 15px 15px 0
    }

    .mega-menu .swiper-slide.swiper-slide img {
        width: calc(33.3% - 34px)
    }
}

@media screen and (max-width:1280px) {
    .mega-menu-single-voice a {
        font-size: 16px
    }

    .mega-menu-voices-2col {
        gap: 0 20px
    }

    .mega-menu-voices>*:not(:last-child) {
        margin-bottom: 10px
    }

    .mega-menu .swiper-slide.swiper-slide {
        gap: 30px
    }

    .mega-menu .swiper-slide.swiper-slide img {
        width: calc(33.3% - 20px)
    }
}

@media screen and (max-width:992px) {
    .mega-menu {
        display: none !important
    }

    .main-menu-container .stripe-container .logo-container {
        padding-bottom: 0
    }

    .main-menu-container:hover {
        background-color: unset
    }

    .col-full .main-menu-container .header-logo {
        display: block !important
    }

    .col-full .main-menu-container .sticky-logo {
        display: none !important
    }

    .main-menu-container:hover>.stripe-container {
        box-shadow: unset
    }
}

.with-effect,
.with-effect-d {
    opacity: .05;
    -webkit-transform: translate3d(0, 20px, 0);
    -ms-webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
    -webkit-transition: transform 0.75s ease-in-out, opacity 0.5s ease-in-out;
    -ms-transition: transform 0.75s ease-in-out, opacity 0.5s ease-in-out;
    transition: transform 0.75s ease-in-out, opacity 0.5s ease-in-out
}

.with-effect-d1,
.with-effect-d2,
.with-effect-d3,
.with-effect-d4,
.with-effect-d5,
.with-effect-d6 {
    opacity: .05;
    -webkit-transform: translate3d(0, 15px, 0);
    -ms-webkit-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
    -webkit-transition: transform 0.75s ease-in-out, opacity 0.5s ease-in-out;
    -ms-transition: transform 0.75s ease-in-out, opacity 0.5s ease-in-out;
    transition: transform 0.75s ease-in-out, opacity 0.5s ease-in-out
}

.with-effect.active-effect,
.with-effect-d.active-effect,
.with-effect-d1.active-effect,
.with-effect-d2.active-effect,
.with-effect-d2.active-effect,
.with-effect-d3.active-effect,
.with-effect-d4.active-effect,
.with-effect-d5.active-effect,
.with-effect-d6.active-effect {
    opacity: 1;
    -webkit-transform: translate3d(0, 0%, 0);
    -ms-webkit-transform: translate3d(0, 0%, 0);
    transform: translate3d(0, 0%, 0);
    -webkit-transition: transform 0.75s ease-in-out, opacity 0.5s ease-in-out;
    -ms-transition: transform 0.75s ease-in-out, opacity 0.5s ease-in-out;
    transition: transform 0.75s ease-in-out, opacity 0.5s ease-in-out
}

.with-effect-f,
.with-effect-f-d {
    opacity: .05;
    -webkit-transform: translate3d(0, 15px, 0);
    -ms-transform: translate3d(0, 15px, 0);
    transform: translate3d(0, 15px, 0);
    -webkit-transition: transform 0.3s ease-in-out, opacity 0.25s ease-in-out;
    -ms-transition: transform 0.3s ease-in-out, opacity 0.25s ease-in-out;
    transition: transform 0.3s ease-in-out, opacity 0.25s ease-in-out
}

.with-effect-f.active-effect,
.with-effect-f-d.active-effect {
    opacity: 1;
    -webkit-transform: translate3d(0, 0%, 0);
    -ms-transform: translate3d(0, 0%, 0);
    transform: translate3d(0, 0%, 0);
    -webkit-transition: transform 0.3s ease-in-out, opacity 0.25s ease-in-out;
    -ms-transition: transform 0.3s ease-in-out, opacity 0.25s ease-in-out;
    transition: transform 0.3s ease-in-out, opacity 0.25s ease-in-out
}

.swiper-slide-active .slider-image.overlay {
    transform: scale(1.1);
    transition: transform 16s
}

.slider-image.overlay {
    transform: scale(1);
    transition: transform 16s
}

.fade-in-effect {
    opacity: .2;
    transform: translateY(10px)
}

@-webkit-keyframes fadeIn-effect {
    0% {
        opacity: .2;
        transform: translateY(10px)
    }

    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes fadeIn-effect {
    0% {
        opacity: .2;
        transform: translateY(10px)
    }

    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

.swiper-slide-active .fade-in-effect.entry-1,
.swiper-slide-active .fade-in-effect.entry-2,
.swiper-slide-active .fade-in-effect.entry-3,
.swiper-slide-active .fade-in-effect.entry-4,
.no-slide .fade-in-effect.entry-1,
.no-slide .fade-in-effect.entry-2,
.no-slide .fade-in-effect.entry-3,
.no-slide .fade-in-effect.entry-4 {
    -webkit-animation: fadeIn-effect 1s forwards;
    animation: fadeIn-effect 1s forwards
}

.swiper-slide-active .fade-in-effect.entry-2,
.no-slide .fade-in-effect.entry-2 {
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s
}

.swiper-slide-active .fade-in-effect.entry-3,
.no-slide .fade-in-effect.entry-3 {
    -webkit-animation-delay: 0.4s;
    animation-delay: 0.4s
}

.swiper-slide-active .fade-in-effect.entry-4,
.no-slide .fade-in-effect.entry-4 {
    -webkit-animation-delay: 0.6s;
    animation-delay: 0.6s
}

.parallax-text {
    transition: top 0.9s, opacity 0.5s
}

.parallax-text>* {
    transition: transform 0.6s ease-in-out
}

.fade-in-effect-no {
    opacity: 0;
    transform: translateY(20px)
}

@-webkit-keyframes fadeIn-effect-no {
    0% {
        opacity: 0;
        transform: translateY(20px)
    }

    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes fadeIn-effect-no {
    0% {
        opacity: 0;
        transform: translateY(20px)
    }

    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

.swiper-slide-active .fade-in-effect-no.entry-1,
.swiper-slide-active .fade-in-effect-no.entry-2,
.swiper-slide-active .fade-in-effect-no.entry-3,
.swiper-slide-active .fade-in-effect-no.entry-4 {
    -webkit-animation: fadeIn-effect 1s forwards;
    animation: fadeIn-effect 1s forwards
}

.swiper-slide-active .fade-in-effect-no.entry-2 {
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s
}

.swiper-slide-active .fade-in-effect-no.entry-3 {
    -webkit-animation-delay: 0.4s;
    animation-delay: 0.4s
}

.swiper-slide-active .fade-in-effect-no.entry-4 {
    -webkit-animation-delay: 0.6s;
    animation-delay: 0.6s
}

.fade-in-effect-sfi:not(.single-square),
.swiper-slide .fade-in-effect-sfi.single-square:after,
main .fade-in-effect-sfi.single-square:after {
    opacity: 0
}

@-webkit-keyframes fadeIn-effect-sfi {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes fadeIn-effect-sfi {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

.swiper-slide-active .fade-in-effect-sfi.entry-fade,
.swiper-slide-active .fade-in-effect-sfi.single-square:after,
main .active-effect .fade-in-effect-sfi.single-square:after {
    -webkit-animation: fadeIn-effect-sfi 0.8s forwards;
    animation: fadeIn-effect-sfi 0.8s forwards
}

.swiper-slide-active .fade-in-effect-sfi.entry-fade {
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s
}

.swiper-slide-active .fade-in-effect-sfi.entry-sfi-1:after,
main .active-effect .fade-in-effect-sfi.entry-sfi-1:after {
    -webkit-animation-delay: 0.1s;
    animation-delay: 0.1s
}

.swiper-slide-active .fade-in-effect-sfi.entry-sfi-2:after,
main .active-effect .fade-in-effect-sfi.entry-sfi-2:after {
    -webkit-animation-delay: 0.3s;
    animation-delay: 0.3s
}

.swiper-slide-active .fade-in-effect-sfi.entry-sfi-3:after,
main .active-effect .fade-in-effect-sfi.entry-sfi-3:after {
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s
}

.swiper-slide-active .fade-in-effect-sfi.entry-sfi-4:after,
main .active-effect .fade-in-effect-sfi.entry-sfi-4:after {
    -webkit-animation-delay: 0.7s;
    animation-delay: 0.7s
}

.swiper-slide-active .fade-in-effect-sfi.entry-sfi-5:after,
main .active-effect .fade-in-effect-sfi.entry-sfi-5:after {
    -webkit-animation-delay: 0.9s;
    animation-delay: 0.9s
}

.swiper-slide-active .fade-in-effect-sfi.entry-sfi-6:after,
main .active-effect .fade-in-effect-sfi.entry-sfi-6:after {
    -webkit-animation-delay: 1.1s;
    animation-delay: 1.1s
}

@-webkit-keyframes upDown {
    0% {
        transform: translateY(25px)
    }

    0% {
        transform: translateY(+10px)
    }

    100% {
        transform: translateY(0)
    }
}

@keyframes upDown {
    0% {
        transform: translateY(0)
    }

    0% {
        transform: translateY(+10px)
    }

    100% {
        transform: translateY(0)
    }
}

.scroll-down {
    -webkit-animation: upDown 1s infinite alternate;
    animation: upDown 1s infinite alternate
}

@-webkit-keyframes leftRight {
    0% {
        transform: translateX(0)
    }

    0% {
        transform: translateX(+20px)
    }

    100% {
        transform: translateX(0)
    }
}

@keyframes leftRight {
    0% {
        transform: translateX(0)
    }

    0% {
        transform: translateX(+20px)
    }

    100% {
        transform: translateX(0)
    }
}

.slide-animate {
    -webkit-animation: leftRight 1s infinite alternate;
    animation: leftRight 1s infinite alternate
}

@-webkit-keyframes bgLogoEffects {
    0% {
        background-color: transparent
    }

    100% {
        background-color: #fff
    }
}

@keyframes bgLogoEffects {
    0% {
        background-color: transparent
    }

    100% {
        background-color: #fff
    }
}

.menu-handler-logos.active {
    -webkit-animation: bgLogoEffects 2s forwards;
    animation: bgLogoEffects 2s forwards
}

@-webkit-keyframes slideZoom {
    0% {
        transform: scale(1)
    }

    0% {
        transform: scale(1)
    }

    100% {
        transform: scale(1.1)
    }
}

header .swiper-slide-visible.swiper-slide-active img {
    -webkit-animation: slideZoom 16s forwards;
    animation: slideZoom 16s forwards
}

.popup .popup-container {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 100vh;
    width: 100vw;
    background-color: rgb(47 57 64 / 95%);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999999
}

.open-popup {
    cursor: pointer
}

.popup .popup-container-inner {
    width: 80%;
    max-width: 62.50vw;
    max-height: 80vh;
    height: auto;
    background-color: #f0f1f2;
    padding: 0;
    overflow: auto;
    box-shadow: 0 0 50px 0 rgb(0 0 0 / 30%)
}

.popup .popup-content {
    height: 100%;
    padding: 4vw
}

.popup-description strong {
    margin-top: 1em;
    background: #b3dc23;
    padding: 1em 1.5em;
    color: #fff;
    border-radius: 50px;
    display: block
}

.form-popup {
    margin-top: 25px
}

.additional-services {
    margin-bottom: 40px
}

.additional-services-checkbox {
    margin-top: 15px
}

.additional-services-checkbox input {
    margin-right: 10px
}

.additional-services-checkbox .wpcf7-list-item {
    margin-bottom: 10px
}

.additional-services-checkbox .wpcf7-list-item,
.additional-services-checkbox .wpcf7-list-item label {
    display: flex;
    align-items: center
}

.additional-services-checkbox .wpcf7-list-item span {
    font-size: 15px
}

#contact-popup .headline-5 {
    margin-top: 10px;
    background: #40bb6a;
    padding: 1em 1.5em;
    color: #fff;
    border-radius: 50px
}

#contact-popup .additional-services-checkbox {
    padding-left: 1em
}

.popup.small-popup .popup-container-inner {
    max-width: 963px;
    width: 80%
}

.popup.small-popup .popup-content {
    padding: 100px 150px
}

.popup-image-text .popup-container-inner {
    max-width: 1400px;
    height: 85vh;
    min-height: 550px;
    max-height: unset;
    overflow: hidden
}

.popup-image-text .popup-content {
    padding: 0;
    display: flex
}

.popup-image-text .popup-image {
    width: 36.5%
}

.popup-image-text .popup-text {
    width: 63.5%;
    padding: 79px 60px 60px 60px;
    max-height: 800px;
    overflow: auto
}

.popup-image-text h2 {
    display: inline-block;
    padding-right: 5px;
    font-size: 3.802vw
}

.popup-image-text p {
    color: #222;
    line-height: 1.4
}

.close-popup {
    position: absolute;
    top: 2.5em;
    right: 2.5em;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 42px;
    min-width: 44px;
    min-height: 42px;
    font-size: 16px;
    z-index: 2
}

.close-popup .fa {
    width: unset;
    height: unset;
    line-height: 1;
    opacity: 1
}

.close-popup:hover {
    color: #000
}

.close-popup img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.popup .popup-content::-webkit-scrollbar,
.form-container::-webkit-scrollbar {
    width: 3px
}

.popup .popup-content::-webkit-scrollbar-track,
.form-container::-webkit-scrollbar-track {
    background: #eee
}

.popup .popup-content::-webkit-scrollbar-thumb,
.form-container::-webkit-scrollbar-thumb {
    background: #559494
}

.popup .popup-contents::-webkit-scrollbar-thumb:hover,
.form-container::-webkit-scrollbar-thumb:hover {
    background: #559494
}

#popup-thank-you.popup .popup-content {
    padding: 6vw
}

#popup-thank-you h2 {
    margin-bottom: 20px;
    font-size: 40px
}

.thank-you-text {
    padding: 0 5.5em;
    margin: auto
}

#popup-thank-you .btn {
    min-width: 219px;
    margin-top: 40px
}

#popup-thank-you .popup-container-inner {
    height: auto !important
}

.popup input.wpcf7-form-control.wpcf7-text,
.popup select.wpcf7-form-control.wpcf7-select,
body .popup .wpcf7-textarea,
body .popup input.wpcf7-date {
    font-size: 18px;
    border: 1px solid #8e8e8e;
    border-radius: 32px;
    color: #44535e
}

.popup ::placeholder {
    color: #8e8e8e
}

.popup textarea.wpcf7-not-valid {
    border: 1px solid #ff1212 !important
}

.popup input[type="checkbox"] {
    width: .885vw;
    height: .885vw;
    background-color: #d5d5d5
}

.popup input[type="checkbox"]:checked:after {
    border: 0
}

.popup-description a {
    color: #f14148;
    text-decoration: underline;
    font-family: 'AppliedSansPro-Bold';
    text-underline-position: from-font
}

.popup textarea {
    height: 8.49vw;
    border-radius: 1.042vw !important
}

@media screen and (max-width:1920px) {
    .popup .popup-container-inner {
        max-width: 1200px
    }

    .popup input[type="checkbox"] {
        width: 17px;
        height: 17px;
        padding: 0
    }
}

@media screen and (max-width:1440px) {
    .close-popup {
        zoom: .8;
        top: 1.5em;
        right: 1.5em
    }

    body .popup input,
    body .popup textarea,
    body .popup select {
        padding: 15px 25px
    }

    #popup-thank-you.popup .popup-content {
        padding: 2.5em
    }

    #popup-thank-you h2 {
        font-size: 2.8vw
    }
}

@media screen and (max-width:1280px) {
    .close-popup {
        width: 34px;
        height: 32px;
        min-width: 34px;
        min-height: 32px
    }
}

@media screen and (max-width:992px) {
    #popup-thank-you h2 {
        font-size: 32px
    }

    .popup .popup-container-inner {
        min-height: unset;
        max-height: 85vh;
        height: 650px;
        overflow: auto
    }

    .popup-image-text .popup-content {
        flex-flow: wrap
    }

    .popup-image-text .popup-text {
        width: 100%;
        max-height: unset
    }

    .popup-image-text .popup-image {
        width: 100%;
        height: 20em
    }

    #contact-popup.popup.small-popup .popup-content {
        padding: 4em 3em
    }

    #contact-popup .form-bottom.d-flex.align-c {
        padding-bottom: 4em
    }
}

@media screen and (max-width:767px) {
    #popup-thank-you h2 {
        font-size: 30px
    }

    .thank-you-text {
        padding: 0
    }

    #popup-thank-you .btn {
        min-width: 200px;
        margin-top: 25px
    }

    .popup .popup-container-inner {
        width: 90vw;
        max-height: 70vh
    }

    .popup .popup-content {
        padding: 2.5em 1em
    }

    .popup .hw {
        width: 100%
    }

    .popup-content .hw span {
        margin-right: 0 !important;
        margin-left: 0 !important
    }

    .popup .popup-container-inner {
        height: 565px
    }

    .popup-image-text .popup-content {
        padding: 0
    }

    .popup-image-text .popup-text {
        padding: 2em
    }

    .popup-image-text .popup-image {
        height: 12em
    }

    .popup-image-text h2 {
        font-size: 36px
    }

    .close-popup {
        zoom: .6
    }

    #contact-popup .popup-description strong {
        font-size: 15px;
        padding: 1em .5em;
        text-align: center
    }

    #contact-popup.popup.small-popup .popup-container-inner {
        height: 90vh;
        max-height: unset;
        width: 90%;
        max-width: unset
    }

    #contact-popup.popup.small-popup .popup-content {
        padding: 2em
    }

    #contact-popup .headline-5 {
        font-size: 15px;
        text-align: center;
        padding-bottom: .9em
    }
}

.otgs-development-site-front-end {
    display: none !important
}

#iubenda-iframe input[type="checkbox"]:after {
    display: none !important
}

body {
    overflow-y: overlay
}

body.hide-scroll {
    overflow: hidden
}

::-webkit-scrollbar-track {
    border-radius: 10px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
    background-color: transparent
}

::-webkit-scrollbar {
    width: 11px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
    background-color: transparent
}

::-webkit-scrollbar-thumb {
    border-radius: 10px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
    background-color: rgba(0, 0, 0, .3)
}

.swiper-container {
    overflow: hidden
}

.theme-b-1 {
    background-color: #2f3940
}

.theme-b-1- {
    background-color: #44535e
}

.theme-b-2- {
    background-color: #e3e3e3
}

.theme-b-2-- {
    background-color: #f0f1f3
}

.theme-b-3 {
    background-color: #f14148
}

.divider-w {
    height: 2px;
    background-color: #f0f1f2
}

.divider-b {
    height: 2px;
    background-color: #2f3940
}

.divider-lb {
    height: 2px;
    background-color: #44535e
}

.sm-divider {
    height: 1px
}

.ellipse h1:after,
.ellipse h2:after,
.ellipse h3:after,
.ellipse h4:after,
.ellipse h5:after {
    content: '';
    position: relative;
    display: inline-block;
    width: 1.042vw;
    height: 1.042vw;
    border-radius: 100%;
    background-color: #f14148;
    margin-left: .6rem
}

.ellipse .big-title:after,
.ellipse .banner-title-:after {
    width: .938vw;
    height: .938vw
}

.double-e {
    width: fit-content
}

.double-e h1:before,
.double-e h2:before,
.double-e h3:before,
.double-e h4:before,
.double-e h5:before {
    content: '';
    width: 1.094vw;
    height: 1.094vw;
    background: #f14148;
    position: absolute;
    right: 0;
    top: .3em;
    border-radius: 100%
}

.big-ellipse:after {
    content: '';
    width: 10.417vw;
    height: 10.417vw;
    background: #f14148;
    position: absolute;
    top: -100px;
    left: 50%;
    display: block;
    transform: translateX(-50%);
    border-radius: 100%
}

.fab,
.single-social a {
    display: block
}

.single-social {
    display: flex;
    align-items: center;
    padding-left: 40px
}

header {
    position: relative
}

#header-content {
    z-index: 1
}

.logo-container a {
    width: 250px;
    height: 71px
}

#main-menu,
.menu-main-navigation {
    display: flex;
    align-items: center
}

.col-full {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%
}

.col-full.still-sticky {
    margin-top: 0;
    padding-top: 0
}

.col-full.sticky-header {
    z-index: 100;
    transition: top 0.5s ease-in-out
}

.still-sticky .main-menu-container>.stripe-container {
    background-color: #f0f1f2;
    box-shadow: 0 1px 10px rgb(0 0 0 / 15%);
    align-items: center
}

.still-sticky .logo-container.flex-grow {
    align-items: center;
    display: flex
}

.still-sticky .menu a,
header .still-sticky .main-menu-container .wpml-ls-legacy-list-horizontal a span {
    color: #2f3940
}

.sticky-header #main-menu li {
    margin-bottom: 0
}

.sticky-logo {
    display: none
}

body .col-full.sticky-header .sticky-logo {
    display: block !important;
    padding-top: 4px
}

body .col-full.sticky-header .header-logo {
    display: none !important
}

.main-menu-container>.stripe-container {
    transition: padding-top 0.3s ease-in-out
}

.still-sticky .main-menu-container>.stripe-container {
    padding-top: 5px
}

.still-sticky .logo-container a {
    width: unset;
    height: unset;
    line-height: 1
}

.still-sticky .logo-container a {
    width: 105px;
    height: 30px
}

.still-sticky #main-menu>li>a,
.still-sticky .wpml-ls-legacy-list-horizontal a {
    padding: 5px 0 15px 0 !important
}

.still-sticky .main-menu-container .stripe-container .logo-container {
    padding-bottom: 0
}

body .col-full.still-sticky .sticky-logo {
    padding-top: 0
}

@-webkit-keyframes bulletGrow {
    0% {
        transform: translateX(-100%)
    }

    100% {
        transform: translateX(0)
    }
}

@keyframes bulletGrow {
    0% {
        transform: translateX(-100%)
    }

    100% {
        transform: translateX(0%)
    }
}

.swiper-pagination-bullet {
    height: 12px;
    width: 12px;
    background-color: #fff;
    margin: 0 25px !important
}

.timing-pagination .swiper-pagination-bullet {
    position: relative;
    margin: 0 10px !important
}

.timing-pagination .swiper-pagination-bullet,
.timing-pagination .swiper-pagination-bullet-active {
    width: 36px;
    height: 4px;
    border-radius: unset;
    background-color: rgb(65 187 105 / 30%) !important;
    opacity: 1;
    overflow: hidden
}

.timing-pagination .swiper-pagination-bullet:before {
    content: '';
    display: block;
    position: relative;
    height: 100%;
    width: 100%;
    background-color: #41bb69;
    transform: translateX(-100%)
}

.timing-pagination .swiper-pagination-bullet-active:before {
    -webkit-animation: bulletGrow 10s linear forwards;
    animation: bulletGrow 10s linear forwards;
    -webkit-animation-delay: 0.3s;
    animation-delay: 0.3s
}

.swiper-scrollbar.js-swiper-scrollbar {
    height: 4px;
    width: 70%;
    cursor: pointer
}

.swiper-scrollbar-drag {
    background-color: #f14148
}

.centered-scrollbar {
    max-width: 75%;
    margin: auto
}

.right-scrollbar {
    margin: auto;
    margin-right: 0
}

.theme-b-1 .swiper-scrollbar {
    background: #44535e
}

.swiper-button-next {
    right: -75px;
    text-align: right
}

.swiper-button-prev {
    left: -75px
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    content: url(arrow-prev.png) !important
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    content: url(arrow-next.png) !important
}

.swiper-button-next,
.swiper-button-prev {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 85px;
    height: 50px;
    display: block;
    margin-top: 0;
    z-index: 2
}

.swiper-button-lock {
    display: none
}

.stripe-with-bg-image {
    position: relative
}

.stripe-with-bg-image>*:first-child {
    position: relative;
    z-index: 1
}

.stripe-bg-image {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 0
}

#pagination {
    width: 100%
}

.prev.page-numbers,
.next.page-numbers {
    position: absolute;
    top: 0;
    padding: 0;
    display: flex;
    align-items: center
}

.prev.page-numbers {
    left: 0
}

.next.page-numbers {
    right: 0
}

.nav-links {
    position: relative;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center
}

.page-numbers {
    margin-bottom: 0;
    padding: 0 10px;
    text-align: center;
    line-height: 1;
    -webkit-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out
}

.page-numbers.current {
    font-size: 18px;
    color: #f14148
}

.pagination-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    width: 60px;
    margin-right: 15px;
    background-color: #f14148;
    -webkit-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
    border-radius: 100%
}

.page-numbers:hover .pagination-btn {
    background-color: #8d9da8
}

.next .pagination-btn {
    margin-left: 15px;
    margin-right: 0
}

.pagination-btn:after {
    content: url(arrow-prev.png);
    margin-top: 2px
}

.next .pagination-btn:after {
    content: url(arrow-next.png)
}

#pre-footer span.wpcf7-form-control-wrap {
    width: 87%;
    color: #f0f1f2
}

#pre-footer .wpcf7-email {
    margin-bottom: 0;
    background-color: #44535e;
    border: unset;
    border-radius: 100px;
    padding: 19px 32px;
    font-family: 'AppliedSansPro-Medium';
    color: #f0f1f2
}

#pre-footer ::placeholder {
    color: #8d9da8
}

#pre-footer .wpcf7 .wpcf7-submit:disabled {
    opacity: 1;
    background-color: #ff6f75;
    color: #fff
}

#pre-footer input.wpcf7-form-control.has-spinner.wpcf7-submit {
    position: absolute;
    top: 50%;
    right: 0;
    width: 200px;
    border-radius: 30px;
    -webkit-transform: translatey(-50%);
    transform: translatey(-50%);
    height: 80%;
    padding: 0;
    transition: all 0.2s ease
}

#pre-footer input.wpcf7-form-control.wpcf7-not-valid {
    color: #f14148 !important
}

#pre-footer .acceptance-box span.wpcf7-form-control-wrap {
    width: auto
}

#pre-footer .acceptance-box * {
    color: #8d9da8
}

#pre-footer .acceptance-box a {
    color: #f14148;
}

#pre-footer input.wpcf7-form-control.has-spinner.wpcf7-submit:hover {
    background-color: #bd353b
}

#pre-footer .acceptance-box-text {
    margin-bottom: 25px
}

#pre-footer .acceptance-box span.wpcf7-not-valid-tip {
    bottom: unset;
    top: -20px
}

.widget-column {
    padding-right: 3.125vw
}

.widget-column:last-child {
    max-width: 21.354vw;
    padding-right: 0
}

footer .wp-block-image img {
    min-width: 197px;
    min-height: 56px;
    width: 10.26vw;
    height: 2.917vw
}

#theme-footer h4 {
    color: #f0f1f2;
    margin-bottom: 26px
}

footer .wp-block-image {
    margin-bottom: 30px
}

footer.desktop-footer .menu li {
    margin-bottom: 8px
}

#block-9 p:first-child {
    margin-bottom: 0
}

footer a.btn {
    margin-top: 25px
}

footer .sm-divider {
    margin: 20px 0
}

.desktop-footer h4 {
    pointer-events: none
}

.desktop-footer .footer-widget .menu {
    display: block !important
}

.bitbang-site:before {
    content: url(bitbang_pin-icon.png)
}

.bitbang-phone:before {
    content: url(bitbang_phone-icon.png)
}

.bitbang-site:before,
.bitbang-phone:before {
    width: 25px;
    height: 27px;
    text-align: center;
    margin-right: 10px
}

footer .bitbang-site,
footer .bitbang-phone {
    margin-bottom: 10px
}

footer .social-links .fa-facebook-f:before {
    content: url(fb-icon.png);
    width: 14px;
    height: 26px
}

footer .social-links .fa-instagram:before {
    content: url(ig-icon.png);
    width: 24px;
    height: 24px
}

footer .social-links .fa-twitter:before {
    content: url(twitter-icon.png);
    width: 24px;
    height: 22px
}

.single-social:first-child {
    padding-left: 0
}

footer .single-social a {
    border: 2px solid;
    border-radius: 100px;
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center
}

footer .social-links i:before {
    display: block
}

footer .social-links {
    margin-top: 55px
}

footer-contacts a {
    font-family: 'AppliedSansPro-Bold', sans-serif
}

#footer-notes {
    padding-bottom: 1.50vw
}

#footer-notes a {
    font-family: 'AppliedSansPro-Bold', sans-serif;
    text-decoration: underline;
    text-underline-position: from-font
}

#footer-notes p {
    display: inline-block
}

#footer-notes p:after {
    content: "|";
    margin: 0 15px
}

#footer-notes p:first-child:after,
#footer-notes p:last-child:after {
    content: none
}

.read-more {
    margin-top: 32px
}

.read-more:before {
    content: '';
    width: 50px;
    height: 1px;
    background-color: #f14148;
    margin-right: 21px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.read-more:after {
    content: '';
    background-color: #f14148;
    position: absolute;
    left: 50px;
    width: 5px;
    height: 5px;
    border-radius: 100%;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease
}

.three-col-grid a:hover .read-more:before,
.four-col-grid a:hover .read-more:before,
.three-cell-slider a:hover .read-more:before,
.read-more-link:hover .read-more:before {
    width: 100px
}

.three-col-grid a:hover .read-more:after,
.four-col-grid a:hover .read-more:after,
.three-cell-slider a:hover .read-more:after,
.read-more-link:hover .read-more:after {
    left: 100px
}

a:not([data-customclass='btn']):not(.wp-block-button__link):hover {
    color: #8d9da8
}

.menu-icon a:hover {
    color: #f0f1f2
}

footer a:hover {
    text-decoration: underline;
    text-underline-position: under
}

footer .btn a:hover {
    text-decoration: none !important
}

footer .single-social a {
    transition: all 0.1s ease
}

footer .single-social a:hover {
    background-color: #f0f1f2;
    color: #f0f1f2 !important;
    text-decoration: none
}

.theme-c-2 a:hover {
    color: #f6676d !important
}

.theme-c-1- a:hover {
    color: #f0f1f2 !important
}