/* Mollificio SO.MI: 2026 - Art Direction & Management: Brugiatelli Design / Webdesign: Tonidigrigio / Developer: Visione.Digitale */

/*variabili*/
:root {
    --bianco: #FFF;
    --nero: #000;
    --black: #1A1919;
    --red: #CE2D26;
    --light-gray: #F8F8F8;
    --source:"Source Sans 3", sans-serif;
    --transition-3:all 0.3s ease-in-out;
    --transition-5:all 0.5s ease-in-out;
}

/*default*/
html, button, input, select, textarea {color:var(--nero);overflow-x:hidden;}
html, body {margin:0px;padding:0px;background:var(--bianco);}
::-moz-selection {background:var(--nero);text-shadow:none;color:var(--bianco);}
::selection {background:var(--nero);text-shadow:none;color:var(--bianco);}
hr {display: block;height: 1px;border: 0;}
img {margin:0px;padding:0px;border:0px;outline:none;vertical-align: middle;border-radius:0px;}
a {text-decoration:none;outline:none;border:none;}
fieldset {border:0;margin:0;padding:0;}
textarea {resize: vertical;}
.chromeframe { margin: 0.2em 0;background:#ccc;color:var(--nero);padding:0.2em 0;}

/*default link*/
a, a:link, a:visited, a:active, a:hover {transition:var(--transition-3);}
.no-underline {text-decoration:none !important;}

/*animation*/
.animation, .animation > * {transition:var(--transition-5);}

/*typographic*/
body {font-family: var(--source);}
html, body {font-family: var(--source);font-weight:400;font-style:normal;color:var(--nero);font-optical-sizing: auto;}
strong {font-weight:600;}
.text-indent {text-indent:-9999px !important;}
.text-pre {white-space:pre;}

/*font*/
.source {font-family: var(--source);}

/*font dimension*/
html {font-size: 100%;}
body, input {font-family: var(--source);}
small, .small {font-size: .875em ! important;}
.fs-7 {font-size:1.1rem !important;}
.small-10 {font-size:10% !important;}
.small-20 {font-size:20% !important;}
.small-30 {font-size:30% !important;}
.small-40 {font-size:40% !important;}
.small-50 {font-size:50% !important;}
.small-60 {font-size:60% !important;}
.small-70 {font-size:70% !important;}
.small-80 {font-size:80% !important;}
.small-90 {font-size:90% !important;}

/*lineheight*/
.lh-1   {line-height:1rem !important;}
.lh-1-5 {line-height:1.5rem !important;}
.lh-2   {line-height:2rem !important;}
.lh-2-5 {line-height:2.5rem !important;}
.lh-3   {line-height:3rem !important;}
.lh-3-5 {line-height:3.rem !important;}
.lh-4   {line-height:4rem !important;}

/*font-weight*/
.fw-extralight {font-weight:200 !important;}
.fw-light      {font-weight:300 !important;}
.fw-regular    {font-weight:400 !important;}
.fw-medium     {font-weight:500 !important;}
.fw-semibold   {font-weight:600 !important;}
.fw-bold       {font-weight:700 !important;}
.fw-extrabold  {font-weight:800 !important;}
.fw-black      {font-weight:900 !important;}

/*text color*/
.text-bianco     {color:var(--bianco) !important;} 
.text-nero       {color:var(--nero) !important;}
.text-black      {color:var(--black) !important;}
.text-red        {color:var(--red) !important;}
.text-light-gray {color:var(--light-gray) !important;}

/*background*/
.bg-bianco     {background-color:var(--bianco) !important;} 
.bg-nero       {background-color:var(--nero) !important;}
.bg-black      {background-color:var(--black) !important;}
.bg-red        {background-color:var(--red) !important;}
.bg-light-gray {background-color:var(--light-gray) !important;}

/*border color*/
.border-bianco     {border-color:var(--bianco) !important;} 
.border-nero       {border-color:var(--nero) !important;}
.border-black      {border-color:var(--black) !important;}
.border-red        {border-color:var(--red) !important;}
.border-light-gray {border-color:var(--light-gray) !important;}

/*fill*/
.fill-bianco     {fill:var(--bianco) !important;} 
.fill-nero       {fill:var(--nero) !important;}
.fill-black      {fill:var(--black) !important;}
.fill-red        {fill:var(--red) !important;}
.fill-light-gray {fill:var(--light-gray) !important;}

/*background cover*/
.bg-cover {background-position:center !important;background-repeat: no-repeat !important;background-size: cover !important;}

/*opacity*/
.opacity-100 {opacity:1 !important;}
.opacity-95  {opacity:.95 !important;}
.opacity-90  {opacity:.90 !important;}
.opacity-85  {opacity:.85 !important;}
.opacity-80  {opacity:.80 !important;}
.opacity-75  {opacity:.75 !important;}
.opacity-50  {opacity:.50 !important;}
.opacity-25  {opacity:.25 !important;}
.opacity-20  {opacity:.20 !important;}
.opacity-15  {opacity:.15 !important;}
.opacity-10  {opacity:.10 !important;}
.opacity-0   {opacity:0 !important;}

/*border*/
.border-0 {border:none !important;}
.rounded-0 {border-radius:0px !important;}
.rounded-4 {border-radius: .4rem !important;}
.rounded-5 {border-radius: .5rem !important;}

/*z-index*/
.z-index-1 {z-index:1 !important;}
.z-index-2 {z-index:2 !important;}
.z-index-3 {z-index:3 !important;}
.z-index-4 {z-index:4 !important;}
.z-index-5 {z-index:5 !important;}
.z-index-9 {z-index:9 !important;}
.z-index-99 {z-index:99 !important;}
.z-index-999 {z-index:999 !important;}
.z-index-9999 {z-index:9999 !important;}

/*width*/
.wd-20  {width:20px;}
.wd-25  {width:25px;}
.wd-30  {width:30px;}
.wd-40  {width:40px;}
.wd-50  {width:50px;}
.wd-60  {width:60px;}
.wd-70  {width:70px;}
.wd-80  {width:80px;}
.wd-90  {width:90px;}
.wd-100 {width:100px;}
.wd-125 {width:125px;}
.wd-150 {width:150px;}
.wd-200 {width:200px;}
.wd-250 {width:250px;}

/*perecentual width*/
.wd-50p {width:50%;}
.wd-60p {width:60%;}
.wd-70p {width:70%;}
.wd-75p {width:75%;}

/*height*/
.hg-0 {height:0px !important;}
.hg-5  {height:5px !important;}
.hg-10 {height:10px !important;}
.hg-25 {height:25px !important;}
.mn-height-50  {min-height:50vh;}
.mn-height-75  {min-height:75vh;}
.mn-height-100 {min-height:100vh;}

/*margin*/
.m-05  {margin:.25rem !important;}
.mx-05 {margin-left:.25rem !important;margin-right:.25rem !important;}
.my-05 {margin-top:.25rem !important;margin-bottom:.25rem !important;}
.mt-05 {margin-top:.25rem !important;}
.mb-05 {margin-bottom:.25rem !important;}
.ms-05 {margin-left:.25rem !important;}
.me-05 {margin-right:.25rem !important;}

/*padding*/
.p-05  {padding:.25rem !important;}
.px-05 {padding-left:.25rem !important;padding-right:.25rem !important;}
.py-05 {padding-top:.25rem !important;padding-bottom:.25rem !important;}
.pt-05 {padding-top:.25rem !important;}
.pb-05 {padding-bottom:.25rem !important;}
.ps-05 {padding-left:.25rem !important;}
.pe-05 {padding-right:.25rem !important;}

/*link*/
a.link-underline {border-bottom: 1px solid currentColor;}

/*button*/
.btn-check:focus+.btn, .btn:focus {box-shadow:none !important;}
.btn-text-black          {color:var(--black);}
.btn-text-red            {color:var(--red) !important;}
.btn-text-over-red:hover {color:var(--red) !important;}
.btn-effect {position:relative;padding:0px !important;padding-bottom:0.5rem !important;}
.btn-effect::after {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: var(--red);
    transform: scaleX(.3);
    transform-origin: left;
    transition: transform 0.3s ease-in-out;
}
.btn-effect:hover::after {transform: scaleX(1);}

button.btn-effect {padding-bottom:15px !important;}
button.btn-effect::after {bottom:0px;}
button.btn-text-white {color:var(--bianco) !important;}
button.btn-text-white::after {background-color:var(--bianco) !important;}

/*header*/
#header-wrapper {height:145px !important;}
#header-wrapper .navbar-brand img {max-height:80px;}
body.headroom--not-top #header-wrapper {height:125px !important; overflow: hidden;}
body.headroom--not-top #header-wrapper {box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;}
body.headroom--not-top #header-wrapper .navbar-brand img {max-height:60px;}

@media (max-width: 680px) {
    #header-wrapper {height:100px !important;}
    #header-wrapper .navbar-brand img {max-height:60px;}
    body.headroom--not-top #header-wrapper {height:100px !important;}
}

.navbar-nav .nav-icon .bi-list {font-size:1.5rem !important;}

/*footer*/
#footer-wrapper a.footer-brand img {width:100%;}
@media (min-width: 1080px) {
    #footer-wrapper a.footer-brand img {width:140px;}
}

/*navbard*/
#header-wrapper .navbar-nav .nav-link {color:var(--black) !important;position:relative;padding:0px !important}
#header-wrapper .navbar-nav .nav-link::after {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: var(--red);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease-in-out;
}
#header-wrapper .navbar-nav .nav-link:hover::after {transform: scaleX(1);}
#header-wrapper .navbar-nav .nav-link:hover, .navbar-nav .nav-link:focus {color:var(--red) !important;}
#header-wrapper .navbar-nav .nav-link.active {color:var(--red) !important;cursor: default !important;}
#header-wrapper .navbar-nav .nav-link.active::after {display:none !important;}
#header-wrapper .navbar-nav .nav-link.nav-icon::after {display:none !important;}

