:root {
    --p-color: 228, 34%;
    --p-l: 23%;
    --primary-color: hsla(var(--p-color), var(--p-l), 1);
    --primary-color-lighter: hsla(var(--p-color), calc(var(--p-l) + 10%), 1);
    --primary-color-darker: hsla(var(--p-color), calc(var(--p-l) - 10%), 1);
    --primary-color-darkest: hsla(var(--p-color), calc(var(--p-l) - 20%), 1);
    --s-color: 0, 0%;
    --s-l: 39%;
    --second-color: hsla(var(--s-color), var(--s-l), 1);
    --second-color-lighter: hsla(var(--s-color), calc(var(--s-l) + 10%), 1);
    --second-color-darker: hsla(var(--s-color), calc(var(--s-l) - 10%), 1);
    --second-color-darkest: hsla(var(--s-color), calc(var(--s-l) - 20%), 1);
    --float-button-size: 4rem;
}
body{
    color:var(--primary-color);
}


/* Header */
header {
    position:fixed;
    top:0;
    width:100%;
    background: transparent;
}
header *{
    color:#fff !important;
}
header.sticky{
    background: #ffffff;
}
header.sticky *{
    color:#333 !important;
}
header.sticky .logo-img{
    display:none;
}
header.sticky .alt-logo-img{
    display:block;
}


.header-wrapper {
    display: flex;
    align-items: center;
    gap: 2rem;
    position: relative;
}

.logo {
    padding:1rem 0;
    flex:1;
}

.logo > a{
    display:inline-block;
    text-decoration: none;
}

.logo img{
    height:55px;
}
.alt-logo-img{
    display:none;
}

.main-nav {
    align-self: stretch;
}
.main-nav a{
    color:#fff;
}
.main-nav a:lang(en){
    font-size:0.875rem;
}


.main-nav ul.lv0 {
    display: flex;
    justify-content: flex-end;
    height: 100%;
    margin:0;
}

.main-nav ul.lv0>li {
    height: 100%;
    display: flex;
    align-items: center;
}

.main-nav ul.lv0 > li >.nav-link {
    position:relative;
    padding: 0.5rem 1.5rem;
    text-align:center;
    line-height:1.2;
}
.main-nav ul.lv0>li>.nav-link:lang(en) {
    padding: 0.5rem 1rem;
}

.main-nav ul.lv0>li>.nav-link:after{
    content:"";
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    width:0;
    height:3px;
    background: #fff;
    transition: none;
}
header.sticky .main-nav ul.lv0>li>.nav-link:after{
    background: var(--primary-color);
}

.main-nav ul.lv0>li:hover>.nav-link:not(.btn):after {
    width:100%;  
    transition: width 0.2s ease-in;
}


.main-nav ul.lv0 ul {
    background: #fff;
    width: auto;
    min-width: 250px;
    box-shadow: 0 0 10px hsla(0, 0%, 0%, 0.1);
}

.main-nav ul.lv1 a{
    color:#333 !important;
}

.main-nav ul.lv1 .nav-item{
    border-bottom: 1px solid #f4f4f4;
}
.main-nav ul.lv1 .nav-item:last-child{
    border-bottom: 0 solid #f4f4f4;
}

.main-nav ul.lv1 .nav-link {
    position:relative;
    padding: 0.825rem 1.5rem;
    display:flex;
    gap: 0.5rem;
}
.main-nav ul.lv1 .nav-link:hover{
    color:var(--second-color);
}
.main-nav ul.lv1 .nav-link:before{
    content: "";
    position:relative;
    display:block;
    width: 0;
    transition: all 0.2s;
    height: 2px;
    background:var(--second-color);
    top:10px;
}

.main-nav ul.lv1 .nav-item:not(.has-child)>.nav-link:hover:before{
    width:12px
}

.main-nav ul.lv1 .nav-item.has-child:before{
    font: var(--fa-font-solid);
    content: '\f054';
    position:absolute;
    height:100%;
    right:0.75rem;
    top:calc(50% - 8px);
}


/* Mobile Menu */
#mobile-menu-wrapper,
.mobile-menu {
    background: #fff;
    color: #222;
}

.mobile-menu-header {
    border-bottom: 1px solid hsl(0, 0%, 95%);
}

.mobile-menu ul.lv0>li>a {
    padding: 13px 56px 13px 24px;
    font-size: 16px;
    line-height: 22px;
}

.mobile-menu a {
    color: #222;
    padding: 13px 56px 13px 24px;
    font-size: 16px;
    line-height: 22px;
}

