/*!
Theme Name: Aktivsportwelt
Author: Winning Solutions
Author URI: https://www.winning-solutions.de/
Description: Custom theme, developed by request.
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: aktivsportwelt
Tags: custom vc elements, custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/*
Aktivsportwelt theme stylesheets:
1 - Normalize
    1.1 - Main tags
    1.2 - Form elements
    1.3 - Default WP templates
    1.4 - Accessibility
2 - Main
    2.1 - Slick Slider
    2.2 - select2
    2.3 - animations
3 - Header & Footer
    3.1 - Header
        3.1.1 - Light Header
    3.2 - Navigation
        3.2.1 - Nav Filters
    3.3 - Footer
    3.4 - Modal
4 - WPBakery
    4.1 - Sections & Rows
    4.2 - Default Modules
    4.3 - Custom VC Modules
        4.3.1 - custom top slider & banner
        4.3.2 - custom content
        4.3.3 - offers
        4.3.4 - locations
        4.3.5 - courses
        4.3.6 - testimonials
        4.3.7 - map
        4.3.8 - faq
        4.3.9 - counter
        4.3.10 - course meta
        4.3.11 - parallax
        4.3.12 - team
5 - Pages
    5.1 - Butlerapp
    5.2 - Forminator
*/

@font-face {
    font-family: 'Archivo-Regular';
    src: url('fonts/Archivo-Regular.woff2') format('woff2'),
         url('fonts/Archivo-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Archivo-Medium';
    src: url('fonts/Archivo-Medium.woff2') format('woff2'),
         url('fonts/Archivo-Medium.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Archivo-SemiBold';
    src: url('fonts/Archivo-SemiBold.woff2') format('woff2'),
         url('fonts/Archivo-SemiBold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Archivo-Bold';
    src: url('fonts/Archivo-Bold.woff2') format('woff2'),
         url('fonts/Archivo-Bold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'ClashGrotesk-Variable';
    src: url('fonts/ClashGrotesk-Variable.woff2') format('woff2'),
         url('fonts/ClashGrotesk-Variable.woff') format('woff');
    font-style: normal;
    font-display: swap;
}

/******** 1 - Normalize ********/
:root {
    --color-primary: #335f8c;   /* blue */
    --color-secondary: #d7fb51; /* yellow */
    --color-accent: #284c70;    /* light blue */
    --color-basic: #000;        /* dark */
    --color-system: #c7cbcf;    /* grey */
    --color-bg-light: #fdfdfc;  /* light grey */
    --color-bg: #eaeff3;        /* mid grey */
    --color-border: #f2f2f2;   /* light grey */
    --size-sm: .875rem;         /* 14px */
    --size-md: 1.125rem;        /* 18px */
}

/*== 1.1 - Main tags ==*/
* {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
html,
body {
    margin: 0;
    padding: 0;
}
body {
    font: 1rem/1.5 'Archivo-Regular';
    color: var(--color-basic);
    -webkit-font-smoothing: antialiased; /* Fix iOS default font-weight */
}
body *,
body *:focus {
    outline: none;
}
h1, h2, h3, h4, h5, h6 {
    margin: 0 0 1.5rem;
    letter-spacing: -.01em;
    font-weight: 500;
    font-family: 'ClashGrotesk-Variable';
}
h1,
.custom-top-slider h2,
.footer-content .widget_text .widgettitle,
.parallax-box h2 {
    line-height: 1;
    font-size: 4.5rem;
}
h1 span,
h2 span {
    color: var(--color-secondary);
}
h2 {
    line-height: 1.2;
    font-size: 3.25rem;
}
h3 {
    line-height: 1.2;
    font-size: 2.75rem;
}
h4 {
    line-height: 1.1;
    font-size: 2.25rem;
}
h4 strong {
    display: block;
    margin-bottom: .5rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    font: var(--size-sm)/1.5 'Archivo-SemiBold';
}
h5 {
    line-height: 1.5;
    /*font-size: 1.75rem;*/
    font-size: 1.375rem;
}
h6 {
    line-height: 1.5;
    font-size: 1.125rem;
}
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child,
p:last-child,
figure,
blockquote:last-child,
table:last-child,
.site-main ul:not([class]):last-child,
.site-main ol:not([class]):last-child {
    margin: 0;
}
blockquote {
    margin: 3rem 0;
    line-height: 1.25;
    font-style: italic;
    font-size: var(--size-md);
    color: var(--color-primary);
}
ul,
ol,
li > ul,
li > ol {
    margin: 0;
    padding: 0;
}
ul[class],
ol[class] {
    list-style-type: none;
}
.site-main ul:not([class]),
.site-main ol:not([class]) {
    margin: 0 0 1rem;
    padding: 0 0 0 1.15rem;
}
p {
    margin: 0 0 1.5rem;
}
a {
    text-decoration: none;
    color: var(--color-secondary);
}
a:hover,
a:focus,
a:active {
    color: inherit;
    outline: none;
}
a[href^="mailto:"] {
    word-break: break-all;
}
a,
button,
input,
textarea {
    display: inline-block;
    transition: all .3s ease;
}
button {
    cursor: pointer;
}
img {
    display: inline-block;
    width: auto;
    max-width: 100%;
    height: auto;
    border: 0;
}
img::selection {
    background: transparent !important;
}
b,
strong {
    font-weight: normal;
    font-family: 'Archivo-Bold';
}
sup,
sub,
small {
    font-size: .75em;
}
sup {
    vertical-align: top;
}
sub {
    vertical-align: bottom;
}
hr {
    margin: 1em 0;
    border: 0;
    border-top: 1px solid var(--color-system);
}
table {
    table-layout: fixed;
    width: 100%;
    margin: 0 0 3em;
    border-collapse: collapse;
    border-spacing: 0;
}
th,
td {
    padding: 5px;
    text-align: left;
    font-weight: normal;
    vertical-align: top;
}
th {
    font-family: 'Archivo-SemiBold';
}
code,
pre {
    font-family: inherit;
}
iframe,
embed,
object {
    width: 100%;
    height: 100%;
    border: 0;
}
audio {
    display: block;
}
video {
    display: block;
    width: 100%;
    height: 100%;
    max-height: inherit;
    object-fit: cover;
}
.wp-video {
    width: 100% !important;
}

/*== 1.2 - Form elements ==*/
::-webkit-input-placeholder {
    color: #666666;
}
::-moz-placeholder {
    color: #666666;
    opacity: 1;
}
:-moz-placeholder {
    color: #666666;
    opacity: 1;
}
:-ms-input-placeholder {
    color: #666666;
    opacity: 1;
}
fieldset {
    margin: 0;
    border: 0;
    padding: 0;
}
legend {

}
abbr {
    
}
label {
    cursor: pointer;
}
input[type]:-webkit-autofill,
input[type]:-webkit-autofill:hover,
input[type]:-webkit-autofill:focus,
input[type]:-webkit-autofill:active { /* Fix input background with autocomplete */
    -webkit-text-fill-color: var(--color-basic);
    transition: background-color 5000s ease-in-out 0s;
    caret-color: var(--color-basic);
}
input[type="search"] {
    -webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
}
input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
}
input[type="submit"]:disabled,
button[type="submit"]:disabled {
    opacity: 1;
}
input[type="submit"]::-moz-focus-inner { /* Fix extra button padding in Firefox */
    border: 0;
    padding: 0;
    line-height: 1;
}
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="url"],
input[type="search"],
input[inputmode="decimal"],
select,
textarea {
    width: 100%;
    border: 1px solid var(--color-system);
    border-radius: .725rem;
    padding: .7rem .725rem;
    font: inherit;
    color: var(--color-basic);
}
input[type="number"] {
    width: 70px;
    -moz-appearance: textfield;
}
textarea {
    display: block;
    resize: none;
    overflow: auto;
    scrollbar-width: thin;
}
textarea::-webkit-scrollbar {
    width: 2px;
}

/*== 1.3 - Default WP navigation ==*/
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
    overflow: hidden;    
}
.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
    width: 50%;
    margin-top: 1.5rem;
    float: left;
}
.posts-navigation .nav-previous a:not(:hover),
.posts-navigation .nav-next a:not(:hover),
.post-navigation .nav-previous a:not(:hover),
.post-navigation .nav-next a:not(:hover) {
    color: var(--color-primary);
}
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
    width: 50%;
    margin-top: 1.5rem;
    text-align: right;
    float: right;
}
.widget {
    list-style-type: none;
    margin: 0 0 1.5rem;
}
.widget:last-child {
    margin: 0;
}
.widget ul {
    list-style-type: none;
    padding: 0 !important;
}
.post-thumbnail {
    display: block;
}
.post-thumbnail img,
.post-thumbnail picture {
    display: inherit;
    max-height: inherit;
    width: 100%;
    object-fit: cover;
}
.wp-caption {
    max-width: 100%;
}
.entry-title a {
    font-family: inherit;
    color: inherit;
}

