/* #region skin*/

body > form {
    min-height: 100%;
    font-family: Plus Jakarta Sans,sans-serif;
    font-size: 0.9rem;
}

#skin {
    min-height: 100%;
    display: grid;
    background: var(--main-color);
    background: linear-gradient(310deg, var(--main-color) 0%, var(--main-color-darker) 100%);
    position: relative;
}

    /*    #skin:before {
        content: "";
        position: absolute;
        opacity: 0.2;
        background-image: var(--bg-image);
        width: 100%;
        height: 100%;
        display: inline-block;
        background-repeat: no-repeat;
        background-position: bottom right;
        background-size: 60vw;
        bottom: 80px;
        right: 3vh;
    }*/

    #skin.login {
        background: var(--main-color-light);
        grid-template-rows: 100px 1fr;
    }

    #skin.logout header {
        display: none;
    }

    #skin header .logo img {
        max-height: 90px;
        max-width: 100%;
        height: auto;
    }

    #skin.logout #jsc-sidebar {
        display: none;
    }

#jsc-sidebar .img-sac {
    position: absolute;
    top: -60px;
    right: -80px;
}

#jsc-sidebar .img-rdi {
    position: absolute;
    top: -90px;
    right: 120px;
    height: 85px;
}

#skin.login #content {
    display: grid;
    min-height: 100%;
    margin-left: 300px;
}

    #skin.login #content .content-inner {
        height: 100%;
        padding: 0 80px 80px 80px;
    }

#skin.logout .content-inner {
    padding: 50px;
    margin: auto;
    max-width: 1400px;
}

#skin.logout .container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    padding: 0 120px;
    max-width: 100%;
}

#skin.logout h2 {
    text-align: center;
    color: white;
    margin-bottom: 100px;
    font-size: 50px;
}

#skin.logout a,
#skin.logout a:hover {
    text-decoration: none;
}
/* #endregion */
/* #region Style global */

.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.flex-align {
    display: flex;
    align-items: center;
}

.flex-justify {
    display: flex;
    justify-content: center;
}

.custom-main-btn, .custom-secondary-btn {
    box-sizing: border-box;
    height: 40px;
    width: 100%;
    font-weight: bold;
    font-size: 1em;
    padding: 10px;
    min-width: 200px;
    border-radius: 10px;
}

.custom-main-btn {
    background-color: var(--main-color-dark);
    color: var(--main-font-color-light);
}

    .custom-main-btn:hover {
        color: var(--main-font-color-light);
        background-color: var(--secondary-color-dark);
    }

    .custom-main-btn:focus {
        color: var(--main-font-color-light);
        background-color: var(--secondary-color-dark);
        border: 2px solid var(--main-color-dark);
    }

    .custom-main-btn:visited {
        color: var(--main-font-color-light) !important;
    }

.custom-secondary-btn {
    background-color: var(--main-color-light);
    color: var(--main-font-color-dark);
    border: 1px solid lightgray;
}

    .custom-secondary-btn:hover {
        color: var(--main-font-color-dark);
        background-color: var(--main-color-light);
    }

    .custom-secondary-btn:visited {
        color: var(--main-font-color-dark) !important;
    }

.custom-input {
    box-sizing: border-box;
    height: 40px;
    background-color: var(--main-color-light) !important;
    padding: 0 10px;
    font-size: 0.9rem;
    border-radius: 10px;
    width: 100%;
    border: 1px solid lightgray;
}

    .custom-input:focus {
        border: 2px solid var(--main-color-dark) !important;
    }

.custom-link {
    color: var(--secondary-font-color-dark);
    text-decoration: none;
}

    .custom-link:visited {
        color: var(--secondary-font-color-dark);
        text-decoration: none;
    }

.div-input > div:first-child {
    padding-bottom: 10px;
}

.secondary-text {
    color: var(--secondary-font-color-light);
    font-size: 0.9rem;
}

.div-box {
    background-color: var(--bg-box-color);
    box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    padding: 30px;
    border-radius: 20px;
    border: 1px solid lightgray;
}

    .div-box .titre {
        font-size: 1.7rem;
        color: var(--main-font-color-dark);
        padding-bottom: 10px;
    }

.obligatoire {
    color: red;
}

.div-form textarea {
    min-height: 80px;
}

