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, font, 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, figure { background: transparent; border: 0; margin: 0; padding: 0; vertical-align: baseline; box-sizing: border-box;}
h1, h2, h3, h4, h5, h6 { clear: both; display: block; padding: .5em 0; margin:0; line-height:1; text-align: inherit; font-weight:400; color: inherit; font-family: 'Montserrat', sans-serif;     box-sizing: border-box;
}

h1, .h1{ font-size: 42px; }
h2, .h2{ font-size: 32px; }
h3, .h3{ font-size: 28px; }
h4, .h4{ font-size: 24px; }
h5, .h5{ font-size: 18px; }
h6, .h6{ font-size: 14px; }
p, .p{font-size: 16px; padding: 10px 0;}


:root{ --scuro: #171717; --nero: #000; --bianco: #FFF; --chiaro: #f5f5f5; --grigio: #a5a5a4;

    --primary: #171717; --alternative: #f5f5f5; --secondary: #f5f5f5; --rosso: #CC0000;
    --swiper-theme-color: #FFF; --testi-sfalsati-gap: 33%;
    --link-a-link: var(--scuro);
    --link-a-hover: var(--nero);
    --on-dark-a-link: var(--bianco);
    --on-dark-a-hover: var(--chiaro);
    --svg-icon-fill: var(--bianco); }
img{ width: 100%; height: auto; display: block; line-height: 1;}
a{ text-decoration: none; color: var(--scuro);}
.myIn{/* max-width: 1090px; */ width: 93%; margin: 0 auto; box-sizing: border-box; position: relative; z-index: 10;}
.row{margin: 120px 0;}


html,
    body {
      position: relative;
      height: 100%;
    }
body{font-family: 'Helvetica', sans-serif; background: var(--chiaro); color: var(--nero); font-size: 15px;}




    .swiper {
      width: 100%;
      height: 100%;
    }

	.site_header{display: flex; align-items: center; padding: 10px 35px; box-sizing: border-box; height: 100px; position: relative; z-index: 100;}
		.website_logo{width: 90px;}		
		.website_logo img{width: 100%; height: auto;}		
		.site_navbar{display: flex; align-items: center; justify-content: space-between; width: 100%; margin-left: 1%;}
		
		.navbar_top{ display: flex; align-items: center; justify-content:flex-end; width: 100%; }
			.menu-testata{list-style: none;}
		
			.menu-testata li{display: inline-block;}
				.menu-testata li a{text-transform: none; padding: 5px 15px;}
			
        .cart-icon-cnt{position: relative; display: flex; align-items: center; }
        .cart-icon-cnt a{display: flex; align-items: center; padding: 5px 15px; position: relative; width: 60px; padding-right: 20px;}
            /* .cart-icon-cnt a{display: flex; align-items: center; padding: 5px 15px;} */
            /* .cart-icon-cnt a img{width: 80px; height: 80px;}
            .cart-icon-cnt a span{position: absolute; top: 0; right: 0; background: var(--scuro); color: var(--bianco); padding: 5px 10px; border-radius: 50%;} */
           .cart-icon-cnt .cart-icon-count{ position: absolute; top: -5px; right: -5px; background: var(--scuro); color: var(--bianco); padding: 5px; border-radius: 50%; font-size: 9px; font-weight: 700; height: 20px; width: 20px; display: flex; align-items: center; justify-content: center; }
            
    .row-solo-testo{padding-left: 30%; font-size: 50px;}       
        .row-solo-testo *{font-size: 50px; font-weight: 200;}    
            
            
          
    .gallery_slider_cnt{width: 100%; margin: 0;}  
    
    .gallery_slider_cnt h5{ padding: .71em 0; font-size: 2em; font-weight: 700;  }

    .gallery_slider_cnt .cta_cnt{ justify-content: start; padding: 0 0 1em 0; margin: -.3em 0 0 0;  }

    
    .myIn-2col{display: flex; gap: 50px;}
    .flex-end{ justify-content: flex-end; }
        .col-2col-main{width: 70%; padding:0;}
        .col-2col-alternative{width: 30%; margin-top: 20%;}

        .col-2col-main figure, .col-2col-alternative figure{width: 100%; height: auto; display: block; margin: 0; padding-bottom: 1.5em;}
            
            
        .col-2col-main p, .col-2col-alternative p{font-size: 40px; font-weight: 200;}    
            
      
        .col_porte_txt{ width: 50%;}
        .col_porte_main_img{ width: 50%;}
        .col_porte_main_info{ width: 50%;}
      
     .filmografia_list_item h5{font-size: 40px; font-weight: 200;} 
            
            
     .marquee {
         position: relative;
         border-top: 1px solid #1C1B20;
         border-bottom: 1px solid #1C1B20;
         overflow: hidden;
         --move-initial: 100vw;
         --move-final: -300vw;
     }
     
     .marquee__inner {
         width: fit-content;
         display: flex;
         position: relative;
         transform: translate3d(var(--move-initial), 0, 0);
         animation: marquee 20s linear infinite;
         animation-play-state: running;
     }
     
     .marquee span {
         padding: 0 2vw;
         white-space: nowrap;
         }
         
        .marquee span p{font-size: 50px; font-weight: 200;}
         
     @keyframes marquee {
         0% {
             transform: translate3d(var(--move-initial), 0, 0);
         }
     
         100% {
             transform: translate3d(var(--move-final), 0, 0);
         }
     }       
            
            	
		
