* {
    box-sizing: border-box;
}

html {
    font-family: Inter, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
    scroll-behavior: smooth;
}

/* Default width for mobile phones.*/
[class*="col-"] {
    width: 100vw;
    float: left;
    padding: 0;
    margin: 0;
}

/* Width applied for Phone sized screens.*/
@media only screen and (min-width: 0px) {

    /* For phones: */
    .col-s-0 {
        width: 0%;
    }

    .col-s-1 {
        width: 8.33%;
    }

    .col-s-2 {
        width: 16.66%;
    }

    .col-s-3 {
        width: 25%;
    }

    .col-s-4 {
        width: 33.33%;
    }

    .col-s-5 {
        width: 41.66%;
    }

    .col-s-6 {
        width: 50%;
    }

    .col-s-7 {
        width: 58.33%;
    }

    .col-s-8 {
        width: 66.66%;
    }

    .col-s-9 {
        width: 75%;
    }

    .col-s-10 {
        width: 83.33%;
    }

    .col-s-11 {
        width: 91.66%;
    }

    .col-s-12 {
        width: 100%;
    }
}

/* Width applied for Tablet sized screens.*/
@media only screen and (min-width: 768px) {

    /* For tablets: */
    .col-m-0 {
        width: 0%;
    }

    .col-m-1 {
        width: 8.33%;
    }

    .col-m-2 {
        width: 16.66%;
    }

    .col-m-3 {
        width: 25%;
    }

    .col-m-4 {
        width: 33.33%;
    }

    .col-m-5 {
        width: 41.66%;
    }

    .col-m-6 {
        width: 50%;
    }

    .col-m-7 {
        width: 58.33%;
    }

    .col-m-8 {
        width: 66.66%;
    }

    .col-m-9 {
        width: 75%;
    }

    .col-m-10 {
        width: 83.33%;
    }

    .col-m-11 {
        width: 91.66%;
    }

    .col-m-12 {
        width: 100%;
    }
}

/* Width applied for Large Screens. */
@media only screen and (min-width: 1920px) {

    /* For desktop: */
    .col-L-0 {
        width: 0%;
    }

    .col-L-1 {
        width: 8.33%;
    }

    .col-L-2 {
        width: 16.66%;
    }

    .col-L-3 {
        width: 25%;
    }

    .col-L-4 {
        width: 33.33%;
    }

    .col-L-5 {
        width: 41.66%;
    }

    .col-L-6 {
        width: 50%;
    }

    .col-L-7 {
        width: 58.33%;
    }

    .col-L-8 {
        width: 66.66%;
    }

    .col-L-9 {
        width: 75%;
    }

    .col-L-10 {
        width: 83.33%;
    }

    .col-L-11 {
        width: 91.66%;
    }

    .col-L-12 {
        width: 100%;
    }
}

.row::after {
    content: "";
    clear: both;
    display: table;
}

body {
    background-color: rgb(19, 19, 19);
    width: 100vw;
    margin: 0;
    overflow-x: hidden;
}

.nav-color {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100vw;
    min-height: 7vh;
    background-color: black;
    z-index: -1;
}

/* Hide scrollbar for Chrome, Safari and Opera */
body::-webkit-scrollbar {
    display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
body {
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
}

#NAVBAR {
    position: fixed;
    top: 1vh;
    left: 0;
    width: 100vw;
    z-index: 2;
    height: 5vh;
    margin: 0;
    padding: 0;
}

/*
    Source: https://www.w3schools.com/howto/howto_js_topnav_responsive.asp
    This was from the example given in class.
    Multiple sections (the selections with comments) below are an adaptation of the above example.
*/
/* Add a black background color to the top navigation */
.topnav {
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(90deg, rgb(255, 94, 93) 30%, rgb(216, 223, 131), rgb(131, 208, 226), rgb(251, 174, 91), rgb(242, 211, 121), rgb(254, 158, 49), rgb(153, 184, 85), rgb(84, 192, 222));
    background-clip: text;
    -webkit-background-clip: text;
    height: 5vh;
}

