html {scroll-behavior: smooth;}
body{ margin: 0; padding: 65px 0 0; font-size: 16px; line-height: 24px; color: #11100F; }
img{ max-width: 100%; }

.button{ display: inline-block; text-decoration: none; font-size: 16px; line-height: 100%; font-weight: 700; font-family: 'Playfair Display',serif; color: #ffffff; background-color: #375485; padding: 12px 20px; border-radius: 10px; border: none; }

section{ scroll-margin-top: 80px; }

body.locked{ height: 100%; max-height: 100%; overflow: hidden; }

.read-more{ display: inline-block; color: #1952B5; text-transform: uppercase; font-size: 14px; font-weight: 500; line-height: 100%; font-family: 'Roboto',sans-serif; background-repeat: no-repeat; background-size: 16px; background-position: right center; padding-right: 20px; background-image: url(img/read-more.png); text-decoration: none; }

header{ position: fixed; top: 0; left: 0; width: 100%; background-color: #ffffff; z-index: 9990; padding: 15px 40px; box-shadow: 0 4px 4px 0 rgba(0,0,0,.1); }
header .logo img{ width: 180px; }
header ul{ margin: 0; padding: 0; list-style-type: none; }
header div > ul > li{ display: inline-block; margin-right: 20px; }
header ul ul{ display: none; background-color: #ffffff; position: absolute; top: 100%; left: calc(50% - 110px); width: 220px; padding: 10px 20px; border-radius: 10px; box-shadow: 0 4px 4px 0 rgba(0,0,0,.2); }
header ul li a{ display: block; font-size: 16px; line-height: 18px; color: #385585; text-decoration: none; font-family: 'Playfair Display',sans-serif; }
header ul li.menu-item-has-children{ position: relative; }
header ul li.menu-item-has-children > a{ background-image: url(img/menu-caret.png); background-repeat: no-repeat; background-size: 16px; background-position: right center; padding-right: 24px; }
header ul ul li{ padding: 10px 0; }
header ul li.menu-item-has-children:hover ul{ display: block; }
header ul li.menu-item-has-children:hover > a{ border-color: #385585; }

#mobile_menu{ position: fixed; top: 80px; right: -300px; z-index: 9989; background-color: #ffffff; height: calc(100vh - 80px); width: 300px; overflow-y: auto; padding: 30px 15px; box-shadow: -4px 0 4px 0 rgba(0,0,0,.1); transition: right .3s ease-in-out; -moz-transition: right .3s ease-in-out; -webkit-transition: .3s ease-in-out; }
#mobile_menu.open{ right: 0; }
#mobile_menu ul{ margin: 0; list-style-type: none; }
#mobile_menu ul li{ padding: 10px 0; }
#mobile_menu ul ul{ margin-top: 10px; }
#mobile_menu ul li a{ display: inline-block; font-size: 16px; line-height: 18px; color: #385585; text-decoration: none; padding-bottom: 2px; border-bottom: 1px solid transparent; font-family: 'Playfair Display',sans-serif; }
#mobile_menu ul li a:hover{ border-color: #385585; }
header .toggle-mobile-menu img{ display: none; width: 25px; }
header .toggle-mobile-menu img:first-of-type{ display: block; }
header .toggle-mobile-menu.open img:first-of-type{ display: none; }
header .toggle-mobile-menu.open img:last-of-type{ display: block; }


footer{ background-color: #212121; padding: 30px 0; }
footer ul{ padding: 0; margin: 0 0 30px; list-style-type: none; display: flex; justify-content: center; gap: 15px; }
footer a{ color: #ffffff; font-size: 16px; line-height: 19px; margin: 0; text-decoration: none; font-weight: 500; font-family: 'Playfair Display',serif; }
footer p{ color: #ffffff; font-size: 14px; line-height: 18px; margin: 0; text-decoration: none; font-weight: 500; }

.cookie-consent-container {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 99999;
    border-top: 1px solid #e6e5e5;
    background: #FFFFFF;
    box-shadow: 0 0 20px 0 rgb(0 0 0 / 20%);
}

.cookie-consent-container .container {
    padding: 20px;
    display: flex;
}

.cookie-consent-container .container .text {
    padding-right: 20px;
    flex-grow: 1;
    font-size: 18px;
}

@media only screen and (max-width: 575px) {
    .cookie-consent-container .container .text {
        padding-right: 0px;
    }
    .cookie-consent-container .container .btn-container {
        padding-top: 20px;
        text-align: center;
    }
    .cookie-consent-container .container {
        flex-direction: column;
    }
}

@media only screen and (max-width:767px){
    body{ padding-top: 80px; }
    footer p{ font-size: 12px; line-height: 16px; }
    footer a{ font-size: 14px; line-height: 18px; }
    header ul{ display: none; }
    footer ul{ flex-wrap: wrap; }
    footer ul li{ width: 100%; text-align: center; gap: 10px; }
}