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

/*
Bavaria Protect theme stylesheets:
1 - Normalize
    1.1 - Main tags
    1.2 - Form elements
    1.3 - Default WP templates
    1.4 - Accessibility
2 - Main
    2.1 - Animations
    2.2 - Slick Slider
3 - Header & Footer
    3.1 - Header
    3.2 - Navigation
    3.3 - Footer
4 - WPBakery
    4.1 - Sections & Rows
    4.2 - Default Modules
    4.3 - Custom VC Modules
        4.3.1 - custom content & image
        4.3.2 - testimonials
        4.3.3 - partner logos
        4.3.4 - teaser boxes
5 - Pages
*/

@font-face {
    font-family: 'NanumGothic-Regular';
    src: url('fonts/NanumGothic-Regular.woff2') format('woff2'),
         url('fonts/NanumGothic-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'NanumGothic-Bold';
    src: url('fonts/NanumGothic-Bold.woff2') format('woff2'),
         url('fonts/NanumGothic-Bold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Martel-Regular';
    src: url('fonts/Martel-Regular.woff2') format('woff2'),
         url('fonts/Martel-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'BebasNeue-Regular';
    src: url('fonts/BebasNeue-Regular.woff2') format('woff2'),
         url('fonts/BebasNeue-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/******** 1 - Normalize ********/

/*== 1.1 - Main tags ==*/
:root {
    --color-primary: #1a4a7e;   /* blue */
    --color-secondary: #091625; /* dark blue */
    --color-basic: #000;        /* black */
    --color-system: #58595a;    /* grey */
    --color-bg-light: #e7ebee;  /* light */
    --color-bg-grey: #dbdfe2;   /* light grey */
    --size-sm: .875rem;         /* 14px */
    --size-lg: 1.125rem;        /* 18px */
    --alt-line-height: 1.5;
}
* {
    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.6 'NanumGothic-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;
    line-height: 1.4;
    font-weight: normal;
    font-family: 'Martel-Regular';
}
h1 {
    line-height: 1.2;
    font-size: 4.5rem;
}
h1 span,
h2 span,
h3 span {
    display: block;
    margin-bottom: 1rem;
    letter-spacing: 1.28px;
    font: 1rem/1.5 'BebasNeue-Regular';
    color: var(--color-primary);
}
h2 {
    line-height: 1.2;
    font-size: 3.25rem;
}
h3 {
    font-size: 2.75rem;
}
h4 {
    font-size: 2.25rem;
}
h5 {
    margin-bottom: 1rem;
    font-size: 1.75rem;
}
h6 {
    margin-bottom: 1rem;
    line-height: 1.5;
    font-size: 1.375rem;
}
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child,
p:last-child,
figure,
table:last-child,
.vc_column_container:not(.vc_col-sm-12) blockquote:last-child,
.site-main ul:not([class]):last-child,
.site-main ol:not([class]):last-child {
    margin: 0;
}
blockquote {
    margin: 3rem 0;
    font-style: italic;
    font-size: var(--size-lg);
    color: var(--color-primary);
}
cite {
    font-style: normal;
}
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 1.5rem;
    padding: 0 0 0 1.15rem;
}
p {
    margin: 0 0 1.5rem;
}
a {
    font-family: 'NanumGothic-Bold';
    color: var(--color-primary);
}
a:hover {
    color: inherit;
}
a,
a:hover,
a:focus,
a:active {
    text-decoration: none;
    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;
}
figcaption,
.wpb_single_image figcaption.vc_figure-caption {
    font-size: var(--size-sm);
    color: var(--color-system);
}
b,
strong {
    font-weight: normal;
    font-family: 'NanumGothic-Bold';
}
sup,
sub,
small {
    font-size: .75em;
}
sup {
    vertical-align: top;
}
sub {
    vertical-align: bottom;
}
hr {
    margin: 1.5em 0;
    border: 0;
    border-top: 1px solid;
}
table {
    table-layout: fixed;
    width: 100%;
    margin: 0 0 2em;
    border-collapse: collapse;
    border-spacing: 0;
}
th,
td {
    padding: 5px;
    text-align: left;
    font-weight: normal;
    vertical-align: top;
}
th {
    font-family: 'NanumGothic-Bold';
}
code,
pre {
    font-family: inherit;
}
iframe,
embed,
object {
    max-width: 100%;
}
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: var(--color-system);
}
::-moz-placeholder {
    color: var(--color-system);
    opacity: 1;
}
:-moz-placeholder {
    color: var(--color-system);
    opacity: 1;
}
:-ms-input-placeholder {
    color: var(--color-system);
    opacity: 1;
}
fieldset {
    margin: 0;
    border: 0;
    padding: 0;
}
legend {

}
abbr {
    
}
label {
    margin-bottom: .5rem;
    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"],
select,
textarea {
    width: 100%;
    border: 0;
    padding: .75rem;
    font: inherit;
    line-height: var(--alt-line-height);
    color: var(--color-basic);
    background-color: var(--color-bg-grey);
}
input[type="number"] {
    width: 70px;
}
textarea {
    display: block;
    resize: none;
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: auto;
}
textarea::-webkit-scrollbar {
    width: 2px;
}

/*== 1.3 - Default WP templates ==*/
.site-main {
    background-color: var(--color-bg-light);
}
.site-main article:not(:last-of-type) {
    margin-bottom: 2rem;
    border-bottom: 1px solid var(--color-system);
    padding-bottom: 2rem;
}
.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%;
    float: left;
}
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
    width: 50%;
    text-align: right;
    float: right;
}
.widget {
    list-style-type: none;
    margin: 0 0 2rem;
}
.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 {
    text-decoration: none;
    font-family: inherit;
    color: inherit;
}
.entry-summary p {
    display: inline;
}

/*== 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 ********/
.admin-bar .page-container {
    min-height: calc(100vh - 32px);
}
.page-container {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.site-main {
    flex-grow: 1;
    padding-top: 80px;
}
.container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 5rem;
}
.container.sm,
.vc_section .vc_row.sm {
    max-width: 830px;
}
.inner-wrapper {
    display: flex;
    align-items: flex-start;
}
.inner-content {
    flex-grow: 1;
}
.sidebar {
    flex-shrink: 0;
    flex-basis: 370px;
    margin-left: auto;
}
.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: 128px;
}
.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-lg {
    font-size: var(--size-lg);
}
.text-sm {
    font-size: var(--size-sm);
}
.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: .875rem;
}
.socials-list a {
    display: block;
    text-decoration: none;
    line-height: 1;
    font-size: 1.25rem;
    color: inherit;
}
.socials-list a:hover {
    color: #305c8b;
}

