body{
    background-image: url('/themes/tecnoricami/img/background.jpg');
    background-size: 350px;
    color: #3d3d3d;
}

@font-face {
    font-family: 'futura';
    src: url('fonts/futura.ttf');
}
@font-face {
    font-family: 'darloune';
    src: url('fonts/darloune.ttf');
}

@font-face {
    font-family: 'gothic';
    src: url('fonts/gothic.ttf');
}

.cursive{
    font-family: 'darloune';
}

h2.cursive{
    font-size: 2.5rem !important;
}

#container{
    min-height: 100vh;
    height: unset;
}

.top-bar, .top-bar ul, .title-bar{
    background-color: unset;
}

.title-bar-title{
    margin:auto
}

h1,h2,h3,h4,h5,h6{
color: #3d3d3d;
}

#caption h2{
    font-size: 1.7rem;
}

.button{
    margin: 30px 0px;
    background-color: #3d3d3d;
}
.button:hover{
    background: #777777;
}



h1,h3.headers, h5.headers{
    font-family: 'futura';
    text-transform: uppercase;
}

h3.headers, h1{
    font-size: 3.5rem;
    line-height: 3.6rem;
}

h2{
    font-family: 'gothic';
}


#responsive-menu .menu{
    margin-top: 45px;
}

.menu-icon{
    margin-top: 30px;
}

.menu-icon::after{
    background: #ac141f;
box-shadow: 0 7px 0 #ac141f, 0 14px 0 #ac141f;
}

#responsive-menu a, .menu a{
    text-transform: uppercase;
    color: #777777;
}

#responsive-menu .active a{
    background: #ac141f;
    color: white;
}

#closeoffcanvas{
    position: absolute;
    top: 30px;
    right: 30px;
    cursor: pointer;
    font-size: 1.8rem;
color: #ac141f
}

.off-canvas li a{
    font-size: 1.2rem;
    font-family: 'futura';
    color: #333;
}

.off-canvas li.logocontainer a:hover{
    background: unset;
}

.off-canvas li:not(.logocontainer) a:hover{
    background: #be3a42;
    color: white;
}

.off-canvas .active > a{
    background: #ac141f;
    color: white;
}

#offCanvas ul{
    width: 100%;
    text-align: center;
    
}
#offCanvas{
    transition: 0.3s all ease-in;
    width: 100%;
    justify-content: center;
align-items: center;
display: flex;
background: #ffffffeb;
opacity: 0;
}
#offCanvas.is-open{
    opacity: 1;
}

@media screen and (min-width: 40em) and (max-width: 63.9375em) {

   
    #responsive-menu {
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }
    .top-bar-left,.top-bar-right{
        margin: auto;
    }
    
}

#policies a{
    color: #777777;
}


footer .menu .active a{
    background: unset;
    color: #777777;
}
footer{
    position: relative;
    margin-top: 50px;
}
footer .menu a:hover, #policies a:hover{
    text-decoration: underline;
    color: #3d3d3d;
}

#responsive-menu,.container, #content,#topbar, .title-bar{
    width: 85%;
    margin: auto;
}

#content .container{
    width: 100%;
    margin: 50px auto;
}



.item{
    padding: 10px;
}
.itempreview{
    border: 1px solid #b9b9b9
}

.itemtitle{
    color: #a1a1a1;
}
.itemtitle, .itemcaption{
    text-align: center;
    font-weight: bold;
}

#topbar{
    position: relative;
    margin-bottom: 0px;
    margin-top: 30px;
    display: flex;
justify-content: end;
padding-right: 20px;
}
#topbar .social, footer .social{
    font-size: 2rem;
    margin: 5px;
    color: #3d3d3d
}
img.social{
    opacity: 0.7;
    transition: 0.3 all  ease-in ;
    width: 33px;
    margin: 3px !important;
}
img.social:hover{
    opacity: 1;
}

#topbar .float-right{
    margin-left: auto;
}

#topbar::before{
    width: calc( 100% - 150px );
    content: '';
    height: 1px;
    border-bottom: 1px solid #777777;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

footer{
    width: 85%;
    margin: auto;
    padding-bottom: 20px;
}

footer .menu{
    justify-content: center;
}


.slickitem{
    position: relative;
}

.slickitem .button{
    text-transform: uppercase;
}

