
/* Define Variables */
:root {
    --light-color: rgb(246, 209, 58);
    --dark-color: rgb(25,25,25);
    --stroke-width: 5px;
}




/* change font size and stroke-width according to screen size */
@media only screen and (max-width: 300px) {
  html {
    font-size: 12pt;
  }
  :root {
    --stroke-width: 2px;
  }
  section {
    min-height: 100vh;
    scroll-snap-align: start;
    overflow-y: hidden;
  }
  .scroller {
    scroll-snap-type: y proximity;
  }
}

@media only screen and (min-width: 300px) and (max-width: 768px) {
  html {
    font-size: 12pt;
  }
  :root {
    --stroke-width: 2.5px;
  }
  section {
    min-height: 100vh;
    scroll-snap-align: start;
    overflow-y: hidden;
  }
  .scroller {
    scroll-snap-type: y proximity;
  }

}

@media only screen and (min-width: 768px) and (max-width: 992px) {
  html {
    font-size: 15pt;
  }
  :root {
    --stroke-width: 3.5px;
  }
  section {
    height: 100vh;
    scroll-snap-align: start;
    overflow-y: hidden;
  }
  .scroller {
    scroll-snap-type: y mandatory;
  }

}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
  html {
    font-size: 18pt;
  }
  :root {
    --stroke-width: 4.5px;
  }
  section {
    height: 100vh;
    scroll-snap-align: start;
    overflow-y: hidden;
  }
  .scroller {
    scroll-snap-type: y mandatory;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 2200px) {
  html {
    font-size: 21pt;
  }
  :root {
    --stroke-width: 5.5px;
  }
  section {
    height: 100vh;
    scroll-snap-align: start;
    overflow-y: hidden;
  }
  .scroller {
    scroll-snap-type: y mandatory;
  }
}

@media only screen and (min-width: 2200x) {
  html {
    font-size: 23pt;
  }
  .text-outline {
    -webkit-text-stroke-width: 7px;
  }
  :root {
    --stroke-width: 6.5px;
  }
  section {
    height: 100vh;
    scroll-snap-align: start;
    overflow-y: hidden;
  }
  .scroller {
    scroll-snap-type: y mandatory;
  }
}

  html {
    scroll-behavior: smooth;
  }
  body {
      margin: 0;
      padding: 0;
  }

/* Font and background styling */

  .heading-font {
    font-family: 'Yantramanav', sans-serif;
  }

  .text-font {
    font-family: 'Raleway', sans-serif;
  }

  .lightbg {
    background-color: var(--light-color);
  }

  .lightfont {
    color: var(--light-color); 
  }

  .darkbg {
    background-color: var(--dark-color);
  }

  .darkfont {
    color: var(--dark-color); 
  }

  .copyright {
    position: fixed;
    font-size: 0.7rem;
    bottom: 0px;
    right: 1rem;
    opacity: 0.5;
  }

  .text-outline {
    color: rgba(0,0,0,0);
    -webkit-text-stroke-color: var(--dark-color);
    -webkit-text-stroke-width: var(--stroke-width);
  }

  h1 {
      font-size: min(14vw,26vh);
  }

  h3 {
    font-size: 1.5rem;

  }

  h5 {
    --h5-size: min(1.5rem,6vh);
    font-size: var(--h5-size);
    position: relative;
    top: calc(-2 * var(--h5-size));
  }

  a.svg-link {
    content: ""; 
    background-color: transparent;
    position: relative;
    display: block; 
    top: 0; 
    right: 0; 
    bottom: 0; 
    left: 0;
  }

  a.text-link, a.text-link:visited{
    color: var(--light-color);
    background-color: var(--dark-color);
    font-style: bold;
    border: 0.1rem solid var(--dark-color);
  }

  a.text-link:hover,a.text-link:active,a.text-link:focus {
    background-color: transparent;
    color: var(--dark-color);
    cursor: pointer;
    color: inherit;
    font-style: bold;
    text-decoration: none;
    border: 0.1rem solid var(--dark-color);
    opacity: 1;
  }



/* Content containers */  
  .scroller {
    height: 100vh;
    overflow-y: scroll;
    /*scroll-snap-type: y mandatory;*/
  }

  section {
    display: block;
    /*height: 100vh;*/
    /*position: sticky;*/
    top: 0;
    width: 100%;
  }

  .images {
    /* Re-align image/graphic container if vh>>vw so that it's closer to the text */

    max-height: max(60vw,50vh);
    /*max-height: 0;*/
  }

  .mw-10 {
    max-width: 10%;
  }

  .mw-20 {
    max-width: 20%;
  }

  .mw-30 {
    max-width: 30%;
  }

  .mw-45 {
    max-width: 45%;
  }

  .mw-50 {
    max-width: 50%;
  }

  .mw-55 {
    max-width: 55%;
  }

  .mw-75 {
    max-width: 75%;
  }


/* Image Style */

