html {
    scroll-behavior: smooth;
}
#top-info {
    padding: 40px 20px 80px 20px;
    color: var(--bianco);
    z-index: 10;
}
#landing-master-intro {
    padding: 40px 0px;
    box-sizing: border-box;
    background-color: var(--nero-iifm);
    color: var(--bianco-iifm);
}
#landing-master-intro-text {
    position: relative;
    border-top: 0.5px solid var(--bianco-iifm);
    border-bottom: 0.5px solid var(--bianco-iifm);
    padding: 40px;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
}
#hp-master-intro-text {
    position: relative;
    border-top: 0.5px solid var(--bianco-iifm);
    border-bottom: 0.5px solid var(--bianco-iifm);
    padding: 40px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
}
#landing-master-intro-text-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
}
#btn-about-landing {
    position: absolute;
    bottom: 40px;
    left: 40px;
}
#landing-master-intro-btn-cont {
    display: flex;
    justify-content: flex-start;
    gap: 20px;
    margin-top: 40px;
}
#landing-master-intro .filetto-top {
    position: absolute;
    width: 0.5px;
    height: 40px;
    background-color: var(--bianco-iifm);
    top: -40px;
    left: 50%;
}
#landing-master-intro .filetto-top-black {
    position: absolute;
    width: 0.5px;
    height: 40px;
    background-color: var(--nero-iifm);
    top: -80px;
    left: 50%;
    z-index: 1;
}
.filetto-bottom {
    position: absolute;
    width: 0.5px;
    height: 40px;
    background-color: var(--bianco-iifm);
    bottom: -40px;
    left: 80px;
}
.filetto-bottom-black {
    position: absolute;
    width: 0.5px;
    height: 40px;
    background-color: var(--nero-iifm);
    bottom: -80px;
    left: 80px;
}
#landing-master-cta-cont,
#landing-master-cta-double-cont,
#landing-master-schede-cont,
#landing-master-cs-cont {
    padding: 80px 0px 0px 0px;
    box-sizing: border-box;
}
#landing-master-cta,
.landing-master-cta-double {
    margin-top: 40px;
}
.landing-master-cta-item {
    position: relative;
    display: block;
    float: left;
    width: 25%;
    height: 400px;
}
.landing-master-cta-double .landing-master-cta-item {
    width: 50%;
}
.landing-master-cta-item-txt {
    position: absolute;
    bottom: 0px;
    right: 0px;
    width: 70%;
    height: 75%;
    background-color: transparent;
    color: var(--bianco-iifm);
    border-radius: 5px 5px 0px 0px;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
}
.landing-master-cta-item-titolo {
    font-size: clamp(16px, calc((20 / 1680) * 100vw), 20px);
    line-height: clamp(20px, calc((25 / 1680) * 100vw), 25px);
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
    /*
    height: 75px;
    overflow-y: hidden;
    */
}
.landing-master-cta-item-testo {
    font-weight: 400;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
    /*
    height: 72px;
    overflow-y: hidden;
    */
}
#landing-master-cs-cont {
    padding: 40px 0px 0px 0px;
    box-sizing: border-box;
}
.landing-master-cs-item {
    position: relative;
    display: block;
    float: left;
    width: 50%;
    height: 0px;
    padding-top: calc((50% / 16) * 9);
}
.landing-master-cs-item-txt {
    position: absolute;
    bottom: 0px;
    right: 0px;
    width: 70%;
    height: 75%;
    background-color: transparent;
    color: var(--bianco-iifm);
    border-radius: 5px 5px 0px 0px;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 20px;
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
}
.landing-master-cs-item-titolo {
    font-size: clamp(16px, calc((20 / 1680) * 100vw), 20px);
    line-height: clamp(20px, calc((25 / 1680) * 100vw), 25px);
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
    font-weight: 700;
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
}
.landing-master-cs-item-testo {
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
    /*
    height: 72px;
    overflow-y: hidden;
    */
}
#landing-master-students-cont {
    padding: 80px 0px 0px 0px;
    box-sizing: border-box;
}
#landing-master-students-cont .filetto-top {
    position: absolute;
    width: 0.5px;
    height: 80px;
    background-color: var(--nero-iifm);
    top: -80px;
    left: unset;
    right: 80px;
}
#landing-master-students-cont .filetto-bottom {
    position: absolute;
    width: 0.5px;
    height: 80px;
    background-color: var(--nero-iifm);
    bottom: 0px;
    left: 80px;
}
#landing-master-students-int {
    border-top: 0.5px solid var(--nero-iifm);
    border-bottom: 0.5px solid var(--nero-iifm);
    padding: 40px 0px;
    box-sizing: border-box;
}
#landing-master-students-int .title-big,
#landing-master-students-int .testo-grande,
#landing-master-structure-int .title-big,
#landing-master-structure-int .testo-grande {
    text-align: right;
}
#landing-master-students {
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}
.landing-master-students-item-cont {
    width: 303px;
    height: 540px;
    background-color: var(--nero-iifm);
    color: var(--bianco-iifm);
    border-radius: 5px;
    padding: 10px;
    box-sizing: border-box;
}
.landing-master-students-item {
    width: 100%;
    height: 100%
}
.landing-master-students-item-img {
    position: relative;
    display: block;
    float: left;
    width: 100%;
    height: 0;
    padding-top: 100%;
    border-radius: 5px;
    margin-bottom: 10px;
}
.landing-master-students-item-img-btn {
    font-size: 30px;
    position: absolute;
    top: calc(50% - 15px);
    left: calc(50% - 15px);
    color: var(--bianco);
}
.landing-master-students-item-txt {
    height: calc(100% - 293px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.landing-master-students-item-titolo {
    font-size: clamp(16px, calc((20 / 1680) * 100vw), 20px);
    line-height: clamp(20px, calc((25 / 1680) * 100vw), 25px);
    font-weight: 700;
    /*
    height: 50px;
    overflow-y: hidden;
    */
}
.landing-master-students-item-testo {
    font-size: clamp(14px, calc((14 / 1680) * 100vw), 14px);
    line-height: clamp(18px, calc((18 / 1680) * 100vw), 18px);
    font-weight: 400;
    /*
    height: 54px;
    overflow-y: hidden;
    */
}
#landing-master-students-btn-cont {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 40px;
}
#landing-master-masters-cont {
    padding: 40px 0px;
    box-sizing: border-box;
}
#landing-master-masters {
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}
.landing-master-masters-item-cont {
    width: clamp(220px, calc(100vw - 40px), 380px);
    height: 600px;
    background-color: var(--bianco);
    color: var(--nero-iifm);
    border-radius: 5px 5px 30px 30px;
    padding: 10px;
    box-sizing: border-box;
}
.landing-master-masters-item {
    width: 100%;
    height: 100%;
}
.landing-master-masters-item-img {
    position: relative;
    display: block;
    float: left;
    width: 100%;
    height: 0;
    padding-top: 100%;
    border-radius: 5px;
    margin-bottom: 10px;
}
.landing-master-masters-item-txt {
    height: calc(580px - 370px);
    height: clamp(calc(580px - 370px), calc(580px - (100vw - 60px) - 10px), 500px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.landing-master-masters-item-titolo {
    font-size: clamp(16px, calc((20 / 1680) * 100vw), 20px);
    line-height: clamp(20px, calc((25 / 1680) * 100vw), 25px);
    font-weight: 700;
    /*
    height: 50px;
    overflow-y: hidden;
    */
}
.landing-master-masters-item-testo {
    font-size: clamp(14px, calc((14 / 1680) * 100vw), 14px);
    line-height: clamp(18px, calc((18 / 1680) * 100vw), 18px);
    font-weight: 400;
    height: 72px;
    overflow-y: hidden;
}
.landing-master-masters-item-btn-cont {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}
#landing-master-structure-cont {
    padding: 80px 0px 0px 0px;
    box-sizing: border-box;
}
#landing-master-structure-cont .filetto-top {
    position: absolute;
    width: 0.5px;
    height: 80px;
    background-color: var(--nero-iifm);
    top: -80px;
    left: unset;
    right: 80px;
}
#landing-master-structure-cont .filetto-bottom {
    position: absolute;
    width: 0.5px;
    height: 40px;
    background-color: var(--nero-iifm);
    bottom: -40px;
    left: 50%;
}
#landing-master-structure-int {
    border-top: 0.5px solid var(--nero-iifm);
    border-bottom: 0.5px solid var(--nero-iifm);
    padding: 40px 0px 0px 0px;
    box-sizing: border-box;
}
#landing-master-structure-item-btn-cont {
    display: flex;
    justify-content: center;
    margin: 60px 0px 20px 0px;
}
#landing-master-structure {
    margin-top: 40px;
}
.landing-master-structure-item {
    border-top: 0.5px solid var(--nero-iifm);
    padding: 40px 0px;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}
