/* #region - ROOT ---------------------------- */
:root {
    /* global */
    --font-size: 16px;
    --color: #333;
    --font-1: "Montserrat";
    /* links */
    --a: #007799;
    --ahover: #007799;       
    /* nav links */
    --nav-fs: 14px;
    --nav-a: #007799;    
    --nav-ahover: #007799;    
    --nav-bg: #f5f5f5;    
    --nav-bghover: #e5e5e5;    
    /* mob links */    
    --mob-fs: 14px;    
    /* header */
    --stickybg: rgba(255,255,255,0.7);    
    --btn-border: rgba(150, 150, 150, 1);
    --btn-overlay: rgba(255,255,255,0.5);
    /* bg image video */
    --bg-height: 380px; 
    /* logo */
    --logo: 150px;
    --logo2: 120px;
    /* icons */
    --icon-width: 80px;    
    --icon-height: 80px;    
    /* color */
    --color1: #333333;
    --color2: #00A3D9;
    --color3: #00A3D9;
    /* background */
    --bg1: #f5f5f5;
    --bg2: #eeeeee;
 }

body .element {
    font-size: var(--font-size);
    color: var(--color);
    font-family: var(--font-1);
}
/* #endregion */

/* #region - ELEMENTS ---------------------------- */
header.element, section.element { position: relative; }
section.element .wrap { display: flex; }
section.element p { font-size: inherit; }

img, picture { max-width: 100%; height: auto; }

.element sup { top: -1em; font-size: 45%; }
.element .dnone { display: none; }

/* #endregion */

/* #region - LOGO -------------------------------- */
header a.navbar-brand { padding: 0; display: inline-flex; transition: width 0.1s linear; }
#navbar-float a.navbar-brand { transition: width 0s; }

header a.navbar-brand { width: var(--logo); }
#navbar-float a.navbar-brand { width: var(--logo2);  }
header.sticky-head .navbar-brand { width: var(--logo2); }
/*
#navbar-float a.navbar-brand,
#navbar-float a.navbar-brand img {
    transition: none;
}
/* #endregion */

/* #region - CONTAINER --------------------------- */

.element .container-xl,
.element .max-1200 { max-width: 1200px; }
.element .container,
.element .container-xl { position: relative; z-index: 5; }

/* #endregion */

/* #region - BUTTONS x LINKS---------------------- */

.element a, .element a:hover, .element a:focus, 
.element a:active,.element a.active,
.menu-item a, .menu-item a:hover, .menu-item a:focus, 
.menu-item a:active, .menu-item a.active {
    outline: 0;
    text-decoration: none;
}

.element a:hover { cursor: pointer; color: var(--ahover); }
.element a, .menu-item a { color: var(--a); transition: 0.5s; }

.btn, .btn-default, .btn-d { position: relative; overflow: hidden; }

.btn.btn-d, .btn.btn-s { border: 1px solid var(--btn-border); }

.btn span { z-index: 2; position: relative; }

.btn .overlay {
    background-color: var(--btn-overlay);
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    height: 0;
    width: 0;
    transition: 0.2s;
}    
.btn:hover .overlay {
    width: 100%;
    height: 100%;
}

.btn.btn-s span { color: var(--btn-overlay); }
.btn.btn-s:hover span { color: var(--btn-border); }
.btn.btn-s { background-color: var(--btn-border); }

.btn[data-icon] { 
    padding-left: 45px;
    background-position: 10px center;
    background-repeat: no-repeat;
    background-size: 25px;
}
.btn.btn-icon { border: 1px solid var(--btn-border); }
.btn.btn-icon:hover { background-color: var(--btn-overlay); }

.link-more .overlay {
    display: none;
}

.btn-loop .btn {
    margin: 0 7px;
}

.btn.focus, .btn:focus { box-shadow: none; }
.btn-loop .btn:first-child { margin-left: 0; }
.btn-loop .btn:last-child { margin-right: 0; }

/* #endregion */

/* #region - POSITIONS AND Z-INDEX --------------- */

.on-dbtm { position: relative; z-index: 5; }
.on-dtop { position: relative; z-index: 10; }
.on-dtop-m { z-index: 20; }

