
        /* root */
        * {
            box-sizing: border-box;
            --primary: rgb(160, 202, 247);
        }

        /* html & body */
        html,
        body {
            width: 100%;
            height: 100%;
            margin: 0;
            font-family: "IBM Plex Sans", sans-serif;
        }


        .hdr {
            font-family:'Playfair Display', serif;font-size:60px;
        }
        @media only screen and (max-width: 480px) {
  .hdr {
            font-family:'Playfair Display', serif;font-size:30px;
        }
}

        
        /* no select */
        .no-select {
            -webkit-user-select: none;
            /* Safari */
            -khtml-user-select: none;
            /* KHTML */
            -moz-user-select: none;
            /* Older Firefox */
            -ms-user-select: none;
            /* IE */
            user-select: none;
            /* Chrome, Edge, Opera and Firefox */
        }

        /* remove outline on :focus */
        :focus {
            outline: 2px solid rgb(81, 81, 81) !Important;
        }

        /* smooth out font for headers, not too light but not too heavy */
        h1,
        h2,
        h3,
        h4,
        h5,
        h6 {
            font-weight: 500;
            font-family: "IBM Plex Sans", sans-serif;
        }

        /* create nice hr tag */
        hr {
            background: gainsboro;
            height: 1px;
            border: none;
        }


        /* navbar styling */
        nav {
            background: rgba(255,255,255,0.7);
            backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
            font-family: "IBM Plex Sans", sans-serif;
            display: flex;
            /* flexbox */
            justify-content: space-between;
            /* spaces items */
            height: 65px;
            line-height: 65px;
            box-shadow: 0px 0.5px 1.3px rgba(0, 0, 0, 0.191);
            position: fixed;
            /* sticky navbar */
            right: 0;
            /* stick to the right, left, and top */
            left: 0;
            top: 0;
            z-index: 100;
            /* navbar is on top */
        }

        nav a {
            color: #111;
        }

        nav a:after {
            content: "";
            background-color: var(--primary);
            width: 0%;
            z-index: -1;
            position: absolute;
            height: 0%;
            top: 0%;
            left: 0px;
            animation: 1s forwards grow;
        }

        nav a i.material-icons {
            vertical-align: middle;
            /* align it properly (vertically) */
            font-weight: normal;
        }

        nav a b {
            font-weight: 500;
        }

        nav .nav-cc {
            width: 65px;
            text-align: center;
            transition: background 0.1s;
        }

        nav .nav-cc:hover {
            background: rgb(0, 0, 0, 0.03);
            color: #000;
        }

        /* menu/sidebar css */
        #menu {
            position: fixed;
            top: 0px;
            left: -16rem;
            bottom: 0px;
            z-index: 105;
            background: white;
            width: 15rem;
            box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.18);
            transition: all 0.2s;
            border-top: 65px solid var(--primary);
        }

        #menu #quote {
            margin-top: -55px;
            padding-right: 10px;
            height: 65px;
            line-height: 1.2;
            position: relative;
        }

        #quote #sayer {
            position: absolute;
            bottom: 5px;
            right: 5px;
        }

        #menu .menu-link {
            display: block;
            text-decoration: none;
            color: #000;
            font-family: "IBM Plex Sans", sans-serif;
            font-weight: 500;
            height: 48px;
            line-height: 48px;
            padding-left: 15px;
            font-size: 15px;
            letter-spacing: 0.5px;
            transition: background 0.08s;
        }

        #menu .menu-link.active {
            background-color: #000;
            color: var(--primary);

        }

        #menu .menu-link.active:active {
            background-color: #000;
        }

        #menu .menu-link.active i.material-icons {
            color: var(--primary);
        }

        #menu a:after {
            content: "";
            background-color: var(--primary);
            width: 0%;
            z-index: -1;
            position: absolute;
            height: 100%;
            top: 0%;
            left: -100%;
            animation: 1s forwards grow;
        }

        #menu a:hover:after {
            content: "";
            background-color: var(--primary);
            width: 0%;
            z-index: -1;
            position: absolute;
            height: 100%;
            top: 0px;
            left: 0px;

            animation: 1s forwards grow;
        }

        #menu .menu-link.active:hover:after {
            content: "";
            background-color: inherit;
            width: 0%;
            z-index: -1;
            position: absolute;
            height: 100%;
            top: 0px;
            left: 0px;

            animation: 1s forwards grow;
        }

        #menu .menu-link i.material-icons {
            vertical-align: middle;
            color: #000;
            margin-right: 20px;
            font-size: 20px;
        }

        #menu .menu-link:hover {}

        #menu .menu-link:active {
            background: rgba(79, 60, 8, 0.1);
        }

        #menu .sb-head {
            padding-left: 15px;
        }

        #menu.open {
            left: 0px;
        }

        /* menu overlay */
        #overlay {
            background: rgba(0, 0, 0, 0.6);
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 101;
            display: none;
        }

        /* Utilities */
        .text-center {
            text-align: center;
        }

        /* Margin & Padding Utilities */
                /* Padding Top */
        .p-t-0 {
                padding-top: 0; /* Top padding 0 - equals to 0px */
        }

        .p-t-1 {
                padding-top: 0.25rem; /* Top padding 1 - equals to 4px */
        }

        .p-t-2 {
                padding-top: 0.5rem; /* Top padding 2 - equals to 8px */
        }

        .p-t-3 {
                padding-top: 1rem; /* Top padding 3 - equals to 16px */
        }

        .p-t-4 {
                padding-top: 1.5rem; /* Top padding 4 - equals to 24px */
        }

        .p-t-5 {
                padding-top: 3rem; /* Top padding 5 - equals to 48px */
        }

        /* Padding Bottom */
        .p-b-0 {
                padding-bottom: 0; /* Bottom padding 0 - equals to 0px */
        }

        .p-b-1 {
                padding-bottom: 0.25rem; /* Bottom padding 1 - equals to 4px */
        }

        .p-b-2 {
                padding-bottom: 0.5rem; /* Bottom padding 2 - equals to 8px */
        }

        .p-b-3 {
                padding-bottom: 1rem; /* Bottom padding 3 - equals to 16px */
        }

        .p-b-4 {
                padding-bottom: 1.5rem; /* Bottom padding 4 - equals to 24px */
        }

        .p-b-5 {
                padding-bottom: 3rem; /* Bottom padding 5 - equals to 48px */
        }

        /* Padding Left */
        .p-l-0 {
                padding-left: 0; /* Left padding 0 - equals to 0px */
        }

        .p-l-1 {
                padding-left: 0.25rem; /* Left padding 1 - equals to 4px */
        }

        .p-l-2 {
                padding-left: 0.5rem; /* Left padding 2 - equals to 8px */
        }

        .p-l-3 {
                padding-left: 1rem; /* Left padding 3 - equals to 16px */
        }

        .p-l-4 {
                padding-left: 1.5rem; /* Left padding 4 - equals to 24px */
        }

        .p-l-5 {
                padding-left: 3rem; /* Left padding 5 - equals to 48px */
        }

        /* Padding Right */
        .p-r-0 {
                padding-right: 0; /* Right padding 0 - equals to 0px */
        }

        .p-r-1 {
                padding-right: 0.25rem; /* Right padding 1 - equals to 4px */
        }

        .p-r-2 {
                padding-right: 0.5rem; /* Right padding 2 - equals to 8px */
        }

        .p-r-3 {
                padding-right: 1rem; /* Right padding 3 - equals to 16px */
        }

        .p-r-4 {
                padding-right: 1.5rem; /* Right padding 4 - equals to 24px */
        }

        .p-r-5 {
                padding-right: 3rem; /* Right padding 5 - equals to 48px */
        }

        /* Margin */
        [class*="m-1"] {
                margin: 0.25rem; /* Margin 1 - equals to 4px */
        }

        [class*="m-2"] {
                margin: 0.5rem; /* Margin 2 - equals to 8px */
        }

        [class*="m-3"] {
                margin: 1rem; /* Margin 3 - equals to 16px */
        }

        [class*="m-4"] {
                margin: 1.5rem; /* Margin 4 - equals to 24px */
        }

        [class*="m-5"] {
                margin: 3rem; /* Margin 5 - equals to 48px */
        }

        /* Margin Top */
        .m-t-0 {
                margin-top: 0; /* Top margin 0 - equals to 0px */
        }

        .m-t-1 {
                margin-top: 0.25rem; /* Top margin 1 - equals to 4px */
        }

        .m-t-2 {
                margin-top: 0.5rem; /* Top margin 2 - equals to 8px */
        }

        .m-t-3 {
                margin-top: 1rem; /* Top margin 3 - equals to 16px */
        }

        .m-t-4 {
                margin-top: 1.5rem; /* Top margin 4 - equals to 24px */
        }

        .m-t-5 {
                margin-top: 3rem; /* Top margin 5 - equals to 48px */
        }

        /* Margin Bottom */
        .m-b-0 {
                margin-bottom: 0; /* Bottom margin 0 - equals to 0px */
        }

        .m-b-1 {
                margin-bottom: 0.25rem; /* Bottom margin 1 - equals to 4px */
        }

        .m-b-2 {
                margin-bottom: 0.5rem; /* Bottom margin 2 - equals to 8px */
        }

        .m-b-3 {
                margin-bottom: 1rem; /* Bottom margin 3 - equals to 16px */
        }

        .m-b-4 {
                margin-bottom: 1.5rem; /* Bottom margin 4 - equals to 24px */
        }

        .m-b-5 {
                margin-bottom: 3rem; /* Bottom margin 5 - equals to 48px */
        }

        /* Margin Left */
        .m-l-0 {
                margin-left: 0; /* Left margin 0 - equals to 0px */
        }

        .m-l-1 {
                margin-left: 0.25rem; /* Left margin 1 - equals to 4px */
        }

        .m-l-2 {
                margin-left: 0.5rem; /* Left margin 2 - equals to 8px */
        }

        .m-l-3 {
                margin-left: 1rem; /* Left margin 3 - equals to 16px */
        }

        .m-l-4 {
                margin-left: 1.5rem; /* Left margin 4 - equals to 24px */
        }

        .m-l-5 {
                margin-left: 3rem; /* Left margin 5 - equals to 48px */
        }

        /* Margin Right */
        .m-r-0 {
                margin-right: 0; /* Right margin 0 - equals to 0px */
        }

        .m-r-1 {
                margin-right: 0.25rem; /* Right margin 1 - equals to 4px */
        }

        .m-r-2 {
                margin-right: 0.5rem; /* Right margin 2 - equals to 8px */
        }

        .m-r-3 {
                margin-right: 1rem; /* Right margin 3 - equals to 16px */
        }

        .m-r-4 {
                margin-right: 1.5rem; /* Right margin 4 - equals to 24px */
        }

        .m-r-5 {
                margin-right: 3rem; /* Right margin 5 - equals to 48px */
        }

        /* Padding */
        [class*="p-1"] {
                padding: 0.25rem; /* Padding 1 - equals to 4px */
        }

        [class*="p-2"] {
                padding: 0.5rem; /* Padding 2 - equals to 8px */
        }

        [class*="p-3"] {
                padding: 1rem; /* Padding 3 - equals to 16px */
        }

        [class*="p-4"] {
                padding: 1.5rem; /* Padding 4 - equals to 24px */
        }

        [class*="p-5"] {
                padding: 3rem; /* Padding 5 - equals to 48px */
        }


        /* Responsive Grid System */
        .row {
            display: flex;
            flex-wrap: wrap;
            margin: 0 -0.75rem;
        }

        .col {
            flex: 1 1 0;
            padding: 0 0.75rem;
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
            }

            to {
                opacity: 1;
            }
        }
        
        @media (min-width: 576px) {
            /* media queries for small columns */
            .col-sm-1 {
                /* I copy pasted the exact decimal values (.33333333) to make sure that the responsive grid system was bulletproof */
                flex: 0 0 8.33333333%;
            }

            .col-sm-2 {
                /* I copy pasted the exact decimal values (.66666667) to make sure that the responsive grid system was bulletproof */

                flex: 0 0 16.66666667%;
            }

            .col-sm-3 {
                flex: 0 0 25%;
            }

            .col-sm-4 {
                flex: 0 0 33.33333333%;
            }

            .col-sm-5 {
                flex: 0 0 41.66666667%;
            }

            .col-sm-6 {
                flex: 0 0 50%;
            }

            .col-sm-7 {
                flex: 0 0 58.33333333%;
            }

            .col-sm-8 {
                flex: 0 0 66.66666667%;
            }

            .col-sm-9 {
                flex: 0 0 75%;
            }

            .col-sm-10 {
                flex: 0 0 83.33333333%;
            }

            .col-sm-11 {
                flex: 0 0 91.66666667%;
            }

            .col-sm-12 {
                flex: 0 0 100%;
            }
        }

        @media (min-width: 768px) {
            .col-md-1 {
                flex: 0 0 8.33333333%;
            }

            .col-md-2 {
                flex: 0 0 16.66666667%;
            }

            .col-md-3 {
                flex: 0 0 25%;
            }

            .col-md-4 {
                flex: 0 0 33.33333333%;
            }

            .col-md-5 {
                flex: 0 0 41.66666667%;
            }

            .col-md-6 {
                flex: 0 0 50%;
            }

            .col-md-7 {
                flex: 0 0 58.33333333%;
            }

            .col-md-8 {
                flex: 0 0 66.66666667%;
            }

            .col-md-9 {
                flex: 0 0 75%;
            }

            .col-md-10 {
                flex: 0 0 83.33333333%;
            }

            .col-md-11 {
                flex: 0 0 91.66666667%;
            }

            .col-md-12 {
                flex: 0 0 100%;
            }
        }

        @media (min-width: 992px) {
            .col-lg-1 {
                flex: 0 0 8.33333333%;
            }

            .col-lg-2 {
                flex: 0 0 16.66666667%;
            }

            .col-lg-3 {
                flex: 0 0 25%;
            }

            .col-lg-4 {
                flex: 0 0 33.33333333%;
            }

            .col-lg-5 {
                flex: 0 0 41.66666667%;
            }

            .col-lg-6 {
                flex: 0 0 50%;
            }

            .col-lg-7 {
                flex: 0 0 58.33333333%;
            }

            .col-lg-8 {
                flex: 0 0 66.66666667%;
            }

            .col-lg-9 {
                flex: 0 0 75%;
            }

            .col-lg-10 {
                flex: 0 0 83.33333333%;
            }

            .col-lg-11 {
                flex: 0 0 91.66666667%;
            }

            .col-lg-12 {
                flex: 0 0 100%;
            }
        }

        @media (min-width: 1200px) {
            .col-xl-1 {
                flex: 0 0 8.33333333%;
            }

            .col-xl-2 {
                flex: 0 0 16.66666667%;
            }

            .col-xl-3 {
                flex: 0 0 25%;
            }

            .col-xl-4 {
                flex: 0 0 33.33333333%;
            }

            .col-xl-5 {
                flex: 0 0 41.66666667%;
            }

            .col-xl-6 {
                flex: 0 0 50%;
            }

            .col-xl-7 {
                flex: 0 0 58.33333333%;
            }

            .col-xl-8 {
                flex: 0 0 66.66666667%;
            }

            .col-xl-9 {
                flex: 0 0 75%;
            }

            .col-xl-10 {
                flex: 0 0 83.33333333%;
            }

            .col-xl-11 {
                flex: 0 0 91.66666667%;
            }

            .col-xl-12 {
                flex: 0 0 100%;
            }
        }

        /* container */
        .container {
            margin: 0 auto;
            padding: 1rem;
        }

        /* button (primary) */
        .btn-primary {
            font-size: 16px;
            font-family: 'Playfair Display', arial;
            font-weight: 400;
            letter-spacing: 1px;
            padding: 13px 20px 13px;
            outline: 0;
            border: 1px solid black;
            cursor: pointer;
            position: relative;
            background-color: rgba(0, 0, 0, 0);
            user-select: none;
            -webkit-user-select: none;
            /* KHTML */
            -moz-user-select: none;
            /* Older Firefox */
            -ms-user-select: none;
            /* IE */
            user-select: none;
            /* Chrome, Edge, Opera and Firefox */
        }

        .btn-primary:after {
            content: "";
            background-color: var(--primary);
            width: 100%;
            z-index: -1;
            position: absolute;
            height: 100%;
            top: 7px;
            left: 7px;
            transition: 0.2s;
        }

        .btn-primary:hover:after {
            top: 0px;
            left: 0px;
        }
        
        @media (min-width: 750px) {
            /* btn primary becomes much larger when over 750 px */
            .btn-primary {
                padding: 13px 50px 13px;
            }
        }  
        
        /* necessary for all material icons */
        i.material-icons {
            vertical-align: middle;
        }
        
        /* highlight for the text */
        .highlight {
            position: relative;
        }
            
        /* actual highlight */
        .highlight:after {
            content: "";
            background-color: var(--primary);
            width: 0%;
            z-index: -1;
            position: absolute;
            height: 31%;
            top: 26px;
            left: 0px;
            animation: 1s forwards grow;
        }

        @keyframes grow {
            0% {
                width: 0%;
            }

            100% {
                width: 100%;
            }
        }

        @keyframes fade-in {
            0% {
                opacity: 0;
            }

            100% {
                opacity: 1;
            }
        }
        
        /* fade animation used throughout the website */
        .fade {
            /* Start with opacity 0 */
            opacity: 0;
            
            position: relative;
            top: 0px;
            transform: scale(0.95);
            /* Smooth transition effect (ease) */
            transition: all 0.6s ease;
        }
        
        /* once fade animation is finished*/
        .fade.faded-in {
            top: 0px;
            transform: scale(1);
            /* Opacity 1 when faded-in class is added */
            opacity: 1;
        }

        /* quote */
        #quote {
            font-family: 'IBM Plex Sans', monospace;
            padding-right: 5px;
        }
      
        /* default link */
        a {
            color: #000;
            text-decoration: none;
            position: relative;
            transition: all 0.3s;
        }
        
        /* setting up animation on hover */
        a:after {
            content: "";
            background-color: var(--primary);
            width: 0%;
            z-index: -1;
            position: absolute;
            height: 31%;
            top: 12px;
            left: 0px;
            transition: all 0.3s;
            animation: 1s forwards grow;
        }
        
        /* make it stay #000 on hover */
        a:hover {
            color: #000;
        }
        
        /* hover animation */
        a:hover:after {
            content: "";
            background-color: var(--primary);
            width: 0%;
            z-index: -1;
            position: absolute;
            height: 100%;
            top: 0px;
            left: 0px;
            animation: 1s forwards grow;
        }

        /* logo */
        .logo {
            font-size: 19px;
            text-decoration: none;
            padding-right: 15px;
            cursor: pointer;
            font-weight: 300;
            font-family: 'Playfair Display', monospace;
        }

        .logo i {
            font-weight: 400;
        }

        /* notif snackbar */
        .notif {
            margin-top: 45px;
            margin-bottom: -25px;
            background-color: #000;
            border-radius: 15px;
            color: var(--primary);
            font-family: 'IBM Plex Mono', monospace;
            font-size: 15px;
            height: 30px;
            line-height: 30px;
            text-align: left;
            justify-content: space-between;
            display: flex;
            padding: 0 10px;
        }

        .notif i.material-icons {
            font-size: 18px;
        }

        .notif a {
            color: var(--primary);
            cursor: pointer;
        }

        .notif a:after {
            background: none;
        }

        /* secondary */
        .btn-secondary {
            background-color: var(--primary);
            border: 1px solid var(--primary);
            border-radius: 4px;
            box-shadow: rgba(0, 0, 0, 0.1) 0 2px 4px 0;
            box-sizing: border-box;
            color: #000;
            cursor: pointer;
            font-family: 'Playfair Display', sans-serif;
            font-size: 16px;
            font-weight: 400;
            outline: none;
            outline: 0;
            padding: 10px 25px;
            text-align: center;
            transform: translateY(0);
            transition: transform 150ms, box-shadow 150ms;
            user-select: none;
            -webkit-user-select: none;
            /* KHTML */
            -moz-user-select: none;
            /* Older Firefox */
            -ms-user-select: none;
            /* IE */
            user-select: none;
            /* Chrome, Edge, Opera and Firefox */
        }

        .btn-secondary:hover {
            box-shadow: rgba(0, 0, 0, .25) 0 3px 9px 0;
            transform: translateY(-2px);
        }
        
        /* mainly for the about section (reusable) */
        .btn-secondary.btn-black {
            /* same idea but black background color and var(--primary) text color */
            background-color: #000;
            border: 1px solid #000;
            border-radius: 4px;
            box-shadow: rgba(0, 0, 0, 0.1) 0 2px 4px 0;
            box-sizing: border-box;
            color: var(--primary);
            cursor: pointer;
            font-family: 'IBM Plex Mono', sans-serif;
            font-size: 16px;
            font-weight: 400;
            outline: none;
            outline: 0;
            padding: 10px 25px;
            text-align: center;
            transform: translateY(0);
            transition: transform 150ms, box-shadow 150ms;
            user-select: none;
            -webkit-user-select: none;
            /* KHTML */
            -moz-user-select: none;
            /* Older Firefox */
            -ms-user-select: none;
            /* IE */
            user-select: none;
            /* Chrome, Edge, Opera and Firefox */
        }

        .btn-secondary.btn-black:hover {
            box-shadow: rgba(0, 0, 0, .25) 0 3px 9px 0;
            transform: translateY(-2px);
        }

        .btn-secondary.btn-black i {
            color: var(--primary);
        }

        /* bg */
        .bg {
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
            box-shadow: inset -1000px -1000px 30px rgba(0, 0, 0, 0.5);
            color: var(--primary);
            position: relative;
            text-align: center;
            padding-top: 10px;
            padding-bottom: 55px;
            width: 100%;
        }

        /* Modal styles */
        .modal {
            display: none;
            /* Hidden by default */
            position: fixed;
            z-index: 100;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.4);
            animation: fadeIn 0.5s;
        }
        
        /* show - manipulated through js */
        .modal.show {
            display: block;
            opacity: 1;
        }
        
        /* hide - manipulated through js */
        .modal.hide {
            opacity: 0;
            transition: opacity 0.5s;
            pointer-events: none;
        }

        .modal-content {
            background-color: #fefefe;
            z-index: 101;
            padding: 20px;
            width: 90%;
            margin: 5% auto;
            height: 90%;
            overflow-y: scroll;
            animation: slideIn 0.5s;
        }
        
        /* close modal button */
        .close-btn {
            color: #000;
            float: right;
            font-size: 28px;
            font-weight: bold;
            transition: all 0.3s;
            z-index: 103;
        }

        .close-btn .bg1 {
            width: 40px;
            height: 40px;
            background: var(--primary);
            border-radius: 50%;
            transition: all 0.2s ease-in-out;
            display: flex;
            justify-content: center;
            align-items: center;
            position: relative;
            box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.5);
        }

        .close-btn .bg1:hover {
            transform: scale(1.1);
        }

        .close-btn .material-icons {
            font-size: 24px;
            color: #000;
            z-index: 1;
            transition: all 0.2s ease-in-out;

            position: relative;
            /* Ensure icon stays above the background circle */
        }

        .close-btn:hover .material-icons {
            color: var(--primary);
        }

        .close-btn:hover .bg1 {
            background: #000;
        }


        .close-btn:hover {
            text-decoration: none;
            cursor: pointer;
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
            }

            to {
                opacity: 1;
            }
        }

        @keyframes slideIn {
            from {
                transform: translateY(-50px)scale(0.95);
            }

            to {
                transform: translateY(0)scale(1);
            }
        }

        /* loading animations */
        .no-js .loader {
            display: none;
        }

        .preloader {
            background: white;
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
        }

        .loader {
            width: 100%;
            height: 4.8px;
            display: inline-block;
            background: rgba(0, 0, 0, 0.15);
            position: relative;
            overflow: hidden;
            top: 50%;
            transform: translateY(-50%);
        }

        .loader::after {
            content: '';
            width: 0%;
            height: 4.8px;
            background-color: var(--primary);
            font-size: 15px;
            background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, 0.25) 50%, rgba(0, 0, 0, 0.25) 75%, transparent 75%, transparent);
            background-size: 1em 1em;
            position: absolute;
            top: 0;
            left: 0;
            box-sizing: border-box;
            animation: animFw 0.3s ease-in-out forwards, barStripe 1s linear infinite;
        }

        @keyframes barStripe {
            0% {
                background-position: 1em 0;
            }

            100% {
                background-position: 0 0;
            }
        }

        @keyframes animFw {
            0% {
                width: 0;
            }

            100% {
                width: 100%;
            }
        }

        .fallback-text {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            font-size: 25px;
            color: #000;
        }

        /* more line height */
        p {
            line-height: 22px;
        }

        /* card link (behind card) */
        .customA:after {
            content: "";
            background-color: #000;
            width: 0%;
            z-index: -1;
            position: absolute;
            height: 0%;
            top: 50%;
            left: 0px;
            opacity: 0;
            border-radius: 8px;
            padding: 0;
            animation: 1s forwards grow;
        }

        .customA:hover:after {
            content: "";
            background-color: #000;
            width: 0%;
            z-index: -1;
            position: absolute;
            height: 100%;
            top: 0%;
            left: 0px;
            opacity: 1;

            animation: 1s forwards grow;
        }

        /* team cards */
        .card {
            background: var(--primary);
            background: #FFF;
            padding: 5px 16px;
            margin: 8px;
            border-radius: 8px;
            box-shadow: inset 0px 2px 10px rgba(0, 0, 0, 0.1);
            color: #000;
            font-family: 'IBM Plex Sans';
            position: relative;
            transition: all 0.2s ease-in;
        }

        .card:hover {
            background-color: var(--primary);
            cursor: pointer;
            transform: scale(1.02);
        }

        .card:active {
            transform: scale(1.00);
        }

        .card h3 {
            font-family: 'IBM Plex Sans', helvetica, arial;
            font-size: 22px;
        }

        .card p {
            letter-spacing: 0.3px;
            font-weight: 300;
        }

        .card .big-points {
            position: absolute;
            top: 20px;
            right: 10px;
            transform: translateY(-50%);
            font-size: 50px;
            text-align: center;
            font-weight: 400;
        }

        .card .big-points span {
            font-size: 10px;
            font-family: 'IBM Plex Mono';
            text-transform: uppercase;
            letter-spacing: 0.3px;
            font-weight: 400;
        }

        /* sort headers for team page */
        .header {
            display: flex;
            justify-content: space-between;
            margin-bottom: 16px;
            width: 100%;
        }

        .header button {
            padding: 8px 16px;
            background-color: #000;
            color: var(--primary);
            width: 100%;
            border: none;
            font-family: 'IBM Plex Sans';
            transition: all 0.2s;
            cursor: pointer;
            position: relative;
        }

        .header button:hover {
            background-color: var(--primary);
            color: #000;
        }

        .header button:first-child {
            border-right: 1px solid var(--primary);
        }

        .header button:last-child {
            border-left: 1px solid var(--primary);
        }

        .header button.active {
            background-color: var(--primary);
            color: #000;
        }

        .header button.active:hover {
            background-color: var(--primary);
            color: #000;
        }

        .header button.active::before {
            content: '';
            position: absolute;
            top: 50%;
            right: 10px;
            transform: translateY(-50%);
            width: 0;
            height: 0;
            border-left: 6px solid transparent;
            border-right: 6px solid transparent;
        }

        .header button.asc.active::before {
            border-bottom: 6px solid #000;
            /* Up arrow */
        }

        .header button.desc.active::before {
            border-top: 6px solid #000;
            /* Down arrow */
        }
        
        /* alternative for header buttons  */
        /*
        .header button:hover.asc.active::before {
            border-bottom: 6px solid var(--primary);
          }
        .header button:hover.desc.active::before {
            border-top: 6px solid var(--primary); 
        }
        */

        .header button:first-child {
            border-right: 1px solid var(--primary);
        }

        .header button:last-child {
            border-left: 1px solid var(--primary);
        }

        /* events */
        .event-card {
            background-color: #fff;
            padding: 20px;
            border-radius: 8px;
            margin-bottom: 20px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }

        .event-card h3 {
            margin-top: 0;
            font-size: 1.5rem;
            color: #000;
        }

        .event-card p {
            margin: 8px 0;
        }

        .breadcrumb {
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: #000;
            color: var(--primary);
            padding: 7px 8px;
            border-radius: 30px;
            margin-bottom: 20px;
            font-size: 14px;
            -webkit-user-select: none;
            /* Safari */
            -khtml-user-select: none;
            /* KHTML */
            -moz-user-select: none;
            /* Older Firefox */
            -ms-user-select: none;
            /* IE */
            user-select: none;
            /* Chrome, Edge, Opera and Firefox */
        }

        .breadcrumb.current {
            background-color: #000;
            color: var(--primary);
        }

        .breadcrumb.upcoming {
            background-color: var(--primary);
            color: #000;
        }

        .breadcrumb.past {
            background-color: transparent;
            border: 1.5px solid var(--primary);
            color: #000;
        }

        /* plain link */
        a.plain {
            color: #000;
            border-bottom: 1px solid var(--primary);
            transition: all 0.1s;
        }

        a.plain:hover {
            text-decoration: none;
            border-bottom: 2px solid var(--primary);
        }

        a.plain:after {
            display: none;
        }

        /* fancy inputs */
        .form-control {
            position: relative;
            margin: 35px 0 35px;
            border-radius: 50px;
            width: 100%;
            background-color: transparent;
        }

        .form-control input {
            background-color: #000;
            border: 1.5px solid #000;
            border-radius: 5px;
            width: 100%;
            padding: 15px 15px;
            font-size: 18px;
            transition: all 0.25s ease-in;
            color: #FFF;
            font-family: 'IBM Plex Sans', helvetica;
        }

        .form-control input:focus,
        .form-control input:valid {
            outline: 0;
            background-color: var(--primary);
            border: 1.5px solid #000;
            color: #000;
        }

        .form-control label {
            position: absolute;
            top: 15px;
            left: 10px;
            pointer-events: none;
        }

        .form-control label span {
            display: inline-block;
            font-size: 18px;
            min-width: 5px;
            color: var(--primary);
            transition: 0.255s all cubic-bezier(.48, .68, .59, 1.67);
        }

        .form-control input:focus+label span,
        .form-control input:valid+label span {

            color: #000;
            transform: translateY(-36px);
        }

        /* podium */
        #podium {
            display: flex;
            justify-content: center;
            align-items: flex-end;
            margin-top: -30px;
        }

        .podium-item {
            width: 120px;
            margin: 0 0px;
            padding: 10px 5px;
            text-align: center;
            color: #000;
            position: relative;
            cursor: pointer;
        }

        .podium-item img {
            width: 100px;
            height: 100px;
            border-radius: 50%;
            border: 2px solid #fff;
            margin-bottom: 10px;
            background: #FFF;
            filter: grayscale(100%);
            -webkit-filter: grayscale(100%);
        }

        .first {
            background-color: var(--primary);
            color: #000;
            height: 400px;
            border-radius: 50px 50px 0 0;

        }

        .second {
            background-color: #000;
            height: 300px;
            color: var(--primary);
            border-radius: 50px 0px 0 0;
        }

        .third {
            background-color: #000;
            height: 250px;
            color: var(--primary);
            border-radius: 0px 50px 0 0;
        }

        .podium-rank {
            font-size: 24px;
            font-weight: bold;
            margin-top: -5px;
        }

        .podium-name {
            margin-top: 1px;
            font-size: 14px;
        }

        /* fancy footer hexagons */
        #hex-container {
            /* grid for smaller screens */
            display: grid; 
            margin-top: 40px;
            margin-bottom: 40px;
            width: 100%;
            justify-content: center;
            /* ignore warnings, fully supported on all major browsers according to caniuse */
            grid-template-columns: auto auto auto;
            -ms-grid-template-columns: auto auto auto;
            row-gap: 50px;
        }
        
        @media (min-width: 590px) {
            /* if screen is larger than 590px, it will automatically become flex to take up more space */
            #hex-container {
                display: flex;
                justify-content: center;
            }
        }
        
        /* actual hexagon */
        .hex {
            position: relative;
            width: 82px;
            height: 48px;
            line-height: 22px;
            background-color: var(--primary);
            color: #000;
            margin: 0px 1px;
            transform: scale(1);
            text-align: center;
            transition: background-color 0.15s ease-out, transform 0.25s ease-out, color 0.15s ease-out;
            cursor: pointer;
        }

        .hex:hover {
            transform: scale(0.95);
            background-color: #000;

            color: var(--primary);

        }

        .hex:hover:before {
            border-bottom: 24px solid #000;

        }

        .hex:hover:after {
            border-top: 24px solid #000;

        }

        .hex:active {
            transform: scale(0.85);
        }

        .hex i,
        .hex span {
            display: block;
            width: 100%;
        }

        .hex:before,
        .hex:after {
            content: "";
            position: absolute;
            transition: all 0.15s ease-out;
            left: 0;
            width: 0;
            cursor: pointer;
            border-left: 41px solid transparent;
            border-right: 41px solid transparent;
        }

        .hex:before {
            bottom: 100%;
            border-bottom: 24px solid var(--primary);
        }

        .hex:after {
            top: 100%;
            border-top: 24px solid var(--primary);
        }

        /*footer*/
        footer {
            background-color: #000;
            color: var(--primary);
            text-align: center;
            padding: 20px;
            padding-top: 0px;
            position: relative;
            overflow: hidden;
        }
        
        /* various footer elements */
        footer p {
            color: var(--primary);
            margin: 0;
        }

        footer #copyright-text {
            display: flex;
            justify-content: space-between;
        }

        footer a {
            color: var(--primary);
        }

        footer a:hover {
            color: var(--primary);
        }

        .ultraplain {
            background-color: transparent;
            border: none;
            border-color: transparent;
        }
        .ultraplain:after {
            display: none;
        }
        .ultraplain:focus {
            outline: none !important;
        }
        .log {
            color: #FFF;
            font-family: 'Playfair Display', arial;
            letter-spacing: 0px;
            font-size: 40px;
            text-shadow: 0px 0px 10px rgba(255,255,255, 0.8);
            line-height: 50px;
            height: 50px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .log img {
            width: 200px;
        }


    .benefits-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 35px;
      max-width: 1100px;
      margin: auto;
      padding: 0 20px 80px;
    }

    .benefit-card {
       font-family: 'IBM Plex Sans', sans-serif;
      background: #f8fafc;
      color: #0f172a;
      line-height: 1.5;
      border-radius: 0px;
      border: 10px solid rgba(0,0,0,0.0);
      text-align: left;
      overflow: hidden;
      /* remove transform from card */
      transition: transform 0.25s ease, box-shadow 0.25s ease;
      opacity: 0;
      transform: translateY(40px);
     user-select: none;
     -webkit-user-select: none;
      background: linear-gradient(145deg, #f0fffc, #ffffff);
        background-image: url('bg2.webp');
        background-size: cover;
        background-repeat: no-repeat;
        background-attachment: fixed;
        box-shadow: inset -1000px -1000px 0px rgba(255,255,255,0.6);
    }
 .benefit-card.show {
      opacity: 1;
      transform: translateY(0);
      transition: transform 0.6s ease, opacity 0.6s ease;
    }
    .card-content {
      border-radius: 0px;
      padding: 35px 25px;
      background: transparent;
      transition: transform 0.25s ease, background 0.25s ease;
    }

    /*.benefit-card.tint-1 .card-content { background: linear-gradient(145deg, #f0f6ff, #ffffff); }
    .benefit-card.tint-2 .card-content { background: linear-gradient(145deg, #f0fff4, #ffffff); }
    .benefit-card.tint-3 .card-content { background: linear-gradient(145deg, #fff9f0, #ffffff); }
    .benefit-card.tint-4 .card-content { background: linear-gradient(145deg, #fff0f7, #ffffff); }
    .benefit-card.tint-5 .card-content { background: linear-gradient(145deg, #f8f4ff, #ffffff); }
    .benefit-card.tint-6 .card-content { background: linear-gradient(145deg, #f0fffc, #ffffff); }*/
    .benefit-card .card-content {
        background: transparent;
       
    }

    .benefit-card:hover .card-content {
      transform: scale(1.02);
     
    }

    .benefit-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 64px;
      height: 64px;
      border-radius: 10px;
      color: #ffffff;
      font-size: 30px;
      box-shadow: inset 0ch -32px 26px rgba(255, 255, 255, 0.3);
      margin-bottom: 18px;
      transition: all 0.25s ease;
    }
    .benefit-icon span {
        font-size: 45px;
    }

    /* Different gradients for each icon background */
    .icon-1 { background: linear-gradient(135deg, #2563eb, #3bf6a2); }
    .icon-2 { background: linear-gradient(135deg, #ecbf44, #2297c5); }
    .icon-3 { background: linear-gradient(135deg, #a8b00b, #bf0707); }
    .icon-4 { background: linear-gradient(135deg, #db2777, #cc96e3); }
    .icon-5 { background: linear-gradient(135deg, #3ac6ed, #8b5cf6); }
    .icon-6 { background: linear-gradient(135deg, #149144, #a79701); }

    .benefit-card h2 {
      font-size: 22px;
      font-weight: 400;
      margin: 0 0 10px;
      font-family: 'Playfair Display';
      font-style: italic;
      transition: all 0.25s ease;
    }

    .benefit-card p {
      font-size: 1rem;
      color: #475569;
      margin: 0;
      transition: all 0.25s ease;
    }

    @media (max-width: 600px) {
      .benefit-card .card-content { padding: 25px 20px; }
    }