/*
A new style sheet to try a cleaner look. I want to use variables as much as possible to keep everything consistent and make changing major parts a lot quicker. I used realtimecolors.com for this pallette reset.
https://www.realtimecolors.com/?colors=e5fcff-00171a-00e1ff-ff00ff-ffff00&fonts=Alice-Baloo%20Tammudu%202
*/
:root {
    /*Colors and graidents*/
    --text: rgb(230, 255, 255);
    --background: rgb(20, 0, 20);
    --primary: rgb(0, 225, 255);
    --secondary: rgb(255, 0, 255);
    --accent: rgb(255, 255, 0);
    --linearPrimarySecondary: linear-gradient(rgb(0, 225, 255), rgb(255, 0, 255));
    --linearPrimaryAccent: linear-gradient(rgb(0, 225, 255), rgb(255, 255, 0));
    --linearSecondaryAccent: linear-gradient(rgb(255, 0, 255), rgb(255, 255, 0));
    --radialPrimarySecondary: radial-gradient(rgb(0, 225, 255), rgb(255, 0, 255));
    --radialPrimaryAccent: radial-gradient(rgb(0, 225, 255), rgb(255, 255, 0));
    --radialSecondaryAccent: radial-gradient(rgb(255, 0, 255), rgb(255, 255, 0));

    /*Shades*/
    --primary-50: #e5fcff;
    --primary-100: #ccf9ff;
    --primary-200: #99f3ff;
    --primary-300: #66edff;
    --primary-400: #33e7ff;
    --primary-500: #00e1ff;
    --primary-600: #00b4cc;
    --primary-700: #008799;
    --primary-800: #005a66;
    --primary-900: #002d33;
    --primary-950: #00171a;

    --secondary-50: #ffe5ff;
    --secondary-100: #ffccff;
    --secondary-200: #ff99ff;
    --secondary-300: #ff66ff;
    --secondary-400: #ff33ff;
    --secondary-500: #ff00ff;
    --secondary-600: #cc00cc;
    --secondary-700: #990099;
    --secondary-800: #660066;
    --secondary-900: #330033;
    --secondary-950: #1a0019;

    --accent-50: #ffffe5;
    --accent-100: #ffffcc;
    --accent-200: #ffff99;
    --accent-300: #ffff66;
    --accent-400: #ffff33;
    --accent-500: #ffff00;
    --accent-600: #cccc00;
    --accent-700: #999900;
    --accent-800: #666600;
    --accent-900: #333300;
    --accent-950: #191a00;

    /*Sizing, padding, etc*/
    --navWidth: 15%;

    /*background stuff*/
    --quantity: 15;

}