.slickitem .title{
    font-family: 'futura';
    font-size: 3rem; 
    line-height: 3rem;
}
.slickitem{
    display: flex !important;
    justify-content: center;
    align-items: center;
}

.hvr-underline-from-center::before{
    background: #ac141f;
    height: 2px;
}

#contactlist{
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.contactForm{
    padding: 20px;
    background: #f1f1f19a;
}
.contactForm #message{
    height: 100px;
}

#responsive-menu li a{
    padding: 0.7rem 0.5rem;
}
#responsive-menu li{
    margin: 0px 3px;
    font-size: 12pt;
}

#contactgroup .contacts a{
 color: #3d3d3d;
 font-size: 1.1rem;
}



.contactgroup .contacts a i{margin-right: 5px;}

#contactBar {
    opacity: 0;
    position: fixed;
    right: 0;
    z-index: 10;
    bottom: 120px;
    margin: auto;
    height: 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .contactRight {
    padding: 5px;
    transition: .3s ease all;
    transform: translateX(66%);
    background: #d4d4d4;
    margin: 2px 0;
    text-transform: uppercase;
    color: #373737 !important;
  }

  .contactRight:hover {
    transform: translateX(0);
  }

  .contactRight img {
    width: 30px;
    margin-right: 10px;
    margin-left: 5px;
    transition: .3s all ease;
  }

  .googleMaps {
    border: 1px solid #333;
    margin-top: 15px;
  }

  .contactForm .button{
    text-transform: uppercase;
    margin: auto;
}

.contactForm .contact-us-form-actions{
    text-align: center;
    margin: auto;
}

#mainslider{
    transition: 0.3s ease all;
}

#mainslider:not(.slick-initialized){

    opacity: 0;
    
}

#mainslider.slick-initialized{
opacity: 1;
}

.googleMaps, .contactForm{
    border: 1px solid #d8d8d8;
}


@media screen and (max-width: 39.9375em) {

   
    


    .googleMaps {
      
        margin-top: 20px;
        margin-bottom: 20px;
      }


#content .container p{
    text-align: center;
}

    #caption h2{
        font-size: 1.2rem;
    }

    #contactgroup .contacts a{
        font-size: 1.3rem;
    }
    footer .contactgroup{
        flex-direction: column;
    }
    footer .contactgroup .contacts{
        margin-bottom: 10px;
    }

    h1{
        font-size: 2.5rem;
        line-height: 2.6rem;
    }
    h3.headers{
        font-size: 2.5rem;
        line-height: 2.6rem;
        margin-top: 20px;
        text-align: center;
    }
    h5.headers{
        text-align: center;
    }

}

#contactgroup .contacts{
    margin-bottom: 10px;
}

footer .contactgroup{
    display: flex;
    color: #3d3d3d;
    justify-content: center;
}
footer .contactgroup a{
    margin: 5px;
    color: #3d3d3d;
}

#contactgroup .contacts a:hover,footer .contactgroup a:hover{
text-decoration: underline;
}

#contactgroup .contacts i{
    margin-right: 10px;
}

#contactlist>p{
    max-width:600px; text-align:left; width:90%
}

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    #responsive-menu li{
        margin: 0px 3px;
        font-size: 10pt;
    }
}

@media screen and (max-width: 39.9375em) {

    #contactgroup .contacts a{
        font-size: 0.95rem;
    }

    #contactlist>p{

        width: 100%;
        margin: auto;
        text-align: left !important;
        margin-bottom: 25px;
    }

}

#responsive-menu li > a:hover{
    background-color: unset;
}

#responsive-menu li.active a:hover{
    background: #ac141f;
}
#responsive-menu li.active a:hover::after{
    display: none;
}

.slick-slider, .slick-list, .slick-track {
    height: 100%;
  }
  .slickitem .preview{
      height: 100%;
  }

  .slickitem .preview img {
    height: 100%;
    width: auto;
    }

  .slickitem .background {
    height: 73%;
    width: 100%;
    position: absolute;
    z-index: -1;
  }


  .slick-next{
      right: 10%;
  }

  .slick-prev::before, .slick-next::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #3d3d3d;
  }

  .slick-next::before{
    content:'\f054'
  }
  .slick-prev::before{
    content:'\f053'
  }
  .slick-prev{
    left: 10%;
}

#mainslider .info{margin-right: 10px;}

  #mainslider .slick-dots{
      bottom: -20px;
  }