.div-form select.aspNetDisabled {
    background: #fafafa;
    opacity: 1;
}

.div-form input[type=radio],
.div-form input[type=checkbox] {
    display: none;
}

    .div-form input[type=radio] + label:hover,
    .div-form input[type=checkbox] + label:hover {
        cursor: pointer;
        margin-right: 5px;
    }

    .div-form input[type=radio] + label:before,
    .div-form input[type=checkbox] + label:before {
        content: '';
        display: inline-block;
        height: 15px;
        width: 15px;
        background: white;
        margin-right: 7px;
        outline: 1px solid rgb(170 170 170);
        border: 2px solid white;
        transform: translateY(2px);
    }

    .div-form input[type=radio] + label,
    .div-form input[type=checkbox] + label {
        margin-right: 5px;
    }

        .div-form input[type=radio] + label:before {
            border-radius: 50%;
        }

    .div-form input[type=radio]:checked + label:before,
    .div-form input[type=checkbox]:checked + label:before {
        background: rgb(170 170 170);
    }

    .div-form input[type=radio]:disabled + label:before,
    .div-form input[type=checkbox]:disabled + label:before {
        outline: 1px solid #d7d7d7;
    }

    .div-form input[type=radio]:checked:disabled + label:before,
    .div-form input[type=checkbox]:checked:disabled + label:before {
        background: #d7d7d7;
    }

img {
    image-rendering: -webkit-optimize-contrast;
}

.p-titre {
    color: var(--main-color);
    font-size: 24px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

    .p-titre svg {
        fill: var(--main-color);
        width: 30px;
        height: 30px;
    }

    .p-titre + div,
    .p-titre + div + div {
        padding: 10px 0 15px 40px;
    }

.btn-arrows {
    padding: 6px 20px 6px 36px;
}

    .btn-arrows svg {
        fill: var(--main-color);
        height: 22px;
        width: 22px;
        position: absolute;
        left: 6px;
        top: 50%;
        transform: translateY(-50%);
    }

        .btn-arrows svg:nth-of-type(1) {
            transition: all 0.2s;
        }

        .btn-arrows svg:nth-of-type(2) {
            transition: all 0.2s;
            left: 14px;
        }

    .btn-arrows:hover svg:nth-of-type(1) {
        transition: all 0.2s;
        left: 10px;
    }

    .btn-arrows:hover svg:nth-of-type(2) {
        transition: all 0.2s;
        left: 16px;
    }



.btn-cancel,
.btn-cancel:hover {
    color: black;
    border-radius: 5px !important;
    padding: 6px 20px;
    text-decoration: none;
    border: 1px solid black;
    background: white;
    outline: none;
    box-shadow: none;
    cursor: pointer;
}


.div-passtoggle {
    position: relative;
}

    .div-passtoggle input {
        padding-right: 45px;
    }

    .div-passtoggle svg {
        position: absolute;
        top: 50%;
        right: 25px;
        transform: translateY(-50%);
        cursor: pointer;
    }

.div-titre {
    padding-bottom: 20px;
}

    .div-titre > .titre {
        font-weight: bold;
        font-size: 2.3rem;
        color: var(--main-font-color-dark);
    }

    .div-titre > .sousTitre {
        color: var(--secondary-font-color-light);
        font-size: 1.3rem;
    }
/* #endregion */
/* #region Style login */
.dnnLoginService .jsc-btn {
    font-size: 20px;
    gap: 30px !important;
}

.dnnLoginService .a-reset {
    font-size: 20px;
    /* margin-right: 15px; */
}

.div-login .div-logo img {
    height: 170px;
}

.div-login .div-logo a {
    border-bottom: none;
}
/* #endregion */
/* #region Page accueil */

footer a:active,
footer a:focus {
    color: white;
}

footer a:hover {
    text-decoration: underline !important;
}

.nav-link {
    display: inline-block;
}

header, footer, .jsc-menu a, .jsc-container {
    font-family: "Poppins", sans-serif;
}

footer {
    background: #2f2f2f;
    padding: 20px;
    height: 65px;
    color: white;
    text-align: right;
    font-size: 12px;
    box-sizing: content-box;
}

    footer span {
        padding: 0 10px;
    }

        footer span a,
        footer span a:hover,
        footer span a:visited {
            color: white;
        }

header > div,
header .row {
    height: 100%;
}

    header .row div[class^="col"] {
        display: grid;
        align-items: center;
    }

.container-fluid {
    padding: 0 120px;
    height: 70%;
    background-color: white;
    border-bottom: var(--secondary-color-2) solid 1px;
}

.logout footer {
    background: transparent;
}
/* #endregion */
/* #region Menu */
#jsc-sidebar .jsc-menu ul {
    margin: 25% 20px 0 20px;
    list-style: none;
    padding-inline-start: 0;
}

