* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: #dddddd;
    font-size: 16px;
    font-family: 'Segoe UI', sans-serif;
}

header {
    height: auto;
    background: white;
}

main {
    height: auto;
    padding: 20px 20px 0 20px;
}

footer {
    height: auto;
    padding: 10px;
    display: flex;
    justify-content: space-around;
}

img {
    height: 30px;
    /* margin: 0 auto;
    display: block; */
}

.main-container {
    display: grid;
    grid-template-rows: auto auto auto auto auto auto auto auto auto auto;
    grid-template-columns: 1fr;
    grid-row-gap: 10px;
}

.buttons-container {
    width: 100%;
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-column-gap: 10px;
}

#file-input {
    display: none;
}

.btn-io {
    padding: 20px;
    background: rgb(29, 108, 182);
    color: white;
    border: none;
    border-radius: 3px;
    outline: none;
    display: grid;
    grid-template-rows: auto auto;
    cursor: pointer;
}

.btn-io:hover {
    background: rgb(36, 140, 236);
}

.btn-io i {
    font-size: 1.5rem;
}

.btn-io span {
    margin-top: 10px;
    font-family: 'Segoe UI', sans-serif;
    font-size: 1rem;
    font-weight: 500;
}

.card {
    width: 100%;
}

.card-header {
    padding: 20px;
    display: flex;
    justify-content: space-between;
    background: rgb(29, 108, 182);
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    color: #ffffff;
}

.card-header:hover {
    background: rgb(36, 140, 236);
}

.card-header-title h3 {
    font-family: 'Segoe UI', sans-serif;
    font-size: 1.5rem;
    font-weight: 500;
}

.card-header-icon {
    padding-top: 3px;
    cursor: pointer;
}

.card-header-icon i {
    font-size: 1.5rem;
}

.card-body {
    padding: 20px;
    /* background: #eeeeee; */
    background: #ffffff;
}

.card-body-geometria {
    display: grid;
    grid-template-rows: auto auto auto auto;
    grid-template-columns: 8fr 0.5fr 0.5fr 0.5fr;
    grid-row-gap: 10px;
}

.card-body-sovraccarico {
    display: grid;
    grid-template-rows: auto auto auto;
    grid-template-columns: 8fr 0.5fr 0.5fr 0.5fr;
    grid-row-gap: 10px;
}

.card-body-geotecnica {
    display: grid;
    grid-template-rows: auto auto auto auto auto auto auto auto auto auto;
    grid-template-columns: 8fr 0.5fr 0.5fr 0.5fr;
    grid-row-gap: 10px;
}

.select {
    grid-column: 1/5;
    padding: 10px;
    font-size: 16px;
    font-family: 'Segoe UI', sans-serif;
}

#h4-rinforzato,
#h4-spingente,
#h4-fondazione {
    font-size: 1.1rem;
    grid-column: 1/5;
    padding-top: 10px;
}

.card-body-azioni {
    display: grid;
    grid-template-rows: auto auto auto auto auto;
    grid-template-columns: 8fr 0.5fr 0.5fr 0.5fr;
    grid-row-gap: 10px;
}

.card-body-coefficienti-geotecnici {
    display: grid;
    grid-template-rows: auto auto auto;
    grid-template-columns: 8fr 0.5fr 0.5fr 0.5fr;
    grid-row-gap: 10px;
}

.card-body-resistenza {
    display: grid;
    grid-template-rows: auto auto auto;
    grid-template-columns: 8fr 0.5fr 0.5fr 0.5fr;
    grid-row-gap: 10px;
}

.card-body-sisma {
    display: grid;
    grid-template-rows: auto auto auto;
    grid-template-columns: 8fr 0.5fr 0.5fr 0.5fr;
    grid-row-gap: 10px;
}

#geostru-ps-link {
    grid-column: 1/5;
    border-bottom: none;
}

.card-body-rinforzi {
    display: grid;
    grid-template-rows: auto auto auto auto;
    grid-row-gap: 10px;
}

.card-body-rinforzi button {
    padding: 10px;
    font-family: 'Segoe UI', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    background: rgb(29, 108, 182);
    color: white;
    border: none;
    outline: none;
    cursor: pointer;
}

.card-body-rinforzi button:hover {
    color: white;
    background: rgb(36, 140, 236);
}

.active {
    color: white;
    text-decoration: underline;
    background: rgb(36, 140, 236);
}

#btn-barre,
#btn-geosintetici,
#btn-strisce {}

.card-inner-barre {
    display: grid;
    grid-template-rows: auto auto auto auto auto auto;
    grid-template-columns: 8fr 0.5fr 0.5fr 0.5fr;
    grid-row-gap: 10px;
}

#btn-barre {
    grid-column: 1/5;
}