@import url('https://fonts.googleapis.com/css?family=Alice:700|Baloo%20Tammudu%202:400');
@font-face {
  font-family: 'Baloo Tammudu 2';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/balootammudu2/v27/1Pt5g8TIS_SAmkLguUdFP8UaJcKkzlPmMT00GaE_Jf8e0cmFZA.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/*Primary sections*/
html {
    font-family: 'Baloo Tammudu 2', Arial, Helvetica, sans-serif;
    font-weight: 400;
    background-color: var(--background);
    color: var(--text);
    height: 100%;
    width: 100%;
    line-height: 1.5;
    overflow-x: hidden;
}
body {
    height: 100%;
    width: 100%;
    line-height: 1.5;
    padding: 16px;
    overflow-x: hidden;
}
button {
    font-family: 'Baloo Tammudu 2', Arial, Helvetica, sans-serif;
    line-height: 1;
}

/*Major custom sections*/
.sidenav {
    background: var(--secondary-900);
    color: var(--text);
    text-transform: uppercase;
    height: 100%;
    width: var(--navWidth);
    display: inline-block;
    position: fixed;
    z-index: 1;
    left: 0px;
    top: 0px;
    padding: 16px;
    overflow: hidden;
    text-align: center;
    align-items: left;
    text-decoration: none;
    button {
        display: inline-block;
        background: var(--secondary-800);
        color: var(--text);
        border: none;
        border-radius: 32px;
        border-top-right-radius: 0%;
        border-bottom-right-radius: 0%;
        margin: 8px;
        padding: 16px;
        width: 120%;
        text-size-adjust: 1rem;
    }
    button:hover {
        background: var(--secondary-600);
        color: white;
        border: 2px solid var(--secondary-600);
        padding: 14.5px;
        translate: -4px 0px;
        font-weight: bold;
    }
    button:active {
        background: var(--accent);
        color: var(--background);
        scale: 95%;
        font-weight: bold;
    }
    
    .subnav {
        color: var(--text);
        background: var(--secondary-800);
        border-radius: 32px;
        border: 1px solid var(--secondary);
        width: 150%;
        height: auto;
        align-self: left;
        text-justify: left;
        text-align: left;
        gap: 16px;
        padding: 16px;
        margin: 8px;
        list-style: none;
        translate: -5% 0;

        a {
            color: var(--text);
            text-decoration: none;
        }
    }
    .subnav:hover {
        background: var(--secondary);
        border: 2px solid var(--accent);
        padding: 14.5px;
        translate: -10% 0;
        text-decoration: none;
    }
    .subnav:active {
        background: var(--accent);
        border: 2px solid var(--secondary);
        a {
            color: var(--secondary);
        }
    }
}
.toggle {
    display: flex;
    position: sticky;
    bottom: 0;
    align-self: flex-end;
    align-items: flex-end;
    align-content: flex-end;
    justify-content: center;
    width: var(--navWidth);
    max-height: 10%;
    margin: 8px;
    padding: 8px;
    justify-self: center;

  button.toggle:hover {
    border: 2px solid var(--accent);
    scale: 100%;
  }
  button.toggle:active {
    scale: 95%;
  }
}
.content { /*All of the main page content goes here when the navigation is visible*/
    margin-left: var(--navWidth);
    padding-left: 32px;
    padding-top: 0;
    overflow: hidden;
}
.vert { /*The vertical masonry styling*/
  display: grid;
  flex-direction: column;
  width: 99%;
  max-height: min-content;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr;
  align-self: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  margin: auto;
  overflow: visible;
  gap: 0;

    div {
    /*Add 3 divs, one for each column*/
    display: grid;
    position: static;
    width: 95%;
    align-self: flex-start;
    align-content: flex-start;
    align-items: flex-start;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 16px;
    }
    .inner {
    /*Each inner section is one block in a row*/
    display: grid;
    background: var(--text);
    color: var(--background);
    border-radius: 8px;
    align-self: flex-start;
    align-content: flex-start;
    align-items: flex-start;
    text-align: left;
    text-justify: left;
    text-indent: 5%;
    gap: 16px;
    padding: 16px;
    width: 90%;
    height: auto;
    max-height: 500px;
    overflow: hidden;
    }
    .inner:hover{
        overflow: scroll;
        box-shadow: 4px 4px var(--secondary);
        transition: 0.25s ease-in-out;
    }
    .inimg:hover {
        overflow: scroll;
        box-shadow: 4px 4px var(--accent);
        scale: 105%;
        transition: 0.25s ease-in-out;
        cursor: pointer;
    }
    .inner::-webkit-scrollbar, .inimg::-webkit-scrollbar {
        width: 0%;
        display: none;
    }
    .inimg {
        display: grid;
        border-radius: 8px;
        align-self: flex-start;
        align-content: flex-start;
        align-items: flex-start;
        gap: 16px;
        width: 959;
        height: auto;
        overflow: hidden;

        img {
            object-fit: scale-down;
            width: 100%;
            height: auto;
        }
    }
    .portfolio {
        display: grid;
        align-self: flex-start;
        align-content: flex-start;
        align-items: flex-start;
        text-align: center;
        gap: 16px;
        padding: 16px;
        width: 99%;
        height: auto;
        overflow: visible;
        color: var(--text);
        line-height: 1;
        border: 1px dashed var(--background);

        img {
            object-fit: scale-down;
            width: 100%;
            height: auto;
        }
    }
    .portfolio:hover {
        border: 1px dashed var(--primary);
        transition: 0.5s ease-in-out;
        
        img {
            scale: 105%;
            transition: 0.75s ease-in-out;
        }
    }
    .portfolio:active {
        border: 1px dashed var(--accent);
        background: var(--secondary-950);
        transition: none;
    }
}
.contact { /*Contact page grid setup*/
    display: flex;
    flex-direction: row;
    grid-template-columns: auto;
    grid-template-rows: repeat(3, 1fr);
    width: 100%;
    max-height: min-content;
    align-self: flex-start;
    align-content: center;
    align-items: center;
    margin: auto;
    overflow: visible;
    gap: 16px;
    margin: 8px;
    text-wrap: pretty;
    left: var(--navWidth);

    .inner {
        border-radius: 8px;
        flex-direction: column;
        display: flex;
        background: var(--secondary-950);
        box-shadow: 2px 2px 0px 2px var(--secondary-900);
        color: var(--text);
        width: 250px;
        height: 300px;
        overflow: hidden;
        align-items: center;
        align-content: center;
        text-align: center;
        vertical-align: middle;
        padding: 8px;
        margin: 8px;
        text-decoration: none;
    }
    .inner:hover {
        scale: 105%;
        box-shadow: none;
        border: 1px solid var(--accent);
        background: var(--secondary-800);
        margin: 6px;
        cursor: pointer;
    }
    .inner:active {
        background: var(--secondary-600);
        border: 2px solid var(--accent);
        margin: 6.5px;
        box-shadow: 4px 4px var(--secondary-900);
        scale: 100%;
        transition: 0.1s ease;
    }
    .inner img {
        object-fit: scale-down;
        max-width: 70%;
        max-height: 70%;
        padding: 0px;
        margin: 0px;
        gap: 0px;
        margin-top: 0px;
    }
}
.index {
    display: flex;
    flex-direction: row;
    gap: 16px;
    padding: 16px;
    margin: auto;
    height: 80%;
    width: auto;
    align-self: center;
    align-content: center;
    vertical-align: middle;
    justify-content: center;
    justify-self: center;
    justify-items: center;
    overflow: hidden;
    top: 50%;
    bottom: 50%;
    position: sticky;
    .side {
        top: inherit;
        padding: 16px;
        gap: inherit;
        margin: inherit;
        height: inherit;
        width: 50%;
        align-self: center;
        align-content: center;
        vertical-align: middle;
        justify-content: center;
        justify-self: center;
        justify-items: center;
    }
    .mid {
        object-fit: contain;
        padding: 16px;
        gap: 16px;
        margin: auto;
        height: inherit;
        width: 60%;
        align-self: center;
        align-content: center;
        vertical-align: middle;
        justify-content: center;
        justify-self: center;
        justify-items: center;
        img {
            object-fit: contain;
            height: inherit;
            width: 100%;
        }
    }
    button {
        font-family: 'Baloo Tammudu 2', Arial, Helvetica, sans-serif;
        font-weight: 400; 
        display: flex;
        flex-direction: column;
        border-radius: 8px;
        border: 1px solid var(--secondary-200);
        background: var(--secondary-200);
        color: var(--background);
        padding: inherit;
        margin: 25%;
        width: 200px;
        box-shadow: 8px 8px var(--secondary-800);
        font-weight: bold;
        text-align: center;
        align-self: center;
        align-content: center;
        vertical-align: middle;
        justify-content: center;
        justify-self: center;
        justify-items: center;
        position: sticky;
    }
    button:hover {
        background: var(--secondary-300);
        border: 1px solid var(--secondary);
        cursor: pointer;
        transition: none;
    }
    button:active {
        background: var(--accent);
        transition: all 0.1s;
    }
}
.blog {
  /*A blog-like section for me to write about my current projects and whatever else*/
  background: var(--primary-100);
  display: flex;
  flex-direction: column;
  align-self: flex-start;
  border-radius: 8px;
  border: 1px solid var(--primary-100);
  margin: 8px;
  padding: 8px;
  gap: 16px;
  width: 100%;
  max-height: 50%;
  overflow: hidden;
  object-fit: fill;

  .title {
    display: grid;
    flex-direction: row;
    grid-template-columns: 3fr 1fr;
    color: var(--background);
    text-align: left;
    align-self: flex-start;
    width: 100%;
    height: 15vh;
    margin: 8px;
    margin-top: auto;
    line-height: 1;
    
    div {
      align-self: flex-end;
      justify-content: flex-end;
      text-justify: right;
    }
  }
  .inner {
    background: var(--background);
    color: var(--text);
    border-radius: 8px;
    border: 1px solid var(--primary-100);
    overflow-y: scroll;
    text-indent: 8px;
    width: 98%;
    max-height: 40vh;
    margin: 2px;
    padding: 8px;
    align-self: center;
  } 
}
.blog:hover {
    cursor: pointer;
    border: 1px solid var(--primary-200);
    background: var(--primary-200);
    transition: 0.5s ease-in-out;
}
.blog:selected, .blog:focus {
    background: var(--primary-200);
    border: 1px solid var(--secondary);
}
.event-chip {
  /*A chip divided into 4 ections for events*/
  background: var(--primary);
  display: grid;
  flex-direction: row;
  grid-template-rows: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  color: var(--text);
  border-radius: 8px;
  width: 75%;
  max-height: 25%;
  height: auto;
  padding: 16px;
  margin: 8px;
  overflow: hidden;
  
  .top-left {
    background: var(--primary-200);
    align-self: top;
    text-align: left;
  }
}
.slideshow {
  display: flexbox;
  flex-direction: row;
  grid-template-columns: 10vw 80vw 10vw;
  background: var(--background);
  color: var(--text);
  height: 100vh;
  width: 100vw;
  overflow: hidden;
  justify-content: flex-start;
  align-items: center;
  
  .blank{top: 0;}
  .image {
    align-self: center;
    left: 50%;
    top: 50%;
    object-fit: fill;
    vertical-align: middle;
  }
  .l-arrow {
    align-self: left;
    left: 2%;
    top: 50%;
    vertical-align: middle;
    rotate: -90deg;
    position: sticky;
    scale: 5%;
    justify-self: flex-start;
    display: inline-block;
  }
  .r-arrow {
    align-self: right;
    left: 98%;
    top: 50%;
    vertical-align: middle;
    rotate: 90deg;
    position: sticky;
    scale: 5%;
    justify-self: flex-end;
    display: inline-block;
  }
  .l-arrow:hover, .r-arrow:hover {
    border: 3px solid var(--accent);
  }
}

/*Little classes for tweaking stuff*/
.no-overflow{
    overflow: hidden;
}

/*Scrollbar customization*/
::-webkit-scrollbar {
    width: 8px;
    background: none;
    border-radius: 8px;
}
::-webkit-scrollbar-thumb {
    background: var(--secondary);
    border-radius: 8px;
}
::-webkit-scrollbar-button {
    background: var(--secondary-800);
    border-radius: 8px;
}

/*Text sizes*/
h1, h2, h3, h4, h5 {
  font-family: 'Alice', serif, ;
  font-weight: 700;
}
html {font-size: 100%;} /* 16px */
h1 {font-size: 4rem; /* 67.36px */}
h2 {font-size: 3rem; /* 50.56px */}
h3 {font-size: 2.5rem; /* 37.92px */}
h4 {font-size: 1.75rem; /* 28.48px */}
h5 {font-size: 1.25rem; /* 21.28px */}
small {font-size: 0.75rem; /* 12px */}

/*Jump to top button*/
.jump {
    background: var(--background);
    color: var(--text);
    height: 80px;
    width: 80px;
    bottom: 5%;
    right: 5%;
    position: fixed;
    border-radius: 100%;
    border: 2px solid var(--primary);
    text-align: center;
    text-justify: center;
    align-content: center;
}
.jump:hover {
    background-color: var(--primary);
    color: var(--background);
    scale: 105%;
    cursor: pointer;
    transition: 0.5s ease;
    box-shadow: 3px 3px var(--secondary);
}
.jump:active {
    background: var(--accent);
    transition: none;
    scale: 100%;
    color: var(--secondary);
}

/*background pulse animation https://codepen.io/alvarotrigo/pen/ExeepqB*/
.cristalBall{
  width: 100%;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: -100;
}
.background{
  background-color: var(--background);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.circle{
    background-color: var(--secondary-950);
    border: 1px dotted var(--secondary-900);
    border-width: 4px;
    box-shadow: 0px 0px 32px 16px var(--secondary-950);
    height: 1300px;
    border-radius: 50%;
    width: 1300px;
    margin: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.circle1 {
    background-color: var(--secondary-900);
    border: 1px dotted var(--secondary-800);
    border-width: 4px;
    height: 1000px;
    border-radius: 50%;
    box-shadow: 0px 0px 32px 16px var(--secondary-900);
    width: 1000px;
    margin: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    animation: pulse3 20s linear infinite;
}
.circle2 {
    background-color: var(--secondary-950);
    border: 1px dotted var(--secondary-900);
    border-width: 4px;
    box-shadow: 0px 0px 32px 16px var(--secondary-950);
    height: 700px;
    border-radius: 50%;
    width: 700px;
    margin: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: 40px;
    transform: translate(-50%,-50%);
    animation: pulse 10s linear infinite;
}
.circle3 {
    background-color: var(--secondary-900);
    border: 1px dotted var(--secondary-800);
    border-width: 4px;
    box-shadow: 0px 0px 32px 16px var(--secondary-900);
    height: 500px;
    border-radius: 50%;
    width: 500px;
    margin: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    font-size: 50px;
    animation: pulse2 10s linear infinite;
}
@keyframes pulse{
  0%{width:700px;height:700px;}
  50%{width:750px;height:750px;}
  100%{width:700px;height:700px;}
}
@keyframes pulse2{
  0%{width:500px;height:500px;}
  50%{width:550px;height:550px;}
  100%{width:500px;height:500px;}
}
@keyframes pulse3{
  0%{width:1000px;height:1000px;}
  50%{width:1050px;height:1050px;}
  100%{width:1000px;height:1000px;}
}