*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

button {
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a {
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  font-family: "Noto Serif Dives Akuru";
  background-color: rgb(0, 0, 0);
  overflow-x: hidden;
}

html {
  overflow-y: scroll;
}
@media (max-width: 480px) {
  footer {
    width: 100vw;
    background-color: white;
    font-size: 8px;
    line-height: 1.2;
    padding: 8px 0;
    height: auto;
    min-height: calc(2 * 1.2em + 16px);
    box-sizing: border-box;
  }

  .nested-content {
    max-height: 0;
    overflow: hidden;
    background-color: #000000;
    padding: 0 15px;
    position: relative;
    transition: all 0.4s ease-in-out;
    opacity: 1;
    box-shadow: 0 7px 12px rgba(255, 255, 255, 0.4),
      0 -7px 12px rgba(255, 255, 255, 0.4), 0 7px 15px rgba(255, 255, 255, 0.2),
      0 -7px 15px rgba(255, 255, 255, 0.2);
  }

  .lastOne {
    margin-bottom: 0;
  }

  .nested-content.open {
    max-height: 3000px;
    opacity: 1;
    padding: 15px;
  }

  .sub-button {
    display: block;
    width: 100%;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s;
  }

  .text-content {
    background-color: #000000;
    border-radius: 5px;
    padding: 0 15px;
    margin-top: 10px;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all 0.3s ease-in-out;
    position: relative;
    color: white;
    display: flex;
    flex-direction: column;
    align-items: left;
    font-size: 25px;
    border: 1.5px solid white;
  }

  .text-content.open {
    max-height: 2000px;
    padding: 15px;
    opacity: 1;
  }

  .coinIMG {
    width: 100%;
  }

  .main-button {
    width: 50vw;
    color: white;
    cursor: pointer;
    margin-left: 25vw;
    transition: background-color 0.3s, transform 0.5s;
  }

  header {
    height: 20vw;
  }

  .kingName {
    margin-top: -15px;
    color: white;
    display: flex;
    justify-content: center;
    font-size: 20px;
  }

  .leftName {
    margin-left: -40vw;
  }

  .rightName {
    margin-left: 40vw;
  }

  .theme-checkbox {
    appearance: none;
    width: 100vw;
    height: 20vw;
    background-color: #000000;
    position: relative;
    cursor: pointer;
    overflow: hidden;
  }

  .theme-checkbox::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background-color: #ffffff;
    transition: transform 0.3s ease, border-radius 0.3s ease;
    transform: translateX(0%);
    border-radius: 0 30px 30px 0;
  }

  .theme-checkbox:checked::before {
    transform: translateX(100%);
    border-radius: 30px 0 0 30px;
  }

  .GEO {
    display: none;
  }

  .GEOflex {
    display: none;
  }

  #flagGrid {
    position: absolute;
    top: 0;
    width: 100vw;
    height: 25vw;
    z-index: 999;
    display: grid;
    grid-template-columns: 1fr 1fr;
    pointer-events: none;
  }

  #USAflag {
    width: 50%;
    margin-left: 25%;
    margin-top: 3.1%;
    transition: filter 0.3s ease;
  }

  #GEOflag {
    width: 50%;
    margin-left: 25%;
    margin-top: 3.1%;
    transition: filter 0.3s ease;
    filter: invert(1);
  }

  .leftOne {
    margin-left: 5vw;
  }

  .rightOne {
    margin-left: 45vw;
  }

  .mainBox {
    width: 100vw;
    height: 230px;
    overflow: hidden;
    position: relative;
  }

  .hatSVG {
    margin-top: 20px;
  }

  .bigArrow {
    margin-left: 85vw;
    width: 45px;
    margin-top: -50px;
    display: absolute;
    filter: invert(1);
    transition: rotate 0.3s ease;
  }

  .smallArrow {
    position: absolute;
    margin-left: 85vw;
    width: 35px;
    margin-top: -35px;

    filter: invert(1);
    transition: rotate 0.3s ease;
    pointer-events: none;
  }

  #davidUNIC {
    margin-top: 10px;
  }

  .line1 {
    position: absolute;
    background-color: white;
    width: 4px;
    height: 20px;
    left: 50vw;
    transform: translateX(-50%);
  }

  .line2 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 50vw;
    transform: translateX(-50%);
    height: 40px;
    margin-top: 30px;
  }

  .line3 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 50vw;
    transform: translateX(-50%);
    height: 10px;
  }

  .line4 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 50vw;
    transform: translateX(-50%);
    height: 10px;
  }

  .line5 {
    position: absolute;
    background-color: white;
    width: 40vw;
    left: 50vw;
    transform: translateX(-50%);
    height: 4px;
    margin-top: 10px;
  }

  .line6 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 30vw;
    transform: translateX(-50%);
    height: 15px;
    margin-top: 10px;
  }

  .line7 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 70vw;
    transform: translateX(-50%);
    height: 300px;
    margin-top: 10px;
  }

  .line8 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 30vw;
    transform: translateX(-50%);
    height: 60px;
    margin-top: 20px;
  }

  .line9 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 70vw;
    transform: translateX(-50%);
    height: 17px;
  }

  .line10 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 30vw;
    transform: translateX(-50%);
    height: 300px;
  }

  .line11 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 70vw;
    transform: translateX(-50%);
    height: 60px;
    margin-top: 20px;
  }

  .line12 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 30vw;
    transform: translateX(-50%);
    height: 25px;
  }

  .line13 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 70vw;
    transform: translateX(-50%);
    height: 300px;
  }

  .line14 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 70vw;
    transform: translateX(-50%);
    height: 25px;
  }

  .clickable {
    color: #ffffff;
    text-decoration: underline;
  }

  .modal {
    display: none;
    align-items: center;
    justify-content: center;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
  }

  .modal-content {
    color: white;
    background-color: black;
    margin: 5% auto;
    padding: 15px;
    border-radius: 5px;
    border: 1.5px solid white;
    position: relative;
    font-size: 25px;
    max-width: calc(100% - 50px); /* -30 if you want size as text-content */
  }

  .close {
    position: absolute;
    top: -15px;
    right: -8px;
    width: 40px;
    height: 40px;
    font-size: 25px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: black;
    color: white;
    border: 2px solid white;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    font-family: sans-serif !important;
  }

  .realExample {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    text-decoration: underline;
    margin-top: 5px;
    margin-bottom: 5px;
  }
}

