@import url('https://fonts.googleapis.com/css?family=Public+Sans:400,500,700');
html,
body {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Public Sans", sans-serif;
    font-size: 62.5%;
    font-size: 10px;
    background-color: #000000;
}

.nav {
    width: 100%;
    height: 65px;
    position: fixed;
    line-height: 65px;
    text-align: center;
    z-index: 1000;
}

.nav div.logo {
    float: left;
    width: 65px;
    height: 65px;
    padding-left: 3rem;
}

.nav div.logo a {
    text-decoration: none;
    color: #fff;
    font-size: 2.5rem;
}

.nav div.logo a:hover {
    color: #00ffff;
}

.nav div.main_list {
    height: 65px;
    float: right;
}

.nav div.main_list ul {
    width: 100%;
    height: 65px;
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav div.main_list ul li {
    list-style: none;
    width: auto;
    height: 65px;
    padding: 0;
    padding-right: 3rem;
}

.nav div.main_list ul li a {
    text-decoration: none;
    color: #fff;
    line-height: 65px;
    font-size: 2.7rem;
}

.nav div.main_list ul li a:hover {
    filter: blur(1px);
    animation: main_list 4.4s linear infinite;
    animation-delay: calc(-4.4s * var(--char-percent));
}

@keyframes main_list {
    0% { color: #7F00FF }
	  8% { color: #FF00FF }
	  16% { color: #FF007F }
	  25% { color: #FF0000 }
	  33% { color: #FF7F00 }
	  41% { color: #FFFF00 }
	  50% { color: #7FFF00 }
	  58% { color: #00FF00 }
	  66% { color: #00FF7F }
	  75% { color: #00FFFF }
	  83% { color: #007FFF }
	  91% { color: #0000FF }
	  100% { color: #7F00FF }
}

.home {
    width: 100%;
    height: 100vh;
    background-image: url(img/main/index.gif);
    background-position: center;
	  background-size:cover;
}

.gallery {
    width: 100%;
    height: 96px;
}

.visual {
    width: 100%;
    height: 100vh;
    background-image: url(img/main/visual.gif);
    background-position: center;
    background-size:cover;
}

.aural {
    width: 100%;
    height: 100vh;
    background-image: url(img/main/aural.gif);
    background-position: center;
    background-size:cover;
}

.electronics {
    width: 100%;
    height: 100vh;
    background-image: url(img/main/fermata.gif);
    background-position: center;
    background-size:cover;
}

.hither-dither {
    width: 100%;
    height: 100vh;
    background-image: url(img/fermata-positronics/hither-dither/hither-dither.webp);
    background-position: center;
	  background-size:cover;
}

.hither-dither-xl {
    width: 100%;
    height: 100vh;
    background-image: url(img/fermata-positronics/hither-dither-xl/hither-dither-xl.webp);
    background-position: center;
	  background-size:cover;
}

.spectraloom {
    width: 100%;
    height: 100vh;
    background-image: url(img/fermata-positronics/spectraloom/spectraloom.webp);
    background-position: center;
	  background-size:cover;
}

.spectraloom-xl {
    width: 100%;
    height: 100vh;
    background-image: url(img/fermata-positronics/spectraloom-xl/spectraloom-xl.webp);
    background-position: center;
	  background-size:cover;
}

.dragonfly {
    width: 100%;
    height: 100vh;
    background-image: url(img/fermata-positronics/dragonfly/dragonfly.webp);
    background-position: center;
	  background-size:cover;
}

.firefly {
    width: 100%;
    height: 100vh;
    background-image: url(img/fermata-positronics/firefly/firefly.webp);
    background-position: center;
	  background-size:cover;
}

.mach-diamond {
    width: 100%;
    height: 100vh;
    background-image: url(img/fermata-positronics/mach-diamond/mach-diamond.webp);
    background-position: center;
	  background-size:cover;
}

.octarine {
    width: 100%;
    height: 100vh;
    background-image: url(img/fermata-positronics/octarine/octarine.webp);
    background-position: center;
	  background-size:cover;
}

.sugar-glider {
    width: 100%;
    height: 100vh;
    background-image: url(img/fermata-positronics/sugar-glider/sugar-glider.webp);
    background-position: center;
	  background-size:cover;
}

.feather-glider {
    width: 100%;
    height: 100vh;
    background-image: url(img/fermata-positronics/feather-glider/feather-glider.webp);
    background-position: center;
	  background-size:cover;
}

.quicksilver {
    width: 100%;
    height: 100vh;
    background-image: url(img/fermata-positronics/quicksilver/quicksilver.webp);
    background-position: center;
	  background-size:cover;
}

.mnemosyne {
    width: 100%;
    height: 100vh;
    background-image: url(img/fermata-positronics/mnemosyne/mnemosyne.webp);
    background-position: center;
	  background-size:cover;
}

.astralathe {
    width: 100%;
    height: 100vh;
    background-image: url(img/fermata-positronics/astralathe/astralathe.webp);
    background-position: center;
	  background-size:cover;
}

.info {
    width: 100%;
    height: 100vh;
    background-image: url(img/main/info.gif);
    background-position: center;
	  background-size:cover;
}

.navTrigger {
    display: none;
}

.nav {
    padding-top: 20px;
    padding-bottom: 20px;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .container {
        margin: 0;
    }
}

@media screen and (max-width:768px) {
    .navTrigger {
        display: block;
    }
    .nav div.logo {
        margin-left: 0px;
    }
    .nav div.main_list {
        width: 100%;
        height: 0;
        overflow: hidden;
    }
    .nav div.show_list {
        height: auto;
        display: none;
    }
    .nav div.main_list ul {
        flex-direction: column;
        width: 100%;
        height: 100vh;
        right: 0;
        left: 0;
        bottom: 0;
        background-color: #000000;
        background-position: center top;
    }
    .nav div.main_list ul li {
        width: 100%;
        text-align: right;
    }
    .nav div.main_list ul li a {
        list-style: none;
        text-align: center;
        width: 100%;
        font-size: 3rem;
        padding: 20px;
    }
    .nav div.media_button {
        display: block;
    }
}

.navTrigger {
    cursor: pointer;
    width: 30px;
    height: 25px;
    margin: auto;
    position: absolute;
    right: 30px;
    top: 0;
    bottom: 0;
}

.navTrigger i {
    background-color: #fff;
    border-radius: 0px;
    content: '';
    display: block;
    width: 100%;
    height: 4px;
}

.navTrigger i:nth-child(1) {
    -webkit-animation: outT 0.8s backwards;
    animation: outT 0.8s backwards;
    -webkit-animation-direction: reverse;
    animation-direction: reverse;
}

.navTrigger i:nth-child(2) {
    margin: 5px 0;
    -webkit-animation: outM 0.8s backwards;
    animation: outM 0.8s backwards;
    -webkit-animation-direction: reverse;
    animation-direction: reverse;
}

.navTrigger i:nth-child(3) {
    -webkit-animation: outBtm 0.8s backwards;
    animation: outBtm 0.8s backwards;
    -webkit-animation-direction: reverse;
    animation-direction: reverse;
}

.navTrigger.active i:nth-child(1) {
    -webkit-animation: inT 0.8s forwards;
    animation: inT 0.8s forwards;
}

.navTrigger.active i:nth-child(2) {
    -webkit-animation: inM 0.8s forwards;
    animation: inM 0.8s forwards;
}

.navTrigger.active i:nth-child(3) {
    -webkit-animation: inBtm 0.8s forwards;
    animation: inBtm 0.8s forwards;
}

@-webkit-keyframes inM {
    50% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(45deg);
    }
}

@keyframes inM {
    50% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(45deg);
    }
}

@-webkit-keyframes outM {
    50% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(45deg);
    }
}

@keyframes outM {
    50% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(45deg);
    }
}

@-webkit-keyframes inT {
    0% {
        -webkit-transform: translateY(0px) rotate(0deg);
    }
    50% {
        -webkit-transform: translateY(9px) rotate(0deg);
    }
    100% {
        -webkit-transform: translateY(9px) rotate(135deg);
    }
}

@keyframes inT {
    0% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(9px) rotate(0deg);
    }
    100% {
        transform: translateY(9px) rotate(135deg);
    }
}

@-webkit-keyframes outT {
    0% {
        -webkit-transform: translateY(0px) rotate(0deg);
    }
    50% {
        -webkit-transform: translateY(9px) rotate(0deg);
    }
    100% {
        -webkit-transform: translateY(9px) rotate(135deg);
    }
}

@keyframes outT {
    0% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(9px) rotate(0deg);
    }
    100% {
        transform: translateY(9px) rotate(135deg);
    }
}

@-webkit-keyframes inBtm {
    0% {
        -webkit-transform: translateY(0px) rotate(0deg);
    }
    50% {
        -webkit-transform: translateY(-9px) rotate(0deg);
    }
    100% {
        -webkit-transform: translateY(-9px) rotate(135deg);
    }
}

@keyframes inBtm {
    0% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(-9px) rotate(0deg);
    }
    100% {
        transform: translateY(-9px) rotate(135deg);
    }
}

@-webkit-keyframes outBtm {
    0% {
        -webkit-transform: translateY(0px) rotate(0deg);
    }
    50% {
        -webkit-transform: translateY(-9px) rotate(0deg);
    }
    100% {
        -webkit-transform: translateY(-9px) rotate(135deg);
    }
}

@keyframes outBtm {
    0% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(-9px) rotate(0deg);
    }
    100% {
        transform: translateY(-9px) rotate(135deg);
    }
}

.affix {
    padding: 0;
    background-color: #000000;
}

.H2 {
	  text-align: left;
  	font-size: 57px;
    text-decoration: none;
    padding-left: 3rem;
    padding-right: 3rem;
    color: #ffffff;
    text-shadow: 1px 1px 10px #000000;
    animation: H2 4.4s linear infinite;
    animation-delay: calc(-4.4s * var(--char-percent));
}

@media all and (max-width: 768px){
    .H2 {
      text-align: left;
    	font-size: 55px;
      text-decoration: none;
      padding-left: 3rem;
      padding-right: 3rem;
      color: #ffffff;
      text-shadow: 1px 1px 10px #000000;
      animation: H2 4.4s linear infinite;
      animation-delay: calc(-4.4s * var(--char-percent));
    }
}

@-webkit-keyframes H2 {
  100% {
    text-shadow: 3px 3px 2px #FF0000, 6px 6px 3px #FF7F00, 9px 9px 4px #FFFF00;
  }
  91% {
    text-shadow: 3px 3px 2px #FF7F00, 6px 6px 3px #FFFF00, 9px 9px 4px #7FFF00;
  }
  83% {
    text-shadow: 3px 3px 2px #FFFF00, 6px 6px 3px #7FFF00, 9px 9px 4px #00FF00;
  }
  75% {
    text-shadow: 3px 3px 2px #7FFF00, 6px 6px 3px #00FF00, 9px 9px 4px #00FF7F;
  }
  66% {
    text-shadow: 3px 3px 2px #00FF00, 6px 6px 3px #00FF7F, 9px 9px 4px #00FFFF;
  }
  58% {
    text-shadow: 3px 3px 2px #00FF7F, 6px 6px 3px #00FFFF, 9px 9px 4px #007FFF;
  }
  50% {
    text-shadow: 3px 3px 2px #00FFFF, 6px 6px 3px #007FFF, 9px 9px 4px #0000FF;
  }
  41% {
    text-shadow: 3px 3px 2px #007FFF, 6px 6px 3px #0000FF, 9px 9px 4px #7F00FF;
  }
  33% {
    text-shadow: 3px 3px 2px #0000FF, 6px 6px 3px #7F00FF, 9px 9px 4px #FF00FF;
  }
  25% {
    text-shadow: 3px 3px 2px #7F00FF, 6px 6px 3px #FF00FF, 9px 9px 4px #FF007F;
  }
  16% {
    text-shadow: 3px 3px 2px #FF00FF, 6px 6px 3px #FF007F, 9px 9px 4px #FF0000;
  }
  8% {
    text-shadow: 3px 3px 2px #FF007F, 6px 6px 3px #FF0000, 9px 9px 4px #FF7F00;
  }
  0% {
    text-shadow: 3px 3px 2px #FF0000, 6px 6px 3px #FF7F00, 9px 9px 4px #FFFF00;
  }
}

.P {
    text-decoration: none;
    text-align: left;
    line-height: 1;
  	padding-left: 50px;
  	padding-right: 50px;
  	font-size: 23px;
    color: #ffffff;
}

.P a {
    list-style-type: none;
    text-decoration: underline;
    text-align: left;
    padding-left: 0px;
    padding-right: 0px;
    font-size: 23px;
    color: #ffffff;
}

.P a:hover {
    filter: blur(1px);
    animation: info-links 4.4s linear infinite;
    animation-delay: calc(-4.4s * var(--char-percent));
}

@keyframes P {
  0% { color: #7F00FF }
  8% { color: #FF00FF }
  16% { color: #FF007F }
  25% { color: #FF0000 }
  33% { color: #FF7F00 }
  41% { color: #FFFF00 }
  50% { color: #7FFF00 }
  58% { color: #00FF00 }
  66% { color: #00FF7F }
  75% { color: #00FFFF }
  83% { color: #007FFF }
  91% { color: #0000FF }
  100% { color: #7F00FF }
}

@media all and (max-width:768px){
	  .P {
    text-decoration: none;
    text-align: left;
    line-height: 1;
    padding-left: 39px;
    padding-right: 39px;
    font-size: 21px;
    color: #ffffff;
	}
}

.P2 {
    text-decoration: none;
    text-align: left;
    line-height: 1;
  	padding-left: 66px;
  	padding-right: 50px;
  	font-size: 23px;
    color: #f4f4f4;
}

@media all and (max-width:768px){
	  .P2 {
    text-decoration: none;
    text-align: left;
    line-height: 1;
    padding-left: 53px;
    padding-right: 39px;
    font-size: 21px;
    color: #f4f4f4;
	}
}

.Pq {
    cursor: pointer;
    text-decoration: none;
    text-align: left;
    line-height: 1;
  	padding-left: 50px;
  	padding-right: 50px;
  	font-size: 23px;
    color: #ffffff;
}

.Pq:hover {
    animation: rainbow-glow 2s infinite;
    color: white; /* Optional: ensure text stands out during the animation */
}

@media all and (max-width:768px){
	  .Pq {
    cursor: pointer;
    text-decoration: none;
    text-align: left;
    line-height: 1;
    padding-left: 39px;
    padding-right: 39px;
    font-size: 21px;
    color: #ffffff;
	}
}

.Pa {
    display: none;
    text-decoration: none;
    text-align: left;
    line-height: 1;
  	padding-left: 66px;
  	padding-right: 50px;
  	font-size: 23px;
    color: #f4f4f4;
}

.Pa a {
    list-style-type: none;
    text-decoration: underline;
    text-align: left;
    padding-left: 0px;
    padding-right: 0px;
    font-size: 23px;
    color: #ffffff;
}

.Pa a:hover {
    filter: blur(1px);
    animation: info-links 4.4s linear infinite;
    animation-delay: calc(-4.4s * var(--char-percent));
}

@keyframes Pa {
  0% { color: #7F00FF }
  8% { color: #FF00FF }
  16% { color: #FF007F }
  25% { color: #FF0000 }
  33% { color: #FF7F00 }
  41% { color: #FFFF00 }
  50% { color: #7FFF00 }
  58% { color: #00FF00 }
  66% { color: #00FF7F }
  75% { color: #00FFFF }
  83% { color: #007FFF }
  91% { color: #0000FF }
  100% { color: #7F00FF }
}

@media all and (max-width:768px){
	  .Pa {
    display: none;
    text-decoration: none;
    text-align: left;
    line-height: 1;
    padding-left: 53px;
    padding-right: 39px;
    font-size: 21px;
    color: #f4f4f4;
	}
}

.info-list {
    text-decoration: none;
    text-align: left;
    line-height: 1;
    padding-left: 50px;
    padding-right: 50px;
    font-size: 23px;
    color: #ffffff;
}

.info-list a {
    text-decoration: none;
    text-align: left;
    line-height: 1;
    font-size: 23px;
    color: #ffffff;
    text-shadow: 1px 1px 23px #7F00FF, 1px 1px 23px #7F00FF;
}

.info-list a:hover {
    filter: blur(1px);
    animation: info-links 4.4s linear infinite;
    animation-delay: calc(-4.4s * var(--char-percent));
    text-shadow: none;
}

@media all and (max-width:768px){
	  .info-list {
    text-decoration: none;
    text-align: left;
    line-height: 1;
    padding-left: 39px;
    padding-right: 39px;
    font-size: 21px;
    color: #ffffff;
	}
}

@media all and (max-width:768px){
	  .info-list a {
      text-decoration: none;
      text-align: left;
      line-height: 1;
      font-size: 21px;
      color: #ffffff;
	}
}

.info-links a {
    text-decoration: none;
    text-align: left;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 23px;
    color: #ffffff;
}

.info-links a:hover {
    filter: blur(1px);
    animation: info-links 4.4s linear infinite;
    animation-delay: calc(-4.4s * var(--char-percent));
}

@media all and (max-width: 768px){
    .info-links a {
      text-decoration: none;
      text-align: left;
      padding-left: 0px;
      padding-right: 0px;
      font-size: 21px;
      color: #ffffff;
    }
}

@keyframes info-links {
  0% { color: #7F00FF }
  8% { color: #FF00FF }
  16% { color: #FF007F }
  25% { color: #FF0000 }
  33% { color: #FF7F00 }
  41% { color: #FFFF00 }
  50% { color: #7FFF00 }
  58% { color: #00FF00 }
  66% { color: #00FF7F }
  75% { color: #00FFFF }
  83% { color: #007FFF }
  91% { color: #0000FF }
  100% { color: #7F00FF }
}

.info-links li {
    line-height: 1;
}

.info-links2 li {
    line-height: 1;
    list-style-type: square;
}

.info-links2 a {
    text-decoration: none;
    text-align: left;
    padding-left: 25px;
    padding-right: 10px;
    font-size: 23px;
    color: #ffffff;
}

.info-links2 a:hover {
    filter: blur(1px);
    animation: info-links 4.4s linear infinite;
    animation-delay: calc(-4.4s * var(--char-percent));
}

@media all and (max-width: 768px){
    .info-links2 a {
      text-decoration: none;
      text-align: left;
      padding-left: 13px;
      padding-right: 0px;
      font-size: 21px;
      color: #ffffff;
    }
}

@keyframes info-links2 {
  0% { color: #7F00FF }
  8% { color: #FF00FF }
  16% { color: #FF007F }
  25% { color: #FF0000 }
  33% { color: #FF7F00 }
  41% { color: #FFFF00 }
  50% { color: #7FFF00 }
  58% { color: #00FF00 }
  66% { color: #00FF7F }
  75% { color: #00FFFF }
  83% { color: #007FFF }
  91% { color: #0000FF }
  100% { color: #7F00FF }
}

.info-links3 li {
    line-height: 1;
    list-style-type: square;
}

.info-links3 a {
    text-decoration: none;
    text-align: left;
    padding-left: 0px;
    padding-right: 0px;
    font-size: 23px;
    color: #ffffff;
}

.info-links3 a:hover {
    filter: blur(1px);
    animation: info-links 4.4s linear infinite;
    animation-delay: calc(-4.4s * var(--char-percent));
}

@media all and (max-width: 768px){
    .info-links2 a {
      text-decoration: none;
      text-align: left;
      padding-left: 13px;
      padding-right: 0px;
      font-size: 21px;
      color: #ffffff;
    }
}

@keyframes info-links2 {
  0% { color: #7F00FF }
  8% { color: #FF00FF }
  16% { color: #FF007F }
  25% { color: #FF0000 }
  33% { color: #FF7F00 }
  41% { color: #FFFF00 }
  50% { color: #7FFF00 }
  58% { color: #00FF00 }
  66% { color: #00FF7F }
  75% { color: #00FFFF }
  83% { color: #007FFF }
  91% { color: #0000FF }
  100% { color: #7F00FF }
}

.info-linksA {
    display: none;
    list-style-type: none;
    text-decoration: none;
    text-align: left;
    padding-left: 25px;
    padding-right: 10px;
    font-size: 23px;
    color: #ffffff;
}

.info-linksA li {
    line-height: 1;
    list-style-type: none;
    text-decoration: none;
    text-align: left;
    padding-left: 25px;
    padding-right: 10px;
    font-size: 23px;
    color: #ffffff;
}

.info-linksA a {
    list-style-type: none;
    text-decoration: none;
    text-align: left;
    padding-left: 0px;
    padding-right: 10px;
    font-size: 23px;
    color: #ffffff;
}

.info-linksA a:hover {
    filter: blur(1px);
    animation: info-links 4.4s linear infinite;
    animation-delay: calc(-4.4s * var(--char-percent));
}

@media all and (max-width: 768px){
    .info-linksA li {
      text-decoration: none;
      text-align: left;
      padding-left: 13px;
      padding-right: 0px;
      font-size: 21px;
      color: #ffffff;
    }
}

@media all and (max-width: 768px){
    .info-linksA a {
      text-decoration: none;
      text-align: left;
      padding-left: 0px;
      padding-right: 0px;
      font-size: 21px;
      color: #ffffff;
    }
}

@keyframes info-linksA {
  0% { color: #7F00FF }
  8% { color: #FF00FF }
  16% { color: #FF007F }
  25% { color: #FF0000 }
  33% { color: #FF7F00 }
  41% { color: #FFFF00 }
  50% { color: #7FFF00 }
  58% { color: #00FF00 }
  66% { color: #00FF7F }
  75% { color: #00FFFF }
  83% { color: #007FFF }
  91% { color: #0000FF }
  100% { color: #7F00FF }
}

.fx {
    background: #111;
    box-shadow: 0 0 10px #333;
}

img{
    max-width: 100%;
    margin-bottom: 10px;
}

.gallery-container{
    padding: 10px;
    column-count: 5;
}

@media(max-width: 1920px){
    .gallery-container{
        column-count: 4;
    }
}

@media(max-width: 1440px){
    .gallery-container{
        column-count: 3;
    }
}

@media(max-width: 1024px){
    .gallery-container{
        column-count: 2;
    }
}

@media(max-width: 768px){
    .gallery-container{
        column-count: 1;
    }
}

.gallery-container-2 {
    padding-left: 50px;
    padding-right: 50px;
    column-count: 5;
}

@media(max-width: 1920px){
    .gallery-container-2{
        column-count: 4;
    }
}

@media(max-width: 1440px){
    .gallery-container-2{
        column-count: 3;
    }
}

@media(max-width: 1024px){
    .gallery-container-2{
        column-count: 2;
    }
}

@media(max-width: 768px){
    .gallery-container-2{
        padding-left: 39px;
        padding-right: 39px;
        column-count: 1;
    }
}

.gallery-container-3 {
    padding-left: 50px;
    padding-right: 50px;
    column-count: 5;
}

.gallery-container-3 ul {
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 10px;
}


.gallery-container-3 li {
    position: relative;
    flex: 1 1 calc(100% / 5 - 20px);
}

.gallery-container-3 a {
    display: block;
    text-decoration: none;
    color: white;
    font-size: 34px;
}

.gallery-container-3 img {
    width: 100%;
    height: auto;
    display: block;
    box-shadow: 0 0 10px #333;
}

.gallery-container-3 a span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-weight: bold;
    text-align: center;
    text-shadow: 0 0 20px rgba(0, 0, 0, 1);
    transition: text-shadow 0.5s ease;
    font-size: 34px;
}

.gallery-container-3 a:hover span {
    animation: rainbow-glow 3s infinite;
}

@keyframes rainbow-glow {
    0% { text-shadow: 0 0 10px violet, 0 0 20px violet, 0 0 30px violet; }
    20% { text-shadow: 0 0 10px red, 0 0 20px red, 0 0 30px red; }
    40% { text-shadow: 0 0 10px orange, 0 0 20px orange, 0 0 30px orange; }
    60% { text-shadow: 0 0 10px yellow, 0 0 20px yellow, 0 0 30px yellow; }
    80% { text-shadow: 0 0 10px green, 0 0 20px green, 0 0 30px green; }
    90% { text-shadow: 0 0 10px blue, 0 0 20px blue, 0 0 30px blue; }
    100% { text-shadow: 0 0 10px violet, 0 0 20px violet, 0 0 30px violet; }
}

@media (max-width: 1920px) {
    .gallery-container-3 {
        column-count: 4;
    }
    .gallery-container-3 li {
        flex: 1 1 calc(100% / 4 - 20px);
    }
}

@media (max-width: 1440px) {
    .gallery-container-3 {
        column-count: 3;
    }
    .gallery-container-3 li {
        flex: 1 1 calc(100% / 3 - 20px);
    }
}

@media (max-width: 1024px) {
    .gallery-container-3 {
        column-count: 2;
    }
    .gallery-container-3 li {
        flex: 1 1 calc(100% / 2 - 20px);
    }
}

@media (max-width: 768px) {
    .gallery-container-3 {
        padding-left: 39px;
        padding-right: 39px;
        column-count: 1;
    }
    .gallery-container-3 li {
        flex: 1 1 100%;
    }
    .gallery-container-3 a span {
        font-size: 37px;
    }
}
