*, *::before, *::after { box-sizing: border-box; }

.container {
    width: 100%;
    max-width: 1250px;
    margin-inline: auto;
    padding-inline: 20px;
}
.container-fluid { width: 100%; padding-inline: 20px; }
@media (max-width: 575.98px) { .container, .container-fluid { padding-inline: 16px; } }

.row {
    --gx: 1.5rem; --gy: 0rem;
    display: flex; flex-wrap: wrap;
    margin-top: calc(-1 * var(--gy));
    margin-right: calc(-.5 * var(--gx));
    margin-left: calc(-.5 * var(--gx));
}
.row > * {
    flex-shrink: 0; width: 100%; max-width: 100%;
    padding-right: calc(.5 * var(--gx));
    padding-left: calc(.5 * var(--gx));
    margin-top: var(--gy);
}

.col          { flex: 1 0 0%; }
.col-auto     { flex: 0 0 auto; width: auto; }
.col-1  { flex:0 0 auto; width:8.3333%; }
.col-2  { flex:0 0 auto; width:16.6667%; }
.col-3  { flex:0 0 auto; width:25%; }
.col-4  { flex:0 0 auto; width:33.3333%; }
.col-5  { flex:0 0 auto; width:41.6667%; }
.col-6  { flex:0 0 auto; width:50%; }
.col-7  { flex:0 0 auto; width:58.3333%; }
.col-8  { flex:0 0 auto; width:66.6667%; }
.col-9  { flex:0 0 auto; width:75%; }
.col-10 { flex:0 0 auto; width:83.3333%; }
.col-11 { flex:0 0 auto; width:91.6667%; }
.col-12 { flex:0 0 auto; width:100%; }

@media (min-width:576px){
    .col-sm      { flex:1 0 0%; }
    .col-sm-auto { flex:0 0 auto; width:auto; }
    .col-sm-1{flex:0 0 auto;width:8.3333%}.col-sm-2{flex:0 0 auto;width:16.6667%}.col-sm-3{flex:0 0 auto;width:25%}
    .col-sm-4{flex:0 0 auto;width:33.3333%}.col-sm-5{flex:0 0 auto;width:41.6667%}.col-sm-6{flex:0 0 auto;width:50%}
    .col-sm-7{flex:0 0 auto;width:58.3333%}.col-sm-8{flex:0 0 auto;width:66.6667%}.col-sm-9{flex:0 0 auto;width:75%}
    .col-sm-10{flex:0 0 auto;width:83.3333%}.col-sm-11{flex:0 0 auto;width:91.6667%}.col-sm-12{flex:0 0 auto;width:100%}
}
@media (min-width:768px){
    .col-md      { flex:1 0 0%; }
    .col-md-auto { flex:0 0 auto; width:auto; }
    .col-md-1{flex:0 0 auto;width:8.3333%}.col-md-2{flex:0 0 auto;width:16.6667%}.col-md-3{flex:0 0 auto;width:25%}
    .col-md-4{flex:0 0 auto;width:33.3333%}.col-md-5{flex:0 0 auto;width:41.6667%}.col-md-6{flex:0 0 auto;width:50%}
    .col-md-7{flex:0 0 auto;width:58.3333%}.col-md-8{flex:0 0 auto;width:66.6667%}.col-md-9{flex:0 0 auto;width:75%}
    .col-md-10{flex:0 0 auto;width:83.3333%}.col-md-11{flex:0 0 auto;width:91.6667%}.col-md-12{flex:0 0 auto;width:100%}
}
@media (min-width:992px){
    .col-lg      { flex:1 0 0%; }
    .col-lg-auto { flex:0 0 auto; width:auto; }
    .col-lg-1{flex:0 0 auto;width:8.3333%}.col-lg-2{flex:0 0 auto;width:16.6667%}.col-lg-3{flex:0 0 auto;width:25%}
    .col-lg-4{flex:0 0 auto;width:33.3333%}.col-lg-5{flex:0 0 auto;width:41.6667%}.col-lg-6{flex:0 0 auto;width:50%}
    .col-lg-7{flex:0 0 auto;width:58.3333%}.col-lg-8{flex:0 0 auto;width:66.6667%}.col-lg-9{flex:0 0 auto;width:75%}
    .col-lg-10{flex:0 0 auto;width:83.3333%}.col-lg-11{flex:0 0 auto;width:91.6667%}.col-lg-12{flex:0 0 auto;width:100%}
}
@media (min-width:1200px){
    .col-xl-1{flex:0 0 auto;width:8.3333%}.col-xl-2{flex:0 0 auto;width:16.6667%}.col-xl-3{flex:0 0 auto;width:25%}
    .col-xl-4{flex:0 0 auto;width:33.3333%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-8{flex:0 0 auto;width:66.6667%}
}

.g-0{--gx:0;--gy:0}.gx-0{--gx:0}.gy-0{--gy:0}
.g-1{--gx:.25rem;--gy:.25rem}.g-2{--gx:.5rem;--gy:.5rem}.g-3{--gx:1rem;--gy:1rem}
.g-4{--gx:1.5rem;--gy:1.5rem}.g-5{--gx:3rem;--gy:3rem}
.gy-2{--gy:.5rem}.gy-3{--gy:1rem}.gy-4{--gy:1.5rem}.gy-5{--gy:3rem}
.gx-3{--gx:1rem}.gx-4{--gx:1.5rem}

.d-none{display:none!important}.d-block{display:block!important}.d-inline{display:inline!important}
.d-inline-block{display:inline-block!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}
.d-grid{display:grid!important}
@media(min-width:576px){.d-sm-block{display:block!important}.d-sm-flex{display:flex!important}.d-sm-none{display:none!important}}
@media(min-width:768px){.d-md-block{display:block!important}.d-md-flex{display:flex!important}.d-md-none{display:none!important}.d-md-inline{display:inline!important}}
@media(min-width:992px){.d-lg-block{display:block!important}.d-lg-flex{display:flex!important}.d-lg-none{display:none!important}}
@media(max-width:991.98px){.d-lg-none-down{display:none!important}}

.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}
.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}
.flex-fill{flex:1 1 auto!important}.flex-grow-1{flex-grow:1!important}
.justify-content-start{justify-content:flex-start!important}.justify-content-center{justify-content:center!important}
.justify-content-end{justify-content:flex-end!important}.justify-content-between{justify-content:space-between!important}
.justify-content-around{justify-content:space-around!important}
.align-items-start{align-items:flex-start!important}.align-items-center{align-items:center!important}
.align-items-end{align-items:flex-end!important}.align-items-stretch{align-items:stretch!important}
.align-self-center{align-self:center!important}
.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}

