/**********************************
*                                 *
*   VARIABLES                     *
*                                 *
**********************************/

/* :root {
  --nav-color: wheat;
  --nav-text: rgb(75, 40, 15);
  --primary-color: wheat;
  --secondary-color: saddlebrown;
  --accent-color: firebrick;
  --txt-color: rgb(75, 40, 15);
} */


:root {
  --nav-color: rgb(56, 70, 82);
  --nav-text: white;
  --primary-color: rgb(56, 70, 82);
  --secondary-color: rgb(60, 100, 150);
  --accent-color: lightskyblue;
  --txt-color:white;
  /* --txt-color: rgb(0, 15, 75); */
}



/**********************************
*                                 *
*   FONTS                         *
*                                 *
**********************************/

@font-face {
  font-family: "Agraham";
  src: url(./fonts/agraham/Agraham.otf);
}

@font-face {
  font-family: "Mileast";
  src: url(./fonts/mileast/Mileast.otf);
}

@font-face {
  font-family: "Gafiya Regular";
  src: url(./fonts/gafiya/Gafiya-Regular.otf);
}



/**********************************
*                                 *
*   GENERAL                       *
*                                 *
**********************************/
/* *{ outline: 1px solid red; } */

*,
*::before,
*::after {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

html {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

body {
  margin-left: 5%;
  margin-right: 5%;
  background-color: var(--primary-color);
  color: var(--txt-color);
  font-family: Georgia, serif;
  font-size: 1.5rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

main {
  padding: 2em 3em;
  margin-left: 5%;
  margin-right: 5%;
  display: flex;
  flex-direction: column;
  border-radius: 0.8em;
  gap: min(1em, 5%);
}

header, footer {
  font-family: 'Mileast', Georgia, serif;
  display: flex;
  align-items: center;
  padding: min(1em, 5%);
  justify-content: space-between;

}

h1 {
  font-family: 'Agraham', Georgia, serif;
  font-size: 1em;
}



/**********************************
*                                 *
*   LINK DECORATION               *
*                                 *
**********************************/
a:link, a:visited {
  color: var(--nav-text);
  text-decoration: none;
  border-radius: 0.8em;
  transition: 0.6s;
  padding-left: 0.25em;
  padding-right: 0.25em;
}

a:hover {
  color: var(--nav-text);
  background-color:var(--secondary-color);
  text-decoration: underline;
  transform: translateY(-0.15em);
  transition: 0.6s;
}



/**********************************
*                                 *
*   FORM DECORATION               *
*                                 *
**********************************/
form {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}

input, button, textarea {
  padding: 0.75em;
  font-family: 'Mileast', Georgia, serif;
  font-size: 1em;
  color: var(--primary-color);
  border-radius: 0.8em;
  border: 0;
  transition: 0.6s;
}

input:active {
  background-color: lightblue;
}

button {
  align-self: center;
  font-family: 'Mileast', Georgia, serif;
  font-size: 1em;
  color: var(--txt-color);
  background-color: var(--secondary-color);
  cursor: pointer;
}

button:hover {
  color: var(--nav-text);
  background-color:var(--secondary-color);
  text-decoration: underline;
  transform: translateY(-0.15em);
  transition: 0.6s;
}

textarea {
  resize: none;
  height: 20vh;
}



/**********************************
*                                 *
*   WITHIN HEADER/NAVBAR          *
*                                 *
**********************************/
/* header {
  border-bottom: 0.25em solid var(--secondary-color);
  border-left: 0.15em solid var(--secondary-color);
  border-right: 0.15em solid var(--secondary-color);
  border-radius: 0 0 0.8em 0.8em;
} */

ul {
  display: flex;
  padding: 1rem;
  list-style: none;
  gap: 1rem;
  justify-content: end;
}

li {
  padding: 1rem;
  font-size: 1.25em;
}


/**********************************
*                                 *
*   WITHIN MAIN                   *
*                                 *
**********************************/
.text-with-picture {
  display: flex;
  justify-content: space-around;
  gap: 3rem;
}

.text-with-picture img {
  object-fit: cover;
  width: 30vw;
  height: auto;
  aspect-ratio: 1 / 1;
  border-radius: 0.8em;
  /* outline: 0.25em solid var(--nav-color); */
  border: 0.25em solid var(--secondary-color);
}

h2 {
  color: var(--accent-color);
  -webkit-text-stroke: 10% var(--secondary-color);
  font-size: 3em;
  font-family: 'Gafiya Regular', Georgia, serif;
}

div > div{
  margin-bottom: 1.5em;
}

h3 {
  margin-bottom: 0.5em;
}

p {
  margin-left: 0.5em;
  margin-bottom: 0.5em;
}

hr {
  border: 0;
  height: 0.1em;
  background-image: linear-gradient(to right, var(--primary-color), var(--secondary-color), var(--primary-color));
}  

main a:link, main a:visited {
  color: var(--txt-color);
  text-decoration: underline;
  border-radius: 0;
  padding: 0;
}

main a:hover {
  color: var(--primary-color);
  background-color: var(--txt-color);
  text-decoration: underline;
  border-radius: 0.2em;
  /* padding-left: 0.25em;
  padding-right: 0.25em; */
}



/**********************************
*                                 *
*   WITHIN FOOTER                 *
*                                 *
**********************************/
footer {
  align-items: center;
  justify-self: flex-end;
  /* border-top: 0.25em solid var(--secondary-color);
  border-left: 0.15em solid var(--secondary-color);
  border-right: 0.15em solid var(--secondary-color);
  border-radius: 0.8em 0.8em 0 0; */
}

footer ul {
  gap: 0;
  align-items: center;
}

footer li {
  padding: 0.75rem;
  font-size: 1em;
}

footer li img {
  display: block;
  width: 3.5rem;
  height: auto;
  filter: invert(100%);

}



/**********************************
*                                 *
*   MOBILE RESPONSIVENESS         *
*                                 *
**********************************/
@media screen and (min-width: 300px) and (max-width: 767px) {
  main {
    margin-left: 0;
    margin-right: 0;
    padding:0;
  }

  header, footer{
    flex-direction: column;
  }

  main, footer {
    text-align: center;
  }

  .text-with-picture, footer {
    flex-direction: column-reverse;
    align-items: center;
  }

  .text-with-picture img {
    width: 50vw;
  }
}