.abcenter {
    position: absolute; top: 50%; left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

/* #endregion */

/* #region - ICONS + SVG ------------------------- */

.icon-bg, .icon-bg.dflex-center { display: inline-flex; }
.icon-bg img, .icon-bg svg { 
    width: 100%; 
    height: 100%; 
}
.icon-bg {
    width: 100%; 
    max-width: var(--icon-width);
    height: var(--icon-height);
}

.svg-inline--fa, .svgicon { display: inline-block; }

.svg-inline--fa {
    display: inline-block;
    font-size: inherit;
    height: 1em;
    overflow: visible;
    vertical-align: -.125em
}

.icon-s { width: 40px;
    height: 40px;
    padding: 10px;
    border: 1px solid rgba(0,0,0,0.1);
    border-radius: 100%;
    margin-right: 20px;
}
.contact-address .icon-s { padding: 12px; }    
.sc-contact, .sc-link { display: inline-flex; align-items: center; }
.sc-contact p { margin-bottom: 0; }

/* #endregion */

/* #region - CONTENT ----------------------------- */

.cover-fit-img {
    -o-object-fit: cover;
    object-fit: cover;
    overflow: hidden;
}

.w-100 { width: 100%; }

hr {
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 0;
    border-top-color: currentcolor;
    border-top-style: none;
    border-top-width: 0px;
    border-top: 1px solid rgba(0,0,0,.1);
}

/* #endregion */

/* #region - TEXT -------------------------------- */
.text-center { text-align: center; } 
.text-left { text-align: left; } 
.text-right { text-align: right; } 

.novisual,
span.novisual,
label.novisual {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/* #endregion */

/* #region - IMAGE + IFRAME------------------------------- */

.hide-alt {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    font-size: 0px;
}

.element iframe {
    border: none;
    height: 100%;
}
.bg-iframe.yt-iframe-bg {
    inset: 0px;
    overflow: hidden;
}
.yt-iframe-bg iframe {
    top: 50% !important;
    left: 50% !important;    
    transform: translateY(-50%) translateX(-50%) scale(1.2);
}

/* #endregion */

/* #region - FLEX -------------------------------- */
.dnone { display: none; }
.dflex { display: flex; }

.vcenter, .dflex-vcenter { align-items: center; }
.dflex-vtop { align-items: flex-start; }
.dflex-vbottom { align-items: flex-end; }

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

.idflex-center {
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

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

/* #endregion */

/* #region - BACKGROUNDS : IMAGE + VIDEO  -------------- */

.bg-img, .bg-vid, .bg-iframe {
    height: var(--bg-height);
}

.dimage { overflow: hidden; }

.bg-img {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.bg-img.con { background-size: contain; }

.bg-img.auto {
    background-size: auto;
    background-color: #E5E5E5;
}

.vid {
    position: absolute;
    min-width: 100%; min-height: 100%;
    width: 100%; height: 100%;
    top: 50%; left: 50%;
    transform: translateX(-50%) translateY(-50%);
    object-fit: cover;
}
.overlay.vid {
    overflow: hidden;
}
.dvideo { 
    position: relative; 
    overflow: hidden; 
}
.dvideo.inlined {
    display: inline-block;
    width: 100%;
}
.dvideo.overlay { position: absolute; }

.overlay.top .vid {
    width: auto;
    height: auto;
    top: 0%;
    transform: translateX(-50%);
}

.overlay.bottom .vid {
    width: auto;
    height: auto;
    top: unset;
    bottom: 0%;
    transform: translateX(-50%);
}

.overlay.olemask { z-index: 2; }

/* #endregion */

/* #region - BACKGROUNDS + OVERLAY  -------------- */
.bg-grey { background-color: #efefef; }

.overlay { 
    position: absolute; 
    height: 100%; width: 100%; 
    top: 0px; left: 0px; z-index: 1;
}

.bg-overlay {}
.top-overlay { top: 0px; bottom: inherit; }
.btm-overlay { top: inherit; bottom: 0px; }

.btm-overlay { z-index: 2; }

.bg-parallax {
    background-attachment: fixed;
    background-size: cover;
    background-position: 50% 90%;
    position: relative;
}

.btn-vid.yt {
    opacity: 0.6;
    position: absolute;
    z-index: 2;
    width: 90px;
    height: 63px;
    transition: 0.5s;
    background: url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJZb3VUdWJlX0ljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIKCSB5PSIwcHgiIHZpZXdCb3g9IjAgMCAxMDI0IDcyMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTAyNCA3MjE7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDFfeXRfcGxheXtvcGFjaXR5OjAuMTI7ZmlsbDojNDIwMDAwO2VuYWJsZS1iYWNrZ3JvdW5kOm5ldyAgICA7fQoJLnN0Ml95dF9wbGF5e2ZpbGw6dXJsKCNTVkdJRF8xX3R5X3BsYXkpO30KPC9zdHlsZT4KPHBhdGggaWQ9IlRyaWFuZ2xlIiBmaWxsPSIjRkZGRkZGIiBkPSJNNDA3LDQ5M2wyNzYtMTQzTDQwNywyMDZWNDkzeiIvPgo8cGF0aCBpZD0iVGhlX1NoYXJwbmVzcyIgY2xhc3M9InN0MV95dF9wbGF5IiBkPSJNNDA3LDIwNmwyNDIsMTYxLjZsMzQtMTcuNkw0MDcsMjA2eiIvPgo8ZyBpZD0iTG96ZW5nZSI+Cgk8Zz4KCQkKCQk8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzFfdHlfcGxheSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI1MTIuNSIgeTE9IjQ4LjMiIHgyPSI1MTIuNSIgeTI9Ijc2Ni44IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIDEgMCAtNDcpIj4KCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0U1MkQyNyIvPgoJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojQkYxNzFEIi8+CgkJPC9saW5lYXJHcmFkaWVudD4KCQk8cGF0aCBjbGFzcz0ic3QyX3l0X3BsYXkiIGQ9Ik0xMDEzLDE1Ni4zYzAsMC0xMC03MC40LTQwLjYtMTAxLjRDOTMzLjYsMTQuMiw4OTAsMTQsODcwLjEsMTEuNkM3MjcuMSwxLjMsNTEyLjcsMS4zLDUxMi43LDEuM2gtMC40CgkJCWMwLDAtMjE0LjQsMC0zNTcuNCwxMC4zQzEzNSwxNCw5MS40LDE0LjIsNTIuNiw1NC45QzIyLDg1LjksMTIsMTU2LjMsMTIsMTU2LjNTMS44LDIzOC45LDEuOCwzMjEuNnY3Ny41CgkJCUMxLjgsNDgxLjgsMTIsNTY0LjQsMTIsNTY0LjRzMTAsNzAuNCw0MC42LDEwMS40YzM4LjksNDAuNyw4OS45LDM5LjQsMTEyLjYsNDMuN2M4MS43LDcuOCwzNDcuMywxMC4zLDM0Ny4zLDEwLjMKCQkJczIxNC42LTAuMywzNTcuNi0xMC43YzIwLTIuNCw2My41LTIuNiwxMDIuMy00My4zYzMwLjYtMzEsNDAuNi0xMDEuNCw0MC42LTEwMS40czEwLjItODIuNywxMC4yLTE2NS4zdi03Ny41CgkJCUMxMDIzLjIsMjM4LjksMTAxMywxNTYuMywxMDEzLDE1Ni4zeiBNNDA3LDQ5M1YyMDZsMjc2LDE0NEw0MDcsNDkzeiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPgo=);
}

.remove_scroll { overflow-y: hidden; }

/* #endregion */

/* #region - HERO VID ---------------------------- */

.bg-iframe { 
    position: relative; 
    overflow: hidden; 
    display: inline-block;
    width: 100%;
}
.bg-iframe.overlay { position: absolute; }

.diframe { 
    position: absolute;
    width: 100%; 
    height: 100%; 
}

/* #endregion */

/* #region - FOOTER ------------------------------ */

footer .copyright {
    border-top: 1px solid rgba(150, 150, 150, 0.2);
    font-size: 80%;
    padding: 30px 0;
}

footer .foot {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

/* #endregion */

/* #region - EXTENSION --------------------------- */
.social-icons a {
    margin: 0 5px;
    padding: 10px;
}
.social-icons .icon-bg {
    height: 20px;
    max-width: 20px;
}

.social-icons .icon-bg img {
    filter: grayscale(1);
    opacity: 0.7;
    transition: 0.5s;
}
.social-icons a { 
    border-radius: 100%;
    border: 1px solid rgba(0, 0, 0, 0.1);
    background-color: #e5e5e5;
}
.social-icons a:hover {
    background-color: #f5f5f5;
}
.social-icons a:hover .icon-bg img {
    filter: grayscale(0);
    opacity: 1;
}
/* #endregion */




/* #region - WP [Error] -------------------------- */
body.plugin-error main {
    display: none;
}
.plugin-error {
    padding-top: 100px;
    align-items: center;
}
.plugin-error .mx-auto {
    max-width: 500px;
}
.plugin-info {
    max-width: 700px;
}
.plugin-error footer {
    display: none;
}
.plugin-error .xdebug-error {
    display: none;
}
.plugin-error .hide-me {
    display: block !important;
}

/* #endregion */

/* #region - RESPONSIVE -------------------------- */

.desktop-view,
.desktop-view-md,
.desktop-view-lg {
    display: block;
}

tr.desktop-view-md {
    display: table-row;
}
th.desktop-view-md,
td.desktop-view-md {
    display: table-cell;
}

.mobile-view,
.mobile-view-md,
.mobile-view-lg {
    display: none;
}

@media only screen and (max-width: 768px) {
    section.no-br br { display: none; }
}

@media only screen and (max-width: 1200px) {
    .desktop-view-lg { display: none; }
    .mobile-view-lg  { display: block; }
}

@media only screen and (max-width: 768px) {
    .desktop-view-md { display: none; }
    .mobile-view-md  { display: block; }

    tr.mobile-view-md { display: table-row; }
    th.desktop-view-md, td.desktop-view-md { display: none; }    
}

@media only screen and (max-width: 480px) {
    .desktop-view { display: none; }
    .mobile-view  { display: block; }
    .navbar-brand {  margin-right: 0px; }
}

/* #endregion */

/* #region - ANIMATIONS -------------------------- */

.ani-hide { visibility: hidden; }
.ani-appear {  visibility: visible !important; }

/* #endregion */

/* #region - JS [Light Slider] ------------------- */

.lsarrows {
    /* from lightslider */
    width: 10px;
    height: 27px;
    cursor: pointer;
    position: absolute;
    top: calc(50% - 17px);
}

.lsarrows.prev {
    transform: rotate(180deg);
    left: -10px;
}

.lsarrows.next {
    right: -10px;
}

/* #endregion */

.element input:focus-visible {
    border: 1px solid rgba(0, 0, 0, 0.5);
    outline: none;
    /* filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.1)); */    
}

/* #region - W3S [Custom Select] ----------------- */

.w3cs {
    /* custom select */
    position: relative;
    font-weight: 300;
    font-size: 17px;
    border: 1px solid #E5E5E5;
    background-image: url("data:image/svg+xml,%3Csvg width='13' height='7' viewBox='0 0 13 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.14822 0.368592C1.31467 0.183438 1.52948 0.198595 1.79264 0.414063L6.67543 4.55649L11.5778 0.437223C11.8419 0.223004 12.0568 0.208864 12.2224 0.394804L12.8506 1.09942C13.0259 1.30491 12.9864 1.51478 12.7319 1.72902L7.00756 6.57877C6.78251 6.76378 6.5579 6.76325 6.33373 6.57717L0.632367 1.70038C0.37897 1.48494 0.340405 1.27489 0.516671 1.07022L1.14822 0.368592Z' fill='%233F3A34' fill-opacity='0.5'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-position: 95% center;
    padding: 9px 16px 8px;
    border-radius: 4px;
    background-color: white;
}

.w3cs select {
    display: none;
}

.w3cs .select-items div,
.w3cs .select-selected {
    cursor: pointer;
}

.w3cs .select-items div {
    padding: 8px 16px;
    border: 1px solid #E5E5E5;
    border-bottom: none;
    background-color: white;
}

.w3cs .select-items div:last-child {
    border-bottom: 1px solid #E5E5E5;
}

.w3cs .select-selected:after {
    position: absolute;
    content: "";
    top: 14px;
    right: 10px;
    width: 0;
    height: 0;
}

.w3cs .select-selected.select-arrow-active:after {
    border-color: transparent transparent #fff transparent;
    top: 7px;
}

.w3cs .select-items {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 99;
}

.w3cs .select-hide {
    display: none;
}

.w3cs .select-items div:hover,
.w3cs .same-as-selected {
    background-color: var(--color1);
    color: white;
}

.w3cs .same-as-selected {
    background-color: var(--color1) !important;
}

/* #endregion */

/* #region - JS [Scroll Up] ---------------------- */

.scroll-up a { background-color: rgba(100, 100, 100, 0.50); color: #fff; }
.scroll-up a { width: 38px; height: 38px; border-radius: 2px; opacity: 0.7;  }
.scroll-up a svg { height: 25px; width: 25px; }
.scroll-up { display: none; }
.scroll-up { position: fixed; z-index: 999; bottom: 1.8em; right: 1.8em; }

/* #endregion */
body .fancybox-close-small { background-color: red; color: white; }
body .fancybox-close-small { top: 0; right: -44px; }

@media only screen and (max-width : 768px) {  body .fancybox-close-small { right: 0; } }
