/*
/*
Theme Name: asticotheme
Theme URI: None
Author: asticoweb.com
Author URI: https://asticoweb.com
Description: Simple wordpress theme made with ❤️ by asticoweb.com | All rights reserved ©
Tags: theme, madewithlove, asticonet, asticoweb, asticoweb.com, asticotheme, coding, spreadthelove, personal, personaluseonly
Version: 5.0
License: License asticoweb.com
License URI: https://asticoweb.com
Text Domain: asticotheme
*/

::selection {
    background: var(--bleu);
    color: var(--ciel);
    text-shadow: none;
}

::-webkit-selection {
    background: var(--bleu);
    color: var(--ciel);
    text-shadow: none;
}

::-moz-selection {
    background: var(--bleu);
    color: var(--ciel);
    text-shadow: none;
}

*,
*:after,
*:before {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    outline: none !important;
    text-decoration: none;

}

section,
div,
header,
nav,
article,
section,
aside,
footer,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
ul,
li,
figure,
figcaption,
class,
img {

    margin: 0;
    padding: 0;
}


html,
body {

    width: 100%;
    padding: 0;
    margin: 0;
    font-family: 'Farro', sans-serif;
    position: relative;
    scroll-behavior: smooth;
    -webkit-tap-highlight-color: transparent;
}

body {

    overflow-x: hidden;
    overflow-y: overlay;
    background: white;
}

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
    border-left: solid 1px var(--blanc90);
}

::-webkit-scrollbar-thumb {
    background: var(--or);
    border-left: solid 1px var(--blanc90);
}

::-webkit-scrollbar-button {
    display: none;
}

.page main>section>h1,
br.clear,
a.post-edit-link {

    display: none;
}

input::placeholder,
textarea::placeholder {

    opacity: 1 !important;
}

input {

    accent-color: var(--or);
}


:root {
    --bleu: #041e41;
    --ciel: #ceeaef;
    --or: #cfa052;
    --gris25: #3c3e3f;
    --gris50: #797d7f;
    --gris75: #b6bbbf;
    --blanc90: #dae1e5;
    --blanc95: #e7edf2;
}

/*------------------------------------*\
    DARK MODE
\*------------------------------------*/

input[type="search"] {

    background: white;
}

.balance {

    text-wrap: balance;
}

.text-box {
    text-box: trim-both cap alphabetic;
}

.elementor-button .elementor-button-text span:first-child {

    display: block;
    text-align: center;
    text-transform: var(--e-global-typography-ae9fde8-text-transform);
    letter-spacing: var(--e-global-typography-ae9fde8-letter-spacing);
    color: white;
}

.elementor-button .elementor-button-text span sup {

    line-height: 0;
}

.before:before,
.after:after {

    content: '';
    width: 50px;
    height: 50px;
    background-color: var(--or);
    position: absolute;
    left: 50%;
    translate: -50%;
    mask-repeat: no-repeat !important;

}

.before:before {

    mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 85.71 73.79'%3E%3Cpath d='M85.69,73.79H0l7.14-14.29c7.14-14.29,0-38.89,0-38.89,0,0,14.29,3.19,14.29,38.89h14.29c0-12.27.67-24.08,1.92-34.35,1.23-10.28,3.02-19.01,5.22-25.15,4.42,12.28,7.14,34.96,7.14,59.5h14.29c0-35.7,14.29-38.89,14.29-38.89,0,0-7.14,24.61,0,38.89l7.14,14.29h-.03Z'/%3E%3C/svg%3E");
    mask-size: 85.7143%;
    mask-position: bottom;
    bottom: calc(100% + 12.5px);

}

.after:after {

    mask: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 52.38'%3E%3Cpath d='M100,0l-7.14,14.29h0c-3.94,0-7.14,3.19-7.14,7.14v10.33l-14.29,8.25v-18.58c0-3.94-3.19-7.14-7.14-7.14h0c-3.94,0-7.14,3.19-7.14,7.14v26.83l-7.14,4.12-7.14-4.12v-26.83c0-3.94-3.19-7.14-7.14-7.14h0c-3.94,0-7.14,3.19-7.14,7.14v18.58l-14.29-8.25v-10.33c0-3.94-3.19-7.14-7.14-7.14h0L0,0h100Z'/%3E%3C/svg%3E");
    mask-position: top;
    top: calc(100% + 12.5px);
}

