div.registration-form {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 2em;
    flex-wrap: wrap;
}

.birthday-min::before {
    content: "Date de naissance";
}

.show-on-mobile {
    visibility: hidden;
    height: 0;
}
.hide-on-mobile {
    visibility: visible;
    height: 100%;
}

.registration-form-container input[type=text],
.registration-form-container input[type=number],
.registration-form-container input[type=date],
.registration-form-container input[type=email],
.registration-form-container input[type=tel],
.registration-form-container select {
    min-width:205px;
    box-sizing: content-box;
}

fieldset.total-fee {
    margin-top: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border-radius: 5px;
    box-shadow: 5px 5px 5px #AAAAAA;
    margin-bottom: 10px;
}

.registration-form-container.payment-mode-choice-block label{
    justify-content: start;
}

.registration-form-container .licence-reason.radio,
.registration-form-container .lesson-choices.radio{
    display: flex;
}

.registration-form-container.payment-mode-choice-block {
    flex-direction: column;
}

.country-select {
    width: fit-content;
    justify-content: end;
}

.registration-form-container {
    justify-content: space-between;
}

.registration-form-container.miscellinous-information-block {
    flex-direction: column;
}

.registration-form-container.miscellinous-information-block label {
    justify-content: start;
}

.registration-form-container label {
    flex: 0 0 auto;
}

.payment-mode-choice.radio,
.reduction-choice-group.radio,
.administrative-payment-mode-choice.checkbox {
    display: grid;
    grid-template-columns: repeat(3, auto);
    gap: 1em;
}

.payment-mode-choice.radio .radio-option,
.reduction-choice-group.radio .radio-option,
.administrative-payment-mode-choice .radio-option {
    min-width: 205px;
}

.registration-form-container .radio-switch {
    margin-right: 2.5em;
}

.registration-form-container select {
    max-width: 50%;
}

.registration-form-container label {
    display: inline-block;
    max-width: 70%;
}

.registration-form-container textarea {
    width:100%;
}

.registration-block-title {
    position: relative;
    top: -1em;
    left: 1.3em;
    font-size: 1.4em;
    width: fit-content;
    padding: .5em;
}

.registration-block-title.theme-light {
    background-color: white;
    box-shadow: 2px 2px 5px var(--dark-blue);
}

.registration-block-title.theme-dark {
    background-color: #CCC;
    box-shadow: 2px 2px 5px var(--medium-blue);
}

.registration-gender .radio-switch{
    margin-right: 5em;
}
.registration-gender .radio-switch .radio-label:nth-of-type(2){
    right: 5em;
}

.registration-form-container.pass-region-block i,
.registration-form-container.pass-sport-block i,
.registration-form-container.carte-jeune-block i {
    min-width: 20%;
}

@media (width < 1645px) {

    .registration-form-container.administrative-payment-block,
    .registration-form-container.reduction-choice-block
    {
        flex-direction: column;
    }

    .registration-form-container.payment-mode-choice-block label,
    .registration-form-container.administrative-payment-block label,
    .registration-form-container.reduction-choice-block label
    {
        justify-content: start;
    }
    .registration-form-container.pass-region-block,
    .registration-form-container.pass-sport-block,
    .registration-form-container.carte-jeune-block{
        flex-direction: row;
    }
}

@media (width < 1410px) {
    .reduction-choice-group.radio {
        grid-template-columns: repeat(2, auto);
        gap: 0;
    }

    .registration-form-container.form-input-container label {
        justify-content: start;
    }

    .registration-form-container.licence-reason-choice {
        flex-direction: column;
    }

}

@media (width < 1300px) {

    .registration-form-container.lessons-choice-block{
        flex-direction: column;
    }
    .payment-mode-choice.radio,
    .reduction-choice-group.radio,
    .administrative-payment-mode-choice.checkbox {
        gap: 0;
    }

    .registration-form-container.lessons-choice-block .radio,
    .registration-form-container.licence-reason-choice .radio {
        flex-direction: row;
        justify-content: space-around;
    }
}