.card-inner-geosintetici {
    display: grid;
    grid-template-rows: auto auto auto auto;
    grid-template-columns: 8fr 0.5fr 0.5fr 0.5fr;
    grid-row-gap: 10px;
}

#btn-geosintetici {
    grid-column: 1/5;
}

.card-inner-strisce {
    display: grid;
    grid-template-rows: auto auto auto auto auto auto;
    grid-template-columns: 8fr 0.5fr 0.5fr 0.5fr;
    grid-row-gap: 10px;
}

#btn-strisce {
    grid-column: 1/5;
}

.card-inner-tipologia {
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 10px;
}

.card-body-risultati {
    display: grid;
    grid-template-rows: auto auto auto auto auto auto auto auto auto auto auto auto auto auto;
    grid-template-columns: 8fr 0.5fr 0.5fr 0.5fr;
    grid-row-gap: 10px;
}

#h4-qlim {
    font-size: 1.1rem;
    grid-column: 1/5;
    padding-top: 10px;
}

#h4-ribaltamento {
    font-size: 1.1rem;
    grid-column: 1/5;
    padding-top: 10px;
}

#h4-scorrimento {
    font-size: 1.1rem;
    grid-column: 1/5;
    padding-top: 10px;
}

#tbr-fattoricapportante {
    width: 100%;
    grid-column: 2/5;
}

.span-parameter {
    padding: 5px 10px 0 0;
    text-align: left;
    border-bottom: 1px solid #e2e2e2;
}

.span-symbol {
    padding: 5px 10px 0 0;
    text-align: right;
}

.span-unit {
    padding: 5px 0 0 10px;
    text-align: left;
}

.input-value {
    margin: 0;
    width: 100px;
    text-align: center;
    background: none;
    border: none;
    outline: none;
    border-bottom: 2px solid rgb(36, 140, 236);
    font-family: 'Segoe UI', sans-serif;
    font-size: 1rem;
    font-weight: 500;
}

.input-value:disabled {
    border-bottom: 2px solid gray;
}

.table-risultati {
    margin-top: 20px;
    grid-column: 1/5;
    background: #dedede;
    border-radius: 3px;
    border-collapse: collapse;
}

.table-risultati thead th {
    padding: 15px;
    text-align: center;
    vertical-align: middle;
    font-size: 1rem;
    font-weight: 600;
    color: white;
    background: rgb(29, 108, 182);
    border-right: 2px solid #f3f3f3;
    border-bottom: 2px solid #f3f3f3;
}

.table-risultati thead th:first-child {
    border-top-left-radius: 3px;
}

.table-risultati thead th:last-child {
    border-top-right-radius: 3px;
    border-right: none;
}

.table-risultati tbody td {
    padding: 10px;
    text-align: center;
    font-size: 1rem;
    border-right: 2px solid #f3f3f3;
}

.table-risultati tbody tr td:last-child {
    border-right: none;
}

.table-risultati tbody tr {
    border-bottom: 2px solid #f3f3f3;
}

.table-risultati tbody tr:last-child {
    border-bottom: none;
}

.table-risultati {
    display: none;
}

/* .desc-span {
    padding: 0 2px 0 2px;
    display: flex;
    justify-content: space-between;
}

#geoapp {
    font-size: 0.8rem;
    color: #b9b9b9;
}

#versione {
    font-size: 0.8rem;
    color: #b9b9b9;
} */

/* media queries */
@media screen and (max-width: 480px) {
    main {
        padding: 10px 10px 0 10px;
    }

    .btn-io {
        padding: 10px;
    }

    .btn-io i {
        font-size: 1rem;
    }

    .btn-io span {
        display: none;
        font-size: 0.8rem;
    }

    .card-header {
        padding: 10px;
    }

    .card-body {
        padding: 5px;
    }

    .card-header-title h3 {
        line-height: 28px;
        font-size: 1rem;
    }

    .card-header-icon i {
        font-size: 1rem;
    }

    .select {
        font-size: 0.6rem;
    }

    .card-body span {
        font-size: 0.6rem;
    }

    .card-body input {
        width: 40px;
        font-size: 0.6rem;
    }

    #card-sub-heading {
        font-size: 0.7rem;
    }

    #btn-barre,
    #btn-geosintetici,
    #btn-strisce,
    #btn-progetto,
    #btn-verifica {
        font-size: 0.6rem;
    }

    #h4-rinforzato,
    #h4-spingente,
    #h4-fondazione {
        font-size: 0.7rem;
    }


    #h4-qlim,
    #h4-ribaltamento,
    #h4-scorrimento {
        font-size: 0.7rem;
    }

    .table-risultati thead th {
        font-size: 0.4rem;
        padding: 10px 5px;
    }

    .table-risultati tbody td {
        font-size: 0.4rem;
    }
}