/*== 2.1 - 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);
    }
}

@-webkit-keyframes zoomIn {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3,.3,.3);
        transform: scale3d(.3,.3,.3)
    }
    50% {
        opacity: 1
    }
}
@keyframes zoomInCustom {
    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3,.3,.3);
        transform: scale3d(.3,.3,.3)
    }
    50% {
        opacity: 1
    }
}
.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 {
    animation-name: fadeInCustom;
}
.fadeInUpCustom,
.fadeInUp.fadeInUpCustom {
    animation-name: fadeInUpCustom;
}
.fadeInLeftCustom,
.fadeInLeft.fadeInLeftCustom {
    animation-name: fadeInLeftCustom;
}
.fadeInRightCustom,
.fadeInRight.fadeInRightCustom {
    animation-name: fadeInRightCustom;
}
.fadeSplit em {
    display: block;
    font-style: normal;
}
.fadeSplit > em {
    overflow: hidden;
}
.fadeSplit > em > em {
    transform: translateY(100%);
    transition: transform .5s ease-in-out 0.125s;
}
.fadeSplit.animated > em > em {
    transform: translateY(0);
}
.fadeRep li {
    opacity: 0;
    transform: translateY(3rem);
}
.fadeRep.animated li {
    opacity: 1;
    transform: translateY(0);
}
.fadeRep li:first-child,
.fadeRep li:nth-child(5),
.fadeRep li:nth-child(9) {
    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) {
    transition-duration: .5s;
    transition-delay: .8s;
}
.two-columns.fadeRep li:first-child,
.two-columns.fadeRep li:nth-child(3),
.two-columns.fadeRep li:nth-child(5),
.two-columns.fadeRep li:nth-child(7),
.two-columns.fadeRep li:nth-child(9),
.two-columns.fadeRep li:nth-child(11) {
    transition-duration: .8s;
    transition-delay: .5s;
}
.two-columns.fadeRep li:nth-child(2),
.two-columns.fadeRep li:nth-child(4),
.two-columns.fadeRep li:nth-child(6),
.two-columns.fadeRep li:nth-child(8),
.two-columns.fadeRep li:nth-child(10),
.two-columns.fadeRep li:nth-child(12) {
    transition-duration: .5s;
    transition-delay: .8s;
}
.zoomInCustom {
    -webkit-animation-name: zoomIn;
    animation-name: zoomIn
}
.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;
}

/*== 2.2 - 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-primary);
    border-radius: 0;
    color: #fff;
    background-color: var(--color-primary);
    z-index: 9;
}
.slick-arrow.slick-disabled {
    opacity: 0;
    visibility: hidden;
}
.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-secondary);
    color: #fff;
    background-color: var(--color-secondary);
}
.slider-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 2rem;
}
.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: 10px;
    height: 10px;
    margin: 0 4px;
}
.slick-dots li:first-child {
    margin-left: 0;
}
.slick-dots li:last-child {
    margin-right: 0;
}
.slick-dots li:only-child {
    display: none;
}
.slick-dots li button {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: var(--color-basic);
}
.slick-dots li button:before {
    content: none;
}
.slick-dots li.slick-active button {
    background-color: var(--color-secondary);
}

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

/*== 3.1 - Header ==*/
.header-wrapper {
    position: fixed;
    top: 0;
    width: 100%;
    height: 80px;
    color: #fff;
    background-color: var(--color-primary);
    z-index: 120;
}
.admin-bar .header-wrapper {
    top: 32px;
}
.header-wrapper .container,
.header-wrapper .flexbox-center-between {
    height: 100%;
}
.header-wrapper .flexbox-center-between > div:first-child {
    flex-shrink: 0;
    flex-basis: 150px;
}
.header-wrapper .flexbox-center-between > div:last-child,
.header-widget-list {
    display: inherit;
    align-items: inherit;
}
.header-widget-list .widget {
    margin: 0 0 0 2rem;
}
.header-wrapper .custom-btn:hover,
.footer .custom-btn:hover {
    border-color: #fff;
    color: var(--color-primary);
    background-color: #fff;
}
.custom-logo-link,
.custom-logo {
    display: block;
}

