:root {
  --color-default: #fafafa;
  --color-primary: #d38828;
  --color-secondary: #333;
  --font-secondary: Arial;
}

section#tiles {
   background-image: url("/pf-assets/dmg/images/background.jpg");
   background-position: center;
   background-size: cover;
}

.header .logo img:hover {
   background-color: #333;
   border-radius: 5px;
   content: url(/pf-assets/dmg/images/dmg-white.png);
}

.hero .black-friday {
   color: #d28828;
}

.hero .btn-get-started {
   font-size: 2.0em;
   font-weight: bold;
   padding-top: 15px;
   padding-bottom: 15px;
   background-color: #090;
}
.hero .btn-get-started:hover {
   background-color: #030;
   color: #0f0;
}
.hero .btn-get-started, .scroll-top i {
   color: #000;
}
.hero img.dmg-ai {
   margin-bottom: 50px;
   filter: saturate(200%);
}

.hero div.register-here {
   margin-top: 30px;
}

.gallery .gallery-links .details-link,
.gallery .gallery-links .details-link:hover {
   color: #0f0;
   filter: drop-shadow(0 0 5px rgba(0, 0, 0, 1)) 
      drop-shadow(0 0 10px rgba(0, 255, 0, 0.9)) 
      drop-shadow(0 0 15px rgba(0, 255, 0, 0.7))
      drop-shadow(0 0 25px rgba(0, 255, 0, 0.5))
      drop-shadow(0 0 35px rgba(0, 255, 0, 0.3));
}

img.matrix-glow {
   filter: drop-shadow(0 0 5px rgba(0, 0, 0, 1)) 
      drop-shadow(0 0 10px rgba(0, 255, 0, 0.9)) 
      drop-shadow(0 0 15px rgba(0, 255, 0, 0.7))
      drop-shadow(0 0 25px rgba(0, 255, 0, 0.5))
      drop-shadow(0 0 35px rgba(0, 255, 0, 0.3));
}

.gallery {
   padding-bottom: 20px;
}
.gallery .gallery-item div.tile-background {
   backdrop-filter: blur(5px);
   -webkit-backdrop-filter: blur(5px);
   background-color: #030;
   opacity: 0.9;
}
.gallery .gallery-item:hover div.tile-background {
   background-color: #27a776;
   opacity: 0.5;
}
.gallery .gallery-links {
   cursor: pointer;
}