.jsc-menu li a,
.jsc-menu li a:hover {
    text-decoration: none;
    color: white;
    display: inline-block;
    width: 100%;
    padding: 10px 10px;
    font-size: 14px;
    border-radius: 20px;
    display: flex;
    gap: 10px;
}

.jsc-menu a span {
    display: flex;
    align-items: center;
    gap: 10px;
}

.jsc-menu svg {
}

.jsc-menu li a:hover {
    background-color: var(--main-color-dark);
}

.div-logo {
    height: 150px;
    width: 100%;
}

    .div-logo > a {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        width: 100%;
        border-bottom: solid 1px var(--secondary-color-dark);
        text-decoration: none;
    }

    .div-logo img {
        height: 80px;
        padding-left: 10px;
    }

    .div-logo > a > span {
        padding-left: 20px;
        padding-right: 10px;
        color: white;
        font-weight: bold;
        font-size: 17px;
    }

.div-logout {
    margin-top: 30%;
}
/* #endregion */
/* #region CSS : Formulaires & Controles */
.alert {
    margin: 0 !important;
}

input {
    outline: none;
}

select {
    cursor: pointer;
}

.jsc-erreur {
    color: red;
}

.jsc-form .row input[type="text"].aspNetDisabled,
.jsc-form .row select.aspNetDisabled {
    color: #989898;
    background: #fafafa;
}

.jsc-form .row select {
    cursor: pointer;
}

:focus-visible {
    outline: none;
}

.jsc-radio td:not(:first-child) {
    padding-left: 5px;
}

.jsc-radio input,
.jsc-check input {
    margin-right: 5px;
}

    .jsc-radio input + label,
    .jsc-check input + label {
        cursor: pointer;
    }
/* #endregion */
/* #region CSS : Tables */
.jsc-table {
    width: 100%;
    margin: 10px 0;
}

    .jsc-table th {
        background: #eaeaea;
        padding: 10px;
    }

    .jsc-table,
    .jsc-table td,
    .jsc-table th {
        border: none;
    }


        .jsc-table > tbody > tr:not(.jsc-paging):nth-child(odd) {
            background: #eaeaea;
            cursor: inherit;
        }

        .jsc-table > tbody > tr:not(.jsc-paging):nth-child(even) {
            background: #ffffff;
        }

            .jsc-table > tbody > tr:not(.jsc-paging):nth-child(odd) td,
            .jsc-table > tbody > tr:not(.jsc-paging):nth-child(even) td {
                padding: 10px;
            }

        .jsc-table > tbody > tr:not(.jsc-paging):hover td {
            background: #f7f7f7;
        }

.jsc-paging {
    background: #ffffff;
}

    .jsc-paging > td {
        padding: 0;
    }

    .jsc-paging table td a,
    .jsc-paging table td span {
        display: block;
        padding: 5px 10px;
    }

.jsc-table a.action-row {
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
}

.jsc-paging td span {
    text-decoration: underline;
}

.jsc-paging td a:hover {
    color: #c8c9d0;
}

.jsc-table .btn-minus {
    display: none;
}

.jsc-table #rowSelected .btn-minus {
    display: inherit;
}

.jsc-table #rowSelected .btn-plus {
    display: none;
}

.jsc-table-empty {
    background: none !important;
}
/* #endregion */
/* #region CSS : Custom */
#jsc-inscription .jsc-btn {
    max-width: 100%;
}

#jsc-inscription .jsc-txt,
#jsc-connexion .jsc-txt {
    background: white;
    border: 2px solid transparent;
    box-sizing: border-box;
    width: 100%;
    height: 40px;
    border-radius: 5px;
    padding: 0 5px;
}
/* #jsc-inscription .jsc-txt:focus, */
/* #jsc-login .jsc-txt:focus { */
/* border: 2px solid #F7B82D; */
/* } */

