/*
* ing. Nicolò Chiellini n.chiellini@4sigma.it
* Steeven Paganoni s.paganoni@4sigma.it
*/

:root {
    --scrollbar-width: 0px;
    --vh: 1vh;
    --bianco: #ffffff;
    --nero: #000000;
    --green: green;
}

html {
    width: 100%;
    min-height: 100%;
    margin: 0px;
    float: left;
    padding: 0px;
    font-family: "IBM Plex Sans";
    overflow-x: hidden;
    scroll-behavior: smooth;
}

body {
    border: none;
    padding: 0px;
    margin: 0px;
    width: 100%;
    float: left;
    -webkit-text-size-adjust: 100%;
    font-weight: 400;
    /*    font-size: clamp(12px, calc((16 / 1680) * 100vw), 16px);
    line-height: clamp(16px, calc((20 / 1680) * 100vw), 20px);*/
    position: relative;
    color: var(--nero);
    overflow-x: hidden;
    position: relative;
    background-color: #fefbf7;
}

td {
    border: none;
    text-align: left;
    margin: 0px;
    padding: 0px;
}

div,
p,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
footer,
header,
nav,
article,
main,
aside,
section,
form,
fieldset,
marquee,
figure,
figcation {
    float: left;
    margin: 0px;
    padding: 0px;
    width: 100%;
    text-align: left;
    text-decoration: none;
    -webkit-text-size-adjust: 100%;
}

img {
    text-decoration: none;
    border: none;
    vertical-align: middle;
}

svg {
    border: none;
    border-image-width: 0;
    stroke-width: 0px;
}

iframe {
    margin: 0px;
    padding: 0px;
    border: none;
    /*    height: auto;
    width: 100%;*/
}

video[poster] {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

video {
    max-width: 100%;
}

table,
td,
tr {
    margin: 0px;
    padding: 0px;
    border: none;
}

table {
    float: left;
}

label {
    cursor: pointer;
}

a {
    outline: none;
    text-decoration: none;
    cursor: pointer;
    font-weight: bold;
    transition: color 0.2s;
    -webkit-transition: color 0.2s;
    /*   color: var(--blue-iifm); */
}

button {
    /*   color: var(--nerino); */
}

li {
    outline: none;
}

i,
em,
.italic {
    font-style: italic;
    font-weight: inherit;
}

i strong,
em strong {
    font-style: italic;
}

.underline {
    text-decoration: underline;
}

*::placeholder {
    color: var(--grigio-iifm);
}

button::-moz-focus-inner {
    border: 0;
}

a:focus {
    outline: none;
}

*:focus::placeholder {
    color: transparent;
}

input,
textarea,
select,
button {
    outline: none;
    border: none;
    padding: 0px;
    -webkit-border-radius: 0px;
    /* font-family: "Maven Pro"; */
}

select {
    -webkit-appearance: none;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAWCAYAAAAW5GZjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozYWZiZjdlZi01YWI5LTQxOTgtYWM4NS03NjY3MTY0OTY4MzUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUFGNzc5RkEzNjI0MTFFQkEyMjdCNDFBRUE1NjNBNkUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUFGNzc5RjkzNjI0MTFFQkEyMjdCNDFBRUE1NjNBNkUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGRUM3M0JFODJEOTYxMUVCQThENkYzNzEzNEFCMjA0NCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGRUM3M0JFOTJEOTYxMUVCQThENkYzNzEzNEFCMjA0NCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PivKHYoAAACeSURBVHjaYvz//z8DsYCJgQQwSBSzgAhGLU9ksQwgngDEBUA8Ayb4/9p2iGIkkAnE06Ds6SBzoDSGM5AVwsA0qDiKYmwKMTTAFHcT8Fs33INAoAnEwngUv0VW/BiKCQcdEMgSYfJjmOLrQMyNR/FXIOaBebCUgAtKkUMDFPBZOBRmwSIGOVKwacjCFYMwDaAI+AmlpyNLMg7BnAIQYADcuSEq6NODFQAAAABJRU5ErkJggg==);
    background-position: calc(100% - 15px) 50%;
    background-repeat: no-repeat;
    background-size: 11px 22px;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
}

input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="date"] {
    -moz-appearance: textfield;
}