.frame:after {

    content: '';
    position: absolute;
    pointer-events: none;
    inset: 12.5px;
    border: solid 2px var(--or);
    z-index: 1;
}

/*------------------------------------*\
    SWIPER
\*------------------------------------*/

.custom-swiper .swiper,
.custom-swiper .swiper-slide {

    overflow: visible !important;
}

.custom-swiper .elementor-swiper-button {

    width: 50px !important;
    height: 50px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    top: 50% !important;
    font-size: 16px !important;
    color: var(--bleu) !important;
    background-color: var(--or) !important;
    transition: background-color .3s !important;
}

.custom-swiper .elementor-swiper-button-prev {

    transform: translate(-25%, -50%) !important;
}

.custom-swiper .elementor-swiper-button-next {

    transform: translate(25%, -50%) !important;
}

.custom-swiper .swiper-button-disabled {

    opacity: 1 !important;
    background-color: var(--blanc90) !important;
    pointer-events: none;
}

.custom-swiper .swiper-button-lock {

    display: none !important;
}

/*------------------------------------*\
    UNDERLINE
\*------------------------------------*/


#header .boutique a span,
#header .reservation a,
#nav #menu-menu li a,
#nav .reservation a,
.underline .elementor-button-text,
.elementor-widget-text-editor a {

    position: relative;
}

.elementor-widget-text-editor a {

    line-height: 1.25 !important;
    display: inline-block;
}

#header .boutique a span:before,
#header .reservation a:before,
#nav #menu-menu li:not(.boutique) a:before,
#nav .reservation a:before,
.underline .elementor-button-text:before,
.elementor-widget-text-editor a:before {
    content: '';
    transform-origin: 0% 50%;
    transform: scale3d(1, 1, 1);
    transition: transform .3s;
    position: absolute;
    width: 100%;
    height: 2px;
    background: var(--or);
    top: 100%;
    left: 0;
    pointer-events: none;
}

#header .boutique a span:before,
#header .reservation a:before,
#nav #menu-menu li:not(.boutique) a:before,
#nav .reservation a:before {

    transform-origin: 100% 50% !important;
    transform: scale3d(0, 1, 1) !important;
}

#header .boutique a span:hover::before,
#header .reservation a:hover::before,
#nav #menu-menu li:not(.boutique) a:hover::before,
#nav .reservation a:hover::before {

    transform-origin: 0% 50% !important;
    transform: scale3d(1, 1, 1) !important;
}

#header .reservation a, #nav .reservation a {

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.underline a:hover .elementor-button-text:before,
.elementor-widget-text-editor a:hover::before {

    transform-origin: 100% 50% !important;
    transform: scale3d(0, 1, 1) !important;
}

.underline a {

    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    line-height: 1.25 !important;
    color: var(--bleu) !important;
}

/*------------------------------------*\
    OVERLAY
\*------------------------------------*/

.overlay:not(:has(.elementor-background-video-container, .elementor-motion-effects-container)):before,
.overlay:not(:has(.elementor-background-video-container, .elementor-motion-effects-container)):after,
.overlay .elementor-background-video-container:before,
.overlay .elementor-background-video-container:after,
.overlay .elementor-motion-effects-container:before,
.overlay .elementor-motion-effects-container:after {

    content: '' !important;
    position: absolute;
    inset: 0;
    background: var(--bleu);
}

.overlay:not(:has(.elementor-background-video-container, .elementor-motion-effects-container)):before,
.overlay .elementor-background-video-container:before,
.overlay .elementor-motion-effects-container:before {

    mix-blend-mode: color !important;
    z-index: 1;
}

.overlay:not(:has(.elementor-background-video-container, .elementor-motion-effects-container)):after,
.overlay .elementor-background-video-container:after,
.overlay .elementor-motion-effects-container:after {

    opacity: .8;
    z-index: 2;
}

.overlay>*:not(.elementor-background-video-container, .elementor-motion-effects-container) {

    z-index: 3;
}

/*------------------------------------*\
    LOADER
\*------------------------------------*/

main {

    translate: 0 150px;
    transition: translate .5s;
}