/*== 1.4 - Accessibility ==*/
.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    border: 0;
    padding: 0;
    word-wrap: normal !important;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    overflow: hidden;
}
.screen-reader-text:focus {
    top: 5px;
    left: 5px;
    display: block;
    width: auto;
    height: auto;
    border-radius: 3px;
    padding: 15px 23px 14px;
    text-decoration: none;
    line-height: normal;
    font-size: 14px;
    font-weight: bold;
    color: #21759b;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    background-color: #f1f1f1;
    z-index: 100000;
    clip: auto !important;
    clip-path: none;
}
/* Don't show the outline on the skip link target. */
#main[tabindex="-1"]:focus {
    outline: 0;
}

/******** 2 - Main ********/
@keyframes cubemove {
    25% {
        transform: translateX(42px) rotate(-90deg) scale(0.5);
    }
    50% {
        transform: translateX(42px) translateY(42px) rotate(-179deg);
    }
    50.1% {
        transform: translateX(42px) translateY(42px) rotate(-180deg);
    }
    75% {
        transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
    }
    100% {
        transform: rotate(-360deg);
    }
}
#preloader {
    position: fixed;
    display: none;
    width: 2.5rem;
    height: 2.5rem;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
}
#preloader .cube1,
#preloader .cube2 {
    position: absolute;
    top: 0;
    left: 0;
    width: 1rem;
    height: 1rem;
    background-color: var(--color-primary);
    -webkit-animation: cubemove 1.8s infinite ease-in-out;
    animation: cubemove 1.8s infinite ease-in-out;
}
#preloader .cube2 {
    -webkit-animation-delay: -0.9s;
    animation-delay: -0.9s;
}
.admin-bar .page-container {
    min-height: calc(100vh - 32px);
}
.page-container {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    overflow: clip;
}
.site-main {
    flex-grow: 1;
    padding-top: 118px;
}
.container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 5rem;
}
.inner-wrapper {
    display: flex;
    align-items: flex-start;
}
.inner-content {
    flex-grow: 1;
}
.sidebar {
    flex-shrink: 0;
    flex-basis: 250px;
    margin-left: 2rem;
}
.flexbox {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-start;
}
.flexbox-center {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}
.flexbox-center-between {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}
.img-box {
    position: relative;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.img-box.alt {
    background-position: center;
    background-size: 118px;
}
.img-box .relative {
    z-index: 1;
}
.css-parallax {
    background-attachment: fixed;
}
.css-parallax.empty {
    min-height: 35vh;
}
.relative {
    position: relative;
}
.text-left {
    text-align: left;
}
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
.text-md {
    font-size: var(--size-md);
}
.align-center {
    margin-right: auto;
    margin-left: auto;
}
.align-right {
    margin-left: auto;
}
.no-text-transform {
    text-transform: none;
}
.no-padding {
    padding: 0 !important;
}
.show-on-mobile {
    display: none !important;
}
.socials-list {
    display: flex;
}
.socials-list li:not(:last-child) {
    margin-right: 1rem;
}
.socials-list a {
    display: block;
    text-decoration: none;
    line-height: 1;
    font-size: 1.25rem;
    color: var(--color-basic);
}
.socials-list a:hover {
    color: var(--color-primary);
}
.contact-list ul:not([class]) {
    list-style-type: none;
    padding: 0;
}
.contact-list ul:not([class]) > li:not(:last-child) {
    margin-bottom: 1rem;
}
.contact-list ul:not([class]) a:not(:hover) {
    text-decoration: underline;
    color: var(--color-primary);
}
.contact-list ul:not([class]) a:before,
.contact-list ul:not([class]) > li:last-child:before {
    display: inline-block;
    width: 1.125rem;
    margin-right: .5rem;
    text-decoration: none;
    vertical-align: middle;
    font: var(--size-sm) / 1 'icomoon' !important;
    color: var(--color-basic);
}
.contact-list ul:not([class]) a[href^="mailto:"]:before {
    content: "\e907";
}
.contact-list ul:not([class]) a[href^="tel:"]:before {
    content: "\e908";
}
.contact-list ul:not([class]) > li:last-child {
    padding-left: 1.625rem;
}
.contact-list ul:not([class]) > li:last-child:before {
    content: "\e909";
    margin-left: -1.625rem;
}

/*== 2.1 - Slick Slider ==*/
.slick-initialized .slick-slide {
    z-index: 7 !important;
}
.slick-initialized .slick-slide.slick-active {
    z-index: 8 !important;
}
.slick-arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3rem;
    height: 3rem;
    border: 1px solid var(--color-system);
    border-radius: 50%;
    color: var(--color-basic);
    background-color: #fff;
    z-index: 9;
}
.slick-arrow.slick-disabled {
    pointer-events: none;
    color: var(--color-system);
}
.slick-arrow:before {
    display: inline-block;
    font-size: 1rem;
    font-family: 'icomoon' !important;
}
.slick-arrow.slick-prev {
    left: -3rem;
}
.slick-arrow.slick-prev:before {
    content: "\e900";
}
.slick-arrow.slick-next {
    right: -3rem;
}
.slick-arrow.slick-next:before {
    content: "\e901";
}
.slick-arrow:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}
.slider-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1440px;
    width: 100%;
    margin: 3rem auto 0;
    padding: 0 5rem;
}
.slider-controls .slick-arrow {
    flex-shrink: 0;
    position: static;
    margin-left: 1rem;
    transform: none;
}
.slider-controls .slick-dots {
    order: -1;
    margin: 0;
    text-align: left;
}
.slick-dotted.slick-slider {
    margin-bottom: 0;
}
.slick-dots {
    position: static;
    margin-top: 2rem;
    line-height: 0;
    text-align: center;
    z-index: 9;
}
.slick-dots li {
    width: .5rem;
    height: .5rem;
    margin: 0 .5rem;
}
.slick-dots li:first-child {
    margin-left: 0 !important;
}
.slick-dots li:last-child {
    margin-right: 0 !important;
}
.slick-dots li:only-child {
    display: none;
}
.slick-dots li button {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    padding: 0;
    background-color: #e9e9e9;
}
.slick-dots li button:before {
    content: none;
}
.slick-dots li.slick-active button {
    background-color: var(--color-primary);
}