@media (min-width: 480px) and (max-width: 1200px) {
  footer {
    width: 100vw;
    background-color: white;
    font-size: 8px;
    line-height: 1.2;
    padding: 8px 0;
    height: auto;
    min-height: calc(2 * 1.2em + 16px);
    box-sizing: border-box;
  }

  .nested-content {
    max-height: 0;
    overflow: hidden;
    background-color: #000000;
    /* margin: 30px 0; */
    padding: 0 15px;
    position: relative;
    transition: all 0.4s ease-in-out;
    opacity: 1;
    /* border-bottom: 1px solid white; */
    box-shadow: 0 7px 12px rgba(255, 255, 255, 0.4),
      0 -7px 12px rgba(255, 255, 255, 0.4), 0 7px 15px rgba(255, 255, 255, 0.2),
      0 -7px 15px rgba(255, 255, 255, 0.2);

    /* border-top: 1px solid white; */
  }

  .lastOne {
    margin-bottom: 0;
  }

  .nested-content.open {
    max-height: 3000px;
    opacity: 1;
    padding: 15px;
  }

  .sub-button {
    display: block;
    width: 100%;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s;
  }

  .text-content {
    width: 80%;
    margin-left: 10%;
    background-color: #000000;
    border-radius: 5px;
    padding: 0 15px;
    margin-top: 10px;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all 0.3s ease-in-out;
    position: relative;
    color: white;
    display: flex;
    flex-direction: column;
    align-items: left;
    font-size: 25px;
    border: 1.5px solid white;
  }

  .text-content.open {
    width: 80%;
    margin-left: 10%;
    max-height: 1200px;
    padding: 15px;
    opacity: 1;
  }

  .coinIMG {
    width: 40%;
    margin-left: 30%;
  }

  .main-button {
    width: 20vw;
    color: white;
    cursor: pointer;
    margin-left: 40vw;
    transition: background-color 0.3s, transform 0.5s;
  }

  .kingName {
    margin-top: -15px;
    color: white;
    display: flex;
    justify-content: center;
    font-size: 20px;
  }

  .leftName {
    margin-left: -40vw;
  }

  .rightName {
    margin-left: 40vw;
  }

  .theme-checkbox {
    appearance: none;
    width: 100vw;
    height: 10vw;
    background-color: #000000;
    position: relative;
    cursor: pointer;
    overflow: hidden;
  }

  header {
    height: 10vw;
  }
  .theme-checkbox::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background-color: #ffffff;
    transition: transform 0.3s ease, border-radius 0.3s ease;
    transform: translateX(0%);
    border-radius: 0 30px 30px 0;
  }

  .theme-checkbox:checked::before {
    transform: translateX(100%);
    border-radius: 30px 0 0 30px;
  }

  .GEO {
    display: none;
  }

  .GEOflex {
    display: none;
  }

  #flagGrid {
    position: absolute;
    top: 0;
    width: 50vw;
    margin-left: 25vw;
    height: 25vw;
    z-index: 999;
    display: grid;
    grid-template-columns: 1fr 1fr;
    pointer-events: none;
  }

  #USAflag {
    width: 50%;
    margin-left: -25%;
    margin-top: 3.1%;
    transition: filter 0.3s ease;
  }

  #GEOflag {
    width: 50%;
    margin-left: 75%;
    margin-top: 3.1%;
    transition: filter 0.3s ease;
    filter: invert(1);
  }

  .leftOne {
    margin-left: 20vw;
  }

  .rightOne {
    margin-left: 60vw;
  }

  .mainBox {
    width: 100vw;
    height: 230px;
    overflow: hidden;
    position: relative;
  }

  .hatSVG {
    margin-top: 20px;
  }

  .bigArrow {
    margin-left: 85vw;
    width: 45px;
    margin-top: -200px;
    display: absolute;
    filter: invert(1);
    transition: rotate 0.3s ease;
  }

  .smallArrow {
    position: absolute;
    margin-left: 66vw;
    width: 35px;
    margin-top: -35px;
    filter: invert(1);
    transition: rotate 0.3s ease;
    pointer-events: none;
  }

  #davidUNIC {
    margin-top: 10px;
  }

  .line1 {
    position: absolute;
    background-color: white;
    width: 4px;
    height: 20px;
    left: 50vw;
    transform: translateX(-50%);
  }

  .line2 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 50vw;
    transform: translateX(-50%);
    height: 180px;
    margin-top: 30px;
  }

  .line3 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 50vw;
    transform: translateX(-50%);
    height: 10px;
  }

  .line4 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 50vw;
    transform: translateX(-50%);
    height: 10px;
  }

  .line5 {
    position: absolute;
    background-color: white;
    width: 40vw;
    left: 50vw;
    transform: translateX(-50%);
    height: 4px;
    margin-top: 10px;
  }

  .line6 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 30vw;
    transform: translateX(-50%);
    height: 15px;
    margin-top: 10px;
  }

  .line7 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 70vw;
    transform: translateX(-50%);
    height: 300px;
    margin-top: 10px;
  }

  .line8 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 30vw;
    transform: translateX(-50%);
    height: 190px;
    margin-top: 20px;
  }

  .line9 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 70vw;
    transform: translateX(-50%);
    height: 17px;
  }

  .line10 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 30vw;
    transform: translateX(-50%);
    height: 300px;
  }

  .line11 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 70vw;
    transform: translateX(-50%);
    height: 180px;
    margin-top: 20px;
  }

  .line12 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 30vw;
    transform: translateX(-50%);
    height: 25px;
  }

  .line13 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 70vw;
    transform: translateX(-50%);
    height: 300px;
  }

  .line14 {
    position: absolute;
    background-color: white;
    width: 4px;
    left: 70vw;
    transform: translateX(-50%);
    height: 25px;
  }

  .clickable {
    color: #ffffff;
    text-decoration: underline;
  }

  .modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.7); /* full dark overlay */
    justify-content: center;
    align-items: center;
  }

  .modal-content {
    color: white;
    background-color: black;
    margin: 5% auto;
    padding: 15px;
    border-radius: 5px;
    border: 1.5px solid white;
    position: relative;
    font-size: 25px;
    max-width: 75%; /* -30 if you want size as text-content */
  }

  .close {
    position: absolute;
    top: -15px;
    right: -8px;
    width: 40px;
    height: 40px;
    font-size: 25px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: black;
    color: white;
    border: 2px solid white;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    font-family: sans-serif !important;
  }

  .realExample {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    text-decoration: underline;
    margin-top: 5px;
    margin-bottom: 5px;
  }
}

