* {
    box-sizing: border-box;
}
/* Master Styles*/
body {
    width: 100vw;
    height: 100vh;
    margin: 0;
    background-color: white; /* For browsers that do not support gradients */
    transition: 0.5s ease;
    color: black;
    filter: constrast(500%) brightness(1000%);
}

html {
    scroll-behavior: smooth;
}

.dark-mode {
    background-color: #121212;
    color: white;
}


.coverRef {
    position: relative;
    display: block;
    top: -250px;
    visibility: hidden;
}

.main-cover {
    width: 100%;

    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;

    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    margin: 0;

    text-align: center;
    font-family: AbrialFatFace-Regular;
    font-size: 2.5em;

    z-index: -1;
}


.card {
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.0);
    transition: 0.3s;
    border-radius: 15px;
    width: 300px;
    overflow:hidden;
}

.cardDark {
    transition: 0.3s;
    width: 300px;
    border-radius: 10px;
}

  
/* Add rounded corners to the top left and the top right corner of the image */
.card > img {
    border-radius: 15px 15px 0 0;
    transition: transform 0.5s ease;
    width: 300px;
    height: 250px;
    object-fit: cover;
    overflow: hidden;
    margin: 0 auto;
}

.card:hover > img {
    width: 100%;
    transform: scale(1.1);
    transition: transform 0.5s ease;
}

.container > h4 {
    font-family: AktivGroteskCorp-Light;
    text-align: center;
    font-size: 1.3em;
}

.container > p {
    position: relative;
    font-family: AktivGroteskCorp-Light;
    font-size: 0.9em;
    letter-spacing: 0.6px;
    line-height: 1.5em;
    display: block;
    text-align: center;
}

.container {
    padding: 0px 16px;
    border-radius: 15px;
}
.main-cover > p {
    animation: transitionIn 1s;
}

.main-cover > h1 {
    animation: transitionIn 1s;
}

/*divider*/
.divider {
    background:rgb(127, 218, 164);
    width: 100vw;
    height: auto;
}

/*Nav Styles*/
ul {
    margin: 0;
}
.navbar {
    justify-content: space-between;
    align-items: center;
    text-align: center;
    vertical-align: baseline;
    position: fixed;
    width: 100%;
    line-height: 3.5;
    z-index: 1;
}

.navbar-links {
    height: 100%;
}

.navbar-links ul {
    padding: 0 1.25em;
    border: 0;
}

.navbar-links li {
    vertical-align: middle;
    list-style: none;
    display: inline-block;
    padding: 0 1.25rem;
    font-size: 0.85em;
}

.navbar-links li a {
    color: inherit;
    display: block;
    text-decoration: none;
    font-family: AktivGroteskCorp-Light;
}

.up {
    top: 0;
    transition: top 0.2s ease;
    position: relative;
    background: rgba(255, 255, 255, 0.39);
    padding: 0 12px;
    border-radius: 90px;
    backdrop-filter: blur(2px);
}

.up:hover {
    top: -5px;
}

.darkModeIcon {
    vertical-align: middle;
    text-align: center;
    height:30px;
    width:auto;
    position: relative;
    transition:cubic-bezier(1, 0, 0, 1);
    filter:opacity(100%);
    transition: 500ms;
}

.darkModeIcon:hover {
    filter: opacity(70%);
}

.grid-container {
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: minmax(150px, auto);
    grid-gap: 25px;
    justify-items: stretch;
    align-items: stretch;
    width: 100%;
}

.grid-item {
    align-self: start;
    justify-self: center;
    display: none;
    -webkit-box-shadow: 0px 0px 17px 5px rgba(0,0,0,0.23); 
    box-shadow: 0px 0px 17px 5px rgba(0,0,0,0.10);
    border-radius: 15px;
    transition: all 0.25s;
    transform: translateY(0);
}

.grid-item:hover {
    transform: translateY(-3%);
    transition: all 0.25s;
}

@media screen and (max-width: 1100px) {
    .grid-container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: minmax(150px, auto);
        grid-gap: 10px;
        justify-items: stretch;
        align-items: stretch;
        width: 50%;
    }
}

