/*
Theme Name: Caffè Toso
Theme URI: https://tandu.it
Author: Tandu
Author URI: https://tandu.it/
Description: Tema di tandù per Caffè Toso
Version: 2024.1
License: GNU General Public License
License URI: https://www.gnu.org/licenses/gpl.html
Tags: tandu
Text Domain: caffetoso

WordPress Theme © 2024 Tandu
*/

@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400;700&display=swap');
@import url('https://fonts.cdnfonts.com/css/metropolis-2');

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{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}body{line-height:1}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{-webkit-appearance:none;appearance:none;border-radius:0}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}.screen-reader-text{clip:rect(1px, 1px, 1px, 1px);position:absolute !important}

/* --- GENERIC - TYPOGRAPHY --- */




/* --- :root --- */
:root {
    --header-lg: 84px;
    --header-md: 62px;

    --black: #1a1a1a;
    --white: #fbfbfb;
    --main: #941D33;
    --secondary: #C5A063;

    --gtr: 15px;
    /* --container: xx */
}

/* - Skipping bootstrap's containers - */
/* @media ( max-width: 990.1px ) {
    :root {
        --container: 2rem
    }
} */

/* .container-left { padding-left: var(--container); }
.container-right { padding-right: var(--container); } */

/* - GENERIC FONT FAMILY - */

html, body, div, span, applet, object, iframe, 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 {
    font-family: 'Metropolis', 'Josefin Sans', 'Helvetica', 'Arial', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Josefin Sans', 'Helvetica', 'Arial', sans-serif;
    margin-bottom: 0;   
}

html body {
    width: 100%;
    margin: 0 auto;
    color: var(--black);
}

.metropolis {
    font-family: 'Metropolis';
}

/* - Colored text - */
.white-text, .white-text * { color:var(--white) }
.black-text, .black-text * { color:var(--black) }
.red-text, .red-text * { color:var(--main) }
.gold-text, .gold-text * { color:var(--secondary) }

/* - Colored backgrounds - */
.black-bcg { background-color: var(--black) }
.white-bcg { background-color: var(--white) }
.red-bcg { background-color: var(--main) }

.fixed-background {
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
    background-repeat: no-repeat
}

@media screen and ( max-width: 768px ) {
    .fixed-background { background-attachment: scroll; }
}

/* - Uppercase, lowercase, centered text, right text, font weights- */

.no-uppercase, .no-uppercase * { text-transform: none !important }
.all-uppercase, .all-uppercase * { text-transform: uppercase !important }
.all-lowercase, .all-lowercase * { text-transform: lowercase !important }
.centered-text, .centered-text * { text-align: center !important }
.right-text, .right-text * { text-align: right !important; float: right !important }

.font-r,
.font-r > * { font-weight: 400 }
.font-m,
.font-m > * { font-weight: 500 }
.font-sb,
.font-sb > * { font-weight: 600 }
.font-b,
.font-b > * { font-weight: 700 }
.font-eb,
.font-eb > * { font-weight: 900 }
.font-u,
.font-u > * { text-decoration: underline }
.font-i,
.font-i > * { font-style: italic; }
.cap-text,
.cap-text > * { text-transform: capitalize }



/* - Basic definition - p - */
html {
    font-size: 16px !important;
    -webkit-font-3oothing: antialiased;
}
p, li {
    font-size: 1rem;
    line-height: 1.5em;
    margin: 0;
    -webkit-font-3oothing: antialiased;
}

.page-title {
    text-transform: uppercase;
    font-size: 3rem;
}
.title-p, .title-p * {
    font-size: 1rem;
    line-height: 1em;
}
.title-15, .title-15 * {
    font-size: 1.5rem;
    line-height: 1em;
}
.title-2, .title-2 * {
    font-size: 2rem;
    line-height: 1em;
}
.title-25, .title-25 * {
    font-size: 2.5rem;
    line-height: 1em;
}
.title-3, .title-3 * {
    font-size: 3rem;
    line-height: 1em;
}
.title-35, .title-35 * {
    font-size: 3.5rem;
    line-height: 1em;
}
.title-4, .title-4 * {
    font-size: 4rem;
    line-height: 1em;
}
.title-5, .title-5 * {
    font-size: 5rem;
    line-height: 1em;
}
.title-6, .title-6 * {
    font-size: 6rem;
    line-height: 1em;
}