.page-header {
   background-color: #000;
   border-top: #fff 103px solid;
   border-bottom: #fff 3px solid;
   min-height: initial;
   padding: 50px;
   background-image: repeating-radial-gradient(circle at 50% 50%, transparent 0, #000 100px), repeating-linear-gradient(#090, #090);
}
.page-header h2 {
   background-color: #000;
   border-radius: 20px;
   color: #fff;
   margin-bottom: 0;
   text-align: center;
}

section.content {
   background-color: #000;
   padding: 30px 40px 30px 40px;
}

section.flyer img {
   border: #0f0 2px solid;
   display: block;
   margin-toP: 50px;
   margin-left: auto; margin-right: auto;
   width: 75%;
}

section.speakers img, section.worship-leader img, section.flyer img {
   border-radius: 20px;
   margin-bottom: 20px;
   max-width: 100%;
}

section.speakers div.anchor {
   background-color: #111;
   background-image: linear-gradient(to bottom right, #333, #000, #333);
   border-radius: 20px;
   padding-right: 20px;
   padding-top: 125px;
   padding-bottom: 10px;
   text-align: right;
}
@media (max-width: 420px) {
   section.speakers div.anchor {
      padding-right: 0px;
   }
}
@media (max-width: 375px) {
   section.speakers div.anchor {
      font-size: 8pt;
   }
}

section.flyer div.anchor {
   border-radius: 20px;
   height: 140px;
}
section.flyer h2 a, section.flyer h2 span {
   border-radius: 10px;
   font-size: 12pt;
   margin-left: 20px;
   padding-left: 10px;
   padding-right: 10px;
}
@media (max-width: 420px) {
   section.flyer h2 a, section.flyer h2 span {
      border-radius: 5px;
      font-size: 8pt;
      margin-left: 10px;
      padding-left: 5px;
      padding-right: 5px;
   }
}
@media (max-width: 320px) {
   section.flyer h2 a, section.flyer h2 span {
      margin-left: 5px;
   }
}
@media (min-width: 980px) {
   section.flyer {
      margin-top: 30px;
   }
   section.flyer div.anchor, section.flyer h2 {
      display: none;
   }
}
section.flyer h2 a {
   color: #333;
}
section.flyer div#dixon.anchor {
   background-image: linear-gradient(#000, #000, #000, #7495a1, #000);
}
section.flyer h2 span.dixon, section.flyer h2 a.dixon:hover {
   background-color: #7495a1;
   color: #402f41;
}
section.flyer div#mcclain.anchor {
   background-image: linear-gradient(#000, #000, #000, #d53d3f, #000);
}
section.flyer h2 span.mcclain, section.flyer h2 a.mcclain:hover {
   background-color: #d53d3f;
   color: #652a39;
}
section.flyer div#willis.anchor {
   background-image: linear-gradient(#000, #000, #000, #25344b, #000);
}
section.flyer h2 span.willis, section.flyer h2 a.willis:hover {
   background-color: #25344b;
   color: #e52f33;
}
section.flyer div#stinson.anchor {
   background-image: linear-gradient(#000, #000, #000, #fce4a9, #000);
}
section.flyer h2 span.stinson, section.flyer h2 a.stinson:hover {
   background-color: #fce4a9;
   color: #7ea6aa;
}
section.flyer img {
   margin-bottom: 50px;
}

.youtube-wrapper {
   margin-bottom: 50px;
   position: relative;
   padding-bottom: 56.25%;
   padding-top: 25px;
   height: 0;
}
.youtube-wrapper iframe {
   border: #ccc 5px solid;
   position: absolute;
   top: 0; left: 0;
   width: 100%; height: 100%;
}

section#hero h3 {
   text-align: center;
}
section#hero img {
   margin-top: 20px;
}

section.schedule h3,
section.schedule h4,
section.schedule h5 {
   margin-top: 20px;
   text-align: center;
}
section.schedule h5 {
   font-size: 14pt;
}
section.schedule p.next-year {
   text-align: center;
}
section.schedule table {
   margin-left: 25%;
}
table.schedule tbody tr td {
   min-width: 200px;
}
@media (max-width: 500px) {
   section.schedule {
      font-size: 8pt;
   }
   section.schedule table {
      margin-left: 0px;
   }
   table.schedule tbody tr td {
      min-width: 150px;
   }
}
@media (max-width: 320px) {
   table.schedule tbody tr td {
      min-width: 130px;
   }
}

div.content-page-links {
   text-align: center;
}
div.content-page-links a i {
   font-size: 32pt;
   margin-right: 20px;
}

#code-rain {
   position: relative;
   overflow: hidden;
   height: 100vh;
   background-color: black;
   transition: opacity 5s ease-out;
}

.line {
   position: absolute;
   color: #0f0;
   font-family: 'Courier New', monospace;
   font-size: 48pt;
   font-weight: bold;
   letter-spacing: -0.1em;
   bottom: 100%;
   animation: fall linear infinite;
   writing-mode: vertical-rl;
   text-orientation: upright;
   text-transform: uppercase;
   white-space: nowrap;
   text-shadow: 
      0 0 25px #00ff00, 
      0 0 30px #00ff00, 
      0 0 35px #00ff00;
}

@keyframes fall {
   0% {
      transform: scaleX(-1) translateY(0); /* Start position */
   }
   100% {
      transform: scaleX(-1) translateY(100vh); /* End position */
   }
}
