@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@400;500;900&family=Sriracha&display=swap');

:root{
  --bgcolor:  #2a2a2a;
  --textcolor: #ffe;
  --primarycolor: #f7d02c;
  --primarycolorhover: #d5b00a;
  --elementBG: rgba(0,0,0,0.1);
  --elementBGhover: rgba(0,0,0,1);
}
@media (prefers-color-scheme: light) {
  :root{
    --bgcolor:  #f7f0d6;
    --textcolor: #2a2a2a;
    --primarycolor: #f7d02c;
    --primarycolorhover: #d5b00a;
    --elementBG: rgba(255,255,255,0.1);
    --elementBGhover: rgba(255,255,255,1);
  }
}
html{
    scroll-behavior: smooth
}
.mobile__menu,
.hidden{
  display: none;
}
main::-webkit-scrollbar {
  background-color: var(--bgcolor);
}
main::-webkit-scrollbar-thumb {
  background-color: var(--primarycolor);
  border-radius: 50px;
}

a{
  color: var(--primarycolor);
  text-decoration: none;
  transition: 0.2s;
}
a:hover{
  color: var(--primarycolorhover);
}

body,p{
    font-weight: 400;
}
p{
    font-size: 1.2em;
    line-height: 1.6;
    margin: 2em 0;
}
h3{
  color: var(--primarycolor);
}
li h4{
  font-weight: 500;
}
h4{
    font-size: 2em;
}
@media (max-width: 720px){
    h3{
        font-size: 1.8em;
    }
    h4{
        font-size: 1.6em;
    }
}
h5{
    font-size: 1.2em;
    position: relative;
    font-weight: 600;
    margin: 0.6em 0;
}
h6{
    font-size: 0.9em;
    font-weight: 100;
    margin: 0.6em 0;
}
strong{
    -webkit-text-stroke: 1px;
}
section h3{
  margin: 0;
  line-height: 1;
}
h3 hr{
  border-color: var(--primarycolor);
  border-bottom-width: 5px;
  border-top-width: 0;
  width: 1em;
  margin: 0.5em 0 0 0;
}
button{
    outline: none;
}
.button{
    display: block;
    font-family: Quicksand, sans-serif;
    font-size: 1em;
    background: var(--primarycolor);
    color: var(--textcolor);
    border-radius: 50px;
    padding: 0.5em 2em;
    font-weight: 900;
    text-align: center;
    box-sizing: border-box;
    transition: 0.2s;
    white-space: nowrap;
    border: 5px solid var(--primarycolor);
    outline: none;
    text-transform: uppercase;
    cursor: pointer;
}
.button:hover{
    background:var(--primarycolorhover);
    color: var(--bgcolor);
    border: 5px solid var(--primarycolorhover);
}
.button.button--ghost{
  background: transparent;
  color: var(--primarycolor);
  border: 2px solid var(--primarycolor);
}
.button.button--ghost:hover{
  background: var(--textcolor);
  color: var(--textcolor);
}
.hasbg .button.button--ghost
{
  background: transparent;
  border: 2px solid var(--bgcolor);
    color: var(--bgcolor);
}
.hasbg .button.button--ghost:hover
{
  background: var(--textcolor);
  border: 2px solid var(--textcolor);
    color: var(--primarycolor);
}
@media (max-width: 720px){
  .button--cta{
    float: none;
    display: block;
    margin: 0 auto;
    text-align: center;
  }
}
@media (min-width: 720px){
    section{
        margin: 10em 0;
    }
}
section:first-child,
section:last-child{
  margin: 0;
}
body{
  background: var(--bgcolor);
  color: var(--textcolor);
  font-family: Quicksand, sans-serif;
  max-width: 97vw;
  /*height: 96vh;*/
  padding: 0;
  margin: 2em auto 0;
  /*display: grid;
  grid: auto auto auto / 1em 6fr 3em;
  grid-template-areas:
    ". header contact"
    "nav main main"
    ". footer .";
  grid-gap: 3em;*/
}

.hasbg{
    background: var(--primarycolor);
}

.hasbg h2,
.hasbg h3,
.hasbg h4,
.hasbg p{
    color: var(--elementBGhover);
}
.hasbg .button{
  background: var(--bgcolor);
  color: var(--primarycolor);
  border: 2px solid var(--bgcolor);
}
.hasbg .button:hover{
  background: var(--textcolor);
  color: var(--primarycolorhover);
  border: 2px solid var(--textcolor);
}
header{
  grid-area: header;
  text-align: center;
}
header h1{
  margin: 0;
  font-family: 'Sriracha', cursive;
  color: var(--primarycolor);
  font-size: 3em;
  line-height: 1;
}
header h1 span{
  color: var(--textcolor);
  vertical-align: super;
  font-size: 0.6em;
}
header h2{
  margin: 0;
  font-family: 'Sriracha', cursive;
  color: var(--textcolor);
  font-size: 1.2em;
  line-height: 1;
}
.main__contact{
  grid-area: contact;
  color: var(--primarycolor);
  font-size: 3em;
  text-decoration: none;
  text-align: right;
}
.main__contact a[href^="mailto"]{
  display: none;
}
.main__contact a:hover{
  color: var(--textcolor);
  text-shadow: 0 0 5px rgba(255,255,200,0.5);
}