.active-main {

    translate: 0;
}

.active-main-link {

    translate: 0 -150px;
}

.loading {

    position: fixed;
    inset: 0;
    z-index: 999999;
    transition: translate .5s;
}

.loader-1 {

    background-color: var(--or);
    transition-delay: .3s;
}

.loader-2 {

    background-color: var(--ciel);
    transition-delay: .2s;
}

.loader-3 {

    background-color: var(--bleu);
    transition-delay: .1s;
}

.active-loader {

    translate: 0 -100%;
}

.active-loader-link {

    opacity: 0;
    translate: 0 100%;
}

.active-loader-1 {

    transition-delay: 0s;
}

.active-loader-2 {

    transition-delay: .1s;
}

.active-loader-3 {

    transition-delay: .2s;
}

/*------------------------------------*\
    EXIT
\*------------------------------------*/

#exit {

    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100lvh;
    background-color: rgba(4, 30, 65, .75);
    backdrop-filter: blur(5px);
    z-index: 999;
    display: none;
    cursor: pointer;
}

/*------------------------------------*\
    CHAT
\*------------------------------------*/

#chat-container,
#chat-container * {

    pointer-events: all;
}

#chat-container {

    position: fixed;
    right: 25px;
    bottom: 25px;
    z-index: 99998;
    transition: scale .3s;
}

.desactive-chat {

    scale: 0 !important;
}

#chat-container,
#chat-container svg {

    width: 66.666px;
    height: 66.666px;
}

#chat-container a,
#chat-container button {

    border: none;
    padding: 0;
    position: absolute;
    display: inline-flex;
    cursor: pointer;
    background: transparent;
}

#chat-container span.tooltip {

    background: white;
    color: var(--bleu);
    padding: 10px;
    padding-right: 20px;
    font-size: 14px;
    position: absolute;
    text-wrap: nowrap;
    right: calc(100% - 10px);
    top: 50%;
    translate: 0 -50%;
    line-height: 1;
    z-index: -1;
    opacity: 0;
    transition: opacity .3s;
    pointer-events: none;
}

#chat-container a {

    opacity: 0;
    transition: opacity .3s, translate .3s;
}

#chat-container>*:hover span.tooltip {

    opacity: 1;
}

#chat-container button svg #cross {

    display: none;
}

.active-chat-btn {

    opacity: 1 !important;
}

.active-chat-btn:nth-child(1) {

    translate: 0 calc(-100% - 6.25px) !important;
}

.active-chat-btn:nth-child(2) {

    translate: 0 calc(-200% - 12.5px) !important;
}

.active-chat-btn:nth-child(3) {

    translate: 0 calc(-300% - 18.75px) !important;
}

.active-chat-btn:nth-child(4) {

    translate: 0 calc(-400% - 25px) !important;
}

.active-chat-btn:nth-child(5) {

    translate: 0 calc(-500% - 31.25px) !important;
}

/*------------------------------------*\
    HEADER
\*------------------------------------*/

#header {

    position: fixed;
    top: 0;
    padding: 0 50px;
    width: 100%;
    z-index: 9999;
}

#header:before {

    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: white;
    border-bottom: solid 1px var(--blanc90);
    transform: translateY(calc(-100% - 1px));
    transition: transform .3s;
}

.active-header:before {

    transform: translate(0) !important;
}

#header .wrapper {

    max-width: 1680px;
    width: 100%;
    margin: 0 auto;
    display: flex;
}

#header .container {

    flex: 1;
    display: flex;
    align-items: center;
}

#header .container:last-child {

    justify-content: flex-end;
}

#header ul {

    list-style: none;
    display: flex;
    align-items: center;
    gap: 25px;
}

#nav .reservation li,
#nav .reservation a,
#header li,
#header a {

    color: white;
    line-height: 1.25em;
    text-align: center;
    transition: color .3s;
}

.active-header a {

    color: var(--bleu) !important;
}

#header .left ul {

    gap: 18.75px;
}

#nav #menu-menu>li.boutique>a,
#header .left a.boutique {

    display: inline-block;
    border: solid 2px var(--or);
    padding: 17px 22px;
    transition: background-color .3s, color .3s;
}