.jsc-btn-register,
.jsc-btn-register:visited,
.jsc-btn-register:hover {
    color: #13100d;
    display: inline-block;
    margin-right: 20px;
    font-size: 20px;
}

.jsc-btn-login span {
    vertical-align: middle;
    margin: 0px 25px;
    font-size: 20px;
}

.jsc-btn-login img {
    display: none;
}
/* #endregion */
/* #region CSS : Par page */

input[type="text"]:focus {
    border: 1px solid #979797;
}

#jsc-inscription .jsc-btn {
    max-width: 225px;
}

#content #jsc-sidebar {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background-color: var(--bg-color-dark);
    width: 300px;
    z-index: 5;
}

.jsc-div-message div[id$="pnlNoMessage"] {
    padding: 0 30px;
}

.jsc-conversation div[id$="pnlCloture"] {
    padding: 0 15px;
    font-weight: bold;
    color: #17194a;
}


.jsc-table > tbody > tr:not(.jsc-paging):nth-child(odd),
.jsc-table th {
    background: white;
    cursor: inherit;
}


#jsc-contrats .jsc-btn {
    width: 100%;
    justify-content: center;
    color: #fff;
    text-decoration: underline;
}

.LoginPanel {
    width: 100%;
    padding-right: 0;
}

@media screen and (max-width:1440px) {
    #skin.logout .content-inner {
        padding: 30px;
    }
}

@media (max-width: 992px) {
    .container-fluid {
        padding: 0 35px;
    }

    #skin.logout .container {
        padding: 0 35px;
    }
}

@media (max-width: 768px) {
    .accueil-carte,
    .contrat-carte {
        grid-auto-flow: row;
    }

    .contrat-carte {
        justify-content: center;
    }

    .jsc-message-documents {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 769px) {
    .contrat-carte {
        grid-template-columns: 300px 1fr;
    }
}

@media (max-width: 425px) {
    header .row div[class^="col"] {
        text-align: center;
    }

    header {
        height: 120px;
    }
}

.jsc-btn:disabled,
.jsc-btn[disabled] {
    border: 1px solid #999999;
    background-color: #cccccc;
    color: #666666;
    cursor: not-allowed;
}



.responsive-sidebar {
    height: 50px;
    width: 50px;
    position: fixed;
    left: 15px;
    top: 15px;
    z-index: 6;
}

    .responsive-sidebar span {
        width: 16px;
        height: 3px;
        background: #151c4c;
        position: absolute;
        display: block;
        top: 22px;
        left: 25px;
        transform: translate(-50%, -50%);
        box-shadow: 0px 0px 5px 5px white;
        transition: all 0.2s;
    }

        .responsive-sidebar span:nth-of-type(1) {
            width: 29px;
            top: 13px;
        }

        .responsive-sidebar span:nth-of-type(3) {
            width: 29px;
            top: 31px;
        }

    .responsive-sidebar.active span {
        background: white;
        transition-property: background;
        transition-delay: 0.2s;
        box-shadow: none;
    }

        .responsive-sidebar.active span:nth-of-type(1) {
            transform: rotateZ(-35deg);
            width: 22px;
            left: 9px;
            top: 14px;
            transition: all 0.2s;
        }

        .responsive-sidebar.active span:nth-of-type(2) {
            width: 35px;
            left: 29px;
            transition: all 0.2s;
        }

        .responsive-sidebar.active span:nth-of-type(3) {
            transform: rotateZ(35deg);
            width: 22px;
            left: 9px;
            top: 26px;
            transition: all 0.2s;
        }

@media (min-width:1201px) {
    .responsive-sidebar {
        display: none;
    }

    header .container-fluid {
        padding-left: 300px;
    }
}

@media (max-width:1200px) {
    #jsc-sidebar .img-sac {
        display: none;
    }

    #skin.login #content {
        grid-template-columns: 1fr;
    }

    #jsc-sidebar {
        position: fixed !important;
        left: -300px;
        width: 250px;
        height: 100%;
        top: 0;
        z-index: 1;
        transition: left 0.4s;
    }

        #jsc-sidebar.active {
            left: 0;
            transition: left 0.4s;
        }
}

