:root {
    --dark: #111;
    --grigiochiaro: #f0f0f0;
    --grigiomedio: #a9a9a9;
    --grigioscuro: #808080;
    --white: #fff;
    --maincolor: #d58e00;
    --darkmaincolor: #ab7200;
    --lightmaincolor: #fca800;
    --secondarycolor: #01295F;
    --lightsecondarycolor: #34547f;
    --darksecondarycolor: #01214c;
    --verdeCTA: #15af15;
    --verdeCTAdark: #129712;
    --gradient: linear-gradient(90deg, #d58e00, #01295F);
    --gradientInv: linear-gradient(-90deg, #d58e00, #01295F);
    --fs-200: clamp(0.85rem, calc(0.82rem + 0.06vw), 0.90rem);
    --fs-250: clamp(0.89rem, calc(0.87rem + 0.07vw), 0.94rem);
    --fs-300: clamp(0.94rem, calc(0.92rem + 0.08vw), 0.98rem);
    --fs-350: clamp(1.035rem, calc(0.99rem + 0.205vw), 1.145rem);
    --fs-400: clamp(1.13rem, calc(1.06rem + 0.33vw), 1.31rem);
    --fs-450: clamp(1.24rem, calc(1.135rem + 0.51vw), 1.53rem);
    --fs-500: clamp(1.35rem, calc(1.21rem + 0.69vw), 1.75rem);
    --fs-550: clamp(1.485rem, calc(1.29rem + 0.965vw), 2.04rem);
    --fs-600: clamp(1.62rem, calc(1.37rem + 1.24vw), 2.33rem);
    --fs-650: clamp(1.78rem, calc(1.455rem + 1.635vw), 2.72rem);
    --fs-700: clamp(1.94rem, calc(1.54rem + 2.03vw), 3.11rem);
    --fs-750: clamp(2.135rem, calc(1.62rem + 2.585vw), 3.625rem);
    --fs-800: clamp(2.33rem, calc(1.7rem + 3.15vw), 4.14rem);
    --fs-850: clamp(2.565rem, calc(1.775rem + 3.945vw), 4.83rem);
    --fs-900: clamp(2.8rem, calc(1.85rem + 4.74vw), 5.52rem);
    --fs-big: clamp(3rem, calc(1.9rem + 4.8vw), 6rem);
    --fs-huge: clamp(5rem, calc(4rem + 6vw), 8rem);
    --fw-100: 100;
    --fw-200: 200;
    --fw-300: 300;
    --fw-400: 400;
    --fw-500: 500;
    --fw-600: 600;
    --fw-700: 700;
    --fw-800: 800;
    --fw-900: 900;
    font-family: "Poppins", 'sans-serif';
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--font-family);
}

/*SECTION - Font size */
.fs-200 {
    font-size: var(--fs-200);
}

.fs-250 {
    font-size: var(--fs-250);
}

.fs-300 {
    font-size: var(--fs-300);
}

.fs-350 {
    font-size: var(--fs-350);
}

.fs-400 {
    font-size: var(--fs-400);
}

.fs-450 {
    font-size: var(--fs-450);
}

.fs-500 {
    font-size: var(--fs-500);
}

.fs-550 {
    font-size: var(--fs-550);
}

.fs-600 {
    font-size: var(--fs-600);
}

.fs-650 {
    font-size: var(--fs-650);
}

.fs-700 {
    font-size: var(--fs-700);
}

.fs-750 {
    font-size: var(--fs-750);
}

.fs-800 {
    font-size: var(--fs-800);
}

.fs-850 {
    font-size: var(--fs-850);
}

.fs-900 {
    font-size: var(--fs-900);
}

.fs-big {
    font-size: var(--fs-big)
}

.fs-huge {
    font-size: var(--fs-huge)
}

/* !SECTION */

/*SECTION - Font-weight */
.fw_100 {
    font-weight: var(--fw-200);
}

.fw_200 {
    font-weight: var(--fw-200);
}

.fw_300 {
    font-weight: var(--fw-300);
}

.fw_400 {
    font-weight: var(--fw-400);
}

.fw_500 {
    font-weight: var(--fw-500);
}

.fw_600 {
    font-weight: var(--fw-600);
}

.fw_700 {
    font-weight: var(--fw-700);
}

.fw_800 {
    font-weight: var(--fw-800);
}

.fw_900 {
    font-weight: var(--fw-900);
}

/* !SECTION */

/* SECTION Padding */
/*ANCHOR -  TOP e bottom */

.pad5 {
    padding-top: 5px;
    padding-bottom: 5px;
}

.pad10 {
    padding-top: 10px;
    padding-bottom: 10px;
}

.pad15 {
    padding-top: 15px;
    padding-bottom: 15px;
}

.pad20 {
    padding-top: 20px;
    padding-bottom: 20px;
}

.pad30 {
    padding-top: 30px;
    padding-bottom: 30px;
}

.pad40 {
    padding-top: 40px;
    padding-bottom: 40px;
}

.pad50 {
    padding-top: 50px;
    padding-bottom: 50px;
}

.pad60 {
    padding-top: 60px;
    padding-bottom: 60px;
}

.pad70 {
    padding-top: 70px;
    padding-bottom: 70px;
}

.pad80 {
    padding-top: 80px;
    padding-bottom: 80px;
}

.pad90 {
    padding-top: 90px;
    padding-bottom: 90px;
}

.pad100 {
    padding-top: 100px;
    padding-bottom: 100px;
}

.pad120 {
    padding-top: 120px;
    padding-bottom: 120px;
}

.pad130 {
    padding-top: 130px;
    padding-bottom: 130px;
}

.pad140 {
    padding-top: 140px;
    padding-bottom: 140px;
}

.pad150 {
    padding-top: 150px;
    padding-bottom: 150px;
}


/*ANCHOR - Nopad */
.nopadtop {
    padding-top: 0;
}

.nopadbottom {
    padding-bottom: 0;
}

/*ANCHOR - Padding right */
.padright20 {
    padding-right: 20px;
}

/* !SECTION */

body {
    --sb-track-color: var(--grigiochiaro);
    --sb-thumb-color: var(--maincolor);
    --sb-size: 6px;
}

body::-webkit-scrollbar {
    width: var(--sb-size)
}

body::-webkit-scrollbar-track {
    background: var(--sb-track-color);
    border-radius: 15px;
}

body::-webkit-scrollbar-thumb {
    background: var(--sb-thumb-color);
    border-radius: 15px;

}

/*SECTION - Link */
a.global_link {
    width: 100%;
    height: 100%;
}

.z_index_1 {
    z-index: 1;
}

.z_index_2 {
    z-index: 2;
}

.z_index_3 {
    z-index: 3;
}

.z_index_4 {
    z-index: 4;
}

.z_index_5 {
    z-index: 5;
}

.z_index_6 {
    z-index: 6;
}

.z_index_7 {
    z-index: 7;
}

.z_index_8 {
    z-index: 8;
}

.z_index_9 {
    z-index: 9;
}

.z_index_10 {
    z-index: 10;
}

.z_index_11 {
    z-index: 11;
}

.z_index_12 {
    z-index: 12;
}

.z_index_13 {
    z-index: 13;
}

.z_index_14 {
    z-index: 14;
}

.z_index_15 {
    z-index: 15;
}

/* !SECTION */

/* SECTION - Line height */

.lh-1-1 {
    line-height: 1.1;
}

.lh-1-2 {
    line-height: 1.2;
}

.lh-1-3 {
    line-height: 1.3;
}

.lh-1-4 {
    line-height: 1.4;
}

.lh-1-5 {
    line-height: 1.5;
}

.lh-1-6 {
    line-height: 1.6;
}

.lh-1-7 {
    line-height: 1.7;
}

.lh-1-8 {
    line-height: 1.8;
}


/* !SECTION */

/*SECTION - Min Height */
.minh50 {
    min-height: 50px;
}

.minh100 {
    min-height: 100px;
}

.minh150 {
    min-height: 150px;
}

.minh200 {
    min-height: 200px;
}

.minh250 {
    min-height: 250px;
}

.minh300 {
    min-height: 300px;
}

.minh350 {
    min-height: 350px;
}

.minh400 {
    min-height: 400px;
}

.minh450 {
    min-height: 450px;
}

.minh500 {
    min-height: 500px;
}

.minh550 {
    min-height: 500px;
}

.minh600 {
    min-height: 600px;
}

.minh700 {
    min-height: 700px;
}

.minh750 {
    min-height: 750px;
}

.minh800 {
    min-height: 800px;
}

.minh850 {
    min-height: 850px;
}

.minh900 {
    min-height: 900px;
}

.minh100vh {
    min-height: 100vh;
}

/* !SECTION */

/* SECTION Margin */

.mart5 {
    margin-top: 5px;
}

.marb5 {
    margin-bottom: 5px;
}

.mart10 {
    margin-top: 10px;
}

.marb10 {
    margin-bottom: 10px;
}

.mart20 {
    margin-top: 20px;
}

.marb20 {
    margin-bottom: 20px;
}

.mart30 {
    margin-top: 30px;
}

.marb30 {
    margin-bottom: 30px;
}

.mart40 {
    margin-top: 40px;
}

.marb40 {
    margin-bottom: 40px;
}

.mart50 {
    margin-top: 50px;
}

.marb50 {
    margin-bottom: 50px;
}

.mart60 {
    margin-top: 60px;
}

.marb60 {
    margin-bottom: 60px;
}

.mart70 {
    margin-top: 70px;
}

.marb70 {
    margin-bottom: 70px;
}

.mart80 {
    margin-top: 80px;
}

.marb80 {
    margin-bottom: 80px;
}

.mart90 {
    margin-top: 90px;
}

.marb90 {
    margin-bottom: 90px;
}

.mart100 {
    margin-top: 100px;
}

.marb100 {
    margin-bottom: 100px;
}

.mart110 {
    margin-top: 110px;
}

.marb110 {
    margin-bottom: 110px;
}

.mart120 {
    margin-top: 120px;
}

.marb120 {
    margin-bottom: 120px;
}

.mart130 {
    margin-top: 130px;
}

.marb130 {
    margin-bottom: 130px;
}

.mart140 {
    margin-top: 140px;
}

.marb140 {
    margin-bottom: 140px;
}

.mart150 {
    margin-top: 150px;
}

.marb150 {
    margin-bottom: 150px;
}

/* !SECTION */

/* SECTION Elementi Grid layout */

.grid {
    display: grid;
}

.auto_grid {
    grid-auto-flow: column;
}


/* ANCHOR Grid template columns */
.grid_2_cols {
    grid-template-columns: repeat(2, 1fr);
}

.grid_3_cols {
    grid-template-columns: repeat(3, 1fr);
}

.grid_4_cols {
    grid-template-columns: repeat(4, 1fr);
}

.grid_5_cols {
    grid-template-columns: repeat(5, 1fr);
}

.grid_1_2_cols {
    grid-template-columns: 1fr 2fr;
}

.grid_1_3_cols {
    grid-template-columns: 1fr 3fr;
}

.grid_2_1_cols {
    grid-template-columns: 2fr 1fr;
}

.grid_3_1_cols {
    grid-template-columns: 3fr 1fr;
}

.grid_3_2_cols {
    grid-template-columns: 3fr 2fr;
}

.grid_2_3_cols {
    grid-template-columns: 2fr 3fr;
}

.grid_2_1_1_cols {
    grid-template-columns: 2fr 1fr 1fr;
}

/* ANCHOR Valori GAP  */

.gap10 {
    gap: 10px;
}

.gap15 {
    gap: 15px;
}

.gap20 {
    gap: 20px;
}

.gap30 {
    gap: 30px;
}

.gap40 {
    gap: 40px;
}

.gap50 {
    gap: 50px;
}

.gap60 {
    gap: 60px;
}

.gap70 {
    gap: 70px;
}

.gap80 {
    gap: 80px;
}

.gap90 {
    gap: 90px;
}

.gap100 {
    gap: 100px;
}

/* !SECTION */

/*SECTION - Flex */
.jc-space-btw {
    justify-content: space-between;
}

.jc-center {
    justify-content: center;
}

.jc-start {
    justify-content: start;
}

.jc-end {
    justify-content: end;
}

.flex {
    display: flex;
    align-items: center;
}

.flex-col {
    flex-direction: column;
}

.flex-col-rev {
    flex-direction: column-reverse;
}

.flex-rev {
    flex-direction: row-reverse;
}

.align_center {
    align-items: center;
}

.align_start {
    align-items: flex-start;
}

.align_initial {
    align-items: initial;
}

.align_end {
    align-items: flex-end;
}

.align_self_end {
    align-self: flex-end;
}

/* !SECTION */

/*SECTION - Position */
.pos_rel {
    position: relative;
}

.pos_abs {
    position: absolute;
}

.pos_fix {
    position: fixed;
}

.pos_static {
    position: static;
}

.pos_sticky {
    position: -webkit-sticky;
    position: sticky;
}

/* !SECTION */

/* SECTION - Text colors */

.text_dark {
    color: var(--dark);
}

.text_grigiochiaro {
    color: var(--grigiochiaro);
}

.text_grigiomedio {
    color: var(--grigiomedio);
}

.text_grigioscuro {
    color: var(--grigioscuro);
}

.text_white {
    color: var(--white);
}

.text_maincolor {
    color: var(--maincolor);
}

.text_secondarycolor {
    color: var(--secondarycolor);
}

.text_darksecondarycolor {
    color: var(--darksecondarycolor);
}

/* !SECTION */

/* SECTION - Text general */


.text_center {
    text-align: center;
}

.text_right {
    text-align: right;
}

.text_left {
    text-align: left;
}

.text_justify {
    text-align: justify;
}

.text_upper {
    text-transform: uppercase;
}

.text_underline {
    text-decoration: underline;
}

/* !SECTION */

/* SECTION - Backgrounds */

.bg_center {
    background-position: center;
}

.bg_cover {
    background-size: cover;
}

.bg_norep {
    background-repeat: no-repeat;
}

.bg_fixed {
    background-attachment: fixed;
}

.bg_dark {
    background-color: var(--dark);
}

.bg_grigiochiaro {
    background-color: var(--grigiochiaro);
}

.bg_grigiomedio {
    background-color: var(--grigiomedio);
}

.bg_grigioscuro {
    background-color: var(--grigioscuro);
}

.bg_white {
    background-color: var(--white);
}

.bg_maincolor {
    background-color: var(--maincolor);
}

.bg_secondarycolor {
    background-color: var(--secondarycolor);
}

.bg_verdeCTA {
    background-color: var(--verdeCTA);
}

.bg_verdeCTAdark {
    background-color: var(--verdeCTAdark);
}

.bg_gradient {
    background: var(--gradient);
}

.bg_gradientInv {
    background: var(--gradientInv);
}

.bg_darkmaincolor {
    background-color: var(--darkmaincolor);
}

.bg_darksecondarycolor {
    background-color: var(--darksecondarycolor);
}

/* !SECTION */

/*SECTION - Background Image*/

.bg-center {
    background-position: center;
}

.bg-cover {
    background-size: cover;
}

.bg-contain {
    background-size: contain;
}

.bg-no-repeat {
    background-repeat: no-repeat;
}

.bg-repeat {
    background-repeat: repeat;
}

/* !SECTION */

/* SECTION - Flex */





/* !SECTION */