#nav #menu-menu>li.boutique>a:hover,
#header .left a.boutique:hover {

    background-color: var(--or);
}

#nav .reservation li:first-child,
#header .right li:first-child {

    padding-right: 25px;
    border-right: solid 2px var(--or);
}

#header a#logo {

    display: flex;
    transition: margin .3s;
}

.active-header a#logo {

    margin-bottom: -28.5px !important;
}

#header a#logo svg {

    height: 150px;
    width: auto;
    transition: height .3s;
}

.active-header a#logo svg {

    height: 125px !important;
}

#nav a span:first-child,
#header a:not(ul.boutique li a) span:first-child,
#menu span:first-child {

    text-transform: var(--e-global-typography-ae9fde8-text-transform);
    letter-spacing: var(--e-global-typography-ae9fde8-letter-spacing);
    display: block;
    color: var(--or);
}

#nav a span sup,
#header a:not(ul.boutique li a) span sup,
#menu span sup {

    line-height: 0;
}

#header ul.boutique {

    display: none;
}

#header ul.boutique li a span {

    display: block;
}

#header ul.boutique li a svg {

    max-width: 30px;
    height: 30px;
    fill: transparent;
    stroke: var(--or);
    stroke-miterlimit: 10;
    stroke-width: 8px;
    stroke-linejoin: round;
    stroke-linecap: round;
    transition: stroke .3s;
}

.active-header ul.boutique li a svg {

    fill: var(--bleu);
}

body.woocommerce #header ul.boutique {

    display: flex;
}

body.woocommerce #header ul.reservation {

    display: none;
}

/*------------------------------------*\
    NAV
\*------------------------------------*/

#nav {

    position: fixed;
    left: 50%;
    bottom: 0;
    width: max-content;
    max-width: 100vw;
    translate: -50% 100%;
    background: white;
    transition: translate .75s cubic-bezier(.85, 0, .075, 1), -webkit-translate .75s cubic-bezier(.85, 0, .075, 1);
    z-index: 99999;
}

.active-nav {

    translate: -50% 0 !important;
}

#nav .container {

    padding: 50px;
    padding-top: calc(37.5px * 2);
    text-align: center;
}

#nav li,
#nav a {

    line-height: 1;
}

#nav li {

    list-style: none;
    text-align: center;
}

#nav #menu-menu {

    display: flex;
    flex-direction: column;
    gap: 18.75px;
}

#nav #menu-menu>li:not(.btn)>a {

    font-size: 30px;
    text-transform: var(--e-global-typography-ae9fde8-text-transform);
    letter-spacing: var(--e-global-typography-ae9fde8-letter-spacing);
    color: var(--bleu);
}

#nav #menu-menu>li:not(.btn)>a:before {

    top: 90%;
}

#nav #menu-menu>li.menu-item-has-children {

    margin-bottom: 6.25px;
}

#nav #menu-menu>li>.sub-menu>li>.sub-menu {

    display: flex;
    justify-content: center;
    gap: 25px;
}

#nav #menu-menu>li>.sub-menu>li:first-child>.sub-menu {

    position: relative;
    margin-top: 12.5px;
    margin-bottom: 18.75px;
}


#nav #menu-menu>li>.sub-menu>li:first-child>.sub-menu>li>a {

    text-transform: var(--e-global-typography-ae9fde8-text-transform);
    letter-spacing: var(--e-global-typography-ae9fde8-letter-spacing);
    font-size: 20px;
}

#nav #menu-menu>li>.sub-menu>li>a {

    display: none;
}

#nav #menu-menu>li>.sub-menu>li>.sub-menu a {

    color: var(--or);
}


#nav .reservation {

    display: flex;
    justify-content: center;
    align-items: center;
    gap: 25px;
    padding: 37.5px;
    background: var(--ciel);

    display: none;
}

#nav .reservation a {

    color: var(--bleu);
}

#nav:before {

    content: '';
    position: absolute;
    pointer-events: none;
    inset: 12.5px 12.5px 0 12.5px;
    border: solid 2px var(--or);
    border-bottom: 0;
}

