.calculateur{
    min-height: 100vh;
    padding: 150px 0;
    text-align: center;
}

h1{
    color: #272727;
      font-size: 3rem;
      font-weight: 900;
      font-style: italic;
      text-align: center;
      padding: 0 15px;
    }
    h2{
    padding: 0 15px;
    color: #60B02C;
    font-size: 2rem;
    font-weight: 900;
    font-style: italic;
    text-align: center;
}
h3{
    padding: 0 15px;
    color: #272727;
    font-size: 1.2rem;
    margin: 10px;
    color: #272727;
    font-weight: bold;
}



select{
    width: 400px;
    height: 50px;
    border: solid #e6e6e6 1px;
    padding: 0 10px;
    font-family: 'Poppins', sans-serif;
    font-weight: bold;
    margin-top: 15px;
}

option{
    height: 200px;
}

.formation{
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    margin-top: 50px;
}

.info{
    width: 90%;
    font-size: 1.5rem;
}
.info-top{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    padding-bottom: 20px;

}

.info img{
    width: 400px;
    /* background-color: #272727; */
    padding: 15px;
}

.legende{
    display: flex;
    align-items: center;
    margin-bottom: 5px;
    margin-top: 15px;
}

.vert,.jaune{
    width: 20px;
    height: 20px;
    border: solid #272727 1px;

}

.legende p{
    margin-right: 20px;
    margin-left: 5px;
}

.vert{
    background-color: #60B02C;
}

.jaune{
    background-color: #EECD46;
}

table{
    width: 90%;
    max-width: 90%;
    border-radius: 10px;
    margin-bottom: 50px;
}
tr{
    border: solid #e6e6e6 1px;
    background-color: #f9f9f9;
    height: 80px;
}

th,td{
    vertical-align: middle;
    font-size: 1.2rem;
    padding: 10px;
    position: relative;
    overflow-x: hidden;
}

th:nth-child(2),td:nth-child(2)
{
    text-align: left;
}

.obligatoire,.facultatif{
    width: 10px;
    writing-mode: tb-rl;
    transform: rotate(-180deg);
    padding: 8px 5px;
    font-size: 0.6rem;
    font-weight: bold;
}
.obligatoire{
    background-color: #60B02C;
    border: solid #60B02C 1px;
    
}
.facultatif{
    background-color: #EECD46;
    border: solid #EECD46 1px;

}

.obl{
    width: 10px;
    height: 80px;
    background-color: #60B02C;
}

.fac{
    width: 10px;
    height: 80px;
    background-color: #EECD46;
}

.obligatoire::after{
    content: 'OBLIGATOIRE';
}
.facultatif::after{
    content: 'FACULTATIF';
}

td.pu::after,.total::after,.totalttc::after{
    content: '€';
}

.desc{
    font-size: 0.8rem;
}

table{
  border-radius: 10px;
}



input[type="number"]
{
    background-color: #f9f9f9;
    border: 0;
    font-size: 1.2rem;
    transform: translateX(45%);
    width: 50px;
    /* transform-origin: 0 -50%; */
    
}

input[type=number]:not(:disabled)::-webkit-inner-spin-button, 
input[type=number]:not(:disabled)::-webkit-outer-spin-button {  

   opacity: 1;

}


input[type=number]:disabled{
    color: #272727;
}




.bold{
    font-weight: bold;
}

.lien{
    text-decoration: underline;
    color: #60B02C;
}


.hidden{
    display: none;
}

.gradient-button{
    width: 400px;
    margin: 0 15px;
    border: none;
    cursor: pointer;
    margin-bottom: 20px;
}

.popup{
    backdrop-filter: blur(5px);
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 70px;
}

.card-popup{
    background-color: white;
    width: 90vw;
    height: 80vh;
    -webkit-box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.23); 
box-shadow: 0px 0px 20px 2px rgba(0,0,0,0.23);
display: flex;
justify-content: center;
align-items: center;
padding: 15px;
flex-direction: column;
gap: 15px;
}

h4{
    font-size:2rem;
    font-weight: bold;
}

.popup .gradient-button{
    width: 70vw;
    max-width: 400px;
}


.info-formation{
    padding: 0 15px;
    margin-top: 50px;
    color: #60B02C;
    font-size: 2.5rem;
    font-weight: bolder;
    font-style: italic;
    text-align: center;
    width: 100%;

}

.explo{
    width: 100%;
    text-align: center;
    font-size: 0.8rem;
    padding-bottom: 30px;
}
@media screen and (max-width: 1800px) {

    .info-top{
        flex-direction: column;
    }

}
@media screen and (max-width: 700px) {

    .info-top{
        flex-direction: column;
    }

    table{
        width: 95vw;
        overflow-y: scroll;
    }

    .item td:nth-child(2)
    {
        overflow-x: scroll;
    }

    select,.gradient-button{
        width: 90vw;
    }

}
@media screen and (min-width: 1300px) {

    /* .info-top{
        flex-direction: column;
    } */


.popup{
    display: none;
}

}