.lh-15, .lh-15 * { line-height: 1.5em; }
.ls-2 { letter-spacing: 2px; }

/* - Titles, text, inline elements - */
h1, h2, h3, h4, h5, h6 { margin-bottom: 0; }

a { color: inherit }
.main_color a,
.main_color a:hover { color: inherit }

strong,
strong a,
b,
b a {
    font-size: inherit;
    font-weight: 700 !important;
    color: inherit !important;
}

/* - Readjusting gutters and container dimension for tablets - */
/* body .row {
    --bs-gutter-x: 3.5rem
}

@media ( max-width: 767.9px ) {
    body .row {
        --bs-gutter-x: 1.5rem
    }
} */

@media (max-width: 992px) {
    body .container { 
        max-width: 100%; 
        padding: 0px 20px;
    }
}


/* --- GENERIC --- */

@media (max-width: 992px){
    flex-lg-wrap {
        flex-wrap: wrap!important;
    }
}

/* - Images - */

img, a img {
    display: block;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    width: 100%;
    height: auto;
}

/* - Hidden elements - */
.hidden-element { display: none !important }
.hidden-title {
    display: none;
    position: fixed;
    top: -300px;
    left: -300px;
}

/* - Selection - */
::-moz-selection {
    background-color:var(--black);
    color:var(--white);
}

::selection {
    background-color:var(--black);
    color:var(--white);
}


/* --- GENERIC - ELEMENTS --- */

/* - Forms - */

.cf-row p {
    display: flex;
    justify-content: space-between;
}
.cf-row p span {
    width: calc(50% - .5rem);
}

textarea, input[type="text"], input[type="email"], input[type="button"], input[type="submit"], input[type="reset"], input[type="search"], input[type="password"] {
    /* border: none;
    border-bottom: 1px #64748B solid;
    color:#64748B; */
    width: 100%;
}
/* .cf-row p span input,
.cf-row p span input::placeholder,
div p span textarea,
div p span textarea::placeholder {
    color: #AAAAAA;
}

.cf-row p span input,
div p span textarea {
    width: 100%;
    background-color: #F5F3F3;
    padding: .5rem 1rem;
    border: none;
    margin-bottom: 2rem;
} */

.wpcf7-form-control-wrap[data-name="acceptance-pp"] {
    padding-left: 1.5rem;
    position: relative;
}


.wpcf7-form-control-wrap[data-name="acceptance-pp"] input[type="checkbox"] { display: none; }
.wpcf7-form-control-wrap[data-name="acceptance-pp"] .wpcf7-list-item-label {
    padding-left: 1.5rem;
    display: block;
    font-size: 1rem;
}
.wpcf7-form-control-wrap[data-name="acceptance-pp"] .wpcf7-list-item-label::before {
    content: ' ';
    width: 1rem;
    height: 1rem;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0, -50%);
    background-color: #F5F3F3;
}
.wpcf7-form-control-wrap[data-name="acceptance-pp"] input:checked ~ .wpcf7-list-item-label::before {
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='14px' height='14px' viewBox='0 0 14 14' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3EPath 6%3C/title%3E%3Cg id='22012021' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg id='associazione' transform='translate(-739.000000, -2300.000000)' stroke='%23CD0067' stroke-width='1.5'%3E%3Cpolyline id='Path-6' points='740.138329 2306.90481 744.823929 2313.09024 751.769219 2300.912'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: .8em .8em;
    background-position: center;
}