.m-0{margin:0!important}.m-auto{margin:auto!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}
.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}
.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}
.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-auto{margin-left:auto!important}
.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-auto{margin-right:auto!important}
.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}
.p-0{padding:0!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}
.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}
.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}
.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}
.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}

.text-start{text-align:left!important}.text-center{text-align:center!important}.text-end{text-align:right!important}
.text-white{color:#fff!important}.text-muted{color:var(--muted,#6B7280)!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}
.w-100{width:100%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}
.img-fluid{max-width:100%;height:auto}
.rounded{border-radius:.5rem!important}.rounded-circle{border-radius:50%!important}
.position-relative{position:relative!important}.position-absolute{position:absolute!important}
.overflow-hidden{overflow:hidden!important}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.breadcrumb{display:flex;flex-wrap:wrap;padding:0;margin:0;list-style:none}
.breadcrumb-item{display:flex;align-items:center}
.breadcrumb-item + .breadcrumb-item{padding-left:.5rem}
.breadcrumb-item + .breadcrumb-item::before{content:"/";padding-right:.5rem;color:rgba(255,255,255,.45)}

.accordion-item{background:var(--surface,#fff);border:1px solid var(--line,#e8e6e1);border-radius:12px;margin-bottom:12px;overflow:hidden}
.accordion-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:18px 22px;font-family:var(--font-display,inherit);font-size:1.02rem;font-weight:600;color:var(--heading,#15171c);background:transparent;border:0;cursor:pointer;text-align:left}
.accordion-button::after{content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.8rem;color:var(--accent-d,#c98a28);transition:transform .25s}
.accordion-button:not(.collapsed)::after{transform:rotate(180deg)}
.accordion-collapse{display:none}
.accordion-collapse.show{display:block}
.accordion-body{padding:0 22px 20px;color:var(--muted,#6B7280);line-height:1.7}

.modal{display:none;position:fixed;inset:0;z-index:1080;overflow-y:auto;background:rgba(15,16,20,.6);backdrop-filter:blur(2px);padding:24px}
.modal.show{display:block}
.modal-dialog{max-width:520px;margin:6vh auto;width:100%}
.modal-dialog.modal-lg{max-width:860px}
.modal-dialog.modal-dialog-centered{margin:0 auto;min-height:100vh;display:flex;align-items:center}
.modal-content{background:var(--surface,#fff);border-radius:16px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line,#e8e6e1)}
.modal-title{font-size:1.2rem;margin:0}
.modal-body{padding:24px}
.btn-close{border:0;background:transparent;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--muted,#6B7280);width:34px;height:34px;border-radius:8px}
.btn-close::before{content:"\00d7"}
.btn-close:hover{background:var(--paper,#f6f6f4);color:var(--ink,#15171c)}
body.modal-open{overflow:hidden}

.form-control,.form-select{
    display:block;width:100%;padding:12px 15px;font-size:15px;font-family:inherit;color:var(--ink,#15171c);
    background:var(--surface,#fff);border:1.5px solid var(--line,#e8e6e1);border-radius:10px;transition:border-color .2s,box-shadow .2s;
}
.form-control:focus,.form-select:focus{outline:none;border-color:var(--accent,#0A0A0A);box-shadow:0 0 0 3px rgba(10,10,10,.12)}
.form-control::placeholder{color:#9aa0a8}
.form-label{display:block;font-size:13px;font-weight:600;color:var(--ink,#15171c);margin-bottom:7px}
textarea.form-control{min-height:120px;resize:vertical}
.is-invalid{border-color:#e05656!important}
.invalid-feedback{display:block;color:#e05656;font-size:.85rem;margin-top:5px}

.spinner-border{display:inline-block;width:2rem;height:2rem;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.alert{position:relative;padding:14px 44px 14px 16px;border-radius:10px;border:1px solid transparent}
.alert-success{background:#e9f7ef;border-color:#bfe6cd;color:#1c6b3f}
.alert-danger{background:#fdeaea;border-color:#f3c4c4;color:#a12a2a}
.alert-info{background:#eaf2fd;border-color:#c4d8f3;color:#2a4ea1}
.alert .btn-close{position:absolute;top:8px;right:8px}