@media screen and (min-width: 480px) {
    main {
        padding: 10px 10px 0 10px;
    }

    .btn-io {
        padding: 20px;
    }

    .btn-io i {
        font-size: 1.2rem;
    }

    .btn-io span {
        display: none;
        font-size: 0.8rem;
    }

    .card-header {
        padding: 10px;
    }

    .card-body {
        padding: 10px;
    }

    .card-header-title h3 {
        line-height: 20px;
        font-size: 1.2rem;
    }

    .card-header-icon i {
        font-size: 1.2rem;
    }

    .select {
        font-size: 0.8rem;
    }

    .card-body span {
        font-size: 0.8rem;
    }

    .card-body input {
        width: 60px;
        font-size: 0.8rem;
    }

    #card-sub-heading {
        font-size: 0.8rem;
    }

    #btn-barre,
    #btn-geosintetici,
    #btn-strisce,
    #btn-progetto,
    #btn-verifica {
        font-size: 0.8rem;
    }

    #h4-rinforzato,
    #h4-spingente,
    #h4-fondazione {
        font-size: 0.9rem;
    }


    #h4-qlim,
    #h4-ribaltamento,
    #h4-scorrimento {
        font-size: 0.9rem;
    }

    .table-risultati thead th {
        font-size: 0.7rem;
        padding: 10px 5px;
    }

    .table-risultati tbody td {
        font-size: 0.7rem;
    }
}

@media screen and (min-width: 640px) {
    main {
        padding: 20px 20px 0 20px;
    }

    .btn-io {
        padding: 20px;
    }

    .btn-io i {
        font-size: 1.4rem;
    }

    .btn-io span {
        display: inline-block;
        font-size: 1rem;
    }

    .card-header {
        padding: 20px;
    }

    .card-body {
        padding: 20px;
    }

    .card-header-title h3 {
        line-height: 20px;
        font-size: 1.4rem;
    }

    .card-header-icon i {
        font-size: 1.4rem;
    }

    .select {
        font-size: 1rem;
    }

    .card-body span {
        font-size: 1rem;
    }

    .card-body input {
        width: 100px;
        font-size: 1rem;
    }

    #card-sub-heading {
        font-size: 1rem;
    }

    #btn-barre,
    #btn-geosintetici,
    #btn-strisce,
    #btn-progetto,
    #btn-verifica {
        font-size: 1rem;
    }

    #h4-rinforzato,
    #h4-spingente,
    #h4-fondazione {
        font-size: 1.1rem;
    }


    #h4-qlim,
    #h4-ribaltamento,
    #h4-scorrimento {
        font-size: 1.1rem;
    }

    .table-risultati thead th {
        font-size: 0.8rem;
        padding: 10px;
    }

    .table-risultati tbody td {
        font-size: 0.8rem;
    }
}

@media screen and (min-width: 720px) {
    .table-risultati thead th {
        font-size: 1rem;
        padding: 10px;
    }

    .table-risultati tbody td {
        font-size: 1rem;
    }
}

@media screen and (min-width: 1280px) {
    .main {
        padding-bottom: none;
    }

    .main-container {
        display: grid;
        grid-template-rows: auto auto auto auto auto auto auto auto;
        grid-template-columns: 1fr 1fr;
        grid-row-gap: 10px;
        grid-column-gap: 10px;
    }

    .buttons-container {
        width: 960px;
        grid-row: 1/2;
        grid-column: 1/3;
        justify-self: center;
    }

    .card-geometria {
        width: 960px;
        grid-row: 2/3;
        grid-column: 1/3;
        justify-self: center;
    }

    .card-sovraccarico {
        width: 960px;
        grid-row: 3/4;
        grid-column: 1/3;
        justify-self: center;
    }

    .card-geotecnica {
        width: 960px;
        grid-row: 4/5;
        grid-column: 1/3;
        justify-self: center;
    }

    .card-azioni {
        width: 475px;
        grid-row: 5/6;
        grid-column: 1/2;
        justify-self: end;
    }

    .card-coefficienti-geotecnici {
        width: 475px;
        grid-row: 5/6;
        grid-column: 2/3;
        justify-self: start;
    }

    .card-resistenza {
        width: 475px;
        grid-row: 6/7;
        grid-column: 1/2;
        justify-self: end;
    }

    .card-sisma {
        width: 475px;
        grid-row: 6/7;
        grid-column: 2/3;
        justify-self: start;
    }

    .card-rinforzi {
        width: 960px;
        grid-row: 7/8;
        grid-column: 1/3;
        justify-self: center;
    }

    .card-risultati {
        width: 960px;
        grid-row: 8/9;
        grid-column: 1/3;
        justify-self: center;
    }

    footer {
        padding: 20px;
    }

    /* .desc-span {
        width: 960px;
        grid-column: 1/3;
        justify-self: center;
    } */
}