@font-face{
    font-family: 'Oswald';
    src: url('/static/fonts/Oswald-VariableFont_wght.ttf') format('truetype');
}

@font-face {
    font-family: 'Raleway';
    src: url('/static/fonts/Raleway-VariableFont_wght.ttf');
}

@font-face{
    font-family: 'Lato';
    src: url('/static/fonts/Lato-Regular.ttf')
}

@font-face {
    font-family: 'Poppins';
    src: url('/static/fonts/Poppins-Medium.ttf');
}

@font-face{
    font-family:'Nunito';
    src: url('/static/fonts/Nunito-VariableFont_wght.ttf');
    font-weight:bold;
}

#navbar{
    position:fixed;
    top:0;
    padding:15px;
    background-color: transparent;
    color:white;
    text-align: center;
    width:100%;
    height:105px;
    display:flex;
    justify-content: space-between;
    transition: background-color 0.3s ease, color 0.3s ease;
    z-index:5;
    animation: expand 300ms ease-in-out;
}

.navbar-logo{
    max-width: 300px;
    width:100%;
    line-height:70px;
    z-index:6;
}

.navbar-logo-alt{
    max-width: 300px;
    width:100%;
    line-height:70px;
    z-index:6;
    filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.8));
    margin-left:10px;
}

.navbar-links{
    display:flex;
    gap:25px;
    align-items:center;
    padding:20px;
    line-height:35px;
    text-indent:5px;
    font-size:20px;
    margin-right:20px;
    z-index:6;
}

.services-button{
    border:none;
    font-size:20px;
    padding-right:10px;
    background-color:transparent;
    color:white;
    font-family:'Poppins', sans-serif;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    transition: color 0.35s ease-in-out;
    pointer-events: auto;
}

.services-button:hover{
    color:greenyellow;
    cursor:pointer;
}

.close-button-container{
    text-align: right;
}

.close-button{
    border:none;
    font-size:40px;
    padding-right:50px;
    padding-top:10px;
    background-color:transparent;
    color:white;
    font-family:'Nunito', sans-serif;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    transition: color 0.35s ease-in-out;
    pointer-events: auto;
}

.close-button:hover{
    color:red;
    cursor:pointer;
}

.navbar-contact{
    line-height:0px;
    font-size:25px;
    width: auto;
    background-color: rgb(90,90,90);
    margin-left:5px;
    padding: 20px;
    padding-top:30px;
    padding-bottom:30px;
    border-radius:30px;
    transition: ease-in-out 0.2s;
    z-index:8;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    font-family: 'Nunito', sans-serif;
}

.navbar-contact:hover{
    background-color:greenyellow;
    color:rgb(45,45,45);
    text-shadow:none;
}

.navbar-contact-alt{
    margin-top:10px;
    display:flex;
    justify-content:center;
    text-align:center;
    font-size:25px;
    background-color: rgb(90,90,90);
    margin-left:5px;
    border-radius:30px;
    transition: ease-in-out 0.2s;
    z-index:7;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    width:150px;
    height:35px;
    font-family: 'Nunito', sans-serif;
}

.navbar-contact-alt:hover{
    background-color:greenyellow;
    color:rgb(45,45,45);
    text-shadow:none;
}

.navbar-toggle{
    display:none;
    cursor:pointer;
    z-index:5;
}

.dropdown-menu{
    display:block;
    transform:translateX(200vw);
    z-index:8;
    position:absolute;
    padding-left:10px;
    background-color:rgb(60,60,60);
    filter:blur(0);
}

.dropdown-item{
    font-size:30px;
    transition: all 0.5s ease-in-out;
}

.dropdown-item:hover{
    background-color:transparent;
    color: greenyellow;
}

.extended-services{
    display: block;
    transform: translate(0, -200vh);
    z-index: 10;
    position: absolute;
    font-size: 30px;
    width: 100vw;
    height: 100vh;
    background-color: rgb(45, 45, 45);
    transition: 0.5s ease-in-out;
    left: 0;
    top: 0;
}