img {
  opacity: 1;
  width: 100%;
}

/*SVG styles*/
.svg {
  fill: none;
  stroke-width: var(--stroke-width); 
}

.logo-link:hover {
  fill: var(--dark-color);
}


.dark-stroke {
  stroke: var(--dark-color);
}

.light-stroke {
  stroke: var(--light-color);
}

.fader {
  fill: var(--dark-color);
}

/* SVG animations */ 
#introsketch {
  stroke-dasharray: 6500;
  animation: introsketch 6s linear forwards infinite;
}

#sharpsketch {
  stroke-dasharray: 13000;
  animation: introsketch 6s ease forwards 3s infinite, switch 6s steps(2,start) reverse infinite;
}

#roundsketch {
  stroke-dasharray: 13000;
  animation: introsketch 6s ease forwards infinite, switch 6s steps(2,start) forwards infinite;
}

@keyframes rotation {
  from {
    transform: translateY(-271px) scale(0.3) rotate(0deg); /* The middle point of the laptop's screen in the svg is at 960x689 . To move the gear to the middle it has to moved up by 689-960 = -271 */
  }
  to {
    transform: translateY(-271px) scale(0.3) rotate(359deg);
  }
}

@keyframes introsketch {
  from {
    stroke-dashoffset: 13000;
  }
  to {
    stroke-dashoffset: 0;
  }
}

#gear {
  transform-origin: center;
  animation: rotation 3s ease forwards;
  animation-iteration-count: infinite;
}

/* Soundwave animation */
#soundwave1 {  
  transform-origin: center;
  animation: soundwave 3s linear forwards;
  animation-delay: 0.5s;
  animation-iteration-count: infinite; 
}

#soundwave2 {
  transform-origin: center;
  animation: soundwave 3s linear forwards;
  animation-iteration-count: infinite; 
  animation-delay: 1s;
}

#soundwave3{
  transform-origin: center;
  animation: soundwave 3s linear forwards;
  animation-iteration-count: infinite; 
  animation-delay: 1.5s;
}

@keyframes soundwave {
  from {
    transform: translateX(0) scale(1,1);
  }
  to {
    transform: translate(825px) scale(1,4);
  }
}

/* confusion soundwaves */
#confusion1 {
  stroke-dasharray: 1000;
  animation: introsketch 7s linear alternate;
  animation-iteration-count: infinite; 
}

#confusion2 {
  stroke-dasharray: 2000;
  animation: introsketch 5s linear alternate;
  animation-iteration-count: infinite; 
}

/* Fader Animation */
#fader1 {
  animation: fader 5s ease alternate;
  animation-iteration-count: infinite;
}

#fader2 {
  animation: fader 7s ease alternate;
  animation-iteration-count: infinite;
}

#fader3 {
  animation: fader 3s ease alternate;
  animation-iteration-count: infinite;
}

#fader4 {
  animation: fader 11s ease alternate;
  animation-iteration-count: infinite;
}

@keyframes fader {
  0% {transform: translateY(0);}
  10% {transform: translateY(250px);}
  20% {transform: translateY(25px);}
  40% {transform: translateY(400px);}
  50% {transform: translateY(250px);}
  70% {transform: translateY(500px);}
  90% {transform: translateY(550px);}
  100% {transform: translateY(450px);}
}

/* knob animation */
#knob1 {
  transform-origin: 195px 350px;
  animation: knob 13s ease alternate;
  animation-iteration-count: infinite;
}

#knob2 {
  transform-origin: 195px 350px;
  animation: knob 7s ease alternate;
  animation-iteration-count: infinite;
}

#knob3 {
  transform-origin: 195px 350px;
  animation: knob 11s ease alternate;
  animation-iteration-count: infinite;
}

#knob4 {
  transform-origin: 195px 350px;
  animation: knob 2s ease alternate;
  animation-iteration-count: infinite;
}

@keyframes knob {
  0% {transform: rotate(0deg);}
  10% {transform: rotate(-30deg);}
  20% {transform: rotate(60deg);}
  40% {transform: rotate(-90deg);}
  50% {transform: rotate(-45deg);}
  70% {transform: rotate(45deg);}
  90% {transform: rotate(0deg);}
  100% {transform: rotate(-25deg);}
}

/* Instrument animation */

#cello, #maluma {
  transform-origin: center;
  animation: shrink 5s reverse infinite, switch 5s steps(2,start) reverse infinite;
}

#drums, #takete {
  transform-origin: center;
  animation: shrink 5s forwards infinite, switch 5s steps(2,start) forwards infinite;
}

@keyframes switch{
  0% {
    visibility: visible;
  }
  100% {
    visibility: hidden;
  }
}

@keyframes shrink{
  0% {
    transform: scale(0,0);
  }
  10% {
    transform: scale(1,1);
  }
  40% {
    transform: scale(1,1);
  }
  50% {
    transform: scale(0,0);
  }
  100% {
    transform: scale(0,0);
  }
}