.item .background{
    width: 100%;
    height: 70%;
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    margin: auto;
}

#shirtslide .background{
    background: #dbdbdb;
}
#poloslide .background{
    background: #f7f0cf;
    
}
#felpeslide .background{
    background: #fbebf1;
}
#giaccheslide .background{
    background: #cbdac7;
}
#hatslide .background{
    background: #d6daf5;
}
#accessorislide .background{
    background: #d69190;
}
#nauticaslide .background{
    background: #b6bfc7;
}


.box{
   /* overflow: hidden;*/
    position: relative;
    aspect-ratio: 1.2;
    margin-bottom: 30px;
    width:100%;
}

.box *{
    transition: 0.3s ease all;
    transform-origin: center center;
}

.box .title{
    font-family: 'futura';
    font-size: 2.8rem;
    position: absolute;
    text-align: right;
    right: 0px;
    text-transform: uppercase;
}

.box .descr{
    text-align: right;
    transform: scale(0);
    opacity: 0;
}

.box:hover .descr{
    transform: scale(1);
    margin-top: 10px;
    opacity: 1;
}

.box:hover .title {
    transform: translateY(-100%);
    
  }


.box .title::after {
    content: ' ';
    width: 100%;
    border-bottom: 1px solid black;
    height: 1px;
    position: absolute;
    bottom: 0;
    right: -39%;
  }

.box .cover {
    position: relative;
    height: 100%;
  }

  .box .background {
    height: 62%;
    width: 63%;
    background: #d9d9d9;
    position: absolute;
    right: 20%;
    z-index: -1;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0;
  }

  .boxgrid:nth-child(odd) .box:nth-child(even) .caption{
    left: 0;
  }
  .boxgrid:nth-child(odd) .box:nth-child(odd) .caption{
    left: 0;
}

.boxgrid:nth-child(odd) .box:nth-child(even) .cover{
    float: right;
  }
.boxgrid:nth-child(odd) .box:nth-child(odd) .cover{
    float: right;
}

.boxgrid:nth-child(even) .box:nth-child(even) .caption{
   align-items:start;
  }
.boxgrid:nth-child(even) .box:nth-child(odd) .caption{
    align-items: start;
}

.boxgrid:nth-child(even) .box:nth-child(even) .title{
   right: unset;
   left: 0px;
  }
.boxgrid:nth-child(even) .box:nth-child(odd) .title{
    right: unset;
    left: 0px;
}
.boxgrid:nth-child(even) .box:nth-child(odd) .descr{
   text-align: left;
}
.boxgrid:nth-child(even) .box:nth-child(even) .descr{
    text-align: left; 
}
.boxgrid:nth-child(even) .box:nth-child(even) .title::after{
    right: unset;
    left: -30%;
   }
 .boxgrid:nth-child(even) .box:nth-child(odd) .title::after{
     right: unset;
     left: -30%;
 }


.boxgrid:nth-child(even) .box:nth-child(odd) .caption{
    right: 0;     
}
.boxgrid:nth-child(even) .box:nth-child(even) .caption{
    right: 0;
}

.boxgrid:nth-child(even) .box:nth-child(odd) .cover{
    float: left;     
}
.boxgrid:nth-child(even) .box:nth-child(even) .cover{
    float: left;
}


@media screen and (max-width: 39.9375em) {

    .boxcontainer:nth-child(odd){
       
    }
    .boxcontainer:nth-child(even){
       
    }

    .boxcontainer:nth-child(odd) .box .caption{
        left: 0;
        right: unset !important;
        align-items: end !important;
      }
      .boxcontainer:nth-child(even) .box .caption{
        right: 0;
        left: unset !important;
       
    }

    .boxcontainer:nth-child(odd) .box .cover{
        float: right !important;
      }
    .boxcontainer:nth-child(even) .box .cover{
        float: left !important;
    }

    .boxcontainer:nth-child(even) .box .title{
        left: 0px !important;
        right:  unset !important;
    }

    .boxcontainer:nth-child(odd) .box .title{
        right: 0px !important;
        left:  unset !important;
    }

    .boxcontainer:nth-child(even) .box .title::after{
        left: -39% !important;
        right:  unset !important;
    }

    .boxcontainer:nth-child(odd) .box .title::after{
        right: -39% !important;
        left:  unset !important;
    }

  




}



  .box .preview {
    position: relative;
    z-index: 1;
    height: 100%;
    margin: auto;
    display: flex;
justify-content: center;
align-items: center;
  }
  .box .caption {
    position: absolute;
    width: 30%;
    top: 0;
    bottom: 0;
    margin: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 10;
    align-items: end;
  }

  .box .cover{
      width: 70%;
        float: right;
  }

  .box .caption > div{
      margin-bottom: 10px;
  }

  .box .preview img{
    height: auto;
    right: -4.5%;
    position: absolute;
    width: auto;
    max-width: 100%;
    max-height: 100%;
  }

  .box:hover .preview img{
    transform: scale(1.1);
  }
  .box:hover .background{
  }