.extended-services.show{
    transform: translate(0vw, 0vh);
}

.extended-services-links{
    display: grid;
    grid-template-columns: 1fr;
    left: 0;
    margin: auto;
    width: 100%;
    max-width: 85vw;
    overflow-wrap: break-word;
    text-align: left;
    font-style: italic;
    font-size: 25px;
    line-height: 40px;
    transform: translate(40px, 20px);
}

.extended-services-links a{
    font-size: 25px;
}

.extended-services-title{
    font-style: normal;
    font-size: 30px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    font-family: 'Oswald', sans-serif;
    text-align: left;
    margin-left:50px;
    width: 100%;
    max-width: 500px;
    text-transform:bolder;
}

.extended-services h2{
    font-style: normal;
    font-size: 25px;
    margin-bottom: 0;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.bordered-links{
    border-right: none;
    padding-right:20px;
}

@media (min-width: 1251px), (min-height: 951px) {
    .bordered-links{
        border-right: 1px solid rgb(240, 240, 240);
    }
    
    .extended-services-links{
        grid-template-columns: 1fr 1fr;
        column-gap: 80px;
        font-size: 35px;
        line-height: 80px;
        margin-left:92px;
    }
    
    .extended-services-links a{
        font-size: 35px;
    }
    
    .extended-services h1{
        font-size: 40px;
    }
    
    .extended-services h2{
        font-size: 35px;
        margin-top: 0;
    }
    
    .close-button-container{
        margin-bottom: 20px;
    }
    
    .close-button{
        padding-right: 40px;
    }
    
    .extended-services-title{
        font-size:50px;
        margin-left:129px;
    }
}

@media (max-width: 1250px) and (min-width: 1001px), (max-height:950px) and (min-height: 801px) {
    .bordered-links{
        border-right: 1px solid rgb(240, 240, 240);
    }
    
    .extended-services-links{
        grid-template-columns: 1fr 1fr;
        column-gap: 60px;
        font-size: 30px;
        line-height: 60px;
        margin-left:86px;
    }
    
    .extended-services-links a{
        font-size: 30px;
    }
    
    .extended-services h1{
        font-size: 35px;
    }
    
    .extended-services h2{
        font-size: 30px;
        margin-top: 0;
    }
    
    .close-button-container{
        margin-bottom: 20px;
    }
    
    .close-button{
        padding-right: 40px;
    }
    
    .extended-services-title{
        font-size:40px;
        margin-left:125px;
    }
}

@media (max-width: 1000px) and (min-width: 701px), (max-height: 800px) and (min-height: 701px) {
    .navbar-logo{
        max-width:250px;    
    }
    
    .bordered-links{
        border: none;
        transform:translateY(-15px);
    }
    
    .extended-services-links a{
        font-size: 25px;
    }
    
    .extended-services h1{
        font-size: 30px;
        margin-top: 0;
    }
    
    .extended-services h2{
        font-size: 25px;
        margin-top: 0;
    }
    
    .extended-services-links{
        grid-template-columns: 1fr;
        font-size: 25px;
        line-height: 40px;
        padding-left: 0px;
        margin-left:86px;
    }
    
    .close-button-container{
        margin-bottom: 0px;
    }
    
    .close-button{
        padding-right: 30px;
    }
    
    .extended-services-title{
        font-size:35px;
        margin-left:125px;
    }
}

@media (max-width: 700px), (max-height: 700px) {
    .navbar-logo{
        max-width:200px;    
    }
    
    .bordered-links{
        border: none;
        transform:translateY(-15px);
    }
    .extended-services-links a{
        font-size: 18px;
    }
    
    .extended-services h1{
        font-size: 22px;
        margin-top: 0;
    }
    
    .extended-services h2{
        font-size: 18px;
        margin-top: 0;
    }
    
    .extended-services-links{
        grid-template-columns: 1fr;
        font-size: 18px;
        line-height: 35px;
        padding-left: 0px;
        margin:14px;
        margin-top:0;
    }
    
    .close-button-container{
        margin-bottom: 0px;
    }
    
    .close-button{
        padding-right: 20px;
    }
    
    .extended-services-title{
        font-size:24px;
        margin-left:53px;
    }
}

.down-arrow{
    border: solid white;
    border-width: 0 4px 4px 0;
    border-radius: 2px;
    display: inline-block;
    padding: 4px;
    margin-left:3px;
    margin-bottom:3px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    transition: 0.5s ease-in-out;
}

.services-button:hover .down-arrow{
    border: solid greenyellow;
    border-width: 0 4px 4px 0;
    border-radius: 2px;
    padding: 4px;
    margin-left:3px;
    margin-bottom:3px;
}

.blur-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        backdrop-filter: blur(5px);
        background-color: rgba(0, 0, 0, 0.4);
        z-index: 5;
        opacity: 0;
        visibility: hidden;
        transition: 0.5s ease-in-out;
    }