.site_footer{ color: var(--scuro); padding: 60px 0; display: flex; justify-content: space-between;}
     .footer_row{ display: flex; justify-content: space-between; width: 100%; }
		
/* ------MENU BUTTON------- */

.hamburger { 
    padding: 0; display: none; cursor: pointer; transition-property: opacity, filter; 
    transition-duration: 0.15s; transition-timing-function: linear; font: inherit; color: inherit; 
    background-color: transparent; border: 0; margin: 0; font-size: 14px; text-transform: uppercase; 
    overflow: visible; z-index: 80;
}

.hamburger:hover {
    opacity: 1;
}

.hamburger span {
    padding: 5px 10px;
    display: block;
    float: left;
    font-weight: bold;
    border-left: 3px solid #000;
}

.hamburger-box {
    width: 35px;
    height: 24px;
    display: block;
    float: left;
    position: relative;
}

.hamburger-inner {
    display: block;
    top: 50%;
    margin-top: -2px;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
    width: 35px;
    height: 2px;
    background-color: var(--bianco);
    border-radius: 4px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease;
}


.is-active .hamburger-inner,
.is-active .hamburger-inner::before,
.is-active .hamburger-inner::after {
    background-color: var(--bianco);
}

.hamburger-inner::before,
.hamburger-inner::after {
    content: "";
    display: block;
}

.hamburger-inner::before {
    top: -10px;
}

.hamburger-inner::after {
    bottom: -10px;
}

.hamburger--elastic .hamburger-inner {
    top: 2px;
    transition-duration: 0.275s;
    transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.hamburger--elastic .hamburger-inner::before {
    top: 10px;
    transition: opacity 0.125s 0.275s ease;
}

.hamburger--elastic .hamburger-inner::after {
    top: 20px;
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.hamburger--elastic.is-active .hamburger-inner {
    transform: translate3d(0, 10px, 0) rotate(135deg);
    transition-delay: 0.075s;
}

.hamburger--elastic.is-active .hamburger-inner::before {
    transition-delay: 0s;
    opacity: 0;
}

.hamburger--elastic.is-active .hamburger-inner::after {
    transform: translate3d(0, -20px, 0) rotate(-270deg);
    transition-delay: 0.075s;
}
	
	

.lista_modelli{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 3em;
}
.lista_modelli .card_listing_item, 
.prodotti_list_row_cnt .card_listing_item{ transition: all .3s;}

.lista_modelli .card_listing_item:hover, 
.prodotti_list_row_cnt .card_listing_item:hover{ transform: scale3d(.95, .95, .95);  }
.lista_modelli .card_listing_item h4,
.prodotti_list_row_cnt .card_listing_item h4{ font-size: 2em; padding: .61em 0; font-weight: 700; }

.cta_cnt{ display: flex; justify-content: start; align-items: center; padding: 1em 0; }


.alert {
    padding: 1em;
    margin:0 0 1.5em 0;
    border-radius: 0;
    background-color: #f8d7da;
    color: #721c24;
}

.alert-item {
    padding: .2em 0;
    font-size: 1em;

}

.alert-danger {
    background-color: #df404d;
    color: #fff;
}

.login-signup-form-cnt{ 
    width: 100%;
    max-width: 450px;
}
form{
    display: block;
    padding: 0;
    margin: 0;
}
.form-row{
    display: flex;
    flex-direction: row;
    margin: 1em 0;
    gap: 1em;
}
.form-field{
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}
input[type="text"], 
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"] {
    width: 100%;
    padding: .5em;
    font-size: 1rem;
    box-sizing: border-box;
}
input::placeholder{
    font-size: .8em;
}
label{
    font-size: .9em; line-height: 1.3; display: block;
}
label a{ display: inline; text-decoration: underline;}
.label_checkbox{ font-size: .9rem;}

button, .button, .cta_btn{
    font-size: 16px;  padding: .6em 1em; background-color: transparent; color: var(--nero); margin: .5em 0;  
    border: 1px solid var(--nero);
    display: inline-block;
    position: relative; cursor: pointer; text-transform: uppercase; font-weight: 700; transition: all .3s;
}
button.min, .button.min, button.button-min, .button.button-min{ font-size: 14px;  padding: .4em .7em;}
button.minwidth, .button.minwidth{ display: inline-block; min-width: 10rem;}

.cta_btn{ padding: .6em 1.3em; font-size: 1.3em; }
button:hover, .button:hover, .cta_btn:hover{ transform: scale3d(.95, .95, .95); background-color:  var(--nero); color: var(--bianco); }


@media only screen and (max-width: 970px) {
    .lista_modelli{
        grid-template-columns: 1fr 1fr;
        gap: 3em;
    }
            
}

@media only screen and (max-width: 768px) {
    
    h1, .h1{ font-size: 31px; }
    h2, .h2{ font-size: 28px; }
    h3, .h3{ font-size: 26px; }
    h4, .h4{ font-size: 21px; }
    h5, .h5{ font-size: 16px; }
    h6, .h6{ font-size: 15px; }
    p, .p{font-size: 12px;}


    .row-solo-testo{ padding: 0;}
    .myIn-2col {
        display: flex;
        flex-direction: column;
    }
    .col-2col-main,
    .col-2col-alternative {width: 100%; margin: 1rem 0; padding: 0;}


    .lista_modelli{
        grid-template-columns: 1fr;
        gap: 3em;
    }
       
    
    
}