.wpcf7-form-control-wrap[data-name="acceptance-pp"] ~ br { display: none; }
body form p label {
    width: 100%;
}
body form .cf-row label span.cf-label,
body form p label span.cf-label {
    display: block;
    padding: 0.5em;
    font-weight: 500;
}
body form p,
body form p .wpcf7-form-control-wrap textarea {
    width: 100%;
}
.wpcf7 form.sent .wpcf7-response-output {
    color: var(--black);
    padding: 1rem;
}
span[data-name="acceptance-pp"] .wpcf7-list-item { margin-left: 0; }
span[data-name="acceptance-pp"] .wpcf7-list-item-label { color: var(--black) }
span[data-name="acceptance-pp"] .wpcf7-list-item-label a { color: var(--black) }
@media ( max-width: 576px ) {
    .cf-row p {
        flex-wrap: wrap;
    }
    .cf-row p span {
        width: 100%;
    }
    .cf-row p span:last-child { margin-top: 1rem; }
}

/* - Buttons - */
input[type="submit"],
body div .btn {
    min-width: 200px;
    position: relative;
    font-size: inherit;
    line-height: inherit;
    text-align: center;
    /* 
    Choose:
    width: auto;
    padding: 0; */
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    text-decoration: none;
}
body div .btn span {
    font-family: 'Helvetica', 'Arial', sans-serif;
}

/* body div .btn.icon {
    justify-content: space-between;
}
body div .btn.icon::after {
    content: ' ';
    width: 1.5rem;
    flex: 0 0 1.5rem;
    height: 1.5rem;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    margin-left: 1rem;
} */

a.clean-link,
a.clean-link:hover,
.clean-link a,
.clean-link a:hover {
    color: inherit;
    text-decoration: none;
}

a.btn-red{
    font-weight: 500;
    background: linear-gradient(to top, var(--main) 50%, var(--white) 50%);
    background-size: 100% 200%;
    background-position: 0 100%;
    border-radius: 250px;
    border: 2px solid var(--main);
    color: var(--white);
    padding: .5rem 3rem;
    text-decoration: none;
    transition: background-position 0.2s ease-in-out, color 0.2s ease-in-out;
}

a.btn-red:hover{
    background-position: 0 0;
    color: var(--main);
    border: 2px solid var(--main);
}