.header__nav{
    position: fixed;
  grid-area: nav;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  height: 90vh;
    top: 3vh;
    max-height: 97vh;
}
.nav__item, .languages a{
  color: var(--textcolor);
  text-decoration: none;
}
.header__nav .nav__item,
.header__nav .languages{
    writing-mode: vertical-lr;
}
.nav__item:hover, .languages a:hover{
  color: var(--primarycolor);
  text-shadow: 0 0 5px rgba(255,255,200,0.5);
}

main{
  grid-area: main;
  /*overflow-x: visible;
  overflow-y: scroll;*/
    float: right;
  width: 90vw;
  margin-bottom: 50px;
}
.section__title{
    font-size: 2em;
    padding: 20px;
}
section .section__image {
    
    margin: 1em 0;
    align-self: center;
    justify-self: center;
}
.section__image--half{
    
}
.section__image--half--left{
    grid-column: 1 / 2;
}
.section__image--half--right{
    grid-column: 2 / 3;
}

.section__image--shadow{
    box-shadow: -40px 20px 0 var(--primarycolor);
    border-radius: 50px 100px;
    overflow: hidden;
    max-width: 300px;
    max-height: 300px;
}
figure img{
    width: 100%;
}
figure.section__image.section__image::before {
    content: " ";
    float: none;
    clear: both;
    display: block;
}
.section__text--full .section__image--left{
    float: left;
    margin-right: 1em;
}
.section__text--full .section__image--right{
    float: right;
    margin-left: 1em;
}

.section__text--full .section__image{
    max-width: 250px;
    max-height: 250px;
}
.section__image--circle{
    border-radius: 150px;
    -webkit-backface-visibility: hidden;
     -moz-backface-visibility: hidden;
     -webkit-transform: translate3d(0, 0, 0);
     -moz-transform: translate3d(0, 0, 0);
    overflow: hidden;
    shape-outside: margin-box;
    border: 10px solid var(--primarycolor);
}
.section__image--circle.section__image--left{
    margin-right: 1em;
}
.section__image--circle.section__image--right{
    margin-left: 1em;
}
.section__text--full .section__image--zoom img{
    transition: 0.2s ease;
}
figure.section__image--zoom:hover img {
    transform: scale(1.5);
}
.section__image img{
    width: 100%;
}
@media (min-width: 720px){
    .section__text--full .section__image:nth-of-type(3){
        margin-left: 12em;
    }
}


.separator__image{
  margin: 5em 0;
  grid-column: 1 / 3;
}
.separator__image img{
    max-height: 230px;
    max-width: 500px;
    margin: 0 auto;
    display: block;
}

.section__text--full{
  grid-column: 1 / 3;
}
.section__text--half{
}
.section__text--half.section__text--left{
  grid-column: 1 / 2;
}
.section__text--half.section__text--right{
  grid-column: 2 / 3;
}
#cosa,
#come,
#contattaci,
#demo,
#section404{
  display: grid;
  grid: auto 1fr / 1fr 1fr;
  grid-gap: 20px;
}
#contattaci{
    grid-gap: 0;
}
@media (max-width: 720px){
  #cosa, #come, #contattaci, #demo{
    display: block;
  }
}
.section__title{
  grid-column: 1 / 3;
}
.section__text--cta{
  padding: 20px;
}
.section__text--cta + .section__text--cta{
  align-self: self-end;
  text-align: right;
  padding-right: 20px;
}
.section__text--cta p{
    margin: 0;
}
.section__text--cta h3,
.section__text--cta h4{
  margin: 0;
}
.section__text--cta .button{
  align-self: end;
}




.list{}
.list--half{
  display: flex;
  flex-wrap: wrap;
}

.list--spaced .list__item{
  margin: 1em 0;
}
.list--half .list__item{
  flex: 500px 1 0;
}

.list--horizontal{
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    align-items: flex-start;
    padding: 0;
    list-style-type: none;
}

.list--horizontal .list__item{
    background: var(--elementBG);
    padding: 1em;
    min-height: 3em;
    box-sizing: border-box;
    transition: 0.5s;
    text-align: center;
    z-index: 1;
}