.landing-master-structure-item-chiave {
    width: 30%;
    font-size: clamp(14px, calc((16 / 1680) * 100vw), 16px);
    line-height: clamp(18px, calc((30 / 1680) * 100vw), 30px);
    font-weight: 700;
}
.landing-master-structure-item-valore {
    width: calc(70% - 10px);
}
#landing-master-slider-bottom-cont {
    margin: 40px 0px;
}
#bottom-image {
    height: calc(100 * var(--vh));
    min-height: 500px;
    position: relative;
    background-size: 100% 100%;
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
}
#filetto-slider-bottom {
    position: absolute;
    width: 0.5px;
    height: calc(100% + 80px);
    background-color: var(--nero-iifm);
    top: -40px;
    left: 50%;
}
#landing-master-masters-pg-cont,
#landing-master-courses-pg-cont {
    padding: 80px 0px;
    box-sizing: border-box;
}
#landing-master-masters-pg-cont .filetto-top,
#landing-master-courses-pg-cont .filetto-top {
    position: absolute;
    width: 0.5px;
    height: 80px;
    background-color: var(--nero-iifm);
    top: -80px;
    left: 80px;
}
#landing-master-masters-int,
#landing-master-courses-int {
    border-top: 0.5px solid var(--nero-iifm);
    padding: 40px 0px 0px 0px;
    box-sizing: border-box;
}
#landing-master-schede {
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
}
.landing-master-scheda-item {
    display: block;
    float: left;
    width: calc((100% - 60px) / 4);
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
}
.scheda-cover {
    position: relative;
    display: block;
    float: left;
    width: 100%;
    height: 0;
    padding-top: calc((100% / 9) * 16);
    border-radius: 5px;
}
.landing-master-scheda-item-txt {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 70px;
    background-color: var(--bianco);
    color: var(--nero);
    border-radius: 0px 0px 5px 5px;
    padding: 10px;
    box-sizing: border-box;
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
}
.landing-master-scheda-item-titolo {
    display: block;
    float: left;
    font-size: 16px;
    line-height: 16px;
    font-weight: 900;
    text-transform: uppercase;
}
#intro-numbers-cont {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 20px;
}
.intro-numbers-item {
    width: calc((100% - 60px) / 4);
    border-top: 0.5px solid var(--bianco-iifm);
    color: var(--bianco-iifm);
    padding-top: 20px;
    box-sizing: border-box;
}