/*== 2.2 - select2 ==*/
div#wpadminbar ~ span.select2-container,
body.admin-bar > span.select2-container {
    padding-top: 32px !important;
}
.select2-container--default {
    max-width: 100%;
}
.select2-container--default .select2-selection--single {
    height: 50px;
    border: 1px solid var(--color-system);
    border-radius: .725rem;
    background-color: #fff;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 0 2.5rem 0 1rem;
    text-align: left;
    line-height: 50px;
    white-space: normal;
    color: inherit;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 0;
    right: .725rem;
    width: 1.5rem;
    height: inherit;
    margin: 0;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    border: 0;
    background: url(images/chevron_down.svg) no-repeat center;
}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    transform: rotate(180deg);
}
.select2-container--default .select2-dropdown {
    border-color: var(--color-system);
    border-radius: 0;
    background-color: #fff;
    overflow: hidden;
    z-index: 98;
}
.select2-container--default .select2-search--dropdown,
.select2-container--default .select2-results__message {
    padding: 0 .725rem .5rem;
}
.select2-container--default .select2-results__message {
    font-size: var(--size-sm);
}
.select2-container--default .select2-search--dropdown .select2-search__field {
    border-color: var(--color-system);
    padding: .25rem 1rem;
    font-size: var(--size-sm);
}
.select2-container--default .select2-results__option {
    padding: .725rem;
}
.select2-container--default .select2-results > .select2-results__options {
    max-height: 236px;
    scrollbar-width: thin;
}
.select2-container--default .select2-results > .select2-results__options::-webkit-scrollbar {
    width: 2px;
}
.select2-container--default .select2-results__option[aria-selected=true] {
    color: #fff;
    background-color: #097baa;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    color: var(--color-basic);
    background-color: #ddd;
}

/*== 2.3 - Animations ==*/
@-webkit-keyframes fadeInCustom {
    0% {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@keyframes fadeInCustom {
    0% {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@-webkit-keyframes fadeInUpCustom {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 40%, 0);
        transform: translate3d(0, 40%, 0);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
}
@keyframes fadeInUpCustom {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 40%, 0);
        transform: translate3d(0, 40%, 0);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
}

@-webkit-keyframes fadeInLeftCustom {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-40%, 0, 0);
        transform: translate3d(-40%, 0, 0);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
}
@keyframes fadeInLeftCustom {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-40%, 0, 0);
        transform: translate3d(-40%, 0, 0);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
}

@-webkit-keyframes fadeInRightCustom {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(40%, 0, 0);
        transform: translate3d(40%, 0, 0);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
}
@keyframes fadeInRightCustom {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(40%, 0, 0);
        transform: translate3d(40%, 0, 0);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
}
.wpb_animate_when_almost_visible {
    opacity: 0;
}
.wpb_start_animation {
    opacity: 1;
    transition: opacity 2s ease-in-out;
}
.animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}
.fadeInCustom,
.fadeIn.fadeInCustom {
    animation-name: fadeInCustom;
}
.fadeInUpCustom,
.fadeInUp.fadeInUpCustom {
    animation-name: fadeInUpCustom;
}
.fadeInLeftCustom,
.fadeInLeft.fadeInLeftCustom {
    animation-name: fadeInLeftCustom;
}
.fadeInRightCustom,
.fadeInRight.fadeInRightCustom {
    animation-name: fadeInRightCustom;
}
.fadeRep li,
.column-2 .fadeRep > div,
.column-3 .fadeRep > div {
    opacity: 0;
    transform: translateY(3rem);
}
.fadeRep.animated li,
.column-2 .fadeRep.animated > div,
.column-3 .fadeRep.animated > div {
    opacity: 1;
    transform: translateY(0);
}
.fadeRep li:first-child,
.fadeRep li:nth-child(5),
.fadeRep li:nth-child(9),
.column-2 .fadeRep > div:nth-child(odd) {
    transition-duration: .8s;
    transition-delay: .5s;
}
.fadeRep li:nth-child(2),
.fadeRep li:nth-child(6),
.fadeRep li:nth-child(10) {
    transition-duration: .75s;
    transition-delay: .58s;
}
.fadeRep li:nth-child(3),
.fadeRep li:nth-child(7),
.fadeRep li:nth-child(11) {
    transition-duration: .58s;
    transition-delay: .75s;
}
.fadeRep li:nth-child(4),
.fadeRep li:nth-child(8),
.fadeRep li:nth-child(12),
.column-2 .fadeRep > div:nth-child(even) {
    transition-duration: .5s;
    transition-delay: .8s;
}
.column-3 .fadeRep > div:first-child,
.column-3 .fadeRep > div:nth-child(4),
.column-3 .fadeRep > div:nth-child(7),
.column-3 .fadeRep > div:nth-child(10) {
    transition-duration: .8s;
    transition-delay: .4s;
}
.column-3 .fadeRep > div:nth-child(2),
.column-3 .fadeRep > div:nth-child(5),
.column-3 .fadeRep > div:nth-child(8),
.column-3 .fadeRep > div:nth-child(11) {
    transition-duration: .6s;
    transition-delay: .6s;
}
.column-3 .fadeRep > div:nth-child(3),
.column-3 .fadeRep > div:nth-child(6),
.column-3 .fadeRep > div:nth-child(9),
.column-3 .fadeRep > div:nth-child(12) {
    transition-duration: .4s;
    transition-delay: .8s;
}
.delay-20 {
    animation-delay: 0.2s;
}
.delay-40 {
    animation-delay: 0.4s;
}
.delay-60 {
    animation-delay: 0.6s;
}
.delay-80 {
    animation-delay: 0.8s;
}
.delay-100 {
    animation-delay: 1s;
}

/******** 3 - Header & Footer ********/

/*== 3.1 - Header ==*/
.header-wrapper {
    position: fixed;
    top: 0;
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, .2);
    font-size: var(--size-sm);
    color: #fff;
    transition: background .4s ease;
    z-index: 120;
}
.header-wrapper:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-backdrop-filter: blur(1rem);
    backdrop-filter: blur(1rem);
    z-index: -1;
}
.admin-bar .header-wrapper {
    top: 32px;
}
.header-wrapper .container,
.header-wrapper .flexbox-center-between {
    position: relative;
    height: 100%;
}
.header-wrapper .flexbox-center-between > div:first-child,
.header-wrapper .flexbox-center-between > div:last-child {
    flex-shrink: 0;
    flex-basis: 221px;
    margin-right: 1rem;
}
.header-wrapper .flexbox-center-between > div:last-child {
    display: inherit;
    align-items: inherit;
    margin: 0 0 0 1rem;
}
.header-widget-list {
    display: flex;
    align-items: center;
}
.header-widget-list .widget:not(:only-child) {
    margin: 0 0 0 1rem;
}
.top-bar {
    height: 45px;
    text-align: center;
    font-family: 'Archivo-SemiBold';
    transition: margin .4s linear;
}
.top-bar .container > ul {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: .5rem;
    height: 100%;
}
.top-bar .widget {
    margin: 0;
}
.main-nav-wrap {
    height: 72px;
}
.custom-logo-link {
    width: fit-content;
    display: block;
}
.custom-logo {
    display: block;
    transition: all .3s ease;
    filter: brightness(0) invert(1);
}
/* 3.1.1 - Light Header */
.header-wrapper.light {
    color: var(--color-basic);
    background-color: #fff;
}
.header-wrapper.fixed .top-bar {
    margin-top: -45px;
}
.header-wrapper.light .nav-btn span,
.header-wrapper.light .nav-btn span:before,
.header-wrapper.light .nav-btn span:after {
    background-color: var(--color-basic);
}
.header-wrapper.light .custom-logo {
    filter: none;
}
.header-wrapper.light .custom-btn {
    border-color: var(--color-primary);
    color: #fff;
    background-color: var(--color-primary);
}
.header-wrapper.light .nav-menu > li > a:hover,
.header-wrapper.light .nav-menu > li.menu-item-has-children:hover > a {
    color: var(--color-primary);
}

