:root {
    /* colors */
    --primcolor: #2A3647;
    --seccolor: #091931;
    --acccolor: #29ABE2;
    --acccolorHover: rgba(41,171,226,0.2);

    --bg-color: #f6f7f8;

    /* font colors*/
    --fntcolor: #CDCDCD;

    /*font size*/
    --fntsize12: 0.75rem; /*base:16px, 12px*/
    --fntsizebase: 1rem; /*base:16px, 16px*/
    --fntsize20: 1.25rem; /*base:16px, 20px*/
    --fntsize21: 1.3125rem; /*base:16px, 21px*/
    --fntsize27: 1.6875rem; /*base:16px, 27px*/
    --fntsize47: 2.9375rem; /*base:16px, 47px*/
    --fntsize61: 3.8125rem; /*base:16px, 61px*/

    /* transition */
    --transtime: 200ms;

    /* shadow for box */
    --drop-shadow: drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.1));
    --shadow-btm: drop-shadow(0px 5px 2px rgba(0, 0, 0, 0.1));
}

/* fonts */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/Inter/Inter-VariableFont_slnt,wght.ttf") format('truetype');
}

/* common styles */
html{
    font-size: 16px;
}

h1 {
    margin: 0;
    font-size: var(--fntsize61);
    font-weight: 700;
    line-height: 73px;
    letter-spacing: 0em;
    text-align: center;
}

.display-none {
    display: none !important;
}

.active {
    background-color: var(--seccolor) !important;
}

input {
    font-size: var(--fntsize20);
    font-weight: 400;
    text-align: left;
    box-sizing: border-box;
    height: 50px;
    width: 422px;
    padding: 13px 21px;
    padding-right: 50px;
    background-repeat: no-repeat;
    background-position: calc(100% - 21px);
    border: 1px solid #D1D1D1;
    border-radius: 10px;
    outline: none;
}

input[type="checkbox"] {
    width: 16px;
    height: 16px;
    border-radius: 3px;
    border: 1px solid #000000;
    background: #F9F9F9;
}

input:hover {
    cursor: pointer;
}

/* button */

.but-dark {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--seccolor);
    border: 0;
    border-radius: 8px;
    color: white;
    font-size: var(--fntsize21);
    height: 51px;
    padding: 15px 24px 15px 24px;
    cursor: pointer;
}

.but-dark:hover {
    background-color: var(--acccolor);
    filter: var(--shadow-btm);
    transition: all var(--transtime) ease-in-out;
}

.but-light {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: white;
    border: 2px solid var(--seccolor);
    border-radius: 8px;
    color: var(--seccolor);
    font-size: var(--fntsize21);
    height: 51px;
    padding: 15px 24px 15px 24px;
    cursor: pointer;
}

.but-light:hover {
    border-color: var(--acccolor);
    color: var(--acccolor);
    filter: var(--shadow-btm);
    transition: all var(--transtime) ease-in-out;
}

/* css for basic framework */
body {
    display: flex;
    margin: unset;
    font-size: var(--fntsizebase);
    font-family: 'Inter';
}

nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    background-color: var(--primcolor);
    box-sizing: border-box;
    width: 232px;
    height: 100vh;
    padding: 66px 0px;
    flex-shrink: 0;
}

main {
    background-color: var(--bg-color);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow: hidden;
}

#header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 36px 20px 116px;
    box-shadow: 0 4px 4px 0px rgba(0, 0, 0, 0.10);
    z-index: 3;
}


#content {
    display: flex;
    position: relative;
    height: calc(100vh - 90px);
    box-sizing: border-box;
}

#ovly{
    position: fixed;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0.50);
    height: 100vh;
    width: 100vw;
    opacity: 0;
    overflow: hidden;
    transition: all var(--transtime) ease-in-out;
    z-index: -1;
}

#ovly.showovly{
    opacity: 1;
    z-index: 3;
    transition: opacity var(--transtime) ease-in-out;
}

#ovlyCard{
    position: relative;
    left: 1500px;
    display: flex;
    max-width: calc(100vw - 50px);
    border-radius: 30px;
    transition: left var(--transtime) ease-in-out;
}

#ovlyCard.showovlyCard{
    left: 0;
    transition: left var(--transtime) ease-in-out;
}

#ovlyBtnClose{
    position: absolute;
    right: 32px;
    top: 64px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: unset;
    background-color: transparent;
    cursor: pointer;
    border-radius: 50%;
}

#ovlyBtnClose:hover{
    background-color: #D1D1D1;
    transition: all var(--transtime) ease-in-out;
}

#ovlyPopup{
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    bottom: -400px;
    left: calc(50% - 163px);
    width: 326px;
    border-radius: 20px;
    background-color: var(--seccolor);
    color: #FFFFFF;
    font-size: var(--fntsize20);
    text-align: center;
    padding: 25px 0px;
    z-index: 2;
}

#ovlyPopup.addAnimtaion{
    animation: showInformation 2s linear 0s 1 normal;
}

@keyframes showInformation {
    0% {bottom: -200px;}
    10% {bottom: 200px;}
    90% {bottom: 200px;}
    100%{bottom: -200px;}
}


/*===================================== Responsive design =====================================*/
@media (max-width: 1150px){
    nav{
        width: 90px;
    }
}


@media (max-width: 1024px){
    body{
        flex-direction: column-reverse;
    }
    #header{
        padding: 20px 36px 20px 36px;
    }
    nav{
        width: 100%;
        height: 90px;
        padding: 0px 0px;
        justify-content: center;
    }
    main{
        min-height: unset;
        height: calc(100vh - 90px);
    }
}


@media (max-width: 550px){
    html{
        font-size: 14px;
    }
    input{
        width: 100%;
    }
}