:root {
  --bg: #d6d6d6;
  --formBg: #3a3a3a;
  --text: #3a3a3a;
  --formText: #d6d6d6;
  --button: #7f9f7f;
  --logo: #d4888d;
  --fontSize: 14px;
}

body {
  background: var(--bg);
  color: var(--text);
  margin: 0;
  display: flex;
  min-height: 100vh;
  font-family: Hack, monospace;
  font-size: var(--fontSize);
}

input, textarea, select {
  font-family: Hack, monospace;
  font-size: var(--fontSize);
}

a {
  color: inherit;
  text-decoration: none;
}

.container {
  display: flex;
  flex-direction: column;
  flex: 1;
  position: relative;
  width: 100%;
}

.navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
  background-color: var(--bg);
  border-bottom: 1px dashed var(--formBg);
  padding: 0 20px;
  z-index: 100;
}

.logo {
  font-weight: bold;
  font-size: 1.6rem;
  align-content: center;
  height: 100%;
  background-color: var(--formBg);
}

.logo a {
  padding-left: 15px;
  padding-right: 15px;
}

.links {
  display: flex;
  align-items: center;
  height: 100%;
}

.links a {
  border-right: 1px dashed var(--formBg);
  padding: 0 20px;
  height: 100%;
  align-content: center;
}

.links a:hover {
  transform: scaleX(1);
  text-decoration-line: underline;
  text-decoration-color: var(--logo);
}

.logo-part1 {
  color: var(--bg);
}

.logo-part2 {
  color: var(--logo);
}

/* FACTS Grid Container */

.facts-content {
  display: flex;
  flex-grow: 1;
}

.grid-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(4, 1fr);
  grid-template-areas:
    "fact-1 large-box large-box large-box"
    "fact-2 large-box large-box large-box"
    "fact-3 large-box large-box large-box"
    "fact-4 fact-5 fact-6 fact-7";
  padding: 0 20px;
}

.facts {
  border: 1px dashed var(--formBg);
  display: flex;
  justify-content: center;
  border-top: none !important;
  flex-direction: column;
  transition: background-color 0.5s ease, color 0.5s ease;
}

.fact-image-box {
  grid-area: large-box;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px dashed var(--formBg);
  border-bottom: 1px dashed var(--formBg);
  padding: 5px;
}

.fact-image {
  max-width: 80%;
  max-height: 80%;
  object-fit: cover;
  transition: opacity 0.3s ease-in-out;
  opacity: 1;
}

.fade-out {
  opacity: 0;
}

.fact-1 {
  grid-area: fact-1;
}
.fact-2 {
  grid-area: fact-2;
}
.fact-3 {
  grid-area: fact-3;
}
.fact-4 {
  grid-area: fact-4;
}
.fact-5 {
  grid-area: fact-5;
  border-left: none !important;
}
.fact-6 {
  grid-area: fact-6;
  border-left: none !important;
}
.fact-7 {
  grid-area: fact-7;
  border-left: none !important;
}

.no-bottom-border {
  border-bottom: none !important;
}

.fact-title {
  display: block;
  margin: 4px;
  font-weight: bold;
  padding-left: 1rem;
}

.facts p {
  margin: 4px;
  padding-left: 1rem;
}

.active-fact {
  background-color: var(--button);
  cursor: pointer;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .grid-container {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-template-areas:
      "large-box"
      "fact-1"
      "fact-2"
      "fact-3"
      "fact-4"
      "fact-5"
      "fact-6"
      "fact-7";
  }

  .fact-image-box {
    position: sticky;
    top: 30px;
    z-index: 10;
    background: var(--bg);
    border-left: 1px dashed var(--formBg) !important;
  }

  .fact-5 {
    grid-area: fact-5;
    border-left: 1px dashed var(--formBg) !important;
  }
  .fact-6 {
    grid-area: fact-6;
    border-left: 1px dashed var(--formBg) !important;
  }
  .fact-7 {
    grid-area: fact-7;
    border-left: 1px dashed var(--formBg) !important;
  }

  .fact-title {
    margin: 4px;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 0.5rem;
  }
  .facts p {
    margin: 4px;
    padding-bottom: 8px;
    padding-left: 0.5rem;
  }
}

@media (max-width: 1200px) {
  .fact-image {
    max-width: 85%;
    max-height: 85%;
  }

  .fact-image {
    max-width: 80%;
    max-height: 80%;
    object-fit: cover;
    transition: opacity 0.3s ease-in-out;
    opacity: 1;
  }

  .fade-out {
    opacity: 0;
  }
}

@media (max-width: 992px) {
  .fact-image {
    max-width: 90%;
    max-height: 90%;
  }
}

@media (max-width: 768px) {
  .fact-image {
    max-width: 100%;
    max-height: 100%;
  }
}

/* FOOTER FORM START */

.form-page {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1;
}

.form-container {
  max-width: 800px;
  width: 100%;
  padding: 20px;
  background-color: var(--formBg);
  color: var(--formText);
  margin-left: 20px;
  margin-right: 20px;
}

.footer-form {
  background-color: var(--formBg);
  padding: 20px;
  display: flex;
  justify-content: center;
}

.form-container-footer {
  width: 100%;
  max-width: 800px;
  background-color: var(--formBg);
  color: var(--formText);
}

.form-container-footer h2 {
  margin-bottom: 20px;
  font-size: 24px;
  color: var(--formText);
}

.form-group-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
}

.form-group-footer label {
  display: block;
  margin-bottom: 5px;
  padding-bottom: 10px;
  color: var(--formText);
  margin-right: auto;
  width: 100%;
}

.form-group-footer input,
.form-group-footer textarea {
  width: 100%;
  padding: 10px;
  margin-top: 5px;
  border: 1px solid var(--formText);
  box-sizing: border-box;
  color: var(--formText);
  background-color: var(--formBg);
  resize: vertical;
}

.form-group-footer input:focus,
.form-group-footer textarea:focus {
  outline: none !important;
  border: 1px solid var(--button);
}

.form-group-footer button {
  width: auto;
  padding: 10px 20px;
  border: none;
  background-color: var(--button);
  color: var(--text);
  font-size: 16px;
  cursor: pointer;
  margin-left: auto;
}

.form-group-footer button:hover {
  background-color: #d4888d;
}

/* FOOTER FORM END */

/* APPS START */
.apps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px dashed var(--formBg);
  border-top: none !important;
  margin-left: 20px;
  margin-right: 20px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-top: 20px;
  gap: 20px;
}

@media (max-width: 1200px) {
  .apps-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .apps-grid {
    grid-template-columns: repeat(1, 1fr);
  }
}

.app-card {
  background-color: var(--formBg);
  color: var(--formText);
  padding: 20px;
  box-shadow: 0 2px 4px var(--formBg);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  box-sizing: border-box;
  position: relative;
}

.app-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.app-header h2 {
  margin: 0;
  font-size: 1.5em;
}

.app-icon {
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  color: var(--logo);
}

.app-card p {
  margin: 10px 0;
  flex-grow: 1;
}

.app-card a {
  display: inline-block;
  color: var(--button);
  text-decoration: underline;
  margin-top: auto;
}

/* SINGLE APP START */
.app-detail {
  padding: 20px;
}

.app-detail h1 {
  margin-top: 0;
}

.app-card-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

/* SINGLE APP END */

/* APPS END */

/* ABOUT START */

.about {
  padding: 0 20px;
}

/* ABOUT END */