#nav:after {
    content: 'Portus Itius';
    position: absolute;
    left: 50%;
    translate: -50%;
    top: 0;
    background: var(--or);
    padding: 0 12.5px;
    line-height: 37.5px;
    text-transform: var(--e-global-typography-ae9fde8-text-transform);
    letter-spacing: var(--e-global-typography-ae9fde8-letter-spacing);
    font-weight: bold;
    color: white;
}

/*------------------------------------*\
    BURGER
\*------------------------------------*/

#menu {

    display: flex;
    align-items: center;
    padding: 15px 20px;
    gap: 6.25px;
    cursor: pointer;
    transition: background-color .3s;
}

#menu:hover {

    background-color: var(--ciel);
}

#menu>span {

    color: var(--bleu);
    translate: 0 2px;
}

#menu div {

    width: 1.25cap;
    height: .75cap;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

#menu div span {

    width: 100%;
    height: 3px;
    background: var(--bleu);
    position: absolute;
    transition: margin .3s, transform .3s, background-color .3s;
    transform-origin: center;
    margin-bottom: -.125em;
}

#menu div span.a {

    margin-bottom: calc(.75cap - 3px);
}

.active-first-span {

    transform: rotate(45deg) !important;
    margin: 0 !important;
}

#menu div span.b {

    margin-top: calc(.75cap - .125em);
}

.active-last-span {

    transform: rotate(-45deg) !important;
    margin: 0 !important;
}

/*------------------------------------*\
    FOOTER
\*------------------------------------*/

#footer {

    background-color: var(--bleu);
    padding: 50px;
    overflow: hidden;
}

#footer .wrapper {

    max-width: 1680px;
    width: 100%;
    margin: 0 auto;
    position: relative;
    text-align: center;
}

#footer .wrapper>* {
    position: relative;
    z-index: 1;
}

#footer .wrapper:before,
#footer .wrapper:after {

    content: '';
    position: absolute;
    bottom: 0;
    height: 100%;
    aspect-ratio: 1;
    opacity: .333;
    mix-blend-mode: overlay;
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100.2 133.86'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; stroke: %23fff; stroke-miterlimit: 10; stroke-width: .25px; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M100.18,81.34l-7.14,14.29h0c-3.94,0-7.14,3.2-7.14,7.14v10.33l-14.29,8.25v-18.58c0-3.94-3.2-7.14-7.14-7.14h0c-3.94,0-7.14,3.2-7.14,7.14v26.83l-7.14,4.12-7.14-4.12v-26.83c0-3.94-3.2-7.14-7.14-7.14h0c-3.94,0-7.14,3.2-7.14,7.14v18.58l-14.29-8.25v-10.33c0-3.94-3.2-7.14-7.14-7.14h0L.2,81.34h100-.02Z'/%3E%3Cpath class='cls-1' d='M93.04,74.19H7.32l7.14-14.29c7.14-14.29,0-38.91,0-38.91,0,0,14.29,3.19,14.29,38.91h14.29c0-12.28.68-24.09,1.91-34.37S47.97,6.51,50.18.37c4.42,12.28,7.14,34.97,7.14,59.53h14.29c0-35.71,14.29-38.91,14.29-38.91,0,0-7.14,24.62,0,38.91,0,0,7.14,14.29,7.14,14.29Z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
    z-index: 0;
}

#footer .wrapper:before {

    left: 0;
    translate: -50%;
}

#footer .wrapper:after {

    right: 0;
    translate: 50%;
}


#footer .wrapper,
#footer .container {

    display: flex;
    flex-direction: column;
    align-items: center;
}

#footer .wrapper {
    gap: 50px;
}

#footer li,
#footer a,
#footer button {

    color: white;
    transition: color .3s;
}

#footer button {

    padding: 0;
    background-color: transparent;
    cursor: pointer;
}

#footer img {

    height: 150px;
    width: auto;
}

#footer .social,
#footer .social a {

    display: flex;
    gap: 12.5px;
}

#footer .social svg {

    fill: var(--or);
    height: 30px;
    width: auto;
    transition: fill .3s;
}

#footer .social a:hover svg {

    fill: var(--ciel);
}

#footer ul {

    list-style: none;
    display: flex;
}

#footer ul.menu li:not(:last-child) {

    margin-right: 25px;
    padding-right: 25px;
    border-right: 2px solid var(--or);
}

