/* Globals */

:root {
    --bs-blue: #0d6efd;
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffc107;
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-white: #fff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-primary: #005fad;
    --bs-secondary: #e5e900;
    --bs-success: #198754;
    --bs-info: #0dcaf0;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  }


    @font-face 
    {
    
        font-family: sfArborcrest;
        src: url("/fonts/sf-arborcrest-medium.ttf");
    }

    html
    {
        scroll-behavior: smooth;
    }

    body
    {   
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        font-family: Arial, Helvetica, sans-serif;
    }

    footer
    {
        color:white;
    }


    .footerdividers
    {
        border-left: 2px solid black;
        border-right: 2px solid black;
    }

    .footerdividersv
    {
        border-top: 2px solid black;
        border-bottom: 2px solid black;
    }

    .sectionanimation
    {
        visibility: hidden;
    
        animation-name: slide;
        animation-duration: 1s;
        animation-fill-mode: forwards;

        -webkit-animation-name: slide;
        -webkit-animation-duration: 1s;
        -webkit-animation-fill-mode: forwards;
    }


    @keyframes slide
    {
        0%
        {
            visibility: visible;
            opacity: 0;
            transform: translateX(-75px);
        }
        100%
        {
            visibility: visible;
            opacity: 100;
            transform: translateX(0);
        }
    }

    @-webkit-keyframes slide
    {
        0%
        {
            visibility: visible;
            opacity: 0;
            transform: translateX(-75px);
        }
        100%
        {
            visibility: visible;
            opacity: 100;
            transform: translateX(0);
        }
    }

    .headeranimation
    {
        visibility: hidden;

        animation-name: appear;
        animation-duration: 1s;
        animation-fill-mode: forwards;

        -webkit-animation-name: appear;
        -webkit-animation-duration: 1s;
        -webkit-animation-fill-mode: forwards;
    }

    @keyframes appear
    {
        0%
        {
            visibility: visible;
            opacity: 0;
            transform: scale(0.8);
        }
        100%
        {
            visibility: visible;
            opacity: 100;
            transform: scale(1);
        }
    }

    @-webkit-keyframes appear
    {
        0%
        {
            visibility: visible;
            opacity: 0;
            transform: scale(0.8);
        }
        100%
        {
            visibility: visible;
            opacity: 100;
            transform: scale(1);
        }
    }


    h1
    {
        text-shadow: 0px 0px 5px black;
        color: white;
        font-size: 6vw;
        font-weight: 400;
        line-height: 1;
    }


    h2
    {
        padding: 0;
        color: #444444;
        font-size: 2.5rem;
        font-weight: 400;
        margin-bottom: 0.5rem;
    }

    h3
    {
        padding: 0;
        color: #444444;
        font-size: 1.5rem;
        font-weight: 600;
        margin-bottom: 0.25rem;
        font-style: italic;
    }

    h4
    {
        margin: 0;
        padding-top: 10px;
        padding-bottom: 10px;
        color: #444444;
        font-size: 2rem;
        font-weight: 400;
        line-height: 1;
        letter-spacing: 1px;
    }

    p
    {
        line-height: normal;
    }

    p1
    {
        font-size: 1.1rem;
        color: black;
        line-height: normal;
    }
    p2
    {
        font-size: 1.0rem;
        color: black;
    }
    p3
    {
        font-size: 0.9rem;
        color: black;
    }

    @media screen and (max-width: 576px)
    {
        h1 
        {
            font-size: 9vw;
        }
        h2 
        {
            font-size: 2rem;
            letter-spacing: 0px;
        }
        h3 
        {
            font-size: 1.2rem;
        }
        p1
        {
            font-size: 1.25rem;
            font-weight: 400;
        }
        p2
        {
            font-size: 1.125rem;
            font-weight: 400;
        }
        p3
        {
            font-size: 0.85rem;
            font-weight: 400;
        }
    }


/* Forms */

    .form-control
    {
        color: #222222;
        font-weight: 600;
        background-color: #eeeeee;
        display: block;
        width: 100%;
        height: auto;
        padding: 0.375rem 0.75rem;
        font-size: 1.2rem;
        font-weight: 600;
        line-height: 1.5;
        background-clip: padding-box;
        border: 1px solid #c1edff;
        border-radius: 0.25rem;
        transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    }   

    .form-check {
        display: block;
        min-height: 1.5rem;
        padding-left: 1.5em;
        margin-bottom: 0.125rem;
      }

      input[type='checkbox'] {
        width:20px;
        height:20px;
        background:white;
        border-radius:3px;
        border:2px solid #555;
        margin-right:7px;
    }
      
     .question-box
     {
         font-size: 1.2rem;
         font-weight: bolder;
         background-color: var(--bs-primary);
         color: white;
         height: 30px;
         width: 30px;
         border-radius: 10px;
         margin-left: 5px;
     } 

    .form-check-label
    {
        padding-bottom: 5px;
    }

    label
    {
        display: inline-flex;
    }

/* Portfolio Card */

    .portfolio-card
    {
        background-color: var(--bs-secondary);
        margin: .5rem;
        padding: 0;
        text-decoration: none;
        box-shadow: 0px 0px 15px #00000077;
        border: 7px solid #ffffff !important;
        border-radius: 10px;

    }

    .portfolio-card:hover
    {
        text-decoration: none;
    }


    .profile-pic
    {
        box-shadow: 0px 0px 15px #00000077;
        border: 7px solid #ffffff !important;
    }

/* Primary Color Group */

    .btn-primary 
    {
        color: rgb(0, 0, 0);
        border-color: #000000;
        background-color: var(--bs-secondary);
        border-width: 0.15rem;
        padding: 0.50rem;
    }

    .btn-primary:hover 
    {
        color: #fff;
        background-color: var(--bs-primary);
        border-color: #fff;
    }

    .btn-primary:focus, .btn-primary.focus 
    {
        box-shadow: 0 0 0 0.2rem #1d421f;
    }

    .btn-primary.disabled, .btn-primary:disabled 
    {
        color: #fff;
        background-color: #c1edff;
        border-color: #c1edff;
    }

    .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
    .show > .btn-primary.dropdown-toggle 
    {
        color: #fff;
        background-color: #00226d;
        border-color: #c1edff;
    }

    .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
    .show > .btn-primary.dropdown-toggle:focus 
    {
        box-shadow: 0 0 0 0.2rem var(--bs-primary);
    }

    .bg-primary
    {
        background-color: #c1edff !important;
        background: linear-gradient(to bottom, #c1edff ,#e6f8ff ) !important;
    }

    


/* NavBar */


    .navbar
    {
        height: 4rem;
        font-weight: 700;
    }

    .navbar-nav
    {
        padding: .50rem;
    }


    .navbar-brand 
    {
        padding: 0;
    }

    .navbar-location
    {
        line-height: 1.2rem;
        margin-top: 5px;
    }

    .navbar-nav
    {
        padding: .50rem;
    }

    .navbar-dark .navbar-brand {
        color: rgb(255, 255, 255);
    }
    
    .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
      color: #fff;
    }
    
    .navbar-dark .navbar-nav .nav-link {
      color: rgb(255, 255, 255);
      
    }
    
    .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
      color: var(--bs-primary);
      background-color: white;
      border-radius: 0.25rem;
    }
    
    .navbar-dark .navbar-nav .nav-link.disabled {
      color: rgba(255, 255, 255, 0.25);
    }
    
    .navbar-dark .navbar-nav .show > .nav-link,
    .navbar-dark .navbar-nav .active > .nav-link,
    .navbar-dark .navbar-nav .nav-link.show,
    .navbar-dark .navbar-nav .nav-link.active {
      color: #fff;
      background-color: var(--bs-primary);
    }
    
    .navbar-dark .navbar-text {
      color: rgba(255, 255, 255, 0.5);
    }
    
    .navbar-dark .navbar-text a {
      color: #fff;
    }
    
    .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {
      color: #fff;
    }

    .dropdown-item.active, .dropdown-item:active 
    {
        color: #fff;
        text-decoration: none;
        background-color: #c1edff;
        
    }

    .navbar-button
    {
        padding: 0;
        border-bottom: 2px solid #000000; 
        margin-left: 0.5rem; 
        margin-right: 0.5rem; 
        border-radius: 5px;
    }

    .navbar-toggler 
    {
        padding: .40rem;
        font-size: 1.25rem;
        line-height: 1;
        border: 0px solid ;
        border-radius: 0.25rem;
        background-color:white;

        
    }
    
    .navbar-toggler:hover, .navbar-toggler:focus 
    {
        text-decoration: none;
        border-radius: .25rem;
        color: black !important;

    }
      
    .navbar-toggler-icon 
    {
        background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 1)' stroke-width='3' stroke-linecap='flat' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
        display: inline-block;
        width: 1.5em;
        height: 1.5em;
        vertical-align: middle;
        content: "";
        background: no-repeat center center;
        background-size: 100% 100%;
    }

    .dropdown-menu {
        position: absolute;
        top: 100%;
        z-index: 1000;
        display: none;
        float: left;
        padding: 0.25rem 0.25rem;
        margin: 0.125rem 0 0;
        font-size: 1rem;
        color: #212529;
        text-align: left;
        list-style: none;
        background-color: rgb(255, 255, 255);
        background-clip: padding-box;
        border: 3px solid rgba(0, 0, 0, 0.15);
        border-radius: 0.25rem;
      }

      .dropdown-item {
        display: block;
        width: 100%;
        padding: 0.35rem 0.5rem;
        clear: both;
        font-weight: 400;
        color: #000000;
        font-weight: 700;
        text-align: inherit;
        white-space: nowrap;
        background-color: transparent;
        border: 0;
      }
      
      .dropdown-item:hover, .dropdown-item:focus {
        color: #ffffff;
        text-decoration: none;
        background-color: var(--bs-primary);
      }
      
      .dropdown-item.active, .dropdown-item:active {
        color: black;
        text-decoration: none;
        background-color: #ffffff;
      }