/*lang header*/
.lang-head-wrapper a.active {text-decoration: line-through !important;}
.lang-head-wrapper a.active::before {display:none;}

/*mobile menu*/
.nav-minimal .nav-link[aria-expanded]::before {content: "\F138";}
.nav-minimal .nav-link.active {color:var(--red) !important;cursor: default !important;}
.nav-minimal .nav-link.active::after {display:none !important;}

/*template*/
.page-wrapper {padding-top:150px !important;}
@media (max-width: 680px) {
    .page-wrapper {padding-top:110px !important;}
}

/*azienda*/
#azienda-slider-carousell .row {position:relative;z-index:5;}
#azienda-slider-carousell::before {
    content: "";
    background:var(--black);
    position:absolute;
    z-index:1;
    top:0px;
    right:0px;
    left:0px;
    width:100%;
    height:30%;
}
#azienda-slider-carousell::after {
    content: "";
    background:var(--red);
    position:absolute;
    z-index:1;
    bottom:0px;
    right:0px;
    left:0px;
    width:100%;
    height:15%;
}

#generation-over .generation-now {opacity:0 !important;}
#generation-over:hover .generation-now {opacity:1 !important;}

/*produzione*/
#produzione-slider-carousell .row {position:relative;z-index:5;}
#produzione-slider-carousell::before {
    content: "";
    background:#EEEEEE !important;
    position:absolute;
    z-index:1;
    top:0px;
    right:0px;
    left:0px;
    width:100%;
    height:30%;
}

