@font-face {
    font-family: Ginto-Nord;
    src: url(resources/GintoNordRegular.woff2.ttf);
}

html, body {
    max-width: 100%;
    overflow-x: hidden;
}

body {
    margin: 0px;
    display: flex;
    flex-direction: column;
    background: #0E1218;
}

h1, h2, h3, h4, p {
    font-family: Ginto-Nord;
    color: white;
    text-align: center;
}

.button {
    background-color: #5865F2;
    color: white;
    align-self: center;
    padding: 10px 16px 10px 16px;
    border-radius: 5px;
    font-size: 25px;
}

.button:hover {
    cursor: pointer;
}


/* navbar styles */

nav {
    overflow: visible;
    text-align: center;
    position: relative;
    padding: 30px;
    box-shadow: 2px 2px 8px black;
    background:#0E1218
}
  
nav a {
    color: #f2f2f2;
    text-align: center;
    margin-left: 5px;
    margin-right: 5px;
    font-size: 1.25rem;
    font-family: Ginto-Nord;
    text-shadow: 2px 2px 3px black;
    font-weight: 600;
    padding: 12px;
    display: inline-block;
    text-decoration: none;
    transition: color 0.1s;
}

nav a:hover {
    color: #5865F2;
}
  
nav a.active {
    background-color: #4CAF50;
    color: white;
}

#hidden-menu {
    display: none;
}

#dropdown-button {
    display: none;
}


/* bg image styles */

#bg-image-container {
   
    background:#323561;
    background-repeat: no-repeat;
    background-size: cover;
    border-bottom: 3px solid #5865F2;
}

#top-bg-header {
    text-shadow: 6px 6px 2px black;
    font-size: 60px;
    position: relative;
}

#top-bg-article {
    text-shadow: 2px 2px black;
    font-size: 30px;
    position: relative;
}



/* remaining section styles */
#main-sections {
    margin-top: 0px;
    border-bottom: 3px solid #5865F2;
    background: #161727;
}

/* discord section styles */


.discord-section h1 {
    margin-top: 0px;
    padding-top: 15px;
    font-size: 32px;
}

.discord-section p {
    font-size: 24px;
}

.discord-section.dark {
    background-color: #0E1218;
}

.discord-section.content.dark {
    background-color: #0E1218;
}

#discord-header-section {
    padding-bottom: 30px;
    padding-top: 40px;
}

.discord-section.content {
    padding-left: 7%;
    padding-right: 7%;
    display: flex;
    gap: 80px;
    padding-bottom: 80px;
    padding-top: 80px;
}

.discord-section.content img {
    width: 100%;
    border: 4px solid #2a2d31;
    border-radius: 10px;
    box-shadow: 10px 10px 10px #0b0b10;
}

.image-side {
    width: 40%;
}

.text-side {
    width: 60%;
}

#join-discord-section {
    background-color: #0E1218;
    display: flex;
    flex-direction: column;
}

#special-button {
    font-size: 30px;
    padding: 20px 32px 20px 32px;
    background-size: 300% 100%;
    background-color: #4CAF50;
    border-radius: 8px;
    background-image: linear-gradient(to right, #0ba360, #3cba92, #30dd8a, #2bb673);
    box-shadow: 0px 0px 15px 0 rgba(23, 168, 108, 0.75);
    transition: all .4s ease-in-out;
}

#special-button:hover {
    background-position: 100% 0;
    filter: hue-rotate(50deg);
    box-shadow: 0px 0px 40px 0 rgba(23, 168, 108, 0.75);
}

#special-button:focus {
    outline: none;
}

#contact-button {
    transition: all 0.3s;
    filter: drop-shadow(10px 10px 5px #0b0b10);
}

#contact-button:hover {
    filter: brightness(110%);
    box-shadow: 0px 0px 20px 0 rgba(1, 146, 243, 0.75);
}

.svg {
    margin: 0;
    padding: 0;
    display: block;
}


/* links section styles */

#social-links {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 7%;
}

#social-links img {
    transition: filter 0.5s;
    filter: drop-shadow(10px 10px 5px #0b0b10); 
}

#social-links img:hover {
    cursor: pointer;
    filter: saturate(300%) drop-shadow(10px 10px 5px #0b0b10);
}

#contact {
    display: flex;
    flex-direction: column;
}

#credits p {
    font-size: 14px;
}

#credits {
    font-family: Ginto-Nord;
}

.coolguy {
    color: white;
    text-decoration: none;
    transition: all 0.8s;
}
.coolguy:hover {
    color: rgb(0, 158, 231);
    filter:saturate(1000%);
    animation: glow 1s ease-in-out infinite alternate;
}

/* animations and fade in effect */

.fade-in {
    animation: fadein 1.5s;
}

@keyframes fadein {
    from { opacity: 0; filter: blur(3px) }
    to   { opacity: 1; filter: blur(0px) }
}