/* Banners */

    .herobanner 
    {
        background-size: cover;
        background-position: bottom;
        background-repeat: no-repeat;
        background-image: url(/images/banners/herobanner.svg);
        border-radius: 0px;
    }

    .banner 
    {
        background-image: linear-gradient(to bottom, var(--bs-primary), var(--bs-secondary));
    }

    .contactbanner 
    {
        background-size: cover;
        background-position: top;
        background-repeat: no-repeat;
        background-image: url(/images/banners/contactbanner.svg);
        border-radius: 0px;
    }

    .slanttop
    {
        background-size: cover;
        background-position: top;
        background-repeat: no-repeat;
        background-image: url(/images/banners/slanttop.svg);
        border-radius: 0px;
        position: absolute;
        width: 100%;
        height: 500px;
    }
    .slantbottom
    {
        background-size: cover;
        background-position: bottom;
        background-repeat: no-repeat;
        background-image: url(/images/banners/slantbottom.svg);
        border-radius: 0px;
        position: absolute;
        width: 100%;
        height: 500px;
    }

    .slant
    {
        position: absolute;
        width: 100%;
        height: 500px;
    }

    .slantfiller
    {
        width: 100%;
        height: 500px;
    }

    .sizeablebanner img
    {
        width: 100%;
        margin: 0px;
        padding: 0px;
    }

    .tooltip-box
    {
        background-color: rgb(230, 230, 230);
        border-radius: 5px;
        box-shadow: 0px 0px 10px 1px #000000ad;
        border: 5px solid #ffffff !important;
        padding: 0.5rem;
    }

    .info-box
    {
        background-color: rgba(230, 230, 230, 0.897);
        border-radius: 1rem;
        box-shadow: 0px 0px 10px 1px #000000ad;
        border: 7px solid #ffffff !important;
        padding: 1rem;
    }

    .photo-box
    {
        background-color: rgba(230, 230, 230, 0.897);
        border-radius: 0.25rem;
        box-shadow: 0px 0px 3px 0px #000000ad;
        border: 4px solid #ffffff !important;
        height: auto;
        width: auto;
    }

    .sub-info-box
    {
        background-color: rgb(255, 255, 255);
        border-radius: 1rem;
        padding: 1.5rem;
        margin-left: 0.5rem;
        margin-right: 0.5rem;
    }

/* Icons */

    .circle
    {
        height: 85px;
        width: 85px;
        padding: 25px;
        background-color: var(--bs-primary);
        border-radius: 100rem;
    }

/* Carousel */

    .carousel-item
    {
        padding-bottom: 100px;
        padding-left: 10%;
        padding-right: 10%;
    }


    .carousel-control-prev-icon 
    {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23c1edff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e");
    }

    .carousel-control-next-icon 
    {
      background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23c1edff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e");
    }

    .border-top 
    {
        border-top: 2px solid #313131 !important;
    }
    .border-bottom 
    {
      border-bottom: 2px solid #313131 !important;
    }

    @media (prefers-reduced-motion: reduce) {
        .collapsing {
            transition-property: height, visibility;
            transition-duration: .35s;
        }
    }

    /* Tables */

    tr
    {
        border-bottom: 2px solid black;
    }

    td
    {
        padding-top: 10px;
        padding-bottom: 10px;
    }