/*card*/
.card.card-prodotti-molle {width:100% !important;}
.card.card-prodotti-molle figure {width:200px;}
@media (max-width: 680px) {
    .card.card-prodotti-molle .col-auto.col-card-image {width:30% !important;position:relative;right:-25px ;}
    .card.card-prodotti-molle figure {width:auto !important;}
}
.card.card-prodotti-molle figure img {transform:scale(.85) !important;}
.card.card-prodotti-molle:hover figure img {transform:scale(1.05) !important;}
@media (min-width: 1023px) {
    #carousel-prodotti-molle > div {width:50% !important;float:left;}
}
.card.card-settori figure {position:relative;}
.card.card-settori:hover figure img {transform:scale(1.2);}
.card.card-settori:hover h6 {color:var(--red) !important;}

@media (min-width: 1023px) {
    .card.card-correlati figure img {transform:scale(.85) !important;}
    .card.card-correlati:hover figure img {transform:scale(1) !important;}
}
@media (max-width: 680px) {
    .card.card-correlati figure img {max-width:140px !important;}
}

/*carousel*/
.carousel.carousel-with-nav.carousel-with-nav-bottom {padding-bottom:60px !important;}
.carousel.carousel-with-nav.carousel-with-nav-bottom .tns-controls button {
    width:40px;
    height:40px;
    background:var(--red) !important;
    opacity: 1 !important;
    top:auto;
    bottom:0px;
}
.carousel.carousel-with-nav.carousel-with-nav-bottom .tns-controls button[data-controls="prev"] {right:45px !important;left:auto !important;}
.carousel.carousel-with-nav.carousel-with-nav-bottom .tns-controls button[data-controls="next"] {right:0px !important;}
.carousel.carousel-prodotti .tns-controls button {
    width:40px;
    height:40px;
    background:var(--bianco) !important;
    opacity: 1 !important;
}
.carousel.carousel-prodotti .tns-controls button .bi {color:var(--red)}
.carousel.carousel-prodotti .tns-controls button[data-controls="prev"] {right:auto !important; left:-50px !important}
.carousel.carousel-prodotti .tns-controls button[data-controls="next"] {left:auto !important; right:-50px !important}
@media (max-width: 680px) {
    .carousel.carousel-prodotti .tns-controls button[data-controls="prev"] {right:auto !important; left:-10px !important;box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;}
    .carousel.carousel-prodotti .tns-controls button[data-controls="next"] {left:auto !important; right:-10px !important;box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;}
    .carousel.carousel-with-nav.carousel-with-nav-bottom .tns-controls button {top:50% !important;}
    .carousel.carousel-with-nav.carousel-with-nav-bottom .tns-controls button[data-controls="prev"] {right:auto !important;left:15px !important}
    .carousel.carousel-with-nav.carousel-with-nav-bottom .tns-controls button[data-controls="next"] {right:15px !important;left:auto !important}
}
.carousel.carousel-default .tns-controls button {
    width:40px;
    height:40px;
    background:var(--red) !important;
    opacity: 1 !important;
}
.carousel.carousel-team .tns-controls button {
    width:40px;
    height:40px;
    background:var(--red) !important;
    opacity: 1 !important;
    top:38%;
}
.carousel.carousel-prodotti-correlati .tns-controls button {
    width:40px;
    height:40px;
    background:var(--bianco) !important;
    opacity: 1 !important;
    top:35% !important
}
.carousel.carousel-prodotti-correlati .bi::before {color:var(--red) !important;}
.carousel.carousel-settori-correlati .tns-controls button {
    width:40px;
    height:40px;
    background:var(--bianco) !important;
    opacity: 1 !important;
    top:45% !important
}
.carousel.carousel-settori-correlati .bi::before {color:var(--red) !important;}