.list--cards{
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    list-style-type: none;
    padding: 0;
}
.list--cards .list__item{
    z-index: 1;
    flex: 160px 1 1;
    box-sizing: border-box;
    box-shadow: 0 10px 50px rgba(0,0,0,0.2);
    border-radius: 10px;
    padding: 20px;
    transition: 0.2s ease-in-out;
    background: var(--elementBG);
    background: 
        radial-gradient(circle, var(--primarycolor) 0%, var(--primarycolor) 40%, var(--elementBGhover) 40%, var(--elementBGhover) 100%),
        radial-gradient(circle, var(--primarycolor) 0%, var(--primarycolor) 40%, var(--elementBGhover) 40%, var(--elementBGhover) 100%),
        var(--elementBGhover);
    background-position: 400% -350%, 30% -30%;
    background-size: 90% 90%, 200% 200%;
    background-repeat: no-repeat;
    text-align: left;
}
.list--cards--third .list__item{
    height: 280px;
    max-width: 26%;
}
.list--cards--fifth .list__item{
    height: 200px;
    max-width: 160px;
}
@media (max-width: 720px){
    .list--cards--third .list__item{
        height: 280px;
        max-width: 100%;
    }
    .list--cards--fifth .list__item{
        height: 200px;
        max-width: 70%;
        box-sizing: border-box;
    }
}

.list--cards .list__item p{
    font-size: 0.8em;
    opacity: 0;
    line-height: 0;
    margin: 0;
    transition: 0.2s ease-in-out;
}
.list--cards .list__item span{
    display: block;
    font-size: 1.1em;
}
.list__item__icon{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0.5em 0;
    font-size: 2em;
    width: 45px;
    height: 45px;
    vertical-align: middle;
    color: var(--textcolor);
}
.list__item__icon:before{
    content: "";
    position: absolute;
    z-index: -1;
    display: inline-block;
    border-radius: 100px;
    background: var(--primarycolor);
    padding: 1.4rem;
}
@media (min-width: 480px){
    .list--cards .list__item:hover{
        transform: scale(1.5) rotatez(10deg);
        z-index: 2;
    }
}
.list--cards .list__item:hover p{
  opacity: 1;
  line-height: 1;
    width: auto;
}

@media (max-width: 430px){
    
    .list--cards{
        width: 300px;
        margin: 0 auto;
    }
.list--cards .list__item p,
.list--cards .list__item span,
    .list__item__icon{
        display: inline-flex;
    }
    .list--cards .list__item p{
        width: 0;
    }
  .list--cards .list__item{
    --cardHeight: 200px;
  }
  .list--cards.list--prices .list__item{
    --cardHeight: 260px;
  }
  .list--cards .list__item:nth-child(2) {
    --cardMove: -0.7;
    transform: translatey(calc(var(--cardHeight) * var(--cardMove)));
  }
  .list--cards .list__item:nth-child(3) {
    --cardMove: -1.4;
    transform: translatey(calc(var(--cardHeight) * var(--cardMove)));
  }
  .list--cards .list__item:nth-child(4) {
    --cardMove: -2.1;
    transform: translatey(calc(var(--cardHeight) * var(--cardMove)));
  }
  .list--cards .list__item:nth-child(5) {
    --cardMove: -2.8;
    transform: translatey(calc(var(--cardHeight) * var(--cardMove)));
  }
  .list__item__icon{
    margin: 0 0 10px 0;
  }
  .list--cards .list__item:hover ~ .list__item{
    transform: translatey(calc(var(--cardHeight) * var(--cardMove) + (var(--cardHeight) / 1.5)));
  }
}
#smart-menu{
    display: none;
}
.list__item .paypal__button {
    margin: 0 auto;
}
/*.list__item .paypal__button > div {
    opacity: 0;
    transition: all 0.5s ease-in-out 0s !important;
}
.list__item:hover .paypal__button > div {
    opacity: 1;
    transition: all 0.4s ease-in-out 0.4s !important;
}*/
.list--horizontal .list__item span:hover,
.list--horizontal .list__item:hover span{
  padding: 0;
}
.list--horizontal .list__item:hover{
    transform: scale(1.5);
}
.list--horizontal .list__item:first-child:hover{
    transform: scale(1.5) translatex(40px);
 }
.list--horizontal .list__item:last-child:hover{
    transform: scale(1.5) translatex(-55px);
 }
@media (max-width: 720px){
    .list--horizontal{
        grid: auto / auto;
    }
    .list--horizontal .list__item{
        padding: 20px 0;
    }
    
    
    .list--horizontal .list__item:hover{
        transform: scale(1) !important;
        font-size: 1em;
    }
    .list--horizontal .list__item span{
        padding: 0;
        background: transparent;
    }
}

