@charset "UTF-8";

/*!
Theme Name: R.H. Dev. Theme
Theme URI:
Description: Customized Theme for seamless, customized Theme Development.
Author: Ralf Hoffmeister
Author URI: http://ralfhoffmeister.de
Version: 3.4.2
Text Domain: dev-theme
*/

/* CSS Document */

/*
===============
= ADJUSTMENTS =
===============
*/

/*RESET
   http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126
   License: none (public domain)
**************************************************************/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
button {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

section {
    position: relative;
}

body {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/*SELF CLEAR FLOATING ELEMENTS
**************************************************************/

.clear:after {
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    clear: both;
    visibility: hidden;
}

* html .clear {
    height: 1%;
}

*:first-child + html .clear {
    min-height: 1px;
}

/*BORDER-BOX LAYOUT
**************************************************************/

*,
*:before,
*:after {
    box-sizing: border-box;
}

/*
=============
= VARIABLES =
=============
*/

:root {
    --blue: #0e2339;
    --green: #1dd672;
    --green-dark: #70a88a;
    --purple: #3d1452;
}

/* Font-Face */

/* cyrillic-ext */

@font-face {
    font-family: "Open Sans";
    font-style: italic;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url("assets/fonts/opensans/v34/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWV0ewJER.woff2") format("woff2");
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */

@font-face {
    font-family: "Open Sans";
    font-style: italic;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url("assets/fonts/opensans/v34/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVQewJER.woff2") format("woff2");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* greek-ext */

@font-face {
    font-family: "Open Sans";
    font-style: italic;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url("assets/fonts/opensans/v34/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVwewJER.woff2") format("woff2");
    unicode-range: U+1F00-1FFF;
}

/* greek */

@font-face {
    font-family: "Open Sans";
    font-style: italic;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url("assets/fonts/opensans/v34/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVMewJER.woff2") format("woff2");
    unicode-range: U+0370-03FF;
}

/* hebrew */

@font-face {
    font-family: "Open Sans";
    font-style: italic;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url("assets/fonts/opensans/v34/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVIewJER.woff2") format("woff2");
    unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}

/* vietnamese */

@font-face {
    font-family: "Open Sans";
    font-style: italic;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url("assets/fonts/opensans/v34/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWV8ewJER.woff2") format("woff2");
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */

@font-face {
    font-family: "Open Sans";
    font-style: italic;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url("assets/fonts/opensans/v34/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWV4ewJER.woff2") format("woff2");
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */

@font-face {
    font-family: "Open Sans";
    font-style: italic;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url("assets/fonts/opensans/v34/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVAewA.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
        U+FEFF, U+FFFD;
}

/* devanagari */

@font-face {
    font-family: "Poppins";
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url("assets/fonts/poppins/v20/pxiGyp8kv8JHgFVrJJLucXtAKPY.woff2") format("woff2");
    unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}

/* latin-ext */

@font-face {
    font-family: "Poppins";
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url("assets/fonts/poppins/v20/pxiGyp8kv8JHgFVrJJLufntAKPY.woff2") format("woff2");
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */

@font-face {
    font-family: "Poppins";
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url("assets/fonts/poppins/v20/pxiGyp8kv8JHgFVrJJLucHtA.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
        U+FEFF, U+FFFD;
}

/* devanagari */

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url("assets/fonts/poppins/v20/pxiByp8kv8JHgFVrLDz8Z11lFc-K.woff2") format("woff2");
    unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}

/* latin-ext */

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url("assets/fonts/poppins/v20/pxiByp8kv8JHgFVrLDz8Z1JlFc-K.woff2") format("woff2");
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url("assets/fonts/poppins/v20/pxiByp8kv8JHgFVrLDz8Z1xlFQ.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
        U+FEFF, U+FFFD;
}

/* devanagari */

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("assets/fonts/poppins/v20/pxiEyp8kv8JHgFVrJJbecmNE.woff2") format("woff2");
    unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}

/* latin-ext */

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("assets/fonts/poppins/v20/pxiEyp8kv8JHgFVrJJnecmNE.woff2") format("woff2");
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("assets/fonts/poppins/v20/pxiEyp8kv8JHgFVrJJfecg.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
        U+FEFF, U+FFFD;
}

/* devanagari */

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("assets/fonts/poppins/v20/pxiByp8kv8JHgFVrLGT9Z11lFc-K.woff2") format("woff2");
    unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}

/* latin-ext */

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("assets/fonts/poppins/v20/pxiByp8kv8JHgFVrLGT9Z1JlFc-K.woff2") format("woff2");
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("assets/fonts/poppins/v20/pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
        U+FEFF, U+FFFD;
}

/* devanagari */

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("assets/fonts/poppins/v20/pxiByp8kv8JHgFVrLEj6Z11lFc-K.woff2") format("woff2");
    unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}

/* latin-ext */

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("assets/fonts/poppins/v20/pxiByp8kv8JHgFVrLEj6Z1JlFc-K.woff2") format("woff2");
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("assets/fonts/poppins/v20/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
        U+FEFF, U+FFFD;
}

/* devanagari */

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("assets/fonts/poppins/v20/pxiByp8kv8JHgFVrLCz7Z11lFc-K.woff2") format("woff2");
    unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}

/* latin-ext */

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("assets/fonts/poppins/v20/pxiByp8kv8JHgFVrLCz7Z1JlFc-K.woff2") format("woff2");
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */

@font-face {
    font-family: "Poppins";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("assets/fonts/poppins/v20/pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
        U+FEFF, U+FFFD;
}

/* 
Animations 
*/

/* Animate Menu Button */

@-webkit-keyframes menutop {
    0% {
        transform: rotate(0deg);
    }
    50% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(45deg);
    }
}

@keyframes menutop {
    0% {
        transform: rotate(0deg);
    }
    50% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(45deg);
    }
}

@-webkit-keyframes menubottom {
    0% {
        transform: rotate(0deg);
    }
    50% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(-45deg);
    }
}

@keyframes menubottom {
    0% {
        transform: rotate(0deg);
    }
    50% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(-45deg);
    }
}

@-webkit-keyframes menutopstart {
    0% {
        transform: rotate(45deg);
    }
    50% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

@keyframes menutopstart {
    0% {
        transform: rotate(45deg);
    }
    50% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

@-webkit-keyframes menubottomstart {
    0% {
        transform: rotate(-45deg);
    }
    50% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

@keyframes menubottomstart {
    0% {
        transform: rotate(-45deg);
    }
    50% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

/*
===========
= PLUGINS =
===========
 */

/*
==========
= HELPER =
==========
*/

/*MISC
**************************************************************/

.circle {
    border-radius: 50%;
}

.mask-circle {
    border-radius: 50%;
    overflow: hidden;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
}

/*Call to Action Button*/

.cta {
    display: inline-block;
    outline: none;
    border: 1px solid;
    background-color: transparent;
    text-align: center;
    text-decoration: none;
    padding: 0.5926em 25px;
    border-radius: 31px;
    line-height: 1;
    font-weight: 400;
    transition: all 0.15s ease-in-out;
    margin-top: 25px;
}

.cta:after {
    content: " »";
}

.cta:hover {
    background-color: var(--green);
    color: #fff;
}

.cta:active,
.cta.active {
    background-color: #000;
    color: #fff;
    transition: none;
}

.warning-msg {
    border-left: 5px solid #f00;
    padding-left: 10px;
}

.info-msg {
    border-left: 5px solid #aaa;
    padding-left: 10px;
}

.okay-msg {
    border-left: 5px solid #0f0;
    padding-left: 10px;
}

/*TYPOGRAPHY & LAYOUT
**************************************************************/

/*size*/

.small {
    font-size: 0.75em;
}

.medium {
    font-size: 1.5em;
}

.large {
    font-size: 2em;
}

.x-large {
    font-size: 2.5em;
}

/*alignment*/

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

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

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

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

.italic {
    font-style: italic;
}

.bold {
    font-weight: 700;
}

.uppercase {
    text-transform: uppercase;
}

.lowercase {
    text-transform: lowercase;
}

/*other*/

.hide-text {
    border: 0;
    font: 0/0 a;
    text-shadow: none;
    color: transparent;
}

.smooth {
    -webkit-font-smoothing: antialiased;
}

.sub-smooth {
    -webkit-font-smoothing: subpixel-antialiased;
}

/*DISPLAY OPTIONS
**************************************************************/

/*floats*/

.left {
    float: left;
}

.right {
    float: right;
}

.slick-dots li:only-child {
    display: none;
}

.error404 .section-error {
    padding-top: 100px;
    padding-bottom: 100px;
}

/* CSS Debugger */

/* *:not(path):not(g) {
  color:                    hsla(210, 100%, 100%, 0.9) !important;
  background:               hsla(210, 100%,  50%, 0.5) !important;
  outline:    solid 0.25rem hsla(210, 100%, 100%, 0.5) !important;
  box-shadow: none !important;
} */

/*WP-CORE
**************************************************************/

.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto;
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

.aligncenter {
    display: block;
    margin: 5px auto;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%;
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

.wp-video,
video.wp-video-shortcode,
.mejs-container,
.mejs-overlay.load {
    width: 100% !important;
    height: 100% !important;
}

.mejs-container {
    padding-top: 56.25%;
}

.wp-video,
video.wp-video-shortcode {
    max-width: 100% !important;
}

video.wp-video-shortcode {
    position: relative;
}

.mejs-mediaelement {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.mejs-controls {
    display: none;
}

.mejs-overlay-play {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto !important;
    height: auto !important;
}

/*
=========================================================
= ===================== BASE STYLES =================== =
=========================================================
*/

/*Basic Styling for Headlines, Forms, links etc. */

html {
    min-height: 100vh;
    height: 100%;
    font-size: 100%;
    background-color: #fff;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
    text-size-adjust: none;
    overflow-x: hidden;
}

body {
    position: relative;
    min-height: 100%;
    height: 100%;
    font-family: "Poppins", Helvetica, Arial, sans-serif;
    font-weight: 300;
    font-size: 19px;
    line-height: 27px;
    color: #0e2339;
}

@media screen and (min-width: 768px) {
    body {
        font-size: 19px;
        line-height: 28px;
    }
}

a {
    border: 0;
    outline: 0;
    color: inherit;
}

@media (hover: hover) {
    a:hover {
        color: var(--primary-color);
    }
}

a:focus {
}

a:active {
}

button,
.cta {
    cursor: pointer;
}

button:hover {
    background-color: #aaa;
}

button:focus {
    background-color: #aaa;
}

button:active {
    background-color: #000;
    color: #fff;
}

textarea,
input.text,
input[type="text"],
input[type="button"],
/* input[type="submit"], */
.input-checkbox {
    -webkit-appearance: none;
    border-radius: 0;
    display: block;
    border: 1px solid #000;
    background-color: transparent;
}

em {
    font-style: italic;
}

strong,
b {
    font-weight: 700;
}

code {
    font-family: courier, monospace;
    background-color: #eee;
    padding: 0 5px;
}

address {
    font-style: italic;
}

pre {
    font-family: courier, monospace;
    white-space: pre-wrap;
}

ul,
ol {
    padding: 0;
    list-style: none;
}

sup {
    vertical-align: super;
    font-size: smaller;
}

img {
    position: relative;
    max-width: 100%;
    width: auto;
    /* ie8 */
    height: auto !important;
    -ms-interpolation-mode: bicubic;
    border: 0;
}

video {
    max-width: 100%;
    height: auto !important;
}

blockquote {
    font-size: 20px;
    line-height: 1.3;
}

/*  ::-webkit-selection { background-color: #aaa; color: #fff; }
     ::-moz-selection { background-color: #aaa; color: #fff; }
          ::selection { background-color: #aaa; color: #fff; }

         h1::-webkit-selection { color: #222; }
            h1::-moz-selection { color: #222; }
                 h1::selection { color: #222; }

         h2::-webkit-selection { color: #222; }
            h2::-moz-selection { color: #222; }
                 h2::selection { color: #222; }

         h3::-webkit-selection { color: #222; }
            h3::-moz-selection { color: #222; }
                 h3::selection { color: #222; }

         h4::-webkit-selection { color: #222; }
            h4::-moz-selection { color: #222; }
                 h4::selection { color: #222; }

         h5::-webkit-selection { color: #222; }
            h5::-moz-selection { color: #222; }
                 h5::selection { color: #222; }

         h6::-webkit-selection { color: #222; }
            h6::-moz-selection { color: #222; }
                 h6::selection { color: #222; }

          a::-webkit-selection { color: #222; }
             a::-moz-selection { color: #222; }
                  a::selection { color: #222; }

 blockquote::-webkit-selection { color: #222; }
    blockquote::-moz-selection { color: #222; }
         blockquote::selection { color: #222; } */

/*FONT AND COLOR CLASSES
**************************************************************/

.sans {
    font-family: Verdana, sans-serif;
}

.serif {
    font-family: Georgia, Times, serif;
}

.mono {
    font-family: courier, monospace;
}

.fancy {
    font-family: "Didot", "Times New Roman", Georgia, Times, serif;
    font-feature-settings: "liga" 1;
}

/* Styled text  */

.styled-txt p {
    margin-bottom: 2em;
    -epub-word-break: hyphenate;
    -ms-word-break: hyphenate;
    word-break: normal;
    word-wrap: normal;
    -webkit-hyphens: auto;
    -epub-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}

.styled-txt h1 {
    font-size: 40px;
    line-height: 46px;
    letter-spacing: 1px;
    font-weight: 700;
    margin-bottom: 16px;
}

@media screen and (min-width: 600px) {
    .styled-txt h1 {
        font-size: 55px;
        line-height: 66px;
        margin-bottom: 5px;
    }
}

.styled-txt h2 {
    font-size: 24px;
    line-height: 28px;
    font-weight: 600;
    margin-bottom: 28px;
}

@media screen and (min-width: 600px) {
    .styled-txt h2 {
        font-size: 35px;
        line-height: 45px;
        margin-bottom: 38px;
    }
}

.styled-txt h3 {
    font-size: 20px;
    line-height: 30px;
    letter-spacing: 0.04em;
    font-weight: 700;
    margin-bottom: 12px;
}

@media screen and (min-width: 768px) {
    .styled-txt h3 {
        font-size: 21px;
        line-height: 31px;
    }
}

.styled-txt h4 {
    font-size: 18px;
    line-height: 1.3;
}

.styled-txt h5 {
    font-size: 18px;
    line-height: 1.3;
}

.styled-txt h6 {
    font-size: 18px;
    line-height: 1.3;
}

.styled-txt ol {
    list-style: decimal;
    list-style-type: none;
    counter-reset: item;
    margin: 0;
    padding: 0;
}

.styled-txt ol > li {
    display: table;
    counter-increment: item;
    margin-bottom: 0.6em;
}

.styled-txt ol > li:before {
    content: counters(item, ".") ". ";
    display: table-cell;
    padding-right: 0.6em;
}

.styled-txt li ol > li {
    margin: 0;
}

.styled-txt li ol > li:before {
    content: counters(item, ".") " ";
}

.styled-txt ul {
    list-style: disc;
    margin-left: 20px;
}

.styled-txt li {
    position: relative;
    margin-bottom: 8px;
}

nav ul {
    list-style: none;
    margin-left: 0;
    padding-left: 0;
}

nav a {
    text-decoration: none;
}

.roof {
    font-weight: 500;
    font-size: 18px;
    line-height: 19px;
    color: #1dd672;
    margin-bottom: 10px !important;
}

.styled-txt a:not([class]) {
    font-weight: 500;
    text-decoration: none;
    color: var(--green);
}

/*
==================
= PAGE STRUCTURE =
==================
*/

/* Basic Page Structure (Container and Frame Sizes, standard-Padding etc...)

/*PAGE-SEGMENTS
**************************************************************/

.container {
    /*contains the whole Page */
    position: relative;
    min-height: 100%;
    width: 100%;
}

.content {
    position: relative;
    padding-top: 75px;
}

@media screen and (min-width: 768px) {
    .content {
        padding-top: 140px;
    }
}

.frame,
[class*="frame-"] {
    position: relative;
    width: 100%;
    max-width: 1530px;
    margin: 0 auto;
}

.module,
[class*="module-"] {
    padding-left: 22px;
    padding-right: 22px;
}

@media screen and (min-width: 768px) {
    .module,
    [class*="module-"] {
        padding-left: 22px;
        padding-right: 22px;
    }
}

.page-pad,
.page-padding {
    padding-left: 8px;
    padding-right: 8px;
}

/* =
MODULES
= */

/*
specific Layout-Modules and Components. keep it light, specifics and variations will be defined in content.css
(Class-Name System: .moduleName-componentName-state)
*/

/* @import "assets/css/css-dev/modules/form.css"; */

/* Slider */

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.slick-track:before,
.slick-track:after {
    display: table;
    content: "";
}

.slick-track:after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}

[dir="rtl"] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

/* Slider Styles */

.slick-loading .slick-list {
    background: #fff url("assets/images/ui/ajax-loader.gif") center center no-repeat;
}

/* Arrows */

.slider-nav {
    position: absolute;
    width: 100%;
    height: 0;
    padding-left: 20px;
    padding-right: 20px;
    top: calc(50% - 54px);
    transform: translateY(-50%);
}

.slick-prev,
.slick-next {
    position: relative;
    display: block;
    width: 30px;
    height: 54px;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    transition: opacity 0.2s ease-in-out;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    color: #fff;
    outline: none;
    opacity: 0.6;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
    opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
    opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
    font-size: 20px;
    line-height: 1;
    opacity: 0.75;
    color: white;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
    left: 0;
    float: left;
}

[dir="rtl"] .slick-prev {
    right: 0;
    left: auto;
}

.slick-prev:before {
    content: "";
}

[dir="rtl"] .slick-prev:before {
    content: "";
}

.slick-next {
    right: 0;
    float: right;
}

[dir="rtl"] .slick-next {
    right: auto;
    left: 0;
}

.slick-next:before {
    content: "";
}

[dir="rtl"] .slick-next:before {
    content: "";
}

.anchor {
    position: absolute;
    top: 0;
    left: 0;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

/* Dots */

.slick-dotted.slick-slider {
    margin-bottom: 30px;
}

.slick-dots {
    position: relative;
    bottom: 0;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}

.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 0;
    padding: 0;
    cursor: pointer;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
    text-indent: 0;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    color: #000;
}

.slick-dots li button:before {
    position: relative;
    display: block;
    width: 14px;
    height: 14px;
    content: "";
    border: 2px solid;
    border-radius: 50%;
    color: #000;
    background-color: #aaa;
}

.slick-dots li.slick-active button:before {
    background-color: #000;
}

/*
SLIDER
*/

.section-slider {
    position: relative;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .section-slider {
        position: relative;
        text-align: left;
    }
}
.section-slider:before,
.section-slider:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    max-width: 1486px;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    height: 1px;
    background-color: #1dd672;
}
.section-slider:before {
    top: 0;
}

.section-slider:after {
    bottom: 0;
}
.section-slider img {
    width: 100%;
    max-width: none;
    display: block;
}

.section-slider .slider-caption {
    position: absolute;
    bottom: 50px;
    left: 50px;
    max-width: 50%;
}

.section-slider .slider-nav {
    position: relative;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

@media screen and (min-width: 768px) {
    .section-slider .slider-nav {
        padding-top: 110px;
        flex: 0 0 146px;
        top: auto;
        transform: translateY(0);
    }
}

.section-slider .slider {
    margin-bottom: 60px;
}

.section-slider .slider-dots {
    display: none;
}

@media screen and (min-width: 768px) {
    .section-slider .slider-dots {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        margin-left: auto;
        margin-right: auto;
        display: flex;
        gap: 5px;
    }
    .section-slider .slick-dots {
        display: flex;
        justify-content: center;
        gap: 5px;
    }
    .section-slider .slick-dots li {
        width: auto;
        height: auto;
    }
    .section-slider .slick-dots li button {
        width: 35px;
        height: 6px;
        background-color: var(--green);
    }
    .section-slider .slick-dots .slick-active button {
        background-color: var(--purple);
    }
    .section-slider .slick-dots li button:before {
        display: none;
    }
}

.section-slider .slider-nav .slick-next,
.section-slider .slider-nav .slick-prev {
    position: relative;
    width: 84px;
    height: 34px;
}

@media screen and (min-width: 768px) {
    .section-slider .slider-nav .slick-next,
    .section-slider .slider-nav .slick-prev {
        position: relative;
        width: 41px;
        height: 17px;
    }
}

.slider-intro-icn {
    position: relative;
    width: 33px;
    height: 23px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
    .slider-intro-icn {
        width: 67px;
        height: 47px;
        margin-left: 0;
        margin-right: 0;
    }
}

.slider-txt {
    font-family: "Open Sans", "Poppins", helvetica, Arial, sans-serif;
    font-size: 22px;
    line-height: 35px;
    font-style: italic;
}

@media screen and (min-width: 768px) {
    .slider-txt {
        font-size: 35px;
        line-height: 52px;
    }
}

.slider-credit {
    text-align: center;
    font-size: 15px;
    line-height: 22px;
    font-weight: 300;
}

@media screen and (min-width: 768px) {
    .slider-credit {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: wrap;
        gap: 20px;
        text-align: left;
    }
}

.slider-credit-img {
    margin-left: auto;
    margin-right: auto;
    display: block;
    width: 100px;
    height: 100px;
    margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
    .slider-credit-img {
        margin-left: 0;
        margin-right: 0;
    }
}

@media screen and (min-width: 768px) {
    .slider-testimonials {
        max-width: 1040px;
        flex: 1 1 calc(100% - 200px);
    }
    .slider-testimonials-container {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }
}

.arrow-container-dt {
    display: none;
}

@media screen and (min-width: 768px) {
    .arrow-container-dt {
        display: block;
    }
    .arrow-container-m {
        display: none;
    }
}

* {
    min-height: 0;
    min-width: 0;
}

.slick-container {
    width: 100%;
}

/* @import "assets/css/css-dev/modules/hero.css"; */

/* @import "assets/css/css-dev/modules/carousel.css"; */

/* @import "assets/css/css-dev/modules/vitrine.css"; */

/* @import "assets/css/css-dev/modules/colors.css"; */

/* @import "assets/css/css-dev/modules/accordion.css"; */

/* End Modules */

/*
==========
= HEADER =
==========
 */

/*Header stuff (Navigation, Logo etc.)*/

header {
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 10;
    background-color: #fff;
    box-shadow: 0 9px 6px rgba(0, 0, 0, 0.16);
    height: 74px;
}

@media screen and (min-width: 768px) {
    header {
        padding-top: 0;
        padding-bottom: 0;
        height: 142px;
        transition: all 0.2s ease-in-out;
    }
}

@media screen and (min-width: 1000px) {
    header > .frame {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
    }
    .scrolled_a_bit header {
        height: 74px;
    }
}

.logo {
    position: absolute;
    left: 20px;
    top: 20px;
    display: block;
    text-decoration: none;
    width: 70px;
    height: 36px;
    overflow: hidden;
    z-index: 1;
}

@media screen and (min-width: 768px) {
    .logo {
        display: block;
        text-decoration: none;
        width: 139px;
        height: 72px;
        position: absolute;
        left: 40px;
        top: 40px;
    }
}

@media screen and (min-width: 1000px) {
    .scrolled_a_bit .logo {
        top: 18px;
    }
    .logo-s {
        position: absolute;
        top: 0;
        left: 0;
        transform: translateY(-200px);
        transition: all 0.2s ease-in-out;
    }
    .logo-l {
        transform: translateY(0);
        transition: all 0.2s ease-in-out;
    }
    .scrolled_a_bit .logo-s {
        transform: translateY(0);
    }
    .scrolled_a_bit .logo-l {
        transform: translateY(200px);
    }
}

@media screen and (min-width: 1680px) {
    .logo {
        left: 200px;
    }
}

/*Main-Nav*/

.main-nav-container {
    height: auto;
    position: fixed;
    max-height: calc(100vh - 74px);
    top: 74px;
    left: -100vw;
    width: calc(100vw - 40px);
    overflow: hidden;
    background-color: #fff;
    transition: all 0.25s ease-in-out;
    background-color: #d4f5e3;
}

.nav_is_open .main-nav-container {
    left: 0;
    visibility: visible;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 9;
}

.nav_is_open .container:after {
    content: "";
    width: 100%;
    height: 100vh;
    display: block;
    position: fixed;
    background-color: rgba(14, 35, 57, 0.68);
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    pointer-events: none;
    z-index: 1;
}

@media screen and (min-width: 1000px) {
    .main-nav-container {
        width: 90%;
        max-width: 350px;
        right: 0;
        top: 0;
        bottom: 0;
        max-height: 100vh;
        background-color: #fff;
        overflow: auto;
        transition: all 0.2s ease-in-out;
        -webkit-overflow-scrolling: touch;
    }
    .main-nav-container {
        height: auto;
        max-height: none;
        visibility: visible;
        opacity: 1;
        overflow: visible;
        height: 182px;
        position: absolute;
        width: 100%;
        left: 0;
    }
}

.nav_is_open .main-nav-container {
    transform: translateX(0);
}

.main-nav {
    width: 100%;
    position: relative;
    font-size: 18px;
    padding-top: 50px;
    padding-bottom: 50px;
    padding-left: 20px;
    padding-right: 20px;
}

.main-nav a {
    text-decoration: none;
    width: 100%;
    display: block;
    padding-top: 10px;
    padding-bottom: 10px;
    font-weight: 600;
}
@media (hover: hover) {
    .main-nav a:hover {
        color: #1dd672;
    }
}
.main-nav-ul > .current-menu-item > a,
.main-nav .current-menu-item > a.current-menu-item:not([href*="#"]),
.main-nav .current-menu-ancestor > a,
.main-nav .sub-menu a.active {
    color: var(--green);
}
video::-webkit-media-controls {
    display: none !important;
}

.main-nav li {
    position: relative;
    list-style: none;
}

.main-nav > ul > li {
    padding-right: 40px;
    font-size: 22px;
    line-height: 30px;
}

.menu-item-description {
    display: none;
}

.main-nav .dropper {
    position: absolute;
    display: block;
    background-color: transparent;
    border: none;
    top: 0;
    right: 0;
    bottom: 0;
    width: 40px;
    height: 40px;
}
.no-hover {
    pointer-events: none !important;
}
.dropper-icn {
    display: block;
    position: relative;
    width: 100%;
    height: 40px;
    background-image: url("assets/images/ui/dropper-icn-black.svg");
    background-position: center center;
    background-size: 19px 10px;
    background-repeat: no-repeat;
    transition: all 0.2s ease-in-out;
}

.main-nav li.is_open .dropper-icn {
    transform: rotate(-180deg);
}

.main-nav a {
    text-decoration: none;
    width: 100%;
    display: block;
    padding-top: 10px;
    padding-bottom: 10px;
}

/* Submenu */

.main-nav .sub-menu {
    list-style: none;
    font-size: 14px;
    padding-left: 10px;
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    overflow: hidden;
    transition: all 0.2s ease-in-out;
}

.main-nav li.is_open .sub-menu {
    max-height: 600px;
}

/* MAin Nav DT */

@media screen and (min-width: 1000px) {
    .main-nav-container {
        width: auto;
        max-width: none;
        position: absolute;
        top: 0;
        height: 142px;
        width: 100%;
        right: auto;
        bottom: auto;
        max-height: none;
        background-color: transparent;
        overflow: visible;
        transform: none;
        transition: all 0.2s ease-in-out;
        -webkit-overflow-scrolling: touch;
    }
    .scrolled_a_bit .main-nav-container {
        height: 74px;
        transition: all 0.2s ease-in-out;
    }
    .main-nav {
        width: 100%;
        position: relative;
        font-size: 18px;
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 20px;
        padding-right: 20px;
        height: 142px;
        transition: all 0.2s ease-in-out;
    }
    .scrolled_a_bit .main-nav {
        height: 74px;
    }
    .main-nav > ul {
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
        width: 100%;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        top: 0;
        padding-left: 200px;
        text-align: right;
    }
    .main-nav > ul > li {
        position: static;
    }
    .menu-item-description {
        display: block;
        font-size: 24px;
        line-height: 32px;
        letter-spacing: 0.015em;
        font-weight: 300;
    }
    .main-nav > ul > li > a {
        font-size: 22px;
        line-height: 91px;
        font-weight: 600;
        padding-top: 50px;
        padding-bottom: 0px;
        transition: all 0.2s ease-in-out;
        height: 132px;
        display: flex;
        align-items: center;
        position: relative;
    }

    .green-bg > a {
        padding-left: 29px;
        padding-right: 29px;
    }
    .scrolled_a_bit .main-nav > ul > li > a {
        height: 74px;
        padding-top: 0;
        padding-bottom: 0;
    }
    .main-nav > ul > li > .sub-menu {
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
        background-color: #d4f5e3;
        background-image: url(assets/images/ui/sub-bg-dt.svg);
        background-position: 0 0;
        background-repeat: repeat-y;
        background-attachment: local;
    }
    .sub-menu > li {
        flex: 0 0 33.33%;
        text-align: center;
        padding-top: 88px;
        padding-bottom: 44px;
        min-height: 503px;
    }
    .sub-menu .menu-item-title {
        font-size: 35px;
        line-height: 45px;
        font-weight: 600;
        min-height: 126px;
        display: flex;
        justify-content: center;
        align-items: flex-end;
    }
    .main-nav .dropper {
        display: none;
    }
    .main-nav > ul > .menu-item-has-children:hover > .sub-menu {
        max-height: 100vh;
        overflow: visible;
    }
    .sub-menu > li {
        flex: 0 0 33.33%;
        text-align: center;
        padding-top: 88px;
        padding-bottom: 44px;
    }
    .sub-menu > li:after {
        content: "";
        display: block;
        position: absolute;
        right: 0;
        top: 88px;
        width: 0;
        height: 355px;
        border-right: 3px dotted var(--green-dark);
    }
    .sub-menu > li:nth-child(3n):after {
        display: none;
    }
    .sub-menu > li > a {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        padding: 10px;
        max-width: 312px;
        margin-left: auto;
        margin-right: auto;
    }
    .sub-menu > li > a > span {
        display: block;
        width: 100%;
    }
    .sub-menu .menu-item-title {
        position: relative;
        padding-bottom: 30px;
        margin-bottom: 30px;
    }
    .sub-menu .menu-item-title:after {
        content: "";
        display: block;
        width: 106px;
        height: 2px;
        background-color: var(--green);
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        margin-left: auto;
        margin-right: auto;
    }

    .main-nav li:hover > .sub-menu:after {
        content: "";
        width: 100%;
        height: 100vh;
        display: block;
        position: absolute;
        background-color: rgba(14, 35, 57, 0.68);
        top: 100%;
        left: 0;
        right: 0;
        pointer-events: none;
    }
}
@media screen and (min-width: 1680px) {
    .main-nav > ul {
        padding-right: 130px;
    }
}

.menu-button {
    z-index: 10;
    display: block;
    position: fixed;
    top: 0;
    right: 40px;
    width: 74px;
    height: 74px;
    border: none;
    background-color: #1dd672 !important;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 24px 16px;
    outline: none;
}

@media screen and (min-width: 1000px) {
    .menu-button,
    .menu-button:hover {
        display: none;
        background-color: transparent;
    }
}

.menu-button:focus {
    background-color: transparent;
}

.nav-line {
    width: 44px;
    height: 2px;
    background-color: #000;
    left: 0;
    right: 0;
    margin: 0 auto;
    transform-origin: center center;
    transition: all 0.5s ease-in-out;
}

.line-top {
    position: absolute;
    top: 23px;
    -webkit-animation: menutopstart 0.5s forwards;
    animation: menutopstart 0.5s forwards;
}

.nav_is_open .line-top {
    top: calc(50% - 1px);
    -webkit-animation: menutop 0.5s forwards;
    animation: menutop 0.5s forwards;
}

.line-center {
    position: absolute;
    top: calc(50% - 1px);
    transition: opacity 0.2s ease-in-out 0.2s;
}

.nav_is_open .line-center {
    opacity: 0;
}

.line-bottom {
    position: absolute;
    bottom: 23px;
    -webkit-animation: menubottomstart 0.5s forwards;
    animation: menubottomstart 0.5s forwards;
}

.nav_is_open .line-bottom {
    bottom: calc(50% - 1px);
    -webkit-animation: menubottom 0.5s forwards;
    animation: menubottom 0.5s forwards;
}

@media screen and (min-width: 1000px) {
    li.green-bg > a:before {
        content: "";
        display: block;
        position: absolute;
        background-color: #1dd672;
        width: 100%;
        height: 100%;
        z-index: -1;
        left: 0;
        right: 0;
        bottom: 10px;
        transition: all 0.2s ease-in-out;
    }
    .scrolled_a_bit li.green-bg > a:before {
        bottom: 0px;
    }
}

@media (hover: hover) {
    li.green-bg > a:hover {
        color: #fff;
    }
}

/*
===========
= CONTENT =
===========
 */

section.styled-txt {
    padding-top: 60px;
    padding-bottom: 60px;
}

@media screen and (min-width: 768px) {
    section.styled-txt {
        padding-top: 120px;
        padding-bottom: 120px;
    }
}

.full-img-container {
    position: relative;
    /* min-height: 274px; */
    margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
    .full-img-container {
        margin-bottom: 45px;
    }
}

.full-img-container img {
    /* -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center; */
    display: block;
    width: 100%;
    /* min-height: 274px !important; */
    margin-left: auto;
    margin-right: auto;
}

.hl-group :last-child {
    margin-bottom: 28px;
}

@media screen and (min-width: 768px) {
    .hl-group :last-child {
        margin-bottom: 38px;
    }
}

.bg-purple {
    color: #fff;
    background: transparent linear-gradient(180deg, #9a6784 0%, #777698 100%) 0% 0% no-repeat padding-box;
}

.bg-purple h1,
.bg-purple h2,
.bg-purple a:not([class]),
.bg-purple .cta {
    color: var(--purple);
}

.bg-purple .cta:hover {
    background-color: var(--purple);
    color: #fff;
}

.bg-green {
    color: #166565;
    background: transparent linear-gradient(180deg, #71c9c9 0%, #ddd85d 91%, #d6c14b 100%) 0% 0% no-repeat padding-box;
}

.bg-green .roof,
.bg-green a:not([class]) {
    color: #166565;
}

.bg-green .cta:hover {
    background-color: #166565;
    color: #fff;
}

.bg-grey-light {
    background-color: #f7f7f7;
}

.bg-grey {
    background-color: #eaeaea;
}

/* 2 Columns */

@media screen and (min-width: 1000px) {
    .col2 {
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }
    .row-reverse {
        flex-direction: row-reverse;
    }
    .col2-txt {
        flex: 1 1 50%;
        max-width: 636px;
    }
    .col2-img {
        flex: 1 1 50%;
    }
}

/* Grid 3 */

.grid3 {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 24px;
    font-size: 19px;
    line-height: 29px;
}

@media screen and (min-width: 768px) {
    .grid3 {
        gap: 48px;
        font-size: 19px;
        line-height: 29px;
    }
}

.grid3-item {
    display: block;
    margin-bottom: 115px;
    flex: 1 1 380px;
    max-width: 380px;
    color: #0e2339;
    text-decoration: none;
}
@media (hover: hover) {
    a.grid3-item:hover h3 {
        color: var(--green);
    }
}
.grid3.fivecols {
    gap: 0;
}
.grid3.fivecols .grid3-item {
    flex: 1 1 280px !important;
    margin-bottom: 35px;
}
@media screen and (min-width: 1000px) {
    .grid3.fivecols .grid3-item {
        flex: 0 0 calc(20% - 16px) !important;
        margin-bottom: 50px;
    }
}
.grid-icn {
    margin-bottom: 25px;
    /* max-width: 104px;
    margin-left: auto;
    margin-right: auto; */
}

.grid-icn img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.full-txt {
    margin-bottom: 2em;
}
img[src$=".svg"] {
    width: auto !important;
    height: auto !important;
}

/* Formular  */

form {
    margin-left: auto;
    margin-right: auto;
    max-width: 800px;
}

form .col2 {
    gap: 20px;
    align-items: flex-start;
}

textarea,
/* input.text, */
input[type="text"],
input[type="button"],
/* input[type="submit"], */
.input-checkbox,
input[type="tel"],
input[type="email"],
textarea {
    font-family: "Poppins", Helvetica, Arial, sans-serif;
    -webkit-appearance: none;
    border-radius: 0;
    display: block;
    border: 1px solid #166565;
    background-color: transparent;
    font-size: 18px;
    color: #000;
    padding: 10px;
    margin-bottom: 20px;
    border-radius: 4px;
    background-color: #fff;
    width: 100%;
}
.form-item {
    flex: 0 0 calc(50% - 10px);
}
.form-item label.main-label,
.wpcf7-quiz-label {
    text-align: left;
    display: block;
    font-size: 18px;
    font-weight: 500;
}
.wpcf7-checkbox {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0 20px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
.wpcf7-not-valid-tip {
    color: #dc3232;
    font-size: 1em;
    font-weight: normal;
    display: block;
    position: absolute;
    bottom: -20px;
    padding-left: 10px;
    font-size: 14px;
    line-height: 1em;
}
.wpcf7-list-item {
    display: inline-block;
    margin: 0 0 0 1em;
    font-size: 16px;
    line-height: 20px;
    display: block;
    text-align: left;
    flex: 0 0 calc(50% - 10px);
    padding-left: 0;
    margin-left: 0;
    margin-bottom: 10px;
}
textarea {
    width: 100%;
}
input[type="submit"] {
    font-family: "Poppins", Helvetica, Arial, sans-serif;
    display: inline-block;
    outline: none;
    border: 1px solid;
    background-color: transparent;
    text-align: center;
    text-decoration: none;
    padding: 0.5926em 25px;
    border-radius: 31px;
    line-height: 1;
    font-weight: 400;
    transition: all 0.15s ease-in-out;
    margin-top: 25px;
    font-size: 27px;
    line-height: 27px;
    border: 1px solid #166565;
    color: #166565;
}

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

.acceptance {
    margin-bottom: 20px;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    border: none;
    color: #f00;
}

/*
==========
= FOOTER =
==========
 */

.logo-footer {
    width: 100%;
    max-width: 120px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: -8px;
}

@media screen and (min-width: 768px) {
    .logo-footer {
        max-width: 147px;
        margin-bottom: 0;
    }
}

.footer1 {
    position: relative;
    background-image: url(assets/images/ui/footer-bg-m.svg);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    min-height: 500px;
    color: #fff;
    font-size: 17px;
    font-weight: 500;
    line-height: 26px;
    margin-top: -11vw;
}

@media screen and (min-width: 768px) {
    .footer1 {
        margin-top: -4.67vw;
    }
}

.footer2 {
    font-size: 12px;
    line-height: 19px;
    padding-top: 25px;
    padding-bottom: 25px;
}

@media screen and (min-width: 768px) {
    .footer1 {
        background-image: url(assets/images/ui/footer-bg-dt.svg);
        font-size: 19px;
        line-height: 29px;
    }
    .footer2 {
        font-size: 19px;
        line-height: 29px;
    }
}

.footer-group {
    max-width: 1450px;
    padding-top: 50px;
    padding-bottom: 50px;
}

.footer-col {
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    margin-bottom: 35px;
}

@media screen and (min-width: 600px) {
    .footer-group {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
        padding-top: 150px;
    }
    .footer-col {
        flex: 0 0 50%;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        text-align: left;
    }
    .footer1 .cta {
        position: relative;
        border-radius: 0;
        border: none;
        border-bottom: 1px solid #fff;
        background-color: transparent;
        text-align: left;
        padding-left: 0;
        display: block;
    }
    .footer1 .cta:after {
        content: ">";
        top: 7px;
        position: absolute;
        right: 0;
        font-size: 30px;
    }
}
footer p {
    font-size: 15px;
    line-height: 23px;
    -webkit-hyphens: manual;
    -ms-hyphens: manual;
    hyphens: manual;
}
@media screen and (min-width: 1000px) {
    footer p {
        font-size: 19px;
        line-height: 29px;
    }
    .footer-group {
        justify-content: space-between;
    }
    .footer-col {
        flex: 0 0 26.666%;
    }
    .footer-col:first-child {
        max-width: 260px;
        flex: 0 0 20%;
    }
    .footer-col-wide {
        max-width: 420px;
    }
    .footer-col-wide p {
        min-height: 116px;
    }
    .footer1 p {
        max-width: 260px;
    }
}

footer .cta {
    background-color: rgba(255, 255, 255, 0.75);
    color: #0f679f;
    margin-top: 0;
}

@media screen and (min-width: 768px) {
    footer .cta {
        background-color: transparent;
        color: #fff;
        margin-top: 25px;
    }
}

.footer1 h3 {
    text-transform: uppercase;
}

.footer-end {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer-nav > ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.footer-nav li {
    display: block;
    position: relative;
    padding-left: 10px;
    padding-right: 10px;
    color: #0e2339;
    font-size: 12px;
    line-height: 19px;
}

@media screen and (min-width: 768px) {
    .footer-nav li {
        font-size: 19px;
        line-height: 29px;
    }
}
.footer-nav li:after {
    display: block;
    position: absolute;
    content: "";
    width: 1px;
    height: 1em;
    right: 0;
    top: 5px;
    background-color: #0e2339;
}
.footer-nav li:last-child:after {
    display: none;
}
.wp-video {
    max-width: 1080px !important;
    display: block;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 50px;
}
.vid-smart {
    width: auto;
    max-width: 352px;
    /* border: 10px solid #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5); */
    overflow: hidden;
    border-radius: 6px;
    margin-left: auto;
    margin-right: auto;
}
.vid-smart video {
    width: 100%;
}
@media screen and (min-width: 768px) {
    .vid-smart {
        max-width: 372px;
        /* border: 20px solid #fff; */
        border-radius: 10px;
    }
}

.vid-square {
    max-width: 1080px;
}

video {
    display: block;
}

.footer-end p {
    font-size: 12px;
    line-height: 16px;
}
.copyright,
.footer-end .footer-nav {
    font-size: 12px;
    line-height: 16px;
    padding-left: 0;
    padding-right: 0;
}
.footer-end {
    padding-left: 10px;
    padding-right: 10px;
}
@media screen and (min-width: 768px) {
    .footer-end {
        padding-left: 0;
        padding-right: 0;
    }
    .copyright,
    .footer-end .footer-nav a {
        font-size: 15px;
        line-height: 16px;
        padding-left: 22px;
        padding-right: 22px;
    }
}
.section-full p,
.section-full .hl-group {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}
/*
==================
= RETINA & PRINT =
==================
 */

/*retina and print styles here*/

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
}

/*END MEDIA RETINA*/

@media print {
    @page {
        size: A4;
    }
    @page {
        margin: 80px;
    }
    @page: left {
        @bottom-left {
            content: "Page " counter(page) " of " counter(pages);
        }
    }
    body {
        font-size: 15px;
        color: #000000;
        letter-spacing: 0;
        line-height: 19px;
    }
    header {
        position: relative;
        width: 100%;
        height: 20px;
        width: 100%;
        max-width: 1078px;
        margin: 0 auto;
    }
    .header-container {
        box-shadow: none;
    }
    .logo {
        width: 150px;
        height: 53px;
        position: absolute;
        top: 0px;
        right: 0;
    }
    .frame {
        width: 100%;
        max-width: 1078px;
        margin: 0 auto;
    }
    .content {
        padding-top: 0;
    }
    section.section-hero {
        max-width: 1078px;
        margin: 0 auto 30px;
    }
    .post-date {
        font-weight: 700;
        font-size: 15px;
        color: #000000;
        letter-spacing: 0;
        line-height: 19px;
    }
    .post-author {
        font-size: 15px;
        color: #000000;
        letter-spacing: 0;
        line-height: 19px;
    }
    h2 {
        font-size: 30px;
        color: #000000;
        letter-spacing: 0;
    }
    * {
        background: transparent !important;
        color: black !important;
        text-shadow: none !important;
        -webkit-filter: none !important;
        filter: none !important;
        -ms-filter: none !important;
    }
    /* Black prints faster: h5bp.com/s */
    a,
    a:visited {
        text-decoration: underline;
    }
    a[href]:after {
        content: " (" attr(href) ")";
    }
    .logo:after {
        content: "" !important;
    }
    abbr[title]:after {
        content: " (" attr(title) ")";
    }
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }
}

/*END MEDIA PRINT*/