@media (min-width: 1200px) {
  footer {
    width: 100vw;
    background-color: white;
    font-size: 8px;
    line-height: 1.2;
    padding: 8px 0;
    height: auto;
    min-height: calc(2 * 1.2em + 16px);
    box-sizing: border-box;
  }

  .nested-content {
    max-height: 0;
    overflow: hidden;
    background-color: #000000;
    /* margin: 30px 0; */
    padding: 0 15px;
    position: relative;
    transition: all 0.4s ease-in-out;
    opacity: 1;
    /* border-bottom: 1px solid white; */
    box-shadow: 0 7px 12px rgba(255, 255, 255, 0.4),
      0 -7px 12px rgba(255, 255, 255, 0.4), 0 7px 15px rgba(255, 255, 255, 0.2),
      0 -7px 15px rgba(255, 255, 255, 0.2);

    /* border-top: 1px solid white; */
  }

  .lastOne {
    margin-bottom: 0;
  }

  .nested-content.open {
    max-height: 3000px;
    opacity: 1;
    padding: 15px;
  }

  .sub-button {
    display: block;
    width: 100%;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s;
  }

  .text-content {
    width: 70%;
    margin-left: 15%;
    background-color: #000000;
    border-radius: 5px;
    padding: 0 15px;
    margin-top: 10px;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all 0.3s ease-in-out;
    position: relative;
    color: white;
    display: flex;
    flex-direction: column;
    align-items: left;
    font-size: 25px;
    border: 1.5px solid white;
  }

  .text-content.open {
    width: 70%;
    margin-left: 15%;
    max-height: 1200px;
    padding: 15px;
    opacity: 1;
  }

  .coinIMG {
    width: 40%;
    margin-left: 30%;
  }

  .main-button {
    width: 20vw;
    color: white;
    cursor: pointer;
    margin-left: 40vw;
    transition: background-color 0.3s, transform 0.5s;
  }

  .kingName {
    margin-top: -25px;
    color: white;
    display: flex;
    justify-content: center;
    font-size: 30px;
  }

  .leftName {
    margin-left: -40vw;
    margin-top: -35px;
  }

  .rightName {
    margin-left: 40vw;
    margin-top: -35px;
  }

  .theme-checkbox {
    appearance: none;
    width: 100vw;
    height: 7vw;
    background-color: #000000;
    position: relative;
    cursor: pointer;
    overflow: hidden;
  }

  header {
    height: 7vw;
  }

  .theme-checkbox::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background-color: #ffffff;
    transition: transform 0.3s ease, border-radius 0.3s ease;
    transform: translateX(0%);
    border-radius: 0 30px 30px 0;
  }

  .theme-checkbox:checked::before {
    transform: translateX(100%);
    border-radius: 30px 0 0 30px;
  }

  .GEO {
    display: none;
  }

  .GEOflex {
    display: none;
  }

  #flagGrid {
    position: absolute;
    top: 0;
    width: 50vw;
    margin-left: 25vw;
    height: 25vw;
    z-index: 999;
    display: grid;
    grid-template-columns: 1fr 1fr;
    pointer-events: none;
  }

  #USAflag {
    width: 35%;
    margin-left: -25%;
    margin-top: 2.3%;
    transition: filter 0.3s ease;
  }

  #GEOflag {
    width: 35%;
    margin-left: 75%;
    margin-top: 2.3%;
    transition: filter 0.3s ease;
    filter: invert(1);
  }

  .leftOne {
    margin-left: 20vw;
  }

  .rightOne {
    margin-left: 60vw;
  }

  .mainBox {
    width: 100vw;
    height: 400px;
    overflow: hidden;
    position: relative;
  }

  .hatSVG {
    margin-top: 20px;
  }

  .bigArrow {
    margin-left: 85vw;
    width: 90px;
    margin-top: -300px;
    display: absolute;
    filter: invert(1);
    transition: rotate 0.3s ease;
  }

  .smallArrow {
    position: absolute;
    margin-left: 65vw;
    width: 70px;
    margin-top: -55px;

    filter: invert(1);
    transition: rotate 0.3s ease;
    pointer-events: none;
  }

  #davidUNIC {
    margin-top: 10px;
  }

  .line1 {
    position: absolute;
    background-color: white;
    width: 8px;
    height: 40px;
    left: 50vw;
    transform: translateX(-50%);
  }

  .line2 {
    position: absolute;
    background-color: white;
    width: 8px;
    left: 50vw;
    transform: translateX(-50%);
    height: 70px;
    margin-top: 30px;
  }

  .line3 {
    position: absolute;
    background-color: white;
    width: 8px;
    left: 50vw;
    transform: translateX(-50%);
    height: 10px;
  }

  .line4 {
    position: absolute;
    background-color: white;
    width: 8px;
    left: 50vw;
    transform: translateX(-50%);
    height: 10px;
  }

  .line5 {
    position: absolute;
    background-color: white;
    width: 40vw;
    left: 50vw;
    transform: translateX(-50%);
    height: 8px;
    margin-top: 10px;
  }

  .line6 {
    position: absolute;
    background-color: white;
    width: 8px;
    left: 30vw;
    transform: translateX(-50%);
    height: 25px;
    margin-top: 10px;
  }

  .line7 {
    position: absolute;
    background-color: white;
    width: 8px;
    left: 70vw;
    transform: translateX(-50%);
    height: 400px;
    margin-top: 10px;
  }

  .line8 {
    position: absolute;
    background-color: white;
    width: 8px;
    left: 30vw;
    transform: translateX(-50%);
    height: 90px;
    margin-top: 20px;
  }

  .line9 {
    position: absolute;
    background-color: white;
    width: 8px;
    left: 70vw;
    transform: translateX(-50%);
    height: 25px;
  }

  .line10 {
    position: absolute;
    background-color: white;
    width: 8px;
    left: 30vw;
    transform: translateX(-50%);
    height: 400px;
  }

  .line11 {
    position: absolute;
    background-color: white;
    width: 8px;
    left: 70vw;
    transform: translateX(-50%);
    height: 100px;
    margin-top: 20px;
  }

  .line12 {
    position: absolute;
    background-color: white;
    width: 8px;
    left: 30vw;
    transform: translateX(-50%);
    height: 40px;
  }

  .line13 {
    position: absolute;
    background-color: white;
    width: 8px;
    left: 70vw;
    transform: translateX(-50%);
    height: 400px;
  }

  .line14 {
    position: absolute;
    background-color: white;
    width: 8px;
    left: 70vw;
    transform: translateX(-50%);
    height: 35px;
  }

  .clickable {
    color: #ffffff;
    text-decoration: underline;
    cursor: pointer;
  }

  .modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.7); /* full dark overlay */
    justify-content: center;
    align-items: center;
  }

  .modal-content {
    color: white;
    background-color: black;
    margin: 5% auto;
    padding: 15px;
    border-radius: 5px;
    border: 1.5px solid white;
    position: relative;
    font-size: 25px;
    max-width: 40%; /* -30 if you want size as text-content */
  }

  .close {
    position: absolute;
    top: -15px;
    right: -8px;
    width: 40px;
    height: 40px;
    font-size: 25px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: black;
    color: white;
    border: 2px solid white;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    font-family: sans-serif !important;
  }

  .realExample {
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    text-decoration: underline;
    margin-top: 5px;
    margin-bottom: 5px;
  }
}