/*== 3.2 - Navigation ==*/
.main-overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .5);
    transition: all .5s ease;
    z-index: 115;
    opacity: 0;
    visibility: hidden;
}
.close-btn {
    position: relative;
    display: block;
    width: 14px;
    height: 14px;
    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: 2rem;
    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;
}
.nav-menu {
    display: flex;
}
.nav-menu li.menu-item-has-children {
    position: relative;
}
/*.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 {
    line-height: var(--alt-line-height);
    font-family: inherit;
    color: inherit;
}
.nav-menu a:after {
    content: attr(data-title);
    display: block;
    height: 0;
    font-family: 'NanumGothic-Bold';
    overflow: hidden;
    visibility: hidden;
}
.nav-menu > li {
    margin-left: 2.5rem;
}
.nav-menu > li > a {
    padding: 28px 0;
}
.nav-menu a:hover,
.nav-menu > li.menu-item-has-children:hover > a,
.nav-menu li.current-menu-item > a,
.nav-menu li.current-menu-ancestor > a {
    font-family: 'NanumGothic-Bold';
}
.nav-menu .sub-menu {
    position: absolute;
    top: 100%;
    left: -1rem;
    width: 250px;
    padding: 1rem;
    box-shadow: 0 4px 10px rgba(16, 26, 48, .2);
    background-color: var(--color-primary);
    transition: all 0.5s ease;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
}
.nav-menu .sub-menu li:not(:last-child) {
    margin-bottom: .5rem;
}

/*== 3.3 - Footer ==*/
.footer {
    padding: 5rem 0;
    color: #fff;
    background-color: var(--color-primary);
}
.footer .hide-on-mobile:not(:only-child) {
    margin-top: 5rem;
}
.footer .custom-logo-link {
    width: 150px;
}
.footer-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 4rem;
}
.footer-content > div:first-child {
    max-width: 35rem;
    width: 100%;
}
.footer-content > div:last-child {
    flex-shrink: 0;
}
.footer-menu {
    columns: 11.5rem 2;
    font-size: var(--size-sm);
}
.footer-menu li {
    margin-bottom: 1rem;
}
.footer-menu a {
    color: inherit;
}
.footer-menu a:hover,
.footer-menu li.current-menu-item > a {
    text-decoration: underline;
}
.copyright {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 2rem;
    border-top: 1px solid rgba(255, 255, 255, .2);
    padding-top: 2rem;
    font-size: var(--size-sm);
}

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