@media (width < 1230px) {
    .payment-mode-choice.radio,
    .reduction-choice-group.radio,
    .administrative-payment-mode-choice.checkbox {
        grid-template-columns: repeat(2, auto);
    }
}

@media (width < 1150px) {
    .lessons-choice-block .radio {
        flex-direction: row;
        justify-content: space-around;
    }

    .licence-reason-choice{
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .payment-mode-choice .radio-option {
        flex: 1 1 calc(25% - 1em);
    }

    .registration-form-container .radio .radio-option {
        text-align: end;
        margin-right: 0;
    }

    .registration-form-container .radio label,
    .registration-form-container .checkbox label,
    .payment-mode-choice.radio label,
    .administrative-payment-mode-choice .checkbox label
    {
        text-align: end;
        margin-right: 0;
        max-width: 100%;
    }

    .payment-mode-choice.radio label,
    .reduction-choice-group.radio label,
    .administrative-payment-mode-choice.checkbox label{
        text-align: start;
    }

    .registration-form-container.licence-choice-block {
        flex-direction: column;
    }

    .licence-choice-block select {
        min-width: 100%;
    }
}

@media (1000px <= width < 1700px ) {
    .registration-form-container.pass-region-block,
    .registration-form-container.pass-sport-block,
    .registration-form-container.carte-jeune-block{
        flex-direction: column;
    }
    .registration-form-container.total-fee {}
    .registration-form-container.pass-region-block div,
    .registration-form-container.pass-sport-block div,
    .registration-form-container.carte-jeune-block div{
        justify-content: inherit;
    }
}

@media (645px < width < 1000px) {
    .registration-form-container.lessons-choice-block,
    .registration-form-container .lesson-choices.radio,
    .registration-form-container.licence-reason-choice,
    .registration-form-container .licence-reason.radio{
        flex-direction: row;
        gap: 1em;
    }

    .payment-mode-choice.radio,
    .reduction-choice-group.radio,
    .administrative-payment-mode-choice.checkbox {
        grid-template-columns: repeat(3, auto);
    }
}

@media (width < 1000px) {
    .form-input-container.licence-reason.radio {
        flex-direction: column;
    }

    div.registration-form {
        flex-direction: column;
        gap: 0;
    }

    .registration-form .card-form-card {
        max-width: 100%;
        flex-direction: column;

    }
}

@media (width < 910px) {

    .registration-form-container.pass-region-block,
    .registration-form-container.pass-sport-block,
    .registration-form-container.carte-jeune-block{
        flex-direction: column;
    }
    .registration-form-container.pass-region-block div,
    .registration-form-container.pass-sport-block div,
    .registration-form-container.carte-jeune-block div {
        justify-content: inherit;
    }
}

@media (width < 500px) {
    .payment-mode-choice.radio,
    .reduction-choice-group.radio,
    .administrative-payment-mode-choice.checkbox {
        grid-template-columns: repeat(3, auto);
    }

    .registration-form-container .licence-reason.radio,
    .licence-type-choice-block{
        flex-direction: column;
    }

    .registration-form-container.competitor-choice,
    .registration-form-container.receipt-choice {
        flex-direction: column;
    }

    .registration-form-container.competitor-choice label,
    .registration-form-container.receipt-choice label {
        min-width: 100%;
    }

    .registration-form-container.competitor-choice .radio-switch,
    .registration-form-container.receipt-choice .radio-switch{
        margin-left: 45%;
    }

    .payment-mode-choice.radio,
    .reduction-choice-group.radio,
    .administrative-payment-mode-choice.checkbox{
        grid-template-columns: repeat(1, auto);
    }
    .birthday-min::before {
        content: "Né le";
    }

    .registration-form-container.pass-region-block > div,
    .registration-form-container.pass-sport-block > div,
    .registration-form-container.carte-jeune-block > div {
        flex-direction: column;
        justify-content: center;
    }

    .show-on-mobile {
        visibility: visible;
        height: 100%;
    }
    .hide-on-mobile {
        visibility: hidden;
        height: 0;
    }
}