a.btn-gold{
    font-weight: 500;
    background: linear-gradient(to top, var(--secondary) 50%, #ffffff00 50%);
    background-size: 100% 200%;
    background-position: 0 100%;
    border-radius: 250px;
    border: 2px solid var(--secondary);
    color: var(--white);
    padding: 1rem 3rem;
    text-decoration: none;
    transition: background-position 0.2s ease-in-out, color 0.2s ease-in-out;
    text-align: center;
    width: 100%;
}

a.btn-gold:hover{
    background-position: 0 0;
    color: var(--secondary);
    border: 2px solid var(--secondary);
}

.cmb-1 { margin-bottom: 1rem !important }
.cmb-15 { margin-bottom: 1.5rem !important; }
.cmb-2 { margin-bottom: 2rem !important }
.cmb-3 { margin-bottom: 3rem !important }
.cmb-4 { margin-bottom: 4rem !important }
.cmb-5 { margin-bottom: 5rem !important }
.cmb-6 { margin-bottom: 6rem !important }

.cmt-1 { margin-top: 1rem !important }
.cmt-2 { margin-top: 2rem !important }
.cmt-3 { margin-top: 3rem !important }
.cmt-4 { margin-top: 4rem !important }
.cmt-5 { margin-top: 5rem !important }
.cmt-6 { margin-top: 6rem !important }

.cpb-1 { padding-bottom: 1rem !important }
.cpb-2 { padding-bottom: 2rem !important }
.cpb-3 { padding-bottom: 3rem !important }
.cpb-4 { padding-bottom: 4rem !important }
.cpb-5 { padding-bottom: 5rem !important }
.cpb-6 { padding-bottom: 6rem !important }

.cpt-1 { padding-top: 1rem !important }
.cpt-2 { padding-top: 2rem !important }
.cpt-3 { padding-top: 3rem !important }
.cpt-4 { padding-top: 4rem !important }
.cpt-5 { padding-top: 5rem !important }
.cpt-6 { padding-top: 6rem !important }

/* - Animations - REDO - */
.animated--bcg {
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 1;
}
.animated--bcg > * {
    z-index: 2;
}
.moving--img {
    overflow: hidden;
    position: relative;
}
.moving--img img:first-child { 
    opacity: 0;
    pointer-events: none;
}
.moving--img img:last-child { 
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

/* --- GENERIC - SITE SPECIFIC --- */

*:focus {
    outline: none !important
}
/* #content {
    padding-top: var(--header-lg);
} */

section {
    overflow: hidden;
    position: relative;
    margin-bottom: 5rem;
}
section.no-margin {
    margin-bottom: 0;
}

.gen--title {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.gen--p p {
    margin-bottom: 1em;
}
.gen--p p:last-child {
    margin-bottom: 0px;
}
.gen--bcg {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.gen--bcg-contain {
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.gen--bcg.gen--bcg-overlay {
    z-index: 1;
    position: relative;
}
.gen--bcg.gen--bcg-overlay::after {
    content: ' ';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    opacity: 0.25;
    background-color:var(--black)
}
.gen--bcg.gen--bcg-overlay > * {
    position: relative;
    z-index: 5;
}
.gen--bef_aft-contain::before,
.gen--bef_aft-contain::after {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.gen--img-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.gen--img-contain {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.gen--hero-video {
    width: 100%;
    height: 100vh;
    position: relative;
}
.gen--hero-video iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.gen--swiper-section {
    position: relative;
}
.gen--swiper-section .swiper-button-next::after,
.gen--swiper-section .swiper-button-prev::after {
    font-size: 1.25rem;
}
.gen--popup-gallery-wrapper .swiper-button-next::after,
.gen--popup-gallery-wrapper .swiper-button-prev::after {
    color:var(--white)
}
.gen--swiper-section .swiper-button-next, .gen--swiper-section .swiper-container-rtl .swiper-button-prev { right: -40px; }
.gen--swiper-section .swiper-button-prev, .gen--swiper-section .swiper-container-rtl .swiper-button-next { left: -40px; }

/* 
@media ( max-width: 768px ) {
    .gen--swiper-section .swiper-button-next, .gen--swiper-section .swiper-container-rtl .swiper-button-prev { right: -30px; }
    .gen--swiper-section .swiper-button-prev, .gen--swiper-section .swiper-container-rtl .swiper-button-next { left: -30px; }
} */


/* --- HEADER --- */
#masthead { display: none; }
#header {
    z-index: 100;
    position: fixed;
    width: 100%;
    top: 0;
    background-color: #ffffff00;
}

#header.header-bgc {
    background-color: #ffffff00;
    transition: background-color 0.5s ease;
}


/* Transparent menu > color menu */

body.home #header {
    position: fixed;
    background-color: transparent;
    transition: background-color 250ms ease;
}
body.home #header.scrolled {
    transition: background-color 250ms ease;
    background-color: var(--main);
}
body.home #content .home--hero {
    padding-top: calc(var(--header-lg)*2);
}

#header > .container .row .col-12 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: var(--header-lg);
    position: relative;
    z-index: 110;
}
#logo img {
    width: 108px;
    -o-object-fit: contain;
       object-fit: contain;
}

#logo-footer{
    width: 150px;
    -o-object-fit: contain;
       object-fit: contain;
}

.logo-spacer,
.header-spacer { flex-grow: 1; }
.header-spacer { width: 108px; }

#header #menu li a{
    text-decoration: none;
    color: var(--white);
    font-size: 1rem;
    font-weight: 500;
    text-transform: uppercase;
}

#header #menu-mobile li a {
    text-decoration: none;
    color: var(--black);
    font-size: 1.5rem;
    font-weight: 500;
    text-transform: uppercase;
    padding-bottom: 2rem;
}

#header > .container ul.menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 0;
    padding-left: 0;
}
#header > .container ul.menu li {
    padding: 0 20px;
    position: relative;
    display: flex;
    align-items: center;
}

#header > .container ul.menu li.menu-item-has-children ul.sub-menu {
    position: absolute;
    background-color: var(--white);
    padding: 5px;
    opacity: 0;
    pointer-events: none;
    top: 103%;
    left: 20px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}
#header > .container ul.menu li.menu-item-has-children:hover > a {
    border-bottom: 2px solid var(--black)
}
#header > .container ul.menu li.menu-item-has-children:hover ul.sub-menu {
    opacity: 1;
    pointer-events: all;
}
#header > .container ul.menu li.menu-item-has-children ul.sub-menu li { padding: 10px 20px; }
#header > .container ul.menu li.menu-item-has-children ul.sub-menu li a { border-bottom: none }