.module-border-wrap {
    height: 1px;
    background: linear-gradient(to right, black, rgb(107, 110, 37) 50%, black);
}

/* Style the links inside the navigation bar */
.topnav a {
    float: left;
    display: block;
    color: #f2f2f2;
    text-align: center;
    padding: 0.9vh 1vh;
    /*14px 16px;*/
    text-decoration: none;
    font-size: 120%;
}

/* Change the color of links on hover */
.topnav a:hover {
    color: transparent;
    transition: 350ms ease;
}

/* Add an active class to highlight the current page */
.topnav a.active {
    color: transparent;
}

/* Hide the link that should open and close the topnav on small screens */
.topnav .icon {
    display: none;
}

#LOGO {
    height: 35%;
    /*24px;*/
    margin-right: 8vw;
}

#LOGO:hover {
    cursor: pointer;
}

#ABOUT {
    padding: 0.5% 1%;
    /*10px 12px;*/
    margin-left: 8vw;
    color: black;
    font-weight: 550;
    background-color: rgb(230, 186, 56);
    border-radius: 1.3vw;
}

#ABOUT:hover {
    background-color: rgb(246, 215, 127);
    transition: 350ms ease;
}

/* When the screen is less than 1025 pixels wide, hide all links. Show the link that contains should open and close the topnav (.icon) */
@media screen and (max-width: 600px) {
    #NAVBAR {
        min-height: 38%;
        pointer-events: none;
    }

    .topnav a {
        display: none;
    }

    .topnav a.icon {
        float: right;
        display: block;
        position: absolute;
        right: 1vw;
        top: 0.5vh;
        font-size: 3vh;
        pointer-events: all;
    }

    .topnav a.icon:hover {
        color: rgb(242, 201, 77);
        transition: 350ms ease;
    }

    .topnav {
        justify-content: space-between;
        flex-direction: column;
    }

    #LOGO {
        position: absolute;
        top: 1.5vh;
        left: 1vw;
        height: 2.5vh;
        pointer-events: all;
    }
}

/* The "responsive" class is added to the topnav with JavaScript when the user clicks on the icon. This class makes the topnav look good on small screens (display the links vertically instead of horizontally) */
@media screen and (max-width: 600px) {
    .topnav.responsive {
        position: relative;
        background: black;
        height: 100%;
        pointer-events: all;
    }

    .topnav.responsive a:hover {
        color: rgb(242, 201, 77);
        transition: 350ms ease;
    }

    .topnav.responsive a.active {
        color: rgb(242, 201, 77);
    }

    .topnav.responsive a {
        float: none;
        display: block;
        text-align: left;
    }

    #ABOUT {
        margin: 0;
        margin-bottom: 5px;
    }
}

section {
    position: relative;
    top: 7vh;
    height: 93vh;
    width: 100vw;
}

.yellow-anchor {
    text-decoration: none;
    width: 4vw;
    font-weight: 600;
    padding: 0.5vw;
    color: black;
    background-color: rgb(230, 186, 56);
    border-radius: 2vw;
    font-size: calc(8px + 1vw);
    margin-top: 2vh;
}

.yellow-anchor:hover {
    background-color: rgb(246, 215, 127);
    transition: 350ms ease;
}

#INTRODUCTION {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}

#INTRODUCTION .bg-image {
    padding: 0;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    content: "";
    background-image: url("../assets/test.jpg");
    filter: blur(8px);
    -webkit-filter: blur(8px);
    background-position: left;
    background-repeat: no-repeat;
    background-size: 100vw 100vh;
    min-height: 100vh;
    min-width: 100vw;
}

.green-anchor {
    text-decoration: none;
    max-width: calc((5px + 1vw)*10);
    font-weight: 500;
    padding: 1vw;
    color: black;
    background: linear-gradient(90deg, rgb(216, 223, 131), rgb(153, 184, 85), rgb(84, 192, 222));
    border-radius: 2.5vw;
    font-size: calc(5px + 1vw);
    margin-top: 2vh;
    margin-bottom: 8vh;
}