@keyframes greyfade {
    from { filter: contrast(0%); }
    to { filter: contrast(100%); }
}

@keyframes rainbow {
    from { filter: hue-rotate(0deg); }
    to { filter: hue-rotate(360deg); }
}

@keyframes glow {
    from { text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #08e600, 0 0 40px #2300e6, 0 0 50px #e6d700, 0 0 60px #00b8e6, 0 0 70px #e60000; }
    to { text-shadow: 0 0 20px #fff, 0 0 30px #00aeff, 0 0 40px #ff4dd3, 0 0 50px #d8ff4d, 0 0 60px #4dffd8, 0 0 70px #ff8e4d, 0 0 80px #4deaff; }
}


/* mobile styles */



@media only screen and (max-width: 1100px) {


    .discord-section.content {
        padding-left: 7%;
        padding-right: 7%;
        display: flex;
        gap: 80px;
        padding-bottom: 80px;
        padding-top: 80px;
    }

    
    #main-sections {
        padding: 0px !important;
    }

    .svg {
        width: 100%;
    }

    .discord-section.content {
        margin: 0px !important;
        padding-left: 0px !important;
        padding-right: 0px !important;
        width: 100%;
        flex-direction: column;
        gap: 20px;
        align-items: center;
        justify-content: center;
    }

    .discord-section.content.dark {
        width: 100%;
        flex-direction: column-reverse;
    }

    .image-side {
        width: 92%;
        margin-right: 1%;
    }
    
    .text-side {
        width: 90%;
    }


    .discord-section.content img {
        width: 100%;
        border: 4px solid #2a2d31;
        border-radius: 10px;
    }


    #top-bg-header {
        font-size: 50px;
    }

    #top-bg-article {
        padding-left: 20px;
        padding-right: 20px;
        font-size: 20px;
    }
    #dropdown-button {
        display: inline-block;
        border: none;
        background-color: #5865F2;
        color: white;
        padding: 12px;
        font-size: 16px;
        border-radius: 3px;
    }

    #dropdown-button:hover {
        cursor: pointer;
    }

    #hidden-menu {
        margin-top: 10px;
        flex-direction: column;
    }

    .hidden-menu-item:hover {
        background-color: #5865F2;
        color: white;
        border-radius: 3px;
    }

    .navbar {
        display: none;
    }

    #social-links {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px;
    }

    #social-links img {
        width: 100px;
    }

    #main-sections {
        padding: 10px;
    }
    
}

/* ===== inline art gallery (ag- prefix) ===== */
.ag-inline{
  display: grid;
  justify-content: center; 

  /* html order is: prev | left teaser | main | right teaser | next */
  grid-template-columns:
    0.2fr
    clamp(80px, 9vw, 130px)
    0.6fr
    clamp(80px, 9vw, 130px)
    0.2fr;

  gap: 14px;
  align-items: center;

  /* true “off-screen” needs a viewport-wide window */
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  overflow-x: hidden;
  overflow-y: visible; 

  /*overflow: hidden; /* clip the part that goes off-screen */
}


.ag-inline > * { min-width: 0; }
.ag-card, .ag-title, .ag-sub { min-width: 0; }

.ag-left{
  width: 150%;       
  justify-self: end; 
}
.ag-right{
  width: 150%;
  justify-self: start; 
}

/* make sure arrows stay clickable/visible if teasers overlap them */
.ag-nav{ position: relative; z-index: 5; }
.ag-teaser{ position: relative; z-index: 1; }


/* keep your ellipsis from ever affecting sizing */
.ag-title, .ag-sub { min-width: 0; max-width: 100%; }


.ag-nav {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: #14141d;
  border: 1px solid #2a2a35;
  color: inherit;
  cursor: pointer;
  user-select: none;
}

.ag-card {
  border: 1px solid #2a2a35;
  border-radius: 16px;
  overflow: hidden;
  background: #0f0f16;
}

/* make every image frame 3:4 (portrait) */
.ag-imgwrap,
.ag-mainwrap{
  aspect-ratio: 4 / 3; /* width / height */
  height: auto;        /* let the ratio drive the height */
}

.ag-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;

}

/* metadata */
.ag-meta {
  padding: 10px 12px;
  border-top: 1px solid #2a2a35;
}

.ag-title {
  margin: 0;
  font-size: 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  
  min-width: 0;
}

.ag-main .ag-meta { text-align: center; }


/* teaser vibe + “slice” crop */
.ag-teaser { opacity: .85; cursor: pointer; }
.ag-teaser:hover { opacity: .98; }
.ag-left  .ag-img { object-position: 80% 50%; }
.ag-right .ag-img { object-position: 20% 50%; }

/* ===== slide animation classes (JS toggles these) ===== */

.ag-inline.ag-animating { user-select: none; }
.ag-inline.ag-animating .ag-nav,
.ag-inline.ag-animating .ag-teaser { pointer-events: none; } /* avoid click spam during animation */