.mobile-menu .nav-item.open,
.mobile-menu ul.lv1 {
    background: #F1F3F7;
}

.mobile-languages .lang-selector {
    display: none;
}

.mobile-languages .language-items{
    justify-content:flex-start;
    margin-left:1rem;
}

.mobile-languages .language-items > a {
    color: #333;
    opacity: 1;
}



/* Languages */
.languages{
    height:100%;  
}

.language-items{
    display:flex;
    justify-content: flex-end;
    gap: 0.5rem;
}

.language-items > a{
    display:block;
    font-size: 0.875rem;
    padding: 5px 8px;
    color: #fff;
    opacity:0.85;
}
.language-items > a:hover{
    opacity:1;
    font-weight:700;
}

/* FOOTER */
footer{
    background: var(--primary-color);
    padding: 2.5rem 0;
}
footer a{
    text-decoration: none;
}
footer, footer a, footer p{
    color:hsla(0, 0%, 100%, 0.7);
}
footer a:hover{
    color:#fff;
}

.footer-logo{
    margin-bottom:2rem;
}

.footer-content{
    margin-bottom:2rem;
    row-gap:2rem;
}

.footer-content-title{
    color:#fff;
    margin-bottom:0.5rem;
}
.footer-content-links{
    display:flex;
    flex-direction: column;
    gap:0.5rem;
}
.footer-content-text p{
    margin-block-start: 0.5rem;
    margin-block-end: 0.5rem;
    line-height:1.2;
}

.footer-content > div:last-child{
    display:flex;
    justify-content:flex-end;
}

@media(max-width:992px){
    .footer-content > div:last-child {
        justify-content: flex-start;
    }
}

.footer-content > div:last-child > .footer-content-item{
    width: auto;
}

.footer-social-medias{
    display:flex;
    gap: 1rem;
}

.footer-social-medias a{
    display:block;
}

.social-media-img{
    width:2rem;
    filter: brightness(0) saturate(100%) invert(100%) sepia(7%) saturate(29%) hue-rotate(329deg) brightness(109%) contrast(106%);
}


.disclaimers{
    display:flex;
    flex-wrap: wrap;
    column-gap:1rem;
    row-gap:0.5rem;
    margin-top:0.5rem;
}
.disclaimers > * {
    width:100%;
}

@media (min-width: 992px) {
    .disclaimers> * {
        flex: 1 0 0%;
    }
}

.disclaimers a{
    display:block;
    white-space: nowrap;
    font-size:0.825rem;
}
.disclaimers a:last-child{
    border-right: 0;
}

.copyright{
    text-align:center;
    font-size: 0.875rem;
}

footer hr{
    height: 1px;
    color: rgba(255,255,255,0.6);
    background: rgba(255,255,255,0.6);
    font-size: 0;
    border: 0;
    margin: 1rem 0;
}

.footer-disclaimer{
    font-size: 0.875rem;
}



/* common element */
header a,
footer a{
    text-decoration: none;
}

.nav-link.btn{
    margin: 0.5rem;
}
.btn{
    display:inline-block;
    text-align: center;
    padding: 0.75rem 1.5rem;
    min-width: 7.25rem;
    text-decoration: none;
    outline:none;
    border-style: none;
    font-size:1rem;
    cursor: pointer;
    background: #ccc;
}
.btn-style-outline{
    border: 1px solid #ccc;
    color:#ccc !important;
    background: transparent !important;
}

.btn-primary{
    background: var(--primary-color) !important;
    color:#fff !important;
}
.btn-primary.btn-style-outline{
    border: 1px solid var(--primary-color);
    color: var(--primary-color) !important;
    background: transparent !important;
}

.btn-primary:hover{
    background: var(--primary-color-darker) !important;
    color:#fff !important;
}

.btn-second{
    background: var(--second-color) !important;
    color:#fff !important;
}
.btn-second:hover{
    background: var(--second-color-darker) !important;
    color:#fff !important;
}
.btn-large{
    padding: 0.75rem 5rem;
}

input, textarea {
    padding: 16px 8px;
    width:100%;
    border: 1px solid #ccc;
    border-radius: 3px;
    margin-bottom: 1rem;
    font-size:1rem;
}
textarea{
    height:180px;
}

.subtitle{
    color:#2C3E50;
    text-transform: uppercase;
    margin-bottom: 1rem;
    line-height:1.2;
}
.subtitle:before{
    content:"";
    display:inline-block;
    vertical-align: middle;
    width: 2.5rem;
    height:2px;
    background:#2C3E50;
    margin-top:-4px;
    margin-right:1rem;
}

.text-center{
    text-align:center;
}