@media screen and (max-width: 800px) {
    .grid-container {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-auto-rows: minmax(150px, auto);
        grid-gap: 10px;
        justify-items: stretch;
        align-items: stretch;
    }
}

td, th {
    letter-spacing: 0.6px;
    margin-bottom: 15px;
    line-height: 1.5em;
    padding: 8px;
    border: 1px solid black;
    font-weight: normal;
}

table {
    background: rgb(236, 236, 236);
    padding: 5px;
    width: 100%;
    font-family: AktivGroteskCorp-Light;
    border-collapse: collapse;
}

/*Info*/
.section {
    flex-direction: column;
    display: flex;
    padding: 0 15%;
}

.coursework {
    max-height: 0;
    transition: max-height 0.15s ease-out;
    overflow: hidden;
}

.coursework-is-active {
    max-height: 500px;
    transition: max-height 0.25s ease-in;
}

.about {
    transition: background-color 0.5 ease;
}

.dropdownButton {
    cursor: pointer;
    border: none;
    padding: 0;
    width: 10px;
    transition: opacity 0.4s ease-out;
    color:black;
    filter: brightness(0.65);
}

.dark {
    filter: brightness(4);

}

.dropdownButton:hover {
    opacity: 40%;
}

.description {
    position: relative;
    font-family: AktivGroteskCorp-Light;
    letter-spacing: 0.11rem;
    margin-bottom: 15px;
    display: inline-block;
    line-height: 1.5em;
    width: 50%;
    text-align: left;
    margin: auto;
}

.description i {
    font-family: AktivGroteskCorp-LightItalic;
}

.math {
    position: relative;
    font-family: AktivGroteskCorp-Light;    
    display: inline-block;
}

.subtitle {
    font-family: AbrialFatFace-Regular;
    letter-spacing: 2px;
    display: inline;
    clear: both;
    text-align: center;
    vertical-align: middle;
}

.multi-header {
    padding: 0 0.3em;
    float: right;
    margin: 0;
}

.subsection {
    padding: 10px;
}

.jc {
    padding: 10px;
    display: flex;
}

.jc table {
    margin: 10px;
}

.title {
    font-family: Arial Outline, Helvetica, sans-serif;
    font-size: 1.2em;
    letter-spacing: 2px;
    color:#E2B147;
}

.note {
    text-decoration: none;
    text-align: center;
    letter-spacing: 4px;
    font-family: raleway;
    font-size: 0.65em;
    font-style: bold;
    padding-left: auto;
    padding-right: auto;
}

.course {
    display: flex;
    flex-direction: row;
}

.btn {
    float: left;
    font-family: AktivGroteskCorp-Light;
    font-size: 1.2em;
    border: none;
    outline: none;
    padding: 12px 16px;
    cursor: pointer;
    background: none;
    position: relative;
    color:black;
}

.whitebtn {
    float: left;
    font-family: AktivGroteskCorp-Light;
    font-size: 1.2em;
    border: none;
    outline: none;
    padding: 12px 16px;
    cursor: pointer;
    background: none;
    position: relative;
    color:white;
}

.btn.active {
    color: #E2B147;
}

.show {
    display: block;
}


.close-button:hover{
    color: #E2B147;
    transform: scale(1.25); 
}

  
.container {
    overflow: hidden;
}

/*Fonts*/
@font-face {
    src: url(./Fonts/Warownia.otf);
    font-family: Helvetica Neue;
}
@font-face {
    src: url(./Fonts/WarowniaUlt.otf);
    font-family: Helvetica Bold;
}
@font-face {
    src: url(./Fonts/Raleway-Light.ttf);
    font-family: Raleway;
}
@font-face {
    src: url(./Fonts/AktivGroteskCorp-Light.ttf);
    font-family: AktivGroteskCorp-Light;
}
@font-face {
    src: url(./Fonts/AktivGroteskCorp-LightItalic.ttf);
    font-family: AktivGroteskCorp-LightItalic;
}
@font-face {
    src: url(./Fonts/AbrilFatface-Regular.ttf);
    font-family: AbrilFatface-Regular;
}