#footer ul.menu li a:hover {

    color: var(--or);
}

#footer ul.contact {

    flex-direction: column;
    gap: 0;
    align-items: center;
}

#footer ul.contact br {

    display: none;
}

#footer ul.contact a {

    color: var(--ciel);
}

#footer ul.contact a:hover {

    color: var(--or);
}

#footer .sub-menu {

    display: none;
}

#footer a.baseline,
#footer .menu a {

    font-weight: var(--e-global-typography-ae9fde8-font-weight);
    text-transform: var(--e-global-typography-ae9fde8-text-transform);
    letter-spacing: var(--e-global-typography-ae9fde8-letter-spacing);
}

#footer a.baseline {

    color: var(--or);
    position: absolute;
}

#footer .mentions button:hover,
#footer .mentions a:hover,
#footer a.baseline:hover {

    color: var(--ciel);
}

#footer a.baseline:nth-child(odd) {

    left: 0;
}

#footer a.baseline:nth-child(even) {

    right: 0;
}

#footer a.baseline:nth-child(3),
#footer a.baseline:nth-child(4) {
    bottom: 0;
}

#footer .mentions {

    gap: 6.25px;
}

#footer .mentions ul {

    gap: 25px;
}

#footer .mentions button,
#footer .mentions a {

    color: var(--gris50);
    font-size: 14px;
}

#footer a#asticoweb {

    position: relative;
    display: flex;
    align-items: center;
    transition: color .3s;
}

#footer a#asticoweb:hover {

    color: var(--or);
}

#footer a#asticoweb:before {

    content: '';
    display: inline-block;
    width: 22.5px;
    height: 22.5px;
    margin-right: 6.25px;
    background-color: var(--gris50);
    transition: background-color .3s;
    -webkit-mask: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 194.4 200"><path d="M90.5,102.2c-1.2-.2-2.9-.3-4.1-.3-5.9-.4-12.2,1.5-15.3,6.3-5,6.9-3.9,19,3.7,23.8,3.4,2.3,7.8,2.8,13.4,2.2h0c11.7-1,22.3-7.9,28.6-17.6-6.6-7.8-15.9-13.2-26.3-14.4Z"/><path d="M108.3,0C59.7,0,0,59.3,0,109.3s59.7,90.7,108.3,90.7,86.1-40.7,86.1-90.7h0C194.4,59.5,156.9,0,108.3,0ZM137.2,142.2c0,3-2.5,5.4-5.5,5.3-2.9,0-5.3-2.4-5.3-5.3,0-3.1-.4-6.2-1.2-9.1-10,10.4-24.1,16.7-38.5,16.9-7.2.3-14.5-1.2-20.5-5.5-10.6-7.3-14.6-21.3-11.6-33.4,3-12.6,13.9-21.7,26.8-22.3,1.8-.2,3.7-.1,5.5,0,1,.1,3.1.2,4.1.3,11.6,1.5,22.6,7,30.8,15.3.4-1.6.6-3.5.8-5.1.1-1.1.1-2.7.1-3.9-.1-3.6-.8-7.1-2.3-10.4-.5-.9-1.1-2.3-1.7-3.1-8.6-14.2-28.9-16.6-40.3-4.5-9.8,9.5-24-4-14.9-14.3,17.9-18.3,49.2-17.5,65.9,2,6.7,7.5,10.7,17.4,11.1,27.4h0c.5,10.2-2.2,20.5-7.2,29.4,2.7,6.5,4,13.5,3.9,20.3Z"/></svg>') no-repeat;
    mask: url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8"%3F><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 194.4 200"><path d="M90.5,102.2c-1.2-.2-2.9-.3-4.1-.3-5.9-.4-12.2,1.5-15.3,6.3-5,6.9-3.9,19,3.7,23.8,3.4,2.3,7.8,2.8,13.4,2.2h0c11.7-1,22.3-7.9,28.6-17.6-6.6-7.8-15.9-13.2-26.3-14.4Z"/><path d="M108.3,0C59.7,0,0,59.3,0,109.3s59.7,90.7,108.3,90.7,86.1-40.7,86.1-90.7h0C194.4,59.5,156.9,0,108.3,0ZM137.2,142.2c0,3-2.5,5.4-5.5,5.3-2.9,0-5.3-2.4-5.3-5.3,0-3.1-.4-6.2-1.2-9.1-10,10.4-24.1,16.7-38.5,16.9-7.2.3-14.5-1.2-20.5-5.5-10.6-7.3-14.6-21.3-11.6-33.4,3-12.6,13.9-21.7,26.8-22.3,1.8-.2,3.7-.1,5.5,0,1,.1,3.1.2,4.1.3,11.6,1.5,22.6,7,30.8,15.3.4-1.6.6-3.5.8-5.1.1-1.1.1-2.7.1-3.9-.1-3.6-.8-7.1-2.3-10.4-.5-.9-1.1-2.3-1.7-3.1-8.6-14.2-28.9-16.6-40.3-4.5-9.8,9.5-24-4-14.9-14.3,17.9-18.3,49.2-17.5,65.9,2,6.7,7.5,10.7,17.4,11.1,27.4h0c.5,10.2-2.2,20.5-7.2,29.4,2.7,6.5,4,13.5,3.9,20.3Z"/></svg>') no-repeat;
}