/*== 3.2 - Navigation ==*/
.main-overlay,
.modal-overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .75);
    transition: all .5s ease;
    z-index: 12;
    opacity: 0;
    visibility: hidden;
}
.close-btn {
    position: relative;
    display: block;
    width: var(--size-sm);
    height: var(--size-sm);
    font-style: normal;
    cursor: pointer;
}
.close-btn:before {
    content: "\e906";
    display: block;
    font: var(--size-sm)/1 'icomoon' !important;
}
.nav-btn {
    flex-shrink: 0;
    display: none;
    width: 24px;
    height: 20px;
    margin-left: 1.5rem;
    cursor: pointer;
}
.nav-btn span {
    position: relative;
    top: 9px;
    display: block;
    width: 100%;
    height: 3px;
    border-radius: 2px;
    background-color: #fff;
    transition: all 0.25s ease-in-out;
}
.nav-btn span:before,
.nav-btn span:after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: inherit;
    border-radius: inherit;
    background-color: #fff;
    transition: inherit;
}
.nav-btn span:before {
    top: -8px;
}
.nav-btn span:after {
    top: 8px;
    width: 75%;
    left: auto;
    right: 0;
}
.nav-btn:hover span:after {
    width: 100%;
}
.nav-menu {
    display: flex;
    align-items: flex-start;
    column-gap: 2rem;
}
.nav-menu li.menu-item-has-children {
    position: relative;
}
.nav-menu li.menu-item-has-children.mega-menu {
    position: static;
}
/*.nav-menu li.menu-item-has-children > a[href="#"] {
    pointer-events: none;
}*/
.nav-menu li.menu-item-has-children:hover > ul {
    pointer-events: inherit;
    opacity: 1;
    visibility: visible;
}
.nav-menu a {
    font-family: 'Archivo-Medium';
    color: var(--color-basic);
}
.nav-menu > li {
    margin-bottom: -2rem;
    padding-bottom: 2rem;
}
.nav-menu > li > a {
    border-radius: 3rem;
    padding: 12px 1.25rem 11px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: inherit;
}
.nav-menu a:hover,
.nav-menu > li.menu-item-has-children:hover > a,
.nav-menu .sub-menu li.current-menu-item > a,
.header-wrapper.light .nav-menu li.current-menu-item > a,
.header-wrapper.light .nav-menu li.current-menu-ancestor > a {
    color: var(--color-primary);
}
.nav-menu > li > a:hover,
.nav-menu > li.menu-item-has-children:hover > a {
    color: var(--color-basic);
    background-color: #fff;
}
.nav-menu li.current-menu-item > a,
.nav-menu li.current-menu-ancestor > a {
    background-color: rgba(255, 255, 255, .2)
}
.nav-menu a:hover .item-title + span {
    color: var(--color-basic);
}
.nav-menu .sub-menu {
    position: absolute;
    top: 100%;
    width: 16rem;
    border-radius: .75rem;
    padding: 1rem;
    background-color: #fff;
    transition: all 0.5s ease;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
}
.nav-menu li.mega-menu > .sub-menu {
    top: calc(100% + 1rem);
    right: 0;
    left: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem .5rem;
    width: 100%;
    max-height: calc(100dvh - 8rem);
    scrollbar-width: thin;
    overflow: hidden;
    overflow-y: auto;
}
.nav-menu li.mega-menu > .sub-menu::-webkit-scrollbar {
    width: 2px;
}
.nav-menu li.mega-menu .sub-menu > li {
    width: calc(33.33% - 1rem/3);
    word-break: break-word;
}
.nav-menu li.mega-menu .sub-menu > li > a {
    display: flex;
    align-items: center;
    border-radius: .375rem;
    padding: .25rem;
}
.nav-menu li.mega-menu .sub-menu > li > a:hover {
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);
}
.nav-menu li.mega-menu figure {
    flex-shrink: 0;
    margin-right: .5rem;
}
.nav-menu li.mega-menu figure img {
    display: block;
    width: 7.2rem;
    height: 4.625rem;
    border-radius: .375rem;
    object-fit: cover;
}
.nav-menu li.mega-menu .item-title {
    display: block;
    margin-bottom: .5rem;
    font-size: 1rem;
}
.nav-menu li.mega-menu .item-title:only-child {
    margin: 0;
}
.nav-menu li:not(.mega-menu) .sub-menu a {
    font-size: 1rem;
}
/* 3.2.1 - Nav Filters */
.nav-menu li.mega-menu .sub-menu > li.mega-menu-categories {
    width: 20%;
    margin: -1rem 0 -1rem -1rem;
    border-right: 1px solid var(--color-border);
    padding: 1rem;
}
.nav-menu li.mega-menu li.mega-filter-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .85rem .5rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-family: 'Archivo-Medium';
    color: var(--color-basic);
    cursor: pointer;
}
.nav-menu li.mega-menu li.mega-filter-item i {
    font-size: .75rem;
}
.nav-menu li.mega-menu li.mega-filter-item.active {
    pointer-events: none;
    font-family: 'Archivo-Bold';
    color: var(--color-primary);
}
.nav-menu li.mega-menu .sub-menu > li.mega-menu-items {
    width: 80%;
    flex-grow: 1;
    margin: -1rem -1rem -1rem -.5rem;
    padding: 1rem;
    background-color: #fafafa;
}
.nav-menu li.mega-menu .mega-menu-items .sub-menu {
    position: static;
    pointer-events: inherit;
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem .5rem;
    width: auto;
    border-radius: 0;
    padding: 0;
    background-color: transparent;
    opacity: 1;
    visibility: visible;
}
/*.nav-menu li.menu-item-has-children.mega-menu:first-child > .sub-menu {
    pointer-events: inherit;
    opacity: 1;
    visibility: visible;
}*/

/*== 3.3 - Footer ==*/
.footer {
    padding: 5rem 0;
    background-color: var(--color-bg);
}
.footer .custom-logo {
    filter: none;
}
.footer-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    column-gap: 5rem;
    margin-bottom: 4.25rem;
}
.footer-content .widget_button {
    display: inline-block;
    margin: 0 .75rem .75rem 0;
}
.footer-content .widget_button + .widget_button .custom-btn:not(:hover) {
    border-color: var(--color-system);
    color: var(--color-basic);
    background-color: transparent;
}
.footer-menu {
    columns: 12rem 2;
}
.footer-menu li {
    margin-bottom: 1rem;
}
.footer-menu a {
    font-size: var(--size-sm);
    font-family: 'Archivo-SemiBold';
    color: inherit;
}
.footer-menu a:hover,
.footer-menu li.current-menu-item a {
    color: var(--color-primary);
}
.copyright .flexbox {
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    margin-top: 2rem;
    border-top: 1px solid var(--color-system);
    padding-top: 2rem;
    font-size: var(--size-sm);
}

/*== 3.4 - Modal ==*/
body.modal-open {
    overflow: hidden;
}
body.modal-open .modal-overlay {
    opacity: 1;
    visibility: visible;
}
.modal-overlay {
    overflow-x: hidden;
    overflow-y: auto;
    z-index: 130;
    opacity: 0;
    visibility: hidden;
    scrollbar-width: thin;
}
.modal-overlay::-webkit-scrollbar {
    width: 2px;
}
.modal-outer {
    position: absolute;
    top: 0;
    left: 50%;
    display: flex;
    align-items: center;
    max-width: 1024px;
    width: 100%;
    min-height: 100%;
    transform: translateX(-50%);
}
.modal-content {
    flex-grow: 1;
    position: relative;
    width: 100%;
    margin: 7rem 0;
    border-radius: 1rem;
    background-color: #fff;
    overflow: hidden;
}
.modal-header {
    margin-bottom: -1.25rem;
}
.modal-header .close-btn {
    margin: 0 1.375rem 0 auto;
    padding: 1.25rem 1.25rem 0 0;
    color: #000;
}
.modal-content .course-box {
    display: flex;
}
.modal-content .course-box > * {
    flex-basis: 50%;
    flex-grow: 1;
}
.modal-content .course-box .text-box {
    padding: 3rem 2rem 1rem;
}
.modal-content .course-box .custom-btn {
    display: block;
    margin-top: 5rem;
}