.box#tshirt{
    aspect-ratio: 1.2;
}

.box#tshirt .caption{
    width: 33%;
}
.box#tshirt .background{
    width: 80%;
}

.box#tshirt .cover img{
    right: -8%;
}


.box#accessori{
    aspect-ratio: 1.8;
}

.box .button{
    width: 80%;
    max-width: 200px;
}

#hats .background{
    background-color: #d6daf5;
    width: 41%;
    height: 100%;
    right: 24%;
}

#hats .caption{
    width: 45%;
}
#hats .cover{
   width: 60%; 
}


#polo .background{
    background-color: #f7f0cf;
    width: 95%;
    height: 64%;
    left: 0;
}
#polo .preview img{
    left: 2.5%;
    right: unset;
}

#polo .caption{
    width: 35%;
}

#polo .cover{
    width: 60%;
}

#felpe .background{
    background-color: #fbebf1;
    width: 85%;
    height: 60%;
    left: 0;
}

#felpe .preview img{
    left: 8%;
    right: unset;
}



.box#nautica{
    aspect-ratio: 1.6;
}

#nautica .preview img{
    height: 54%;
    right: 0%;
}

#nautica .caption{
    width: 35%;
}

#nautica .background{
    background-color: #b6bfc7;
    width: 50%;
    height: 100%;
    right: 14%;
}

#giacche .background{
    background-color: #cbdac7;
    width: 74%;
    height: 60%;
    right: 0%;
}
#giacche .caption{
    width: 38%;
}

#accessori .caption{
    width: 40%;
}

#accessori .background{
    background-color: #d69190;
    width: 70%;
    height: 57%;
    left: 0;
    right: unset;
}

#accessori .preview img{
    right: unset;
    left: 7%;
}

.boxcontainer:nth-child(2n) {
    margin-top: 150px;
  }

  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
  
    .box .title{
        font-size: 2rem;
    }
  }

  @media screen and (max-width: 39.9375em) {

    #hats .title{
       
    }

    #accessori .title::after{
        right:-20% !important;
    }

    #accessori .background{
        right: 0;
        left: unset;
    }
    #accessori .preview img{
        right: 7%;
        left: unset;
    }

    #hats .cover{
        width: 60%;
left: -10%;
    }
    #nautica .cover{
        width: 60%;
left: -5%;
    }

    .boxcontainer {
        margin-top: 50px !important;
      }
      .box .title{
          font-size: 2rem;
      }
  }

  #scrollToTop{
      background: #c94c55;
      color: white;
  }

  #scrollToTop:hover{
    background: #ac141f;
    color: white;
}

#videocontainer a{
    display: flex;
    position: relative;
    justify-content: center;
    align-items: center;
}
#videocontainer{
    position: relative;
}

#videocontainer a:hover img{
    opacity: 1;
}

#videocontainer a img{
    transition: 0.3s ease-in all;
    opacity: 0.85;
}

#playvideo{
    font-size: 3rem;
    color:white;
    position: absolute;
}

@media screen and (max-width: 39.9375em) {
#policies{
    display: block;
    margin-top: 10px;
}
}

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

    #responsive-menu li a{
        padding: 0.7rem 0.3rem;
        font-size: 11pt;
    }

    #responsive-menu,.container, #content,#topbar, .title-bar{
        width: 88%;
        margin: auto;
    }

    #topbar{
        margin-top: 30px;
    }



    footer{
        width: 88%;
        margin: auto;
        padding-bottom: 20px;
    }
    
}

@media screen and (min-width: 1024px) and (max-width: 1080px) {
    .top-bar-left a img{
        width: 180px !important;
        margin-top: 10px;
    }
}