.green-anchor:hover {
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
    transition: 350ms;
}

#SLOGAN {
    color: white;
    font-size: 4vw;
    font-weight: 600;
}

#SKILLS {
    font-size: 2vw;
    color: white;
    padding-top: 1vh;
}

#WORK {
    color: white;
    padding-top: 7vh;
}

#WORK .bg-image {
    padding: 0;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    content: "";
    background-image: url("../assets/section4back.jpg");
    filter: blur(8px);
    -webkit-filter: blur(8px);
    background-position: left;
    background-repeat: no-repeat;
    background-size: 100vw 100vh;
    min-height: 100vh;
    min-width: 100vw;
}

#CISCO-LOGO {
    height: 7vh;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: right;
}

#CISCO-LOGO img {
    height: 7vh;
    border-radius: 25%;
    object-fit: cover;
}

#CISCO-TITLE {
    margin: 0;
    padding-bottom: 0;
    padding-left: 10px;
}

#CISCO-DATE {
    font-size: 90%;
    margin: 0;
    padding: 0;
    padding-left: 10px;
}

#CISCO-DETAILS {
    padding: 0;
    position: relative;
    left: 16.66%;
}

@media only screen and (max-width: 767px) {
    #CISCO-DETAILS {
        position: static;
    }
}

#TECH h4 {
    text-align: center;
    text-decoration: underline;
    text-decoration-color: rgb(242, 201, 77);
    text-decoration-thickness: 3px;
    text-underline-offset: 5px;
    margin-bottom: 1vh;
}

#TECHTREE img {
    aspect-ratio: 1/1;
    height: 100%;
    border-radius: 25%;
    object-fit: cover;
}

#PERL img {
    background: white;
}

#TECHTREE div {
    display: flex;
    align-items: center;
    padding: 1px;
    height: 8vh;
}

#TECHTREE .skill-image {
    justify-content: right;
}

#EDUCATION {
    color: white;
    padding-top: 7vh;
}

#EDUCATION .bg-image {
    padding: 0;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    content: "";
    background-image: url("../assets/section4backflip.jpg");
    filter: blur(8px);
    -webkit-filter: blur(8px);
    background-position: left;
    background-repeat: no-repeat;
    background-size: 100vw 100vh;
    min-height: 100vh;
    min-width: 100vw;
}

#MCGILL-LOGO {
    display: flex;
    justify-content: right;
    height: 7vh;
    padding: 0;
    margin: 0;
}

#MCGILL-LOGO img {
    height: 7vh;
    border-radius: 25%;
    object-fit: cover;
}

#MCGILL-TITLE {
    margin: 0;
    padding-left: 10px;
}

#MCGILL-DATE {
    font-size: 80%;
    margin: 0;
    padding: 0;
    padding-left: 10px;
}

#AWARD-BUBBLE-WRAPPER {
    display: flex;
    justify-content: center;
}

#AWARDS-BUBBLE {
    text-align: center;
    width: calc((8px + 1.2vw)*6);
    padding: 1vh 2vw;
    margin-top: 3%;
    color: black;
    font-weight: 600;
    background-color: rgb(230, 186, 56);
    border-radius: 2.5vh;
    font-size: calc(8px + 1.2vw);
}

.award {
    font-size: 1.5vh;
    margin-left: 10px;
    text-align: center;
}

.award h5 {
    color: #ffaa00;
    font-size: 1.8vh;
}

#MCGILL-IMAGES {
    position: relative;
    top: 14vh;
}

#RANK {
    position: relative;
    top: 3vh;
    left: 28vw;
    width: 18vw;
    border-radius: 1.4vh;
    object-fit: cover;
}

#BUILDING {
    width: 36vw;
    border-radius: 1.4vh;
    object-fit: cover;
}

#BANNER {
    position: relative;
    bottom: 2vh;
    left: 28vw;
    width: 19vw;
    border-radius: 1.4vh;
    object-fit: cover;
}

#AWARDS {
    position: absolute;
    top: 13vh;
}