/*carousel clienti*/
.carousel.carousel-clienti figure img {width:auto !important;height:90px;}
.carousel.carousel-clienti button[data-action="stop"], .carousel.carousel-clienti button[data-action="start"] {display: none !important;}
.carousel.carousel-clienti .tns-controls button {
    width:40px;
    height:40px;
    background:var(--red) !important;
    opacity: 1 !important;
}

/*form*/
input[type="text"], input[type="email"], input[type="number"] {border:0px !important;border-bottom:1px solid var(--bianco) !important;color:var(--bianco) !important;}

input[type="text"], input[type="email"], input[type="number"], textarea.form-control {font-size:1.35rem !important;}

select.form-select {
    border:0px !important;
    border-bottom:1px solid var(--bianco) !important;
    color:var(--bianco) !important;
    color:var(--bianco) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3E%3Cpath fill-rule='evenodd' d='M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1'/%3E%3C/svg%3E") !important;
}
textarea.form-control {border:0px !important;border-bottom:1px solid var(--bianco) !important;color:var(--bianco) !important;}

.form-control:focus {box-shadow:none !important;}
.form-check-input:focus  {box-shadow:none !important;}
.form-check-input {width:1.1em !important;height:1.1em !important;margin-top:4px !important;border:1px solid var(--bianco) !important;background:var(--red);}
.form-check-input:checked {border:1px solid var(--bianco) !important;background-color:var(--red);}



.was-validated .form-control:invalid, .form-control.is-invalid {
    border-color: #FFF !important;
    padding-right: 0px;
    background-repeat: no-repeat;
    background-position: right center !important;
    background-size: 1rem !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3E%3Cpath fill-rule='evenodd' d='M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5m.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2'/%3E%3C/svg%3E") !important;

}

.was-validated .form-control:valid, .form-control.is-valid {background:none !important;}

.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
    background-color: var(--red) !important;
}





/*prodotti*/
#prodotti-banner .equal-2-1::before {padding-top:35%;}
#prodotti-dettaglio-intro::after {
    content: "";
    position:absolute;
    bottom:0px;
    left:0px;
    right:0px;
    width:100%;
    background:var(--red) !important;
    height:20%;
}
#prodotti-dettaglio-intro .row {position:relative;z-index:5;}

/*settori*/
#settori-dettaglio-correlati.settori-red .card.card-settori h6, #settori-dettaglio-correlati.settori-red .card.card-settori h6:hover {color:var(--bianco) !important;}
@media (min-width: 1280px) {
    #settori-dettaglio-correlati .card.card-settori {max-width:300px !important;}
}