/*== 4.1 - Sections & Rows ==*/
.site-main .vc_section,
.site-main .vc_section.vc_section-has-fill {
    margin: 0;
    padding: 4rem 0;
    overflow: clip;
}
.site-main .vc_section.vc_section-has-fill + .vc_section {
    padding-top: 4rem;
}
.site-main .vc_section.vc_section-has-fill:not(.text-dark) {
    color: #fff;
}
.site-main .vc_section.vc_section-has-fill:not(.text-dark) h1 span,
.site-main .vc_section.vc_section-has-fill:not(.text-dark) h2 span,
.site-main .vc_section.vc_section-has-fill:not(.text-dark) h3 span {
    color: inherit;
}
.site-main .vc_section.vc_section-has-fill:not(.text-dark) .slick-arrow {
    border-color: #fff;
    background-color: transparent;
}
.site-main .vc_section.vc_section-has-fill:not(.text-dark) .slick-arrow:hover {
    border-color: var(--color-primary);
    background-color: var(--color-primary);
}
.site-main .vc_section.vc_section-has-fill:not(.text-dark) .custom-btn:not(:hover),
.site-main .vc_section.vc_section-has-fill:not(.text-dark) .custom-btn.outline:not(:hover),
.site-main .vc_section.vc_section-has-fill:not(.text-dark) .btn.vc_btn3-container .vc_general.vc_btn3:not(:hover):not(:focus) {
    border-color: #fff;
    color: var(--color-primary);
    background-color: #fff;
}
.site-main .vc_section.vc_section-has-fill:not(.text-dark) .btn.outline.vc_btn3-container .vc_general.vc_btn3:not(:hover):not(:focus) {
    border-color: #fff;
    color: #fff;
    background-color: transparent;
}
.site-main .vc_section.top-banner {
    height: 28.5rem;
}
.site-main .vc_section.vc_section-has-fill.top-banner + .vc_section {
    padding-top: 0;
}
.site-main .vc_section.vc_section-has-fill.top-banner + .vc_section:last-child {
    padding-bottom: 0;
}
.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: 2rem;
    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: 1.5rem;
}
.vc_section .vc_row.vc_inner .vc_column_container.vc_col-has-fill + .vc_col-has-fill > .vc_column-inner {
    margin-left: 2rem;
}
.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:first-child > .vc_column-inner {
    padding-right: 2rem;
}
.vc_section .vc_row.vc_row-flex > .vc_column_container:last-child > .vc_column-inner {
    padding-left: 2rem;
}
.vc_section .vc_row.vc_row-flex > .vc_column_container: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_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 ==*/
.wpb_raw_html [class^="icon-"] {
    font-size: 2rem;
}
.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;
}
.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 {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.custom-btn,
.btn.vc_btn3-container .vc_general.vc_btn3,
.wsdsgvovideo_img .wsdsgvovideo_acception.ws-default-btn,
input[type="submit"] {
    flex-shrink: 0;
    border: 1px solid var(--color-primary);
    border-radius: 0;
    padding: .625rem 1.5rem;
    text-decoration: none !important;
    text-align: center;
    font: 1rem/var(--alt-line-height) 'NanumGothic-Bold';
    color: #fff;
    background-color: var(--color-primary);
    background-image: none;
    transition: all .3s ease;
}
.custom-btn:hover,
.btn.vc_btn3-container .vc_general.vc_btn3:hover,
.btn.vc_btn3-container .vc_general.vc_btn3:focus,
.wsdsgvovideo_img .wsdsgvovideo_acception.ws-default-btn:hover,
.header-wrapper .custom-btn,
.footer .custom-btn,
input[type="submit"]:hover {
    border-color: #305c8b;
    color: #fff;
    background-color: #305c8b;
}
.custom-btn.outline:not(:hover),
.btn.outline.vc_btn3-container .vc_general.vc_btn3:not(:hover):not(:focus) {
    color: var(--color-primary);
    background-color: transparent;
}

/*== 4.3 - Custom VC Modules ==*/
/* 4.3.1 - custom content & image */
.custom-content-image {
    display: flex;
    align-items: flex-start;
    gap: 4rem;
    font-size: var(--size-lg);
}
.custom-content-image.reverse {
    flex-direction: row-reverse;
}
.custom-content-image.align-center .text-box {
    align-self: center;
}
.custom-content-image.align-bottom .text-box {
    align-self: flex-end;
}
.custom-content-image.align-stretch .text-box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
}
.custom-content-image.align-stretch .wpb_text_column:not(.no-margin),
.custom-content-image.align-stretch .flexbox {
    margin-top: auto;
}
.custom-content-image .text-box {
    flex-grow: 1;
}
.custom-content-image .img-box {
    width: 50%;
    flex-shrink: 0;
    min-height: 20rem;
    height: calc(100dvh - 80px);
    max-height: 37.5rem;
}
.admin-bar .custom-content-image .img-box {
    height: calc(100dvh - 112px);
}
.custom-content-image .img-box.auto {
    max-height: none;
}
.custom-content-image .img-box.large-img {
    width: 60%;
    max-height: 27.5rem;
}
.custom-content-image .text-box + .img-box:not(:only-of-type) {
    width: 34%;
}
.custom-content-image .img-box.img-secondary {
    width: 25.5%;
    max-height: 27rem;
    margin-left: -2rem;
}
.custom-content-image.reverse .img-box.img-secondary {
    margin: 0 -2rem 0 0;
}
.custom-content-image .text-box .img-box {
    width: 20rem;
    height: 20rem;
    max-height: none;
    margin-top: 5rem;
}
.admin-bar .custom-content-image .text-box .img-box {
    height: 20rem;
}
.custom-content-image .flexbox {
    gap: 1rem;
    font-size: 1rem;
}
.custom-content-image .flexbox > div {
    flex-grow: 1;
    flex-basis: calc(50% - .5rem);
}
.custom-content-image .btn-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 1rem;
}
/* 4.3.2 - testimonials */
.testimonials-slider {
    text-align: center;
}
.testimonials-slider:not(:hover) .slick-arrow {
    opacity: 0;
    visibility: hidden;
}
.testimonials-slider img {
    display: block;
    max-width: 16.25rem;
    margin: 0 auto 2rem;
}
.testimonials-slider h5:not(:last-child) {
    margin-bottom: 2rem;
}
/* 4.3.3 - partner logos */
.logos-list {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.logos-list li {
    width: calc(25% - 1.5rem/4);
    height: 5.25rem;
    padding: .875rem;
    text-align: center;
    background-color: #fff;
}
.logos-list a {
    display: inherit;
    height: inherit;
    margin: -.875rem;
    padding: inherit;
}
.logos-list img {
    max-height: 100%;
}
.logos-list.two-columns li {
    width: calc(50% - .5rem);
}
/* 4.3.4 - teaser boxes */
.teaser-list li {
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-bottom: 1.5rem;
    font-size: 1rem;
}
.teaser-list li:last-child {
    margin: 0;
}
.teaser-list figure {
    flex-shrink: 0;
    width: 10rem;
    height: 7.5rem;
}
.teaser-list div {
    flex-grow: 1;
}
.teaser-list a {
    display: block;
    font-family: inherit;
    color: inherit;
}
.teaser-list h5 {
    font: var(--size-lg)/1.6 'NanumGothic-Bold';
}
.teaser-list h5:not(:only-child) {
    margin-bottom: .5rem;
}

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

/*== 5.1 - 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-col {
    padding: 0 .75rem;
}
.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 .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;
    background-color: var(--color-bg-grey);
    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: calc(100% - 4px);
    margin-left: auto;
    font-size: var(--size-sm);
    cursor: pointer;
}
.forminator-custom-form.forminator-ui .forminator-col.privacy-acceptance-group .forminator-grouped-fields a {
    font-family: inherit;
    color: inherit;
}
.forminator-custom-form.forminator-ui .forminator-col.privacy-acceptance-group .forminator-grouped-fields a:hover {
    font-family: 'NanumGothic-Bold';
    color: var(--color-primary);
}
.forminator-custom-form + .forminator-edit-module {
    display: none;
}