:root {
    --main-color: #0A2540;
    --main-color-dark: #061423;
    /*    --main-color: #222;*/
    /*    --alt-color: rgba(145, 59, 255, 0.14);*/
    --alt-color: #0077B6;
    --alt-color-dark: #00669e;
    --cream-bg: #F5F1EB;
    --cream-light: #FAF7F2;
    --charcoal: #2C2C2C;
    --charcoal-dark: #1A1A1A;
    --terracotta: #C97D60;
    --terracotta-dark: #B86A4F;
    --gold: #D4AF37;
    --text-primary: #2C2C2C;
    --text-secondary: #6B6B6B;
    --text-light: #9A9A9A;
    --border-color: #E8E3DC;
}

html,
body {
    color: var(--text-primary);
    background: #F8FAFC;
    width: 100%;
    overflow-x: hidden;
    font-family: "Inter", sans-serif;
}

.font-main{
  font-family: "Inter", sans-serif;
  font-weight: 600;
}

.heading {
    font-family: 'Space Grotesk', serif;
}

.hide-in-sm {
    display: flex !important;
}

.show-in-sm {
    display: none !important;
}

.swal-modal * {
    text-align: center;
}

.swal-modal{
    border-radius: 1.5rem;
}

.swal-footer{
    padding-bottom: 30px;
}

.swal-button{
    padding: .75rem 2rem;
    border-radius: 1.5rem;
}

.btn:focus,
a:focus,
.form-control:focus {
    outline: 0 !important;
    box-shadow: none !important;
}

.btn {
    cursor: pointer;
}

.main-bg {
    background: #288162 !important;
}

.bg-main {
    background: var(--main-color) !important;
}

.text-main {
    color: var(--main-color) !important;
}

.bg-main-alt {
    background: var(--alt-color) !important;
}

.text-main-alt {
    color: var(--alt-color) !important;
}

.bg-main-dark {
    background: #003052 !important;
}

.text-main-dark {
    color: #003052 !important;
}

.bg-main-light {
    background: #668BBC !important;
}

.text-main-light {
    color: #668BBC !important;
}

.bg-main-alt-light {
    background-color: #F3AA9B !important;
}

.text-main-alt-light {
    color: #F3AA9B !important;
}

.bg-black {
    background: black !important;
}

.text-black {
    color: black !important;
}

.text-gray {
    color: lightgray !important;
}

.bg-white {
    background: white !important;
}

.text-white {
    color: white !important;
}

.border-main {
    border-color: #000000 !important;
}

.border-main-alt {
    border-color: #EF8D7A !important;
}

a {
    text-decoration: none !important;
}

.rounded-3xl {
    border-radius: 1.5rem;
}

.rounded-top-10 {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.rounded-bottom-10 {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

.rounded-5 {
    border-radius: 5px;
}

.rounded-10 {
    border-radius: 10px;
}

.rounded-20 {
    border-radius: 20px;
}

.rounded-30 {
    border-radius: 30px;
}

.rounded-40 {
    border-radius: 40px;
}

.rounded-50 {
    border-radius: 50px;
}

.font-weight-300 {
    font-weight: 300;
}

.font-weight-400 {
    font-weight: 400;
}

.font-weight-500 {
    font-weight: 500;
}

.font-weight-600 {
    font-weight: 600;
}

.font-weight-800 {
    font-weight: 800;
}

.font-weight-900 {
    font-weight: 900;
}

.font-105 {
    font-size: 105%;
}

.font-110 {
    font-size: 110%;
}

.font-95 {
    font-size: 95%;
}

.font-90 {
    font-size: 90%;
}

.font-85 {
    font-size: 85%;
}

.font-80 {
    font-size: 80%;
}

.form-group.row .col-md-3,
.form-group.row .col-md-4 {
    padding-top: 8px;
}

.pointer {
    cursor: pointer;
}

.logo {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.logo div:nth-child(1){
    font-size: 1.875rem;
    line-height: 2.25rem;
    font-weight: 800;
    color: var(--main-color);
    background: white;    
    border-radius: .75rem;
    display: flex;
    justify-content: center;    
    align-items: center;
    width: 2.75rem;
    height: 2.75rem;
    font-family: 'Space Grotesk', sans-serif;
}

.logo div:nth-child(2) h1{
    color: white;    
    letter-spacing: -0.05em;
    font-weight: 600;
    font-size: 1.875rem;
    line-height: 1;
    font-family: 'Space Grotesk', sans-serif;
    margin-bottom: 0px;
}

.logo div:nth-child(2) p{
    margin-bottom: 0px;
    font-size: 0.75rem;
    line-height: 1rem;
    margin-top: -0rem;
    color: #93c5fd;
}

.flex-1 {
    flex: 1;
}

@media only screen and (max-width:786px) {
    .hide-in-sm {
        display: none !important;
    }

    .show-in-sm {
        display: flex !important;
    }

    div.px-4 {
        padding-left: 0.8rem !important;
        padding-right: 0.8rem !important;
    }

    div.pl-5.pr-5 {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    div.p-5 {
        padding: 10px !important;
    }

}