/******** 4 - WPBakery ********/

/*== 4.1 - Sections & Rows ==*/
.site-main .vc_section,
.site-main .vc_section.vc_section-has-fill {
    position: relative;
    margin: 0;
    padding: 4rem 0;
}
.site-main .vc_section.vc_section-has-fill + .vc_section {
    padding-top: 4rem;
}
.site-main .vc_section.has-gradient {
    background: linear-gradient(180deg, #fdfdfc 0%, #eaeff3 100%);
}
.site-main .vc_section:not(.has-gradient):not(.vc_section-has-fill) {
    background-color: var(--color-bg-light);
}
.site-main .vc_section.has-sticky {
    position: sticky;
    top: 0;
    padding-bottom: 0;
}
.site-main .vc_section.has-sticky .vc_row {
    padding-bottom: 0;
}
.site-main .vc_section.has-sticky + .vc_section {
    border-radius: 1rem 1rem 0 0;
}
body:not(.home) .site-main .vc_section.has-sticky + .vc_section {
    padding-top: 0;
}
.site-main .wpb-content-wrapper + .vc_section { /* fix padding when layout is wb bakery + custom sections */
    padding: 0;
}
.site-main .wpb-content-wrapper + .vc_section > .vc_row:first-child {
    padding-top: 0;
}
.site-main .wpb-content-wrapper + .vc_section .custom-content.text-center {
    max-width: 100%;
    text-align: left;
}
.site-main .wpb-content-wrapper + .vc_section .custom-content.text-center .custom-btn {
    margin-top: 1.5rem;
}
.vc_section .vc_row {
    max-width: 1440px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding: 3rem calc(5rem - 15px);
}
.vc_section .vc_row.vc_row-has-fill {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.vc_section .vc_row.vc_row-has-fill > .vc_column_container:only-child {
    float: none;
}
.vc_section .vc_row.vc_row-has-fill > .vc_column_container > .vc_column-inner {
    padding-top: 0;
}
.vc_section .vc_row.vc_inner {
    margin-bottom: 3rem;
    padding-right: 0;
    padding-left: 0;
}
.vc_section .vc_row.vc_inner:not(.vc_row-has-fill):last-child {
    padding: 0;
}
.vc_section .vc_row.vc_inner.vc_row-has-fill {
    padding: 3rem;
}
.vc_section .vc_row.vc_inner.vc_row-has-fill > .vc_column_container > .vc_column-inner:only-child {
    padding-top: 0;
}
.vc_section .vc_row.vc_inner .vc_column_container:first-child > .vc_column-inner {
    padding-left: 0;
}
.vc_section .vc_row.vc_inner .vc_column_container:last-child > .vc_column-inner {
    padding-right: 0;
}
.vc_section .vc_row.vc_inner .vc_column_container.vc_col-has-fill > .vc_column-inner {
    padding: 2rem;
}
.vc_section .vc_row.vc_inner .vc_column_container.vc_col-has-fill + .vc_col-has-fill > .vc_column-inner {
    margin-left: 1.5rem;
}
.vc_section .vc_row.vc_inner .wpb_content_element {
    margin-bottom: 2rem;
}
.vc_section .vc_row.vc_row-o-full-height {
    min-height: auto;
    height: 100%;
}
.vc_section .vc_row[data-vc-full-width] {
    left: 0 !important;
    max-width: 100%;
    margin-bottom: 0;
    padding-right: 0;
    padding-left: 0;
    overflow: inherit;
    opacity: 1 !important;
}
.vc_section .vc_row[data-vc-full-width] .vc_column_container > .vc_column-inner {
    padding-left: 0;
    padding-right: 0;
}
.vc_section .vc_row-full-width { /* fix data-vc-full-width row margin */
    margin-bottom: 4rem;
}
.vc_column_container > .vc_column-inner {
    padding-left: 15px;
    padding-right: 15px;
}
.vc_section .vc_row.vc_row-flex .vc_column_container:not(.vc_col-has-fill):first-child > .vc_column-inner {
    padding-right: 2.5rem;
}
.vc_section .vc_row.vc_row-flex .vc_column_container:not(.vc_col-has-fill):last-child > .vc_column-inner {
    padding-left: 2.5rem;
}
.vc_section .vc_row.vc_inner.vc_row-flex .vc_column_container:not(.vc_col-has-fill):first-child > .vc_column-inner {
    padding-right: 1.25rem;
}
.vc_section .vc_row.vc_inner.vc_row-flex .vc_column_container:not(.vc_col-has-fill):last-child > .vc_column-inner {
    padding-left: 1.25rem;
}
.vc_section .vc_row.vc_row-flex .vc_column_container:not(.vc_col-has-fill):only-child > .vc_column-inner {
    padding-right: 0;
    padding-left: 0;
} 
.vc_col-has-fill .vc_column-inner {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.vc_section .wpb_content_element {
    margin-bottom: 2rem;
}
.vc_section .vc_row:last-child,
.vc_section .vc_row.vc_inner:last-child,
.vc_section .vc_row.vc_inner .wpb_content_element:last-child,
.vc_section .vc_row-full-width:last-child,
.vc_section .wpb_content_element:last-child,
.vc_btn3-container:last-child,
.vc_tta-container:last-child,
.vc_tta-accordion.vc_general .vc_tta-panels .vc_tta-panel:last-child,
.vc_column_container .vc_toggle:last-child,
.vc_custom_heading.vc_do_custom_heading:last-child,
.vc_btn3-container.vc_do_btn:last-child {
    margin-bottom: 0;
}

/*== 4.2 - Default Modules ==*/
.vc_custom_heading.vc_do_custom_heading,
.vc_btn3-container.vc_do_btn {
    margin-bottom: 1.5rem;
}
.vc_btn3-container.vc_do_btn + .vc_btn3-container.vc_do_btn {
    margin-left: .75rem;
}
.wpb_single_image .vc_figure,
.wpb_single_image .vc_single_image-wrapper,
.wpb_single_image img {
    display: block;
    width: 100%;
}
.wpb_single_image .vc_figure .vc_single_image-wrapper.vc_box_rounded,
.wpb_single_image .vc_figure .vc_single_image-wrapper.vc_box_rounded img {
    border-radius: 1rem;
}
.vc_section .vc_row.vc_row-o-equal-height:not(.vc_row-o-content-top):not(.vc_row-o-content-middle):not(.vc_row-o-content-bottom) 
.wpb_single_image,
.vc_section .vc_row.vc_row-o-equal-height:not(.vc_row-o-content-top):not(.vc_row-o-content-middle):not(.vc_row-o-content-bottom) 
.wpb_single_image .vc_figure,
.vc_section .vc_row.vc_row-o-equal-height:not(.vc_row-o-content-top):not(.vc_row-o-content-middle):not(.vc_row-o-content-bottom) 
.wpb_single_image .vc_single_image-wrapper,
.vc_section .vc_row.vc_row-o-equal-height:not(.vc_row-o-content-top):not(.vc_row-o-content-middle):not(.vc_row-o-content-bottom) 
.wpb_single_image img {
    height: 100%;
    object-fit: cover;
}
.vc_section .vc_row.vc_row-o-equal-height:not(.vc_row-o-content-top):not(.vc_row-o-content-middle):not(.vc_row-o-content-bottom) 
.offer-box {
    height: 100%;
}
.custom-btn,
.btn.vc_btn3-container .vc_general.vc_btn3,
input[type="submit"] {
    flex-shrink: 0;
    border: 1px solid var(--color-primary);
    border-radius: 3rem;
    padding: 1rem 1.75rem .875rem;
    text-transform: uppercase;
    text-decoration: none !important;
    text-align: center;
    letter-spacing: .06em;
    font: var(--size-sm)/1.215 'Archivo-Medium';
    color: #fff;
    background-color: var(--color-primary);
    background-image: none;
    transition: all .3s ease;
}
.custom-btn:hover,
.custom-btn.reverse,
.header-wrapper .custom-btn,
.header-wrapper.light .custom-btn:hover,
.btn.vc_btn3-container .vc_general.vc_btn3:hover,
.btn.vc_btn3-container .vc_general.vc_btn3:focus,
.btn.reverse.vc_btn3-container .vc_general.vc_btn3,
input[type="submit"]:hover {
    border-color: var(--color-secondary);
    color: var(--color-accent);
    background-color: var(--color-secondary);
}
.custom-btn.reverse:hover,
.header-wrapper .custom-btn:hover,
.btn.reverse.vc_btn3-container .vc_general.vc_btn3:hover,
.btn.reverse.vc_btn3-container .vc_general.vc_btn3:focus {
    border-color: var(--color-primary);
    color: #fff;
    background-color: var(--color-primary);
}
.custom-btn.light {
    border-color: #fff;
    color: var(--color-basic);
    background-color: #fff;
}
.custom-btn.light:hover {
    color: var(--color-primary);
}

/*== 4.3 - Custom VC Modules ==*/
/* 4.3.1 - custom top slider & banner */
.custom-top-slider,
.custom-top-banner {
    position: relative;
    height: 100dvh;
    min-height: 56rem;
    max-height: 56rem;
    margin-top: calc(-7rem - 118px);
    color: #fff;
    overflow: hidden;
}
.admin-bar .custom-top-slider,
.admin-bar .custom-top-banner {
    height: calc(100dvh - 32px);
}
.custom-top-slider.has-slider,
.locations-slider {
    -webkit-transition: opacity 1s ease;
    transition: opacity 1s ease;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
}
.custom-top-slider.has-slider.slick-initialized,
.locations-slider.slick-initialized {
    overflow: inherit;
    opacity: 1;
    visibility: visible;
}
.custom-top-slider .slick-list,
.custom-top-slider .slick-track {
    transform: none !important;
}
.custom-top-slider .slick-list,
.custom-top-slider .slick-track,
.custom-top-slider .container,
.custom-top-slider .img-box,
.custom-top-slider .text-box,
.custom-top-banner .container,
.custom-top-banner .text-box {
    min-height: inherit;
    max-height: inherit;
    height: inherit;
}
.custom-top-slider .slick-dots {
    position: absolute;
    top: 13.5rem;
    bottom: auto;
    left: 50%;
    max-width: 1440px;
    width: 100%;
    margin: 0;
    padding: 0 5rem;
    text-align: left;
    transform: translateX(-50%);
}
.custom-top-slider .slick-dots li {
    width: 3.5rem;
    height: .375rem;
    margin: 0 .25rem;
}
.custom-top-slider .slick-dots li button {
    border-radius: .25rem;
    background-color: #666666;
}
.custom-top-slider .slick-dots li.slick-active button {
    background-color: #fff;
}
.custom-top-slider .img-box:after,
.custom-top-banner:after,
.offer-box:after,
.courses-wrapper figure:after,
.parallax-box:after,
.modal-content figure:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: inherit;
    background: url(images/img-overlay.png) no-repeat center;
    background-size: 100% 100%;
    backdrop-filter: blur(1rem);
    mask-image: linear-gradient(to bottom, transparent 0%, white 65%, white 100%);
}
.custom-top-slider .text-box,
.custom-top-banner .text-box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 48rem;
    width: 100%;
    padding: 15rem 0;
    font-size: var(--size-md);
}
.custom-top-slider .custom-btn:first-child:not(:only-child) {
    margin: 0 .5rem .5rem 0;
}
.custom-top-banner {
    min-height: fit-content;
    max-height: 36.25rem;
}
.custom-top-banner.size-lg {
    max-height: 43.75rem;
}
.custom-top-banner .text-box {
    justify-content: flex-end;
    padding: calc(4rem + 118px) 0 4rem;
    font-size: 1.375rem;
}
/* 4.3.2 - custom content */
.custom-content {
    margin-bottom: 5rem;
    font-size: var(--size-md);
}
.custom-content:last-child {
    margin-bottom: 0;
}
.custom-content.text-left {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    column-gap: 5rem;
}
.custom-content.text-left div + div {
    padding-left: 2rem;
    font-size: var(--size-sm);
}
.custom-content.text-left div + div [class^="icon-"] {
    position: absolute;
    top: 6px;
    left: 0;
    font-size: 1rem;
}
.custom-content.text-left div + div h5 {
    margin-bottom: .5rem;
}
.custom-content.text-center {
    max-width: 48rem;
    margin-right: auto;
    margin-left: auto;
}
/* 4.3.3 - offers */
.offer-box {
    min-height: 38rem;
    border-radius: 1rem;
    padding: 10rem 2rem 2rem;
    color: #fff;
}
.offer-box .flexbox {
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
}
.offer-box .wpb_text_column {
    height: 0;
    opacity: 0;
    transition: all .3s linear;
}
.offer-box:hover .wpb_text_column {
    opacity: 1;
}
.offer-box .custom-btn {
    margin-bottom: .5rem;
}
.offer-box .custom-btn:last-child {
    margin: 0;
}
/* 4.3.4 - locations */
.vc_row[data-vc-full-width] .locations-slider {
    margin-left: calc(50% - 640px);
}
.locations-wrapper .all-locations,
.courses-wrapper .all-courses,
.posts-wrapper .all-posts {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
}
.locations-wrapper [class*="type-"],
.courses-wrapper [class*="type-"],
.posts-wrapper [class*="type-"] {
    width: calc(33.33% - 2rem);
}
.locations-wrapper [class*="type-"] .relative,
.courses-wrapper [class*="type-"] .relative,
.posts-wrapper [class*="type-"] .relative {
    margin-bottom: 1rem;
    border-radius: 1rem;
    overflow: hidden;
}
.locations-wrapper figure,
.posts-wrapper figure {
    aspect-ratio: 3/2;
    transition: all .3s linear;
}
.locations-wrapper [class*="type-"]:hover figure,
.posts-wrapper [class*="type-"]:hover figure,
.courses-wrapper [class*="type-"]:hover figure {
    transform: scale(1.05);
}
.locations-wrapper figure a,
.posts-wrapper figure a {
    display: block;
    height: 100%;
}
.locations-wrapper .text-box .flexbox,
.posts-wrapper .text-box .flexbox {
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 1rem;
}
.locations-wrapper .text-box .entry-title,
.posts-wrapper .text-box .entry-title {
    margin-bottom: .5rem;
}
.locations-wrapper .post-meta-list,
.posts-wrapper .post-meta-list {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.locations-wrapper .post-meta-list li,
.posts-wrapper .post-meta-list li,
.person-languages-list li {
    margin-bottom: .5rem;
    border: 1px solid var(--color-system);
    border-radius: 2rem;
    padding: .25rem .625rem;
    font-size: var(--size-sm);
    font-family: 'Archivo-SemiBold';
    background-color: #fff;
}
.locations-wrapper .post-meta-list li:last-child,
.posts-wrapper .post-meta-list li:last-child {
    margin: 0;
}
.locations-wrapper .post-meta-list i,
.posts-wrapper .post-meta-list i {
    display: inline-block;
    margin: -2px .5rem 0 0;
    vertical-align: middle;
    font-size: .75rem;
}
.locations-slider .slick-list {
    padding-right: 13rem;
}
.locations-slider [class*="type-"] {
    margin-right: 2rem;
}

/* 4.3.5 - courses */
.filters-wrapper {
    margin-bottom: 5rem;
}
.filter-terms-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .75rem 1.5rem;
}
.filter-terms-list a {
    border-radius: 3rem;
    padding: 1.1rem 1.75rem 1rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    font: var(--size-sm)/1.215 'Archivo-Medium';
    color: inherit;
}
.filter-terms-list a.active {
    color: #fff;
    background-color: var(--color-primary);
}
.courses-wrapper .select2-container {
    display: none;
    margin-bottom: 3rem;
}
.courses-wrapper figure {
    aspect-ratio: 35/43;
    transition: all .3s linear;
}
.courses-wrapper figure:after {
    background: none;
    mask-image: linear-gradient(to bottom, transparent 0%, white 80%, white 100%);
}
.courses-wrapper [class*="type-"] .relative {
    margin: 0;
}
.courses-wrapper [class*="type-"] .relative > a,
.courses-wrapper [class*="type-"] .relative > div {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 1.5rem;
    color: #fff;
    z-index: 1;
}
.courses-wrapper .all-courses .entry-title {
    margin: 0;
}
.courses-wrapper .all-courses .text-center {
    order: 1;
    width: 100%;
    margin-top: 2rem;
}
.posts-wrapper .all-courses .custom-btn {
    margin: 0 auto;
}
.not-found {
    display: none;
}

/* 4.3.6 - testimonials */
.testimonials-slider,
.team-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin: -1rem;
}
.testimonials-slider .slick-track {
    display: flex;
}
.testimonials-slider .slick-list {
    margin-right: -2.25rem;
    padding-right: 4rem;
}
.testimonials-slider .rate-box {
    display: flex;
    column-gap: .25rem;
    margin-bottom: 1.5rem;
    color: var(--color-primary);
}
.testimonial-box {
    width: calc(33.33% - 2rem);
    margin: 1rem;
    border: 1px solid var(--color-system);
    border-radius: 1rem;
    padding: 2rem;
    font-size: var(--size-md);
    background-color: #fff;
}
.testimonial-box > span {
    font-size: 1rem;
    font-family: 'Archivo-SemiBold';
}
/* 4.3.7 - map */
.map-block {
    aspect-ratio: 16/9;
}
.map-block figure,
.map-acceptance {
    height: 100%;
}
.map-acceptance {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1rem;
    text-align: center;
    font-size: var(--size-md);
    color: #fff;
    -webkit-backdrop-filter: blur(.35rem);
    backdrop-filter: blur(.35rem);
    background: rgba(255, 255, 255, .25);
}
/* 4.3.8 - faq */
.faq-wrapper .flexbox {
    gap: 4rem 3rem;
}
.faq-wrapper .flexbox > div {
    width: calc(33.33% - 2rem);
}
.faq-wrapper .flexbox strong {
    display: block;
    margin-bottom: 1rem;
}
.faq-wrapper.column-2 .flexbox {
    gap: 4rem;
}
.faq-wrapper.column-2 .flexbox > div,
.counter-wrapper.count-2 .counter-item {
    width: calc(50% - 2rem);
}
/* 4.3.9 - counter */
.counter-wrapper .flexbox {
    gap: 2rem;
}
.counter-wrapper .counter-item {
    width: calc(33.33% - 4rem/3);
    border-left: 1px solid var(--color-system);
    padding-left: 2rem;
    font-weight: 500;
    font-size: 1.125rem;
    font-family: 'ClashGrotesk-Variable';
}
.counter-wrapper .counter-item:only-child {
    width: 100%;
}
.counter-wrapper .main-counter {
    font: 5rem/1 'Archivo-Bold';
    color: var(--color-primary);
}
.counter-wrapper h6 {
    margin-top: .5rem;
}
/* 4.3.10 - course meta */
.single-post-meta-list {
    margin-top: 6rem;
}
.single-post-meta-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--color-system);
    padding: 1.25rem 0;
    gap: 1rem;
}
.single-post-meta-list li:first-child {
    border-top: 1px solid var(--color-system);
}
.single-post-meta-list h5 {
    margin: 0;
}
/* 4.3.11 - parallax */
.parallax-box {
    padding: 7rem 0;
    text-align: center;
    color: #fff;
}
.vc_section:last-child .parallax-box:last-child {
    margin-bottom: -7rem;
}
/* 4.3.12 - team */
.team-wrapper [class*="type-"] {
    width: calc(50% - 2rem);
    margin: 1rem;
    border: 1px solid var(--color-system);
    border-radius: 1rem;
    padding: 1.5rem 2rem;
    background-color: #fff;
}
.team-wrapper .flexbox {
    flex-wrap: nowrap;
    align-items: center;
    margin-bottom: 1.5rem;
    font-family: 'Archivo-Medium';
}
.team-wrapper .flexbox figure {
    flex-shrink: 0;
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    margin-right: 1rem;
}
.team-wrapper .entry-title {
    margin-bottom: .25rem;
}
.person-languages-list {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .375rem;
}
.person-languages-list li {
    margin: 0;
}

