/* Utilities */


.card {
    /* background-color: var(--off-white); */
    /* border:1px solid var(--main-font-color); */
    border-radius: 10px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.2);
    padding: 20px;
    margin: 10px;
    color: var(--dark-blue);
    align-self: stretch;
}


.btn{
    display:inline-block;
    padding:10px 30px 10px 30px;
    color: var(--white);
    border-radius: 5px;
    background-color: var(--light-blue);
    cursor: pointer;
    border:none;
}

.btn-outline{
    background-color: transparent;
    border: 1px #fff solid;
}

.btn-wide{
    padding:10px 60px;
}

.btn:hover {
    transform: scale(0.98);
}

.text-ctr{
     text-align:center;
}


.container{
    max-width: 1100px;
    margin: 0 auto;
    overflow: auto;
    padding: 0 40px;
}

.flex{
    display:flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.grid{
    display:grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.grid-3{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    
}

.col-span-2{
    grid-column: span 2;
}


/* margins */
.my-1{
    margin: 1rem 0;
}

.my-2{
    margin: 1.5rem 0;
}

.my-3{
    margin: 2rem 0;
}

.my-4{
    margin: 3rem 0;
}

.my-5{
    margin:4rem 0;
}

.m-1{
    margin: 1rem;
}

.m-2{
    margin: 1.5rem;
}

.m-3{
    margin: 2rem;
}

.m-4{
    margin:0dvb 3rem;
}

.m-5{
    margin:4rem;
}

/* padding */
.py-1{
    padding: 1rem 0;
}

.py-2{
    padding: 1.5rem 0;
}

.py-3{
    padding: 2rem 0;
}

.py-4{
    padding:0dvb 3rem 0;
}

.py-5{
    padding:4rem 0;
}

.p-1{
    padding: 1rem;
}

.p-2{
    padding: 1.5rem;
}

.p-3{
    padding: 2rem;
}

.p-4{
    padding:0dvb 3rem;
}

.p-5{
    padding:4rem;
}

.bg-primary{
    background-color: var(--dark-blue);
}

.bg-secondary{
    background-color: var(--light-blue);
}
.bg-dark{
    background-color: var(--dark-grey);
}
.quote{
    font-style: italic;
    font-weight: bold;
    font-size: 0.98em;
}

.citation{
    font-style: none;
    font-weight:normal;
    font-size: 0.98em;
}

.attention {
    font-weight: bold;
}

.page-title {
    padding-bottom:20px;
    color: var(--dark-blue);
}



.page-title .sub-heading{    
    letter-spacing: 0.1em;
    font-weight:bold;
    line-height: 2;
}

.gradient-dark-light{
    background: linear-gradient(var(--dark-blue), var(--light-blue));
}

/* animations */
@keyframes slideInFromLeft{
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(0);
    }
}

@keyframes slideInFromRight{
    0% {
        transform: translateX(100%);
    }
    100% {
        transform: translateX(0);
    }
}
@keyframes slideInFromTop{
    0% {
        transform: translateY(-100%);
    }
    100% {
        transform: translateX(0);
    }
}
@keyframes slideInFromBottom{
    0% {
        transform: translateY(100%);
    }
    100% {
        transform: translateX(0);
    }
}