button {
    cursor: pointer;
    -webkit-appearance: none;
    background-color: transparent;
    /* font-family: "Maven Pro"; */
}

input[type="checkbox"] {
    -webkit-appearance: checkbox;
    -webkit-border-radius: auto;
    vertical-align: middle;
}

input[type="radio"] {
    /*    -webkit-appearance: checkbox;
    -webkit-border-radius: auto;*/
    vertical-align: middle;
}

input[type="submit"] {
    -webkit-border-radius: 0px;
    -webkit-appearance: none;
}

.hidden {
    display: none;
}

.vis_hidden {
    visibility: hidden;
}

.vis_hidden {
    height: 0px;
    overflow: hidden;
}

.over_hidden {
    overflow: hidden;
}

.block {
    display: block;
}

.flex {
    display: flex;
}

.flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

.justify-center {
    justify-content: center;
}

.justify-left {
    justify-content: flex-start;
}

.mobile {
    display: none;
}

.opacity_0 {
    opacity: 0;
}

.opacity_1 {
    opacity: 1;
}

.inline-block {
    display: inline-block;
}

.inline-desktop {
    display: inline;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.pointer {
    cursor: pointer;
}

.wait {
    cursor: wait;
}

.left {
    float: left;
}

.right {
    float: right;
}

.none {
    float: none;
}

.clear {
    clear: both;
}

.pink {
    color: pink;
}

.uppercase {
    text-transform: uppercase;
}

.text-center {
    text-align: center;
}


section {
    min-height: 400px;
}

p {
    font-size: clamp(15px, 1vw, 20px);
    line-height: clamp(20px, 1.3vw, 25px);
}

a {
    text-decoration: underline;
    font-weight: bold;
    color: #fefbf7;
}

.hnpt {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    background-color: transparent;
    height: 100%;
    z-index: 100;
}

.ritch-cont {
    overflow: hidden;
    font-size: clamp(15px, 1vw, 20px);
    line-height: clamp(20px, 1.3vw, 25px);
}
.ritch-cont a {
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
}
.ritch-cont ul {
    width: 100%;
    box-sizing: border-box;
    list-style-type: disc;
    padding-left: 20px;
    display: block;
}
.ritch-cont ol {
    width: 100%;
    box-sizing: border-box;
    list-style-type:decimal;
    padding-left: 20px;
}
.ritch-cont li {
    float: left;
    width: 100%;
}
.ritch-cont img {
    max-width: 100% !important;
    height: auto !important;
}

.title {
    font-size: clamp(45px, 4vw, 80px);
    line-height: clamp(50px, 4.4vw, 85px);
}

.section-white {
    background-color: #fefbf7;
    overflow: visible;
}

.section-brown {
    background-color: #7f3b2f;
    overflow: visible;
}

.section-grey {
    background-color: #333333;
}

.page {
    max-width: 1920px;
    padding-left: 40px;
    padding-right: 40px;
    float: none;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.mini-page {
    width: 50%;
    float: none;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

/**** FIRST ****/
.first-singleton {
    display: flex;
    align-items: flex-start;
    box-sizing: border-box;
    padding: 60px 0px;
    position: relative;
    gap: 10px;
}

.first-singleton-right {
    text-align: left;
    width: calc((100% - 20px) / 4);
}

.first-singleton-left {
    text-transform: uppercase;
    width: calc((100% - 20px) / 4);
}

.first-singleton-center {
    font-size: clamp(45px, 4.16vw, 80px);
    line-height: clamp(50px, 4.4vw, 85px);
    margin-right: 10px;
    margin-top: calc(-1 * clamp(calc(50px / 8), calc(4.4vw / 8), calc(85px / 8)));
}

.first-singleton-image {
    display: block;
    float: left;
    width: 100%;
    position: relative;
    z-index: 2;
}

.first-singleton-image img {
    width: 100%;
    height: auto;
    border-radius: 10px;
}

/**** SECOND ****/
.second-singleton {
    margin-top: 120px;
}

.second-singleton h2,
.second-singleton p {
    color: #fefbf7;
    margin: auto;
    text-align: center;
    box-sizing: border-box;
}

.second-singleton p {
    margin-top: 40px;
    margin-bottom: 80px;
}

/**** THIRD ****/
.third-singleton {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
}

.third-singleton-image {
    width: 50%;
}

.third-singleton-image img {
    width: 100%;
    border-radius: 10px;
    margin: 120px 80px 120px 0px;
}

.third-singleton-content h2,
.third-singleton-content p {
    color: #333333;
    text-align: left;
}

.third-singleton-content {
    width: 50%;
    margin: 120px 0px 120px 80px;
}

.third-singleton-content p {
    margin-top: 40px;
    margin-bottom: 40px;
}

/**** FOURTH ****/
.four-singleton {
    width: 100%;
    margin-bottom: 120px;
}

.four-singleton-text {
    width: 25%;
}

.four-singleton-grid {
    width: 75%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.grid-item {
    display: flex;
    flex-direction: column;
    justify-content: center;

    border-right: 0.5px solid #333333;
    border-bottom: 0.5px solid #333333;
    width: 100%;
    aspect-ratio: 1 / 1;
}

.grid-item:nth-child(3n) {
    border-right: none;
}

.grid-item:nth-last-child(-n + 3) {
    border-bottom: none;
}

.grid-item h3 {
    text-align: center;
}

.item-icon {
    text-align: center;
}

.item-icon img {
    width: 75%;
}

.title_small {
    font-size: clamp(14px, 1.3vw, 25px);
    line-height: clamp(14px, 1.3vw, 25px);
}

.full-width {
    width: 100%;
}

.full-width img {
    width: 100%;
}

/**** FOURTH ****/

.five-singleton {
    color: #fefbf7;
    margin: 120px 0px 40px 0px;
}

.five-singleton .title {
    width: 50%;
    margin: 0px 0px 0px 25%;
}

.five-singleton-main {
    width: 100%;
    display: flex;
    margin-top: 40px;
    padding: 40px 0px 0px 0px;
    box-sizing: border-box;
    border-top: 0.5px solid #fefbf7;
    gap: 10px;
}

.five-singleton-center {
    width: calc((100% - 20px) / 2);
}

.five-singleton-right {
    width: calc((100% - 20px) / 4);
}

.five-singleton-left {
    width: calc((100% - 20px) / 4);
    font-weight: bold;
}

.five-singleton-right img {
    width: 100%;
    border-radius: 10px;
    aspect-ratio: 16/9;
    object-fit: cover;
    object-position: center center;
}

.last-singleton {
    margin-top: 120px;
    margin-bottom: 80px;
    box-sizing: border-box;
    color: #fefbf7;
    width: 100%;
}

.last-singleton-left {
    float: left;
    width: calc((100% - 80px) / 2);
}

.last-singleton-right {
    float: right;
    width: calc((100% - 80px) / 2);
}

.last-singleton-right button {
    float: right;
}

.last-singleton-right .form-control {
    background-color: #333333;
    border: 2px solid #fefbf7;
    color: #fefbf7;
    padding: 15px 30px;
    width: 100%;
    border-radius: 10px;
    box-sizing: border-box;
    margin-bottom: 15px;
}
.last-singleton-right textarea.form-control {
    margin-bottom: 0px;
}
.form-textarea {
    position: relative;
    z-index: 10;
}
.privacy-container {
    text-align: left;
    margin-bottom: 30px;
    color: #fefbf7;
    float: left;
    width: auto;
}

.btn-brown {
    background-color: #7f3b2f;
    color: #fefbf7;
    display: block;
    float: left;
    text-align: center;
    font-size: 14px;
    border-radius: 5px;
    cursor: pointer;
    height: 40px;
    min-width: 130px;
    line-height: 40px;
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
    text-decoration: none;
    font-weight: bold;
}

.btn-brown:hover {
    background-color: #4c231d;
    transition: all 0.2s;
    -webkit-transition: all 0.2s;

}

.last-singleton-right select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 40px !important;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23FEFBF7%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-position: right 15px top 50%;
    background-size: 12px auto;
}

.logo {
    margin-top: 80px;
    height: 40px;
    width: auto;
}

.p-footer {
    font-size: 15px;
    line-height: 30px;
}

header {
    height: 80px;
    box-sizing: border-box;
}

#logo-header {
    width: auto;
    box-sizing: border-box;
}

#logo-header img {
    height: 20px;
    width: auto;
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #fefbf7;
    z-index: 10;
    width: 100%;
    box-shadow: 0px 20px 20px 0px rgba(0, 0, 0, 0.20);
    -webkit-box-shadow: 0px 20px 20px 0px rgba(0, 0, 0, 0.20);
    -moz-box-shadow: 0px 20px 20px 0px rgba(0, 0, 0, 0.20);
}

header .page {
    display: flex;
    align-items: center;

}

#logo-header {
    display: flex;
    align-items: center;
}