/******** 5 - Pages ********/

/*== 5.1 - Butlerapp ==*/
.ws-table-courses {
    border-radius: .375rem;
}
.websail div.ws-input-group {
    margin: 0 0 1rem;
    padding: 0 .25rem;
}
.websail div.ws-input-group label > div:before {
    display: block;
    border: 1px solid var(--color-border);
    border-bottom: 0;
    border-radius: .375rem .375rem 0 0;
    padding: .75rem 15px .25rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: var(--size-sm);
    font-family: 'Archivo-Medium';
    color: var(--color-primary);
}
.websail div.ws-input-group.courses-input label > div:before {
    content: "Kurs";
}
.websail div.ws-input-group.places-input label > div:before {
    content: "Standort";
}
.websail div.ws-input-group.months-input label > div:before {
    content: "In welchem Monat?";
}
.websail div.ws-input-group .ws-select {
    border-color: var(--color-border);
    border-radius: 0 0 .375rem .375rem;
    background-color: #fff;
}
.websail .ws-select + svg {
    top: auto;
    bottom: 0;
    right: 15px;
    height: 50px;
    transform: none;
}
.websail .ws-table {
    margin: 0;
    border: 1px solid var(--color-border);
    border-radius: inherit;
    background-color: #fff;
}
.websail .ws-table thead th {
    border: 0;
    padding: 1.5rem 1rem;
    white-space: nowrap;
    vertical-align: middle;
    font-family: 'Archivo-SemiBold';
}
.websail .ws-table thead th:first-child,
.websail .ws-table tbody td:first-child {
    padding-left: 1.5rem;
}
.websail .ws-table thead th:last-child,
.websail .ws-table tbody td:last-child {
    padding-right: 1.5rem;
}
.websail .ws-table tbody td {
    border-color: inherit;
    padding: 1.5rem 1rem;
    vertical-align: middle;
}
.websail .ws-course-cell {
    word-wrap: break-word;
}
.websail .ws-booklink-cell {
    text-align: center;
}
.websail .ws-table .ws-cell-link {
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: var(--size-sm);
    color: inherit;
}
.websail .ws-table .ws-cell-link:not(.ws-book-now-link) {
    min-width: 135px;
}
.websail .ws-table .ws-cell-link:hover {
    color: var(--color-primary);
}
.websail .ws-table .ws-cell-link.ws-book-now-link {
    border: 1px solid var(--color-system);
    border-radius: 3rem;
    padding: .375rem .75rem;
}
.ws-container .ws-pagination {
    margin-top: -1px;
    border: 1px solid var(--color-border);
    border-radius: 0 0 .375rem .375rem;
    padding: 1rem 1.5rem;
}
.ws-container .ws-pagination + div,
.ws-container .ws-pagination.ws-flex .rc-pagination .rc-pagination-total-text {
    display: none;
}
.ws-container .ws-pagination.ws-flex .rc-pagination {
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 0;
}
.ws-container .ws-pagination .rc-pagination-prev,
.ws-container .ws-pagination .rc-pagination-next {
    width: 8.5rem !important;
    height: 3rem;
    line-height: 3rem !important;
    margin: 0 auto 0 0 !important;
    border: 1px solid var(--color-system);
    border-radius: 3rem;
    font-size: 0;
    opacity: 1 !important;
}
.ws-container .ws-pagination .rc-pagination-next {
    margin: 0 0 0 auto !important;
}
.ws-container .ws-pagination .rc-pagination-prev:before,
.ws-container .ws-pagination .rc-pagination-next:after {
    content: "\e903";
    vertical-align: middle;
    font-size: var(--size-sm);
    font-family: 'icomoon' !important;
}
.ws-container .ws-pagination .rc-pagination-next:after {
    content: "\e904";
}
.ws-container .ws-pagination .rc-pagination-prev:after,
.ws-container .ws-pagination .rc-pagination-next:before {
    content: "Zurück";
    display: inline-block;
    padding-left: 1rem;
    vertical-align: top;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: var(--size-sm);
    font-family: 'Archivo-SemiBold';
}
.ws-container .ws-pagination .rc-pagination-next:before {
    content: "Weiter";
    padding: 0 1rem 0 0;
}
.ws-container .ws-pagination.ws-flex .rc-pagination .rc-pagination-item {
    width: 2.5rem;
    height: 2.5rem;
    margin: 0;
    border: 1px solid transparent;
    border-radius: .375rem;
    line-height: 2.5rem;
    font-weight: normal;
}
.ws-container .ws-pagination.ws-flex .rc-pagination .rc-pagination-item.rc-pagination-item-active {
    border-color: var(--color-system);
}
.ws-container .ws-pagination.ws-flex .rc-pagination .rc-pagination-item a {
    display: block;
    color: inherit;
}