#menu-mobile ul.menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

/* --- HEADER - TABLET, MOBILE --- */
@media ( max-width: 1440.1px ) {
    #header > .container ul.menu li {
        padding: 0 10px;
        justify-content: center;
    }
}

/* --- MENU - MOBILE --- */
#menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
#nav-icon2 { display: none; }
.menu-phone-mobile { display: none; }
@media ( max-width: 1200px ) {
    /* #header > .container .row .col-12,
    #header > .container {
        height: var(--header-md);
    } */
    #content {
        /* padding-top: var(--header-md); */
        padding-top: 0;
    } 
    /* 
    Transparent header > color header
    body.home #content {
        padding-top: 0;
    } 
    body.home #content .home--hero {
        padding-top: calc(var(--header-md)*2);
    } */
    #logo img {
        width: 104px;
    }
}
@media ( max-width: 990.1px ) {
    #menu { display: none; }
    #nav-icon2 { display: block }
    .menu-phone-mobile { display: block; }
    .header--mobile {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }
}

#nav-icon2 {
    z-index: 150;
    width: 30px;
    height: 22.5px;
    position: relative;
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
}

#nav-icon2 span {
  display: block;
  position: absolute;
  height: 2px;
  width: 50%;
  background: var(--white);
  opacity: 1;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
      transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

#nav-icon2 span:nth-child(even) {
  left: 50%;
  border-radius: 0 9px 9px 0;
}

#nav-icon2 span:nth-child(odd) {
  left:0px;
  border-radius: 9px 0 0 9px;
}

#nav-icon2 span:nth-child(1), #nav-icon2 span:nth-child(2) {
  top: 0px;
}

#nav-icon2 span:nth-child(3), #nav-icon2 span:nth-child(4) {
  top: 10px;
}

#nav-icon2 span:nth-child(5), #nav-icon2 span:nth-child(6) {
  top: 20px;
}

.hamburger-active #nav-icon2 span:nth-child(1),.hamburger-active #nav-icon2 span:nth-child(6) {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
      transform: rotate(45deg);
}

.hamburger-active #nav-icon2 span:nth-child(2),.hamburger-active #nav-icon2 span:nth-child(5) {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
}

.hamburger-active #nav-icon2 span:nth-child(1) { left: 5px; top: 7px; }
.hamburger-active #nav-icon2 span:nth-child(2) { left: calc(50% - 5px); top: 7px; }
.hamburger-active #nav-icon2 span:nth-child(3) { left: -50%; opacity: 0; }
.hamburger-active #nav-icon2 span:nth-child(4) { left: 100%; opacity: 0; }
.hamburger-active #nav-icon2 span:nth-child(5) { left: 5px; top: 12px; }
.hamburger-active #nav-icon2 span:nth-child(6) { left: calc(50% - 5px); top: 12px; }

.menu-mobile--overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color:rgba(0,0,0,.5);
    -webkit-transform: translateX(120%);
        -ms-transform: translateX(120%);
            transform: translateX(120%);
    -webkit-transition: -webkit-transform 500ms ease-in-out;
    transition: -webkit-transform 500ms ease-in-out;
    -o-transition: transform 500ms ease-in-out;
    transition: transform 500ms ease-in-out;
    transition: transform 500ms ease-in-out, -webkit-transform 500ms ease-in-out;
    -webkit-backdrop-filter: blur(1px);
            backdrop-filter: blur(1px);
    z-index: 129;
}
#menu-mobile {
    z-index: 130;
    position: fixed;
    background-color: var(--white);
    width: 400px;
    text-align: center;
    right: 0;
    top: 0;
    bottom: 0;
    -webkit-transform: translateX(120%);
        -ms-transform: translateX(120%);
            transform: translateX(120%);
    -webkit-transition: -webkit-transform 500ms ease-in-out;
    transition: -webkit-transform 500ms ease-in-out;
    -o-transition: transform 500ms ease-in-out;
    transition: transform 500ms ease-in-out;
    transition: transform 500ms ease-in-out, -webkit-transform 500ms ease-in-out;
    padding-top: 90px;
    -webkit-box-shadow: -25px 0px 15px -5px rgba(0,0,0,0.15);
    box-shadow: -25px 0px 15px -5px rgba(0,0,0,0.15);
}
#menu-mobile ul li a {
    color:var(--black);
    text-decoration: none;
}


