html {
    scroll-behavior: smooth;
}
#top-info {
    padding: 40px 20px 80px 20px;
    color: var(--bianco);
    z-index: 10;
}
#pg-intro {
    padding: 40px 0px;
    box-sizing: border-box;
}
#pg-intro-text {
    position: relative;
    border-top: 0.5px solid var(--nero-iifm);
    padding: 10px 0px 0px 0px;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
}
.filetto-top {
    position: absolute;
    width: 0.5px;
    height: 80px;
    background-color: var(--nero-iifm);
    top: -80px;
    left: 80px;
}
.elementi-generici-title-big .filetto-top {
    top: -80px;
    left: unset;
    right: 80px;
}
.pg-title-big-cont {
    border-top: 0.5px solid var(--nero-iifm);
    padding: 40px 0px;
    box-sizing: border-box;
}
.title-small {
    font-size: clamp(20px, calc((30 / 1420) * 100vw), 30px);
    line-height: clamp(25px, calc((35 / 1420) * 100vw), 35px);
    font-weight: 700;
}
.ritch-cont blockquote {
    display: block;
    float: left;
    width: 100%;
    box-sizing: border-box;
    position: relative;
    font-size: clamp(16px, calc(100vw * (25 / 1420)), 25px);
    line-height: clamp(20px, calc(100vw * (35 / 1420)), 35px);
    font-weight: 500;
    padding: 30px 40px;
    box-sizing: border-box;
}
.ritch-cont blockquote:before {
    display: block;
    position: absolute;
    content: "";
    top: 0px;
    left: 0px;
    width: 45px;
    height: 25px;
    background-image: url('../img/in-cit.svg');
    background-size: 45px 25px;
}
.ritch-cont blockquote:after {
    display: block;
    position: absolute;
    content: "";
    bottom: 0px;
    right: 0px;
    width: 45px;
    height: 25px;
    background-image: url('../img/out-cit.svg');
    background-size: 45px 25px;
}
.elementi-generici-accordion .struttura-row:first-child {
    margin: 0px;
    border-top: 0.5px solid var(--nero-iifm);
    border-bottom: 0.5px solid var(--nero-iifm);
    padding: 20px 0px;
    box-sizing: border-box;
}
.elemento-pg-download {
    display: block;
    float: left;
    width: 100%;
    background-color: transparent;
    padding: 10px;
    border: 0.5px solid var(--nero-iifm);
    border-radius: 5px;
    box-sizing: border-box;
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
}
.elemento-pg-download-txt {
    display: block;
    float: left;
    width: calc(100% - 40px);
    font-weight: 700;
}
.elemento-pg-download-ico {
    display: block;
    float: right;
    width: 40px;
    text-align: right;
}
.double-img-cont {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}
.double-img-int {
    width: calc(50% - 20px);
}
.double-img-picture {
    width: 100%;
    display: block;
    float: left;
}
.double-img-picture img {
    width: 100%;
}
.quad-img-int {
    width: 25%;
}
.quad-img {
    height: 0px;
    padding-top: 100%;
    cursor: pointer;
}
.img-testo-cont {
    display: flex;
    align-items: center;
}
.img-testo-cont.bg-scuro {
    background-color: var(--nero-iifm);
    color: var(--bianco-iifm);
}
.img-testo-cont.bg-scuro a {
    color: var(--bianco-iifm);
}
.img-testo-cont.flex-reverse-row .title-small {
    text-align: right;
}
.img-testo-cont.flex-reverse-row .btn {
    float: right;
}
.img-testo-int-img {
    width: 50%;
}
.img-testo-int-testo {
    width: calc(50% + 40px);
    padding: 40px;
    box-sizing: border-box;
}
.btn-pg-img-txt {
    background-color: var(--blue-iifm);
    color: var(--bianco-iifm);
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
}
.img-testo-cont.bg-scuro .btn-pg-img-txt {
    background-color: var(--bianco-iifm);
    color: var(--blue-iifm);
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
}
.img-testo-cont.bg-scuro .btn-pg-img-txt .ico {
    background-color: var(--blue-iifm);
    color: var(--bianco-iifm);
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
}
.pg-cta-item {
    position: relative;
    display: block;
    float: left;
    width: 25%;
    height: 400px;
}
.elementi-generici-cta-double .pg-cta-item {
    width: 50%;
}
.pg-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;
}
.pg-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;
    */
}
.pg-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;
    */
}
.pg-students,
.pg-teachers {
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}
.pg-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;
}
.pg-teachers-item-cont {
    width: 303px;
    height: 540px;
    background-color: var(--bianco);
    color: var(--nero);
    border-radius: 5px;
    padding: 10px;
    box-sizing: border-box;
}
.pg-students-item,
.pg-teachers-item {
    width: 100%;
    height: 100%
}
.pg-students-item-img,
.pg-teachers-item-img {
    position: relative;
    display: block;
    float: left;
    width: 100%;
    height: 0;
    padding-top: 100%;
    border-radius: 5px;
    margin-bottom: 10px;
}
.pg-teachers-item-img {
    filter: grayscale(1);
}
.pg-students-item-img-btn,
.pg-teachers-item-img-btn {
    font-size: 30px;
    position: absolute;
    top: calc(50% - 15px);
    left: calc(50% - 15px);
    color: var(--bianco);
}
.pg-students-item-txt,
.pg-teachers-item-txt {
    height: calc(100% - 293px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.pg-students-item-titolo,
.pg-teachers-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;
    */
}
.pg-students-item-testo,
.pg-teachers-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;
    */
}
#pg-slider-bottom-cont {
    margin: 40px 0px;
}
#filetto-slider-bottom {
    position: absolute;
    width: 0.5px;
    height: calc(100% + 80px);
    background-color: var(--nero-iifm);
    top: -40px;
    left: 50%;
}

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

@media only screen and (min-width: 768px) and (max-width: 1439px) {
    .pg-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) {
    #pg-intro-text {
        flex-direction: column;
        gap: 40px;
    }
}

/* Cellulari */
@media only screen and (min-width: 220px) and (max-width: 767px) {
    .mt_150 {
        margin-top: 100px;
    }
    .mb_60 {
        margin-bottom: 20px;
    }
    .pg-cta-item,
    .elementi-generici-cta-double .pg-cta-item {
        width: 100%;
    }
    .btn {
        min-width: 160px;
    }
    #pg-students-btn-cont {
    #pg-intro-text,
        flex-direction: column;
        gap: 20px;
    }
    #pg-intro-text {
        border-top: unset;
        padding: 0px;
    }
    .pg-title-big-cont {
        border-top: unset;
        padding: 0px;
    }
    #pg-students-int {
        padding: 40px 0px 120px 0px;
        box-sizing: border-box;
    }
    .filetto-top {
        display: none;
    }
    .img-testo-cont {
        display: block;
    }
    .img-testo-int-img {
        width: 100%;
    }
    .img-testo-int-testo {
        width: 100%;
        padding: 20px 10px;
    }
    .double-img-cont {
        gap: 10px;
    }
    .double-img-int {
        width: calc(50% - 5px);
    }
    .quad-img-int {
        width: 50%;
    }
}