/*Portfolio Styles*/
.fab {
    padding: 20px;
    font-size: 30px;
    width: 50px;
    text-align: center;
    text-decoration: none;
    transition: all .3s ease-in-out;
  }

.fab:hover {
    color: #E2B147;
}

.socials {
    justify-content: space-between;
}
.icon {
    vertical-align: middle;
    position: relative;
    text-decoration: none;
    width: 25px;
    margin: 15px;
    filter: brightness(0.65);
}

.source-icon {
    position: relative;
    text-decoration: none;
    width: 25px;
    filter: brightness(0.45);
    margin: 12px 4px;
}

.source-icon:hover {
    transition: all .3s ease-in-out;
    filter: brightness(0.6);
}

.icon:hover {
    transition: all .3s ease-in-out;
    filter: brightness(0.8);
}


.column img {
    margin-top: 8px;
    vertical-align: middle;
}

.img-text-wrapper .subtitle {
    transition: 1s;
    color: transparent;
}
.img-text-wrapper .subtitle {
    transition: 1s;
    color: transparent;
}

.image-blur {
    transition: 1s;
    filter: brightness(10%);
}

.grow { 
    transition: all .5s ease-in-out; 
}

.grow:hover { 
    transform: scale(0.95); 
    filter: drop-shadow(0 0 0.25rem #BEBEBE) brightness(1.10);
}

.img-text-wrapper:hover .subtitle {
    color: white;
    font-weight: 600;
}

.logo-wrapper img {
    width: 50%;
    margin-bottom: 20px;
}

.two-column-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.profile-image-wrapper img {
    width: 100%;
}

.profile-content-wrapper {
    padding: 30px;
}

.profile-content-wrapper h1 {
    color: lightseagreen;
    color:rgb(127, 218, 164)
}

.row {
    display: flex;
    flex-wrap: wrap;
    padding: 0 4px;
}

.footer-content {
    position: relative;
    font-family: AktivGroteskCorp-Light;
    letter-spacing: 2px;
    padding:1.5em 0;
    text-align: center;
}  

#footer {
    display: block;
    position: absolute;
    bottom: 0;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

/* Create four equal columns that sits next to each other */
.column {
    flex: 25%;
    max-width: 50%;
    padding: 0 4px;
}

.column img {
    margin-top: 8px;
    vertical-align: middle;
    width: 100%;
}

@media screen and (max-width: 800px) {
    .column {
      flex: 50%;
      max-width: 75%;
    }
}

@media screen and (max-width: 600px) {
    .column {
      flex: 100%;
      max-width: 100%;
    }
}

.center {
    margin: 0 auto;
}
/*Load in*/ 
@keyframes transitionIn {
    from {
        opacity:0;
        transform: translatey(15%);
    }

    to {
        opacity: 1;
        transform: translatey(0%);
    }
}

@keyframes opacity {
    from {
        opacity: 0%;
    }

    to {
        opacity: 100%;
    }
}

/*image hover*/
.image {
    position: relative;
    width: 400px;
}

.image__img {
    display: block;
    width: 100%;
}

.image__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    color: #ffffff;
    font-family: 'Quicksand', sans-serif;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.25s;
}

.image__overlay--blur {
    backdrop-filter: blur(5px);
}

.image__overlay--primary {
    background: #009578;
}

.image__overlay > * {
    transform: translateY(20px);
    transition: transform 0.25s;
}

.image__overlay:hover {
    opacity: 1;
}

.image__overlay:hover > * {
    transform: translateY(0);
}

.image__title {
    font-size: 2em;
    font-weight: bold;
}

.image__description {
    font-size: 1.25em;
    margin-top: 0.25em;
}

.mathPair {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
}

.mathPair span {
    margin: 0px 20px;
}

.link {
    text-decoration: none;
    color: #E2B147;
    background-color: #ffcc6d5b;
    padding: 3px;
    transition: all 0.5s;
}

.link:hover {
    transition: all 0.5s;
    color: #e2d5b9;
}

.inactive-header {
    color: rgb(173, 173, 173);
}

.active-header {
    color: black;
}

.inactive {
    display: none;
}