.hamburger-active #menu-mobile {
    -webkit-transform: translateX(0%);
        -ms-transform: translateX(0%);
            transform: translateX(0%);
    -webkit-transition: -webkit-transform 500ms ease-in-out;
    transition: -webkit-transform 500ms ease-in-out;
    -o-transition: transform 500ms ease-in-out;
    transition: transform 500ms ease-in-out;
    transition: transform 500ms ease-in-out, -webkit-transform 500ms ease-in-out;

}
.hamburger-active .menu-mobile--overlay {
    -webkit-transform: translateX(0%);
        -ms-transform: translateX(0%);
            transform: translateX(0%);
    -webkit-transition: -webkit-transform 500ms ease-in-out;
    transition: -webkit-transform 500ms ease-in-out;
    -o-transition: transform 500ms ease-in-out;
    transition: transform 500ms ease-in-out;
    transition: transform 500ms ease-in-out, -webkit-transform 500ms ease-in-out;
}

/* .hamburger-active #menu-mobile { display: none; } */

#logo-mobile {
    display: block;
    padding: 0;
    width: 180px;
    margin-left: 60px;
    margin-bottom: 30px;
}


.hamburger-wrapper {
    display: none;
    align-items: center;
    justify-content: center;
    height: 3rem;
    width: 3rem;
    border-radius: 50%;
    transition: background 250ms ease;
    position: relative;
    z-index: 500;
}

body.hamburger-active .hamburger-wrapper {
    background-color: var(--white);
}
body.hamburger-active #nav-icon2 span {
    background: var(--black);
}

@media ( max-width: 990.1px) {
    .hamburger-wrapper {
        display: flex;
    }
}

/* --- HOMEPAGE --- */

.home-page{
    height: 80vh;
}

button.accordion-button {
    padding: 1rem 1.5rem;
    font-size: 1rem;
    text-transform: uppercase;
    color: var(--black);
    text-align: left;
}

.accordion-body p{
    font-size: .85rem;
}

button.accordion-button:not(.collapsed){
    color: var(--main);
    background-color: var(--white);
}

button.accordion-button:focus{
    border-color: transparent;
    box-shadow: 0 0 0 0.1rem rgba(26,26,26,.1);
}

button.accordion-button:not(.collapsed)::after {
    background-image: url('data:image/svg+xml;utf8,<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 256 256"><path fill="%231a1a1a" d="M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z"/></svg>');
}

.scroll-indicator {
    position: absolute !important;
    right: 50px;
    top: 35%;
    width: 2px;
    height: 150px;
    background-color: rgba(255, 255, 255, 0.2);
    overflow: hidden;
}

@media screen and (max-width: 1024px){
    .scroll-indicator {
        position: relative !important;
        right: 0;
        top: 2rem;
        height: 100px;
    }
}

.line-scroll {
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 1);
    animation: scroll-indicator 2s infinite;
}

@keyframes scroll-indicator {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(100%);
    }
}

/* --- FOOTER --- */

.logo-footer {
    max-width: 11rem;
}
.social a {
    margin-left: 1rem;
    width: 1.5rem;
    height: 1.5rem;
    background-color: var(--white);
    border-radius: 50%;
}

.social-svg {
    background-color: var(--secondary);
    border-radius: 100%;
    padding: 3px;
    width: 2rem;
    height: auto;
}

/* --- 404 --- */
.error-404 {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.error-404 img {
    padding: 0 15px;
    max-width: 425px;
    margin: 0 auto 3rem;
}
body.error404 header { position: fixed !important }
body.error404 #content { padding-top: 0 }




/* --- STAMPA --- */
@media screen {
    .print-only { display: none; }
}
@media print {
    .screen-only { display: none; }
}