@media (min-width:600px) and (max-width: 960px) {
    .navbar-links {
        display: none;
    }

    .navbar-toggle {
        display: block;
        cursor: pointer;
        font-size: 50px;
        margin-right:50px;
        padding: 0;
        color:white;
        border: none;
        background: none;
    }

    .dropdown-menu {
        position: absolute;
        top:0;
        left:0;
        margin:0;
        height:100vh;
        background-color: rgb(60,60,60);
        width: 100%;
        text-align: left;
        z-index: 8;
        transform:translateX(200vw);
        transition: 0.5s ease-in-out;
        filter:blur(0);
    }

    .dropdown-menu a {
        display: block;
        padding: 5px;
        margin-left:5px;
        color: white;
        text-decoration: none;
    }
    
    .blur-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        backdrop-filter: blur(5px);
        background-color: rgba(0, 0, 0, 0.4);
        z-index: 5;
        opacity: 0;
        visibility: hidden;
        transition: 0.5s ease-in-out;
    }
    
    .blur-overlay.active {
        opacity: 1;
        visibility: visible;
    }
    
    .dropdown-menu.show {
    transition: 0.5s ease-in-out;
    transform: translateX(50vw);
    filter:blur(0);
    }
}

@media (max-width: 599px) {
    .navbar-links {
        display: none;
    }

    .navbar-toggle {
        display: block;
        cursor: pointer;
        font-size: 50px;
        margin-right:50px;
        padding: 0;
        color:white;
        border: none;
        background: none;
    }

    .dropdown-menu {
        position: absolute;
        top:0;
        left:0;
        margin:0;
        height:100vh;
        background-color: rgb(60,60,60);
        width: 100%;
        text-align: left;
        z-index: 8;
        transform:translateX(200vw);
        transition: 0.5s ease-in-out;
        filter:blur(0);
    }

    .dropdown-menu a {
        display: block;
        padding: 5px;
        margin-left:5px;
        color: white;
        text-decoration: none;
    }
    
    .blur-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        backdrop-filter: blur(5px);
        background-color: rgba(0, 0, 0, 0.4);
        z-index: 5;
        opacity: 0;
        visibility: hidden;
        transition: 0.5s ease-in-out;
    }
    
    .blur-overlay.active {
        opacity: 1;
        visibility: visible;
    }
    
    .dropdown-menu.show {
    transition: 0.5s ease-in-out;
    transform: translateX(25vw);
    filter:blur(0);
    }
}

.dropdown-menu.show + .blur-overlay {
    opacity: 1;
    visibility: visible;
}

.blur-overlay.active ~ #navbar .navbar-logo {
  filter: blur(5px);
  transition: filter 0.5s ease-in-out;
}


@keyframes expand{
    0% {
        height:80px
    }
    100%{
        height:105px
    }
}

@keyframes contract{
    0% {
        height:105px;
    }
    100%{
        height:80px;
    }
}
