@tailwind base;
@tailwind components;
@tailwind utilities;

/* POST BASIC ELEMENTS */

article .page-content {
  @apply text-base md:text-lg;
}

/** Pre */

article pre {
  @apply p-4 rounded-md my-4 border-l-4 border-garage-gray shadow-lg whitespace-pre-wrap;
}

/** Tables */

article table {
  @apply my-4 min-w-full divide-y divide-gray-200 shadow overflow-hidden border-b border-gray-200 sm:rounded-lg;
}

article table thead {
  @apply bg-gray-50;
}

article table tbody {
  @apply bg-white divide-y divide-gray-200;
}

article table thead tr th {
  @apply px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider;
}

article table tbody tr td {
  @apply px-6 py-4 whitespace-nowrap;
}

/** Blockquotes */

article blockquote {
  @apply my-2 py-2 pl-4 border-l-4 border-garage-orange;
}

/** Ul */

article ul {
  @apply py-4 list-disc ml-4;
}

article ul ul {
  @apply ml-4 py-0 list-disc;
}

article ul ol {
  @apply ml-4 py-0 list-decimal;
}

/** Ol */

article ol {
  @apply py-4 list-decimal ml-4;
}

article ol ol {
  @apply ml-4 py-0 list-decimal;
}

article ol ul {
  @apply ml-4 py-0 list-disc;
}

p > code, p > strong > code, li > code, li > strong > code {
  @apply bg-gray-100 text-base py-0.5 px-1 rounded font-semibold text-garage-gray shadow-inner;
}

.page-content > h1 {
  @apply text-2xl mt-6 mb-4 font-semibold text-gray-800;
}

.page-content > h2 {
  @apply text-xl mt-6 mb-4 font-semibold text-gray-800;
}

.page-content > h3 {
  @apply text-lg mt-6 mb-4 font-semibold text-gray-800;
}

.page-content {
  @apply text-garage-gray;
}

.page-content a {
  @apply font-semibold text-garage-orange border-b border-garage-orange hover:text-red-500 hover:border-red-500 transition-all duration-500;
}

.page-content img {
  @apply inline-block my-8 shadow rounded;
}

.is-active {
  @apply text-garage-orange;
}

@layer utilities {

  /** Main nav */

  #navMenuToggleBtn {
    position: absolute;
    left: -100vw;
  }

  #navMenuToggleBtn:checked + label {
    background: white;
    padding: 0.375rem;
    border-radius: 0.5rem;
    --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }

  #navMenuToggleBtn:checked ~ #navMenu {
    display: block;
  }

  /** Home map */

  #map-container {
    background-image: url('/images/map.svg');
    background-repeat: no-repeat;
    background-position: left;
    background-size: cover;
    background-attachment: fixed;
    height: 70vh;
  }

  @media screen and (max-width: 1280px) {
    #map-container {
      background-position: center;
      background-attachment: scroll;
      height: 50vh;
    }
  }

  @media screen and (max-width: 768px) {
    #map-container {
      background-position: 25% 50%;
      background-size: auto;
      background-attachment: scroll;
      height: 42vh;
    }
  }

  /** Documentation */
  #global_toc .deploySubMenu {
    position: absolute;
    left: -100vw;
  }

  #global_toc .deploySubMenu:checked ~ .subMenu {
    display: none;
  }

  #global_toc .deploySubMenu:checked + label .arrow {
    transform: rotate(0deg);
  }

  #documentation-section .page-content {
    line-height: 1.9rem;
  }

  #documentation-section .page-content p + p {
    margin-top: 1.15rem;
  }

  #documentation-section .page-content h1,
  #documentation-section .page-content h2,
  #documentation-section .page-content h3 {
    margin-top: 2.85rem;
  }
  #documentation-section .page-content h4,
  #documentation-section .page-content h5,
  #documentation-section .page-content h6 {
    margin-top: 2rem;
    font-weight: 600;
  }

  #documentation-section .page-content ul {
    list-style-type: "➡";
    padding-left: 1.25rem;
  }

  #documentation-section .page-content ol {
    padding-left: 1.25rem;
  }

  #documentation-section .page-content ul li,
  #documentation-section .page-content ol li {
    padding-left: 0.95rem;
  }
  #documentation-section .page-content ul li ul,
  #documentation-section .page-content ul li ol,
  #documentation-section .page-content ol li ul,
  #documentation-section .page-content ol li ol {
    padding-left: 0rem;
  }

  #documentation-section .page-content ul li ul,
  #documentation-section .page-content ol li ul {
    list-style-type: "➜";
  }

  @media screen and (max-width: 768px) {
    #documentation-section .page-content p {
      font-size: 0.95rem;
    }
    #documentation-section .page-content p + p {
      margin-top: 0.75rem;
    }
    #documentation-section .page-content code {
      font-size: 0.9rem;
    }
    #documentation-section .page-content pre {
      overflow-x: scroll;
      font-size: 0.95rem;
    }
    #documentation-section .page-content ul {
      padding-left: 0.25rem;
    }
    #documentation-section .page-content ul li {
      font-size: 0.95rem;
      padding-left: 0.75rem;
    }
    #documentation-section .page-content ul li a {
      font-size: 0.95rem;
    }
  }

  /** Blog */

  #blogpost-section .page-content p + p,
  #blogpost-section .page-content p + #continue-reading + p {
    margin-top: 2rem;
  }
  #blogpost-section .page-content #continue-reading {
    margin: 2rem 0;
  }

  #blogpost-section .page-content ul {
    list-style-type: "➡";
    padding-left: 1.25rem;
    margin: 2rem 0;
  }

  #blogpost-section .page-content hr {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #FF9329;
    margin: 35px auto;
  }

  #blogpost-section .page-content ul li {
    padding-left: 0.95rem;
  }
  
  #blogpost-section img {
    display: inline-block;
    margin: 2.75rem 0;
  }

}