/*== 5.2 - Forminator ==*/
.forminator-custom-form.forminator-ui.forminator-design--basic:not(.forminator-size--small)[data-grid=open] .forminator-row:not(:last-of-type) {
    margin: 0 -.75rem 1.5rem;
}
.forminator-custom-form.forminator-ui.forminator-design--basic:not(.forminator-size--small)[data-grid=open] .forminator-row.forminator-row-last {
    margin: -.5rem 0 0;
}
.forminator-custom-form.forminator-ui.forminator-design--basic:not(.forminator-size--small)[data-grid=open] .forminator-row .forminator-no-margin {
    margin: 0 -.75rem;
}
.forminator-custom-form.forminator-ui.forminator-design--basic:not(.forminator-size--small)[data-grid=open] .forminator-col {
    padding: 0 .75rem;
}
.forminator-custom-form.forminator-ui.forminator-design--basic:not(.forminator-size--small)[data-grid=open] .forminator-row .forminator-no-margin 
.forminator-col {
    width: 100%;
    max-width: 100%;
    flex-basis: 100%;
    margin: 0;
}
.forminator-custom-form.forminator-ui.forminator-design--basic:not(.forminator-size--small)[data-grid=open] .forminator-row.forminator-row-last 
.forminator-col {
    padding: 0;
}
.forminator-custom-form.forminator-ui.forminator-design--basic[data-grid=open] .forminator-label {
    margin-bottom: .5rem;
}
.forminator-custom-form.forminator-ui.forminator-design--basic .forminator-all-group-copies.forminator-repeater-field {
    border-radius: 0;
    padding: 0;
    box-shadow: none !important;
    background: transparent !important;
}
.forminator-custom-form.forminator-ui.forminator-design--basic .forminator-label .forminator-required {
    display: none;
}
.forminator-custom-form.forminator-ui.forminator-design--basic .forminator-checkbox .forminator-checkbox-box {
    display: block !important;
}
.forminator-custom-form input[type="checkbox"] {
    position: absolute;
    opacity: 0;
}
.forminator-custom-form input[type="checkbox"] + .forminator-checkbox-box:before {
    content: "";
    position: absolute;
    top: 1px;
    left: 0;
    width: 1.125rem;
    height: 1.125rem;
    border: 1px solid var(--color-system);
    border-radius: .25rem;
    background-color: #fff;
    box-sizing: border-box;
}
.forminator-custom-form input[type="checkbox"] + .forminator-checkbox-box:after {
    content: "";
    position: absolute;
    top: 5px;
    left: 3px;
    width: 10px;
    height: 5px;
    border-bottom: 2px solid var(--color-primary);
    border-left: 2px solid var(--color-primary);
    transform: rotate(-45deg) scale(0);
    transition: all 0.3s ease;
    opacity: 0;
}
.forminator-custom-form input[type="checkbox"]:checked + .forminator-checkbox-box:after {
    transform: rotate(-45deg) scale(1);
    opacity: 1;
}
.forminator-custom-form.forminator-ui .forminator-col.privacy-acceptance .forminator-checkbox-label {
    display: none;
}
.forminator-custom-form.forminator-ui .forminator-col.privacy-acceptance-group .forminator-grouped-fields {
    position: relative;
    padding-bottom: 1.5rem !important;
}
.forminator-custom-form.forminator-ui .forminator-col.privacy-acceptance-group .forminator-grouped-fields .forminator-row:first-child {
    float: left;
}
.forminator-custom-form.forminator-ui .forminator-col.privacy-acceptance-group .forminator-grouped-fields .forminator-row:first-child 
.forminator-error-message {
    position: absolute;
    bottom: 0;
    width: 100%;
    white-space: nowrap;   
}
.forminator-custom-form.forminator-ui .forminator-col.privacy-acceptance-group .forminator-grouped-fields .forminator-row:last-child {
    width: 100%;
    margin-left: auto;
    font-size: var(--size-sm);
    cursor: pointer;
}
.forminator-custom-form.forminator-ui .forminator-col.privacy-acceptance-group .forminator-grouped-fields a:not(:hover) {
    text-decoration: underline;
    color: var(--color-primary);
}
.forminator-custom-form + .forminator-edit-module {
    display: none;
}
body.admin-bar > .forminator-select.select2-container.forminator-select-dropdown-container--open {
    margin-top: 31px;
}
div#wpadminbar ~ .forminator-select.select2-container {
    padding-top: 0 !important;
}
body.forminator-hustle-dropdown-fix .forminator-select.forminator-select-dropdown-container--open {
    z-index: 119 !important;
}
.forminator-ui.forminator-custom-form.forminator-design--basic select.forminator-select2 + 
.forminator-select .selection .select2-selection--single[role="combobox"] {
    border-color: var(--color-system) !important;
    border-radius: .725rem;
    background-color: transparent !important;
}
.forminator-ui.forminator-custom-form.forminator-design--basic select.forminator-select2 + 
.forminator-select .selection .select2-selection--single[role="combobox"] .select2-selection__rendered {
    padding: .75rem .725rem !important;
}
.forminator-select.forminator-select-dropdown-container--open span.forminator-select-dropdown.forminator-dropdown--basic {
    border-color: var(--color-system);
    padding: 0;
    background-color: #fff;
}
.forminator-select.forminator-select-dropdown-container--open span.forminator-select-dropdown .select2-results .select2-results__options {
    max-height: 236px;
    scrollbar-width: thin;
}
.forminator-select.forminator-select-dropdown-container--open .select2-results .select2-results__options::-webkit-scrollbar {
    width: 2px;
}
.forminator-select.forminator-select-dropdown-container--open span.forminator-select-dropdown.forminator-dropdown--basic 
.select2-results .select2-results__options .select2-results__option {
    padding: .725rem;
    line-height: inherit;
    font-size: inherit;
}