.list--prices{
  width: 100%;
}
.list--prices .list__item{
  flex: 100px 1 0;
  display: grid;
  grid: 1fr 2fr 2fr 2fr / 100%;
}
.list--prices .list__item h4,
.list--prices .list__item h5,
.list--prices .list__item p{
  margin: 0;
}

.list.list--detail .list__item label + ul li{
    height: 0;
    /*font-size: 0;*/
    overflow: hidden;
    transition: 0.2s ease-in-out;
    width: 90%;
}
.list.list--detail{
    list-style-type: none;
}
ul ul{
    padding: 0;
}
.list.list--detail .list__item label:hover{
    cursor: pointer;
}
.list.list--detail .list__item h5::before{
    content: "⌄";
    font-size: 2em;
}
.list.list--detail input[name="serviziPer"]:checked ~ ul li{
    height: auto;
    font-size: 1em;
}
.list.list--detail .list__item h5::before {
    content: "⌄";
    font-size: 2em;
    line-height: 0;
    transform: translate(-45px,0.25em) rotatez(-90deg);
    position: absolute;
    transition: 0.2s;
}
.list.list--detail input[name="serviziPer"]:checked + label h5::before{
    content: "⌄";
    transform: translate(-35px,0) rotatez(0deg);
}
.list.list--detail ul li:before{
    content: "✔";
    margin-right: 10px;
}




.small{
  font-size: 0.7em;
}
.giant{
    font-size: 13vw;
    font-family: sriracha;
    margin: 0;
    padding: 0;
    line-height: 1;
}
.giant::before{
    content: "";
    background: var(--primarycolor);
    border-radius: 100%;
    position: absolute;
    display: block;
    height: 1em;
    width: 60%;
    z-index: -1;
    transform: rotate(10deg);
    border: 0.1em solid var(--elementBG);
    border-width: 1px 2px 20px 20px;
}
.section__text__image{
  max-width: 300px;
  margin: 0 2em;
}
@media (max-width: 720px){
  .demoqr{
      text-align: center;
      display: block;
  }
}
@media (min-width: 720px){
  [data-name="qrhand"] + div{
    height: 10em;
  }
}

#contattaci{
  margin-bottom: 100px;
}

footer{
    grid-area: footer;
    text-align: center;
    float: none;
    clear: both;
}

.logo-stibelman{
  max-height: 2em;
  vertical-align: middle;
}
footer a{
  color: var(--textcolor);
}
footer a:hover{
  color: #b4d455;
}

/** calendly **/
#page-region > div > div{
  margin: 0 !important;
}



@media (max-width: 720px){
    body{
        grid: repeat(3, auto) / 100%;
        grid-template-areas:
          "header"
          "main"
          "footer";
    }
    main{
        float: none;
        clear: both;
        margin: 0 auto 80px;
    }
    #cosa,
    #come,
    #contattaci{
        display: block;
    }
    .main__contact,
    .header__nav,
    .main__footer/*,
    .section__image*/
    {
        display: none !important;
    }
    section{
        padding-bottom: 50px;
    }
    .section__text,
    .section__image,
    .button{
        display: block;
        float: none;
        margin: 10px 0;
    }
    .section__text--full .section__image {
        max-width: 40vw;
        max-height: 40vw;
    }
    section:not(.hasbg) .section__title{
        padding: 20px 0;
    }
    section.hasbg .section__title{
        padding: 20px;
    }
    .section__text--cta{
        /*padding: 0;*/
    }
    
    .list--cards{height: 550px;}
    .separator__image,
    #cosa .section__image,
    #come .section__image{
       display: none;
    }
    .mobile__menu{
        z-index: 999;
        display: block;
        width: 100%;
        height: 90vh;
        padding: 1em;
        box-sizing: border-box;
        border-top: 1px solid #ddd;
        position: fixed;
        bottom: calc(-90vh + 50px);
        background: var(--bgcolor);
        transition: 0.2s 0.2s ease-in-out;
    }
    .hoverarea {
        z-index: 1000;
        height: 50px;
        width: 100%;
        display: block;
        left: 0;
        bottom: 0;
        position: fixed;
    }
    .hoverarea:hover + .mobile__menu{
        bottom: 0;
        transition: 0.2s ease-in-out;
    }
    .menu-tag{
        content: "MENU";
        text-align: center;
        display: block;
    }
    .mobile__menu .mobile__contact{
        display: flex;
        justify-content: space-between;
        font-size: 1.6em;
        margin: 1em 0;
    }
    .mobile__contact a[href^="mailto"]{
        display: block;
    }
    .mobile__nav{
        display: flex;
        flex-direction: column;
    }
    .mobile__nav .nav__item{
        padding: 1em 0;
    }
    .button{
        padding: 0.5em 1em;
    }
    .mobile__footer p{
        margin: 0;
        font-size: 0.8em;
    }
    img[href*="n4wm"]{
        display: none;
    }
}