.div-deco {
    display: flex;
    gap: 10px;
    padding-left: 50px;
    align-items: center;
}

.ModAuthenticationC {
    transform: translateY(-50px);
}

    .ModAuthenticationC .dnnFormValidationSummary {
        position: relative;
        padding: 0.75rem 1.25rem;
        margin-bottom: 1rem;
        border: 1px solid transparent;
        border-radius: 0.25rem;
        color: #721c24;
        background-color: #f8d7da;
        border-color: #f5c6cb;
        display: inline-block;
    }

#jsc-connexion {
    color: white;
}

    #jsc-connexion input[type=submit] {
        background: white;
        color: var(--main-color) !important;
        border-radius: 5px !important;
        padding: 6px 20px;
        position: relative;
        text-decoration: none;
        font-size: 15px;
        display: inline-block;
    }

.eligiPopup > .eligiPopupDialog {
    background: white;
    box-shadow: 0px 0px 10px 3px dimgrey;
}

.eligiPopup {
    background-color: rgb(0 0 0 / 47%);
}

    .eligiPopup > .eligiPopupDialog > .eligiPopupBody {
        padding: 30px;
    }

@media (max-width:1370px) {
    .eligiPopup > .eligiPopupDialog {
        width: 70%;
    }
}

@media (max-width: 1200px) {
    #skin.login #content .content-inner {
        padding: 50px;
    }
}

@media (max-width: 992px) and (min-width:576px) {
    header .container-fluid {
        padding-left: 75px;
    }
}

@media (max-width:770px) {
    .eligiPopup > .eligiPopupDialog {
        width: 95%;
    }
}

@media (max-width: 575px) {
    #skin.login {
        grid-template-rows: 120px 1fr;
    }

    .div-deco {
        justify-content: center;
    }

    #skin.login #content .content-inner {
        padding: 15px;
    }

    .div-box {
        box-shadow: none;
    }

    .p-titre + div, .p-titre + div + div {
        padding: 10px 0;
    }
}


header .div-btn:hover {
    cursor: pointer;
}
/* #endregion */
/* #region Responsive */
@media (max-width:1100px) {
    .div-deco {
        padding-left: 250px;
    }
}

@media (max-width:1000px) {
    .div-box {
        width: 100% !important;
    }

    .info-value {
        font-size: 0.75rem;
    }
}

@media (max-width:600px) {
    .div-deco {
        padding-left: 80px;
        justify-content: start;
    }

    .div-box {
        width: 100% !important;
    }

    #content {
        margin-left: 80px !important;
    }

    #jsc-sidebar, #jsc-sidebar {
        transition: width 0.3s ease;
    }

    #jsc-sidebar {
        width: 80px !important;
    }

        #jsc-sidebar .div-logo img {
            height: 40px !important;
            width: auto !important;
        }

        #jsc-sidebar span {
            display: none !important;
        }

        #jsc-sidebar .div-logout {
            margin-top: 100% !important;
        }
}

@media (max-width:770px) {

    .jsc-sidebar-small .div-logout {
        margin-top: 0 !important;
    }
}

.jsc-sidebar-small, #jsc-sidebar {
    transition: width 0.3s ease;
}

#content, .content-large {
    transition: margin-left 0.3s ease;
}

.container-fluid, .container-fluid-large {
    transition: padding 0.3s ease;
}

.jsc-sidebar-small {
    width: 80px !important;
}

    .jsc-sidebar-small .div-logo img {
        height: 40px !important;
        width: auto !important;
    }

    .jsc-sidebar-small span {
        display: none !important;
    }

    .jsc-sidebar-small .div-logout {
        margin-top: 100% !important;
    }

.content-large {
    margin-left: 80px !important;
}

.content-fluid-large {
    padding-left: 80px !important;
}

@media (max-width:770px) {

    .jsc-sidebar-small .div-logout {
        margin-top: 0 !important;
    }
}

@media (max-width:400px) {

    .custom-main-btn, .custom-secondary-btn {
        min-width: none;
        font-size: 0.8em;
    }
}

@media (max-height: 800px) {
    .div-logout {
        margin-top: 10% !important;
    }
}
/* #endregion */