@media only screen and (max-width: 767px) {
    #AWARDS {
        position: static;
    }

    #MCGILL-IMAGES {
        position: static;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    #RANK {
        position: relative;
        top: 1vh;
        left: 0vw;
        width: 18vw;
        border-radius: 1.4vh;
        object-fit: cover;
    }

    #BANNER {
        position: relative;
        bottom: 1vh;
        left: 0vw;
        width: 19vw;
        border-radius: 1.4vh;
        object-fit: cover;
    }
}

.pointer {
    text-align: center;
    position: absolute;
    left: 48vw;
    bottom: 7vh;
}

#CERTIFICATIONS {
    color: white;
    padding-top: 15vh;
    text-align: center;
}

#CERTIFICATIONS .bg-image {
    padding: 0;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    content: "";
    background-image: url("../assets/section2back.jpg");
    filter: blur(8px);
    -webkit-filter: blur(8px);
    background-position: left;
    background-repeat: no-repeat;
    background-size: 100vw 100vh;
    min-height: 100vh;
    min-width: 100vw;
}

.cert-header {
    font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
    font-style: italic;
    font-weight: thin;
    font-size: 3vw;
    margin-bottom: 7vh;
}

#CERTIFICATIONS img {
    aspect-ratio: 1/1;
    height: 25vh;
    border-radius: 2vw;
    object-fit: cover;
}

#CERTIFICATIONS .cert {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.verify {
    text-decoration: none;
    width: 22%;
    font-weight: 500;
    padding: 0.4vw 0.6vw;
    color: black;
    background-color: rgb(230, 186, 56);
    border-radius: 1.5vw;
    font-size: 1.8vh;
    margin-top: 2vh;
    margin-bottom: 1vh;
}

.verify:hover {
    background-color: rgb(246, 215, 127);
    transition: 350ms ease;
}

.cert-code {
    color: #ADB5BD;
}

@media only screen and (max-width: 767px) {
    #CERTIFICATIONS {
        padding-top: 13vh;
    }

    .cert-header {
        margin-bottom: 5vh;
    }

    #CERTIFICATIONS img {
        aspect-ratio: 1/1;
        height: 10vh;
        border-radius: 2vw;
        object-fit: cover;
    }
}

#PROJECTS {
    color: white;
    text-align: left;
    vertical-align: top;
    padding-top: 8vh;
    text-align: center;
}

#PROJECTS .bg-image {
    padding: 0;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    content: "";
    background-image: url("../assets/section3back.jpg");
    filter: blur(8px);
    -webkit-filter: blur(8px);
    background-position: left;
    background-repeat: no-repeat;
    background-size: 100vw 100vh;
    min-height: 100vh;
    min-width: 100vw;
}

.project-logo {
    width: 16vh;
    height: 16vh;
    border-radius: 5%;
    object-fit: cover;
    float: left;
}

.project {
    display: flex;
    justify-content: center;
    align-items: center;
}

.project-side {
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    margin-left: 2vw;
}

.project-description {
    font-size: 1.5vw;
}

#DATABASE {
    color: #EF233C;
    font-size: 2vw;
}

#COMPUTERNET {
    color: yellow;
    font-size: 2vw;
}

#AI {
    color: aqua;
    font-size: 2vw;
}

.github img {
    width: 8vh;
    height: 8vh;
}

.back-button {
    position: relative;
    top: 15vh;
}

.back {
    text-decoration: none;
    width: 22%;
    font-weight: 500;
    padding: 0.4rem 0.6rem;
    color: #ffaa00;
    background: transparent;
    border-radius: 1.5rem;
    border-style: solid;
    border-color: #ffaa00;
    font-size: 1rem;
}

.back:hover {
    border-color: rgb(246, 215, 127);
    color: rgb(246, 215, 127);
    transition: 350ms ease;
}

footer {
    position: fixed;
    left: 0;
    bottom: 1%;
    width: 100%;
    display: flex;
    justify-content: space-between;
}

footer span {
    color: white;
    margin-left: 5%;
}

footer a {
    color: white;
    text-decoration: none;
    margin-right: 5%;
}