@media only screen and (min-width: 1201px) and (max-width: 10000px) {
    .landing-master-cta-item:hover .landing-master-cta-item-txt {
        background-color: var(--bianco-iifm);
        color: var(--nero-iifm);
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
    }
    .landing-master-cta-item:hover .landing-master-cta-item-txt .btn-chiaro {
        background-color: var(--blue-iifm);
        color: var(--bianco-iifm);
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
    }
    .landing-master-cta-item:hover .landing-master-cta-item-txt .btn-chiaro .ico {
        background-color: var(--bianco-iifm);
        color: var(--blue-iifm);
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
    }
    .landing-master-cta-item:hover .landing-master-cta-item-titolo,
    .landing-master-cta-item:hover .landing-master-cta-item-testo {
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 0);
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
    }
    .landing-master-masters-item-btn-cont .btn-filettato:hover {
        background-color: var(--blue-iifm);
        color: var(--bianco-iifm);
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
    }
    .landing-master-scheda-item:hover .landing-master-scheda-item-txt {
        background-color: var(--nero);
        color: var(--bianco);
        transition: all 0.2s;
        -webkit-transition: all 0.2s;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1439px) {
    .landing-master-cta-item {
        width: 50%;
    }
}

/* Tablet Landscape */
@media only screen and (min-width: 1024px) and (max-width: 1279px) {
    .btn {
        min-width: 160px;
    }
}

/* Tablet Portrait */
@media only screen and (min-width: 768px) and (max-width: 1023px) {
    #landing-master-intro-text {
        flex-direction: column;
        gap: 40px;
    }
    #landing-master-intro-btn-cont {
        flex-direction: column;
        padding-bottom: 70px;
    }
    #btn-about-landing {
        width: calc(100% - 80px);
    }
    .landing-master-cs-item {
        width: 100%;
        height: 0px;
        padding-top: calc((100% / 16) * 9);
    }
    .landing-master-scheda-item {
        width: calc((100% - 20px) / 2);
    }
}

/* Cellulari */
@media only screen and (min-width: 220px) and (max-width: 767px) {
    .landing-master-cta-item,
    .landing-master-cta-double .landing-master-cta-item {
        width: 100%;
    }
    .btn {
        min-width: 160px;
    }
    #landing-master-intro-text,
    #hp-master-intro-text,
    #landing-master-intro-text-top,
    #landing-master-intro-btn-cont,
    #landing-master-students-btn-cont {
        flex-direction: column;
        gap: 20px;
    }
    #landing-master-intro-text,
    #hp-master-intro-text {
        padding: 40px 20px;
    }
    .intro-numbers-item {
        width: calc((100% - 20px) / 2);
    }
    #landing-master-intro-btn-cont {
        flex-direction: column;
        padding-bottom: 20px;
    }
    #btn-about-landing {
        width: calc(100% - 80px);
    }
    #landing-master-students-int {
        padding: 40px 0px 120px 0px;
        box-sizing: border-box;
    }
    #landing-master-cs-cont {
        padding: 20px 0px 0px 0px;
    }
    .landing-master-cs-item {
        width: 100%;
        height: 0px;
        padding-top: calc((100% / 16) * 9);
    }
    .landing-master-cs-item-txt {
        width: 100%;
    }
    .landing-master-scheda-item {
        width: 100%;
    }
}