nav {
    display: flex;
    align-items: center;
}

nav ul {
    display: flex;
    justify-content: right;
}

nav li {
    line-height: 80px;
    font-size: clamp(12px, 0.8vw, 16px);
}

nav ul li a {
    white-space: nowrap;
    text-decoration: none;
    margin-right: 10px;
    color: #333333;
    font-weight: 400;
}

nav ul li a:hover {
    text-decoration: underline;
}

.content-nav {
    display: flex;
    width: 100%;
}

body {
    padding-top: 80px;
}

#btn-header {
    display: block;
    float: right;

}

#burger-menu-mob {
    display: none;
    font-size: 25px;
    /* Dimensione dell'icona */
    color: #333;
    cursor: pointer;
    margin-left: auto;
    /* Lo spinge tutto a destra */
    z-index: 1100;
}

/* MAIN */
/* Qui vanno gli eventi di Hover. Non metterli da altre parti!!!!! */
@media (pointer: fine),
(pointer: none) {
    a:hover {
        transition: color 0.2s;
        -webkit-transition: color 0.2s;
        /*color: var(--grigio-iifm);*/
    }
}

/* Menu burger */
@media only screen and (min-width: 320px) and (max-width: 1229px) {
    header {
        height: 60px;
    }

    .logo {
        height: 20px;
    }

    #burger-menu-mob {
        display: block;
        font-size: 18px;
        color: #333333;
        margin-right: 5px;
        cursor: pointer;
        margin-left: 0px;
        width: 20px;
    }

    .content-nav {
        display: none !important;
        position: absolute;
        top: 60px;
        left: 0px;
        height: auto;
        color: #333333;
        background-color: #fefbf7;
        flex-direction: column;
        align-items: flex-start;
        padding: 20px;
        box-shadow: 0px 20px 20px 0px rgba(0, 0, 0, 0.20);
        -webkit-box-shadow: 0px 20px 20px 0px rgba(0, 0, 0, 0.20);
        -moz-box-shadow: 0px 20px 20px 0px rgba(0, 0, 0, 0.20);
    }

    nav {
        margin-top: 15px;
        justify-content: space-between;
    }

    .content-nav.active {
        display: flex !important;
    }

    nav ul {
        flex-direction: column;
        width: 100%;
        box-sizing: border-box;
    }

    nav li {
        line-height: 42px;
        font-size: 18px;
        width: 100%;
    }

    #btn-header {
        height: 30px;
        min-width: 90px;
        font-size: 11px;
        line-height: 30px;
        margin-right: 0px;
    }
}

