/* FONT ********************************/
@font-face{font-family:'Poppins';src:url(../fonts/Poppins-SemiBold.woff) format("woff");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Castoro';src:url(../fonts/Castoro-Italic.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Anton';src:url(../fonts/Anton-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
.font-poppins{font-family:'Poppins';font-weight:600;font-style:normal}
.font-castoro{font-family:Castoro;font-weight:bold;font-style:italic;font-size:30px;}
.font-anton{font-family:Anton;font-weight:900;font-style:italic}

/* GENERALI ***************************/
*,:before,:after{box-sizing:border-box}
body {margin:0;padding:0;font-family:'Poppins',sans-serif}

/* PALETTE ****************************/
:root {
    --primary: #00B1D5;
    --primaryLight: #2AC3E3;
    --dark: #000;
    --white: #ffffff;
    --titleFontSize: clamp(3.75rem, 7.82vw, 6.25rem);
    --bodyFontSize: 25px;
    --sectionPadding: clamp(3.75rem, 7.82vw, 6.25rem) 0 clamp(2.5rem, 6.82vw, 6.25rem);
    --mobileContainerWidth: 95vw;
}

/* TITOLI ****************************/
h1, h2, h3, h4, h5{font-family:'Anton',sans-serif}
.title{font-family:'Anton';font-size:var(--titleFontSize);text-transform:uppercase;font-weight:500;line-height:1em;color:var(--dark);font-style:italic}
.text{font-size:var(--bodyFontSize);line-height:1.3em;max-width:50.625rem;color:var(--dark);margin:0}
@media only screen and (max-width: 63.9375rem) {
    .title,.text{text-align:center}
    .text{padding:0 1rem}
}
.primary{color:var(--primary)!important}
.white{color:var(--white)!important}
.dark{color:var(--dark)!important}

/* BTN ********************************/
.btn03{position:fixed;right:44px;bottom:44px;z-index:1000;isolation:isolate;display:inline-flex;min-height:58px;padding:1px;overflow:hidden;border-radius:50px;background:#00b1d5;background-size:220% 220%;
box-shadow: #0003 15px 28px 25px -18px;;color:#fff;font-family:anton,system-ui,sans-serif;font-size:1.2rem;font-weight:400;letter-spacing:2px;text-decoration:none;transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .4s ease,box-shadow 220ms ease}
.btn03.is-hidden-near-footer{transform:translateY(calc(100% + 60px));opacity:0;pointer-events:none}
.btn03-content{position:relative;z-index:2;display:flex;width:100%;align-items:center;justify-content:center;gap:.85rem;padding:.9rem 2rem .9rem 2.35rem;box-shadow: #0003 15px 28px 25px -18px;}
.btn03-label{white-space:nowrap}
.btn03-icon{display:grid;width:36px;height:36px;flex-shrink:0;place-items:center;box-shadow:inset 0 1px 0 #ffff 0 6px 14px #0000002e;transition:transform 220ms cubic-bezier(.2,.8,.2,1)}
.btn03-icon img{animation:btn03-icon-nudge 7s cubic-bezier(.22,1,.36,1) infinite}
@keyframes btn03-icon-nudge{
0%,82%,100%{transform:translateX(0)}
87%{transform:translateX(7px)}
92%{transform:translateX(0)}
96%{transform:translateX(4px)}
98%{transform:translateX(0)}
}
.btn03:hover{background-position:100% 50%;transform:translateY(-4px);box-shadow: #0000004d 2px 8px 8px -5px;filter:saturate(1.15)}
.btn03:hover .btn03-icon{transform:translateX(4px)}
.btn03:active{transform:translateY(-1px) scale(0.985);-webkit-box-shadow: 0px 5px 17px -4px rgba(0,0,0,0.42);box-shadow: 0px 5px 17px -4px rgba(0,0,0,0.42)}
.btn03:focus{outline:none}
.btn03:focus-visible{outline-offset:5px}
@media (max-width: 480px) {
.btn03{right:16px;bottom:16px;width:calc(100% - 32px)}
}

/* SOTTOLINEATURA ********************************/
.wave-word{position:relative;display:inline-block;white-space:nowrap;isolation:isolate}
.wave-stroke{position:absolute;z-index:-1;left:-5%;bottom:-20%;width:116%;height:64%;overflow:visible;pointer-events:none}
.wave-stroke path{fill:none;stroke:var(--primary);stroke-width:32;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;transition:stroke-dashoffset 1.35s cubic-bezier(.65,0,.35,1),opacity .25s ease}
.wave-word.is-visible .wave-stroke path{stroke-dashoffset:0;opacity:1}
@media (prefers-reduced-motion: reduce) {
.wave-stroke path{transition:none;stroke-dashoffset:0;opacity:1}
.btn03-icon img{animation:none}
.btn03{transition:none}
}

/* UTILI ******************************/
.d-none{display:none!important}
.d-block{display:inline-block!important}
.d-flex{display:flex!important}
@media only screen and (min-width: 64rem) {
.d-lg-none{display:none!important}
.d-lg-block{display:inline-block!important}
.d-lg-flex{display:flex!important}
}