/* next (→): current slides out left, new slides in from right */
.ag-inline.ag-out-next .ag-main   { animation: ag-out-left 160ms ease both; }
.ag-inline.ag-in-next  .ag-main   { animation: ag-in-right 200ms ease both; }
.ag-inline.ag-out-next .ag-left,
.ag-inline.ag-out-next .ag-right  { animation: ag-fade-out-left 160ms ease both; }
.ag-inline.ag-in-next  .ag-left,
.ag-inline.ag-in-next  .ag-right  { animation: ag-fade-in-right 200ms ease both; }

/* prev (←): current slides out right, new slides in from left */
.ag-inline.ag-out-prev .ag-main   { animation: ag-out-right 160ms ease both; }
.ag-inline.ag-in-prev  .ag-main   { animation: ag-in-left 200ms ease both; }
.ag-inline.ag-out-prev .ag-left,
.ag-inline.ag-out-prev .ag-right  { animation: ag-fade-out-right 160ms ease both; }
.ag-inline.ag-in-prev  .ag-left,
.ag-inline.ag-in-prev  .ag-right  { animation: ag-fade-in-left 200ms ease both; }

@keyframes ag-out-left  { from { transform: translateX(0);   opacity: 1; } to { transform: translateX(-42px); opacity: 0; } }
@keyframes ag-in-right  { from { transform: translateX(42px); opacity: 0; } to { transform: translateX(0);    opacity: 1; } }

@keyframes ag-out-right { from { transform: translateX(0);   opacity: 1; } to { transform: translateX(42px);  opacity: 0; } }
@keyframes ag-in-left   { from { transform: translateX(-42px); opacity: 0; } to { transform: translateX(0);   opacity: 1; } }

/* small, subtle teaser motion */
@keyframes ag-fade-out-left  { from { transform: translateX(0);  opacity: .85; } to { transform: translateX(-18px); opacity: 0; } }
@keyframes ag-fade-in-right  { from { transform: translateX(18px); opacity: 0; } to { transform: translateX(0); opacity: .85; } }

@keyframes ag-fade-out-right { from { transform: translateX(0);  opacity: .85; } to { transform: translateX(18px); opacity: 0; } }
@keyframes ag-fade-in-left   { from { transform: translateX(-18px); opacity: 0; } to { transform: translateX(0); opacity: .85; } }

/* accessibility: respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .ag-inline.ag-out-next .ag-main,
  .ag-inline.ag-in-next  .ag-main,
  .ag-inline.ag-out-prev .ag-main,
  .ag-inline.ag-in-prev  .ag-main,
  .ag-inline.ag-out-next .ag-left,
  .ag-inline.ag-out-next .ag-right,
  .ag-inline.ag-in-next  .ag-left,
  .ag-inline.ag-in-next  .ag-right,
  .ag-inline.ag-out-prev .ag-left,
  .ag-inline.ag-out-prev .ag-right,
  .ag-inline.ag-in-prev  .ag-left,
  .ag-inline.ag-in-prev  .ag-right { animation: none !important; }
}

@media (max-width: 860px) {
  /* 3 columns: left arrow | main | right arrow */
  .ag-inline {
    grid-template-columns: 66px minmax(0, 1fr) 66px; /* 66 = 44 * 1.5 */
    align-items: center;
  }

  .ag-teaser { display: none; }


  .ag-prev { grid-column: 1 !important; grid-row: 1 !important; }
  .ag-main { grid-column: 2 !important; grid-row: 1 !important; }
  .ag-next { grid-column: 3 !important; grid-row: 1 !important; }

  /* keep arrows centered nicely */
  .ag-nav {
    justify-self: center;
    align-self: center;
    transform: translateY(-22px); 
  }

  .ag-mainwrap {
    width: 100%;
    height: auto;         
    max-height: 70vh;      
    aspect-ratio: 3 / 4;   
  }
}



/* 1) make arrows bigger */
.ag-nav{
  width: 66px;              
  height: 66px;
  border-radius: 18px;

  display: grid;
  place-items: center;

  font-size: 28px;        
  line-height: 1;

  position: relative;       
  z-index: 10;           

  /* center in the teaser card area */
  align-self: center;
  justify-self: center;

  /* nudge up so it feels centered on the IMAGE, not the whole card (image+title) */
  transform: translateY(-22px);

  /* optional: nicer look */
  background: rgba(20,20,29,.85);
  border: 1px solid #2a2a35;
  backdrop-filter: blur(6px);
}


.ag-prev{ grid-column: 2; grid-row: 1; }
.ag-next{ grid-column: 4; grid-row: 1; }


.pixel-art {
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  -ms-interpolation-mode: nearest-neighbor;

  object-fit: contain;      
  background: #0b0b10;     
}




  