/* Tablet Vert */
@media only screen and (min-width: 768px) and (max-width: 1023px) {
    .first-singleton {
        display: block;
    }

    .first-singleton-left {
        width: 100%;
    }

    .first-singleton-center {
        width: 100%;
        margin-top: 10px;
    }

    .first-singleton-right {
        width: 100%;
        margin-top: 10px;
    }

    .second-singleton {
        margin-top: 0px;
    }

    .mini-page {
        width: 100%;
        padding: 40px;
    }

    .section-brown {
        min-height: 200px;
    }

    .second-singleton h2,
    .second-singleton p {
        width: 100%;
        margin-left: 0px;
    }

    .second-singleton h2 {
        margin-top: 40px;

    }

    .third-singleton {
        display: flex;
        margin-top: 40px;
        flex-flow: column-reverse;
    }

    .third-singleton-image {
        width: 100%;
        margin-top: 80px;
    }

    .third-singleton-image img {
        margin: 0px;
    }

    .third-singleton-content {
        width: 100%;
        margin: 0px;
    }

    .third-singleton-content h2,
    .third-singleton-content p {
        width: 100%;
    }

    .third-singleton-content h2 {
        margin-top: 20px;
    }

    .four-singleton {
        margin-top: 80px;
    }

    .four-singleton-text {
        width: 100%;
    }

    .four-singleton-grid {
        margin-top: 40px;
        width: 100%;
    }

    .five-singleton-main {
        display: block;
    }

    .five-singleton h2 {
        width: 100%;
        margin-left: 0px;
    }

    .five-singleton-left {
        width: 100%;
    }

    .five-singleton-center {
        width: 100%;
        margin-top: 20px;
        margin-bottom: 20px;
    }

    .five-singleton-right {
        width: 100%;
        margin-top: 20px;
    }

    .last-singleton {
        margin-top: 80px;
        display: block;
    }

    .last-singleton-left {
        width: 100%;
    }

    .last-singleton-right {
        margin-top: 40px;
        width: 100%;
    }
}