#footer a#asticoweb:hover::before {

    background-color: var(--or);
}

/*------------------------------------------------------------------------*\
    RESPONSIVE
\*------------------------------------------------------------------------*/

@media only screen and (max-width:1024px) {

    #nav .reservation {

        display: flex;
    }

    /*------------------------------------*\
    FOOTER
\*------------------------------------*/

    #footer ul#menu-menu-1 {

        display: flex;
        flex-direction: column;
        text-align: center;
    }

    #footer ul.menu li:not(:last-child) {
        margin-right: 0;
        padding-right: 0;
        border-right: none;

    }

    #footer .mentions {

        padding-bottom: 75px;
    }
}

@media only screen and (max-width:650px) {

    .custom-swiper .elementor-swiper-button {

        width: 33.333px !important;
        height: 33.333px !important;
    }

    .custom-swiper .swiper {

        padding-right: 37.5px;
    }

    @media only screen and (max-width:650px) {

        .swiper-after .swiper-wrapper:after {

            content: 'Per Aspera Ad Astra';
            writing-mode: sideways-rl;
            right: 0;
            color: var(--gris75);
            font-weight: bold;
            font-family: var(--e-global-typography-ae9fde8-font-family), Sans-serif;
            font-size: var(--e-global-typography-ae9fde8-font-size);
            text-transform: var(--e-global-typography-ae9fde8-text-transform);
            letter-spacing: var(--e-global-typography-ae9fde8-letter-spacing);
        }
    }

    /*------------------------------------*\
    HEADER
\*------------------------------------*/
    #header {

        padding: 0 25px;
    }

    .active-header a#logo {

        margin-bottom: -25.5px !important;
    }

    #nav:before,
    #header .left ul li:last-child,
    #header .right ul li:first-child {

        display: none;
    }

    .active-header a#logo svg,
    #header a#logo svg {

        height: 112.5px !important;
    }

    #menu {

        padding: 10px 15px;
    }

    #chat-container,
    #chat-container svg {

        right: 12.5px;
        bottom: 12.5px;
    }

    #nav {

        width: 100vw;
    }

    #nav #menu-menu>li:not(.btn)>a {

        font-size: 25px;
    }

    #nav #menu-menu>li>.sub-menu>li:first-child>.sub-menu>li>a {

        font-size: 18px;
    }

    #nav .container {

        padding: 37.5px;
        padding-top: calc(37.5px * 2);
    }

    /*------------------------------------*\
    FOOTER
\*------------------------------------*/

    #footer .wrapper:before {

        left: 50%;

    }

    #footer .wrapper:after,
    #footer a.baseline {

        display: none;
    }

    #footer {

        padding: 50px 25px 25px 25px;
    }

    #footer .wrapper {

        gap: 37.5px;
    }

    #footer ul.contact br {

        display: inherit;
    }

    #footer .mentions {

        padding-bottom: 0;
        gap: 25px;
    }

    #footer .mentions ul {

        text-align: center;
        line-height: 1;
    }

    #footer .mentions a,
    #footer .mentions button {

        line-height: 1.5;
        font-size: 12px;
    }

}