/* Cellulari */
@media only screen and (min-width: 220px) and (max-width: 767px) {
    .page {
        padding-left: 10px;
        padding-right: 10px;
    }

    .first-singleton {
        display: block;
    }

    .first-singleton-left {
        width: 100%;
    }

    .first-singleton-center {
        width: 100%;
        margin-top: 10px;
    }

    .first-singleton-right {
        width: 100%;
        margin-top: 10px;
    }

    .first-singleton-image {
        margin-bottom: 20%;
    }

    .second-singleton {
        margin-top: 0px;
    }

    .section-brown {
        min-height: 200px;
    }

    .second-singleton h2,
    .second-singleton p {
        width: 100%;
        margin-left: 0px;
    }

    .mini-page {
        width: 100%;
        padding: 40px;
    }

    .third-singleton {
        display: flex;
        margin-top: 40px;
        flex-flow: column-reverse;
    }


    .third-singleton-image {
        width: 100%;
        margin-top: 40px;
    }

    .third-singleton-image img {
        margin: 0px;
    }

    .third-singleton-content {
        width: 100%;
        margin: 0px;
    }

    .third-singleton-content h2,
    .third-singleton-content p {
        width: 100%;
    }

    .third-singleton-content h2 {
        margin-top: 20px;
    }

    .four-singleton {
        margin-top: 80px;
    }

    .four-singleton-text {
        width: 100%;
    }

    .four-singleton-grid {
        margin-top: 40px;
        width: 100%;
        grid-template-columns: repeat(2, 1fr);
        border-right: none;
        border-bottom: none;
    }

    .grid-item:nth-child(1n) {
        border-right: none;
        border-bottom: none;
    }

    .grid-item:nth-child(9n) {
        display: none;
    }

    .five-singleton .title {
        width: 100%;
        margin: 0px;
    }

    .five-singleton-main {
        display: block;
    }

    .five-singleton h2 {
        width: 100%;
        margin-left: 0px;
    }

    .five-singleton-left {
        width: 100%;
    }

    .five-singleton-center {
        width: 100%;
        margin-top: 20px;
        margin-bottom: 20px;
    }

    .five-singleton-right {
        width: 100%;
        margin-top: 20px;
    }

    .last-singleton {
        margin-top: 80px;
        display: block;
    }

    .last-singleton-left {
        width: 100%;
    }

    .last-singleton-right {
        margin-top: 40px;
        width: 100%;
    }
}
