/*! Second rework - now divided into sections:
Colors, Typography, General, Header, Main, Buttons, Map.

Change or add color variables in a :root selector, please.

any questions? -> github.com/nicesoul or t.me/truenicesoul
*/

/* === Colors === */

:root {
  --color-yellow: #f1dd7f;
  --color-orange: #e7ae44;
  --color-blue: #2fbed0;
  --color-green: #2fd096;
  --color-violet: #7173f8;
  --color-red: #d65b53;
  --color-grapefruit: #ec746c;

  --color-primary: #69d1d8;
  --color-background: #f4f5fa;
}

.bg-orange {
  background: var(--color-orange);
}

.bg-blue {
  background: var(--color-blue);
}

.bg-violet {
  background: var(--color-violet);
}

.bg-green {
  background: var(--color-green);
}

.bg-grapefruit {
  background: var(--color-grapefruit);
}

.bg-red {
  background: var(--color-red);
}

div::selection,
span::selection,
p::selection {
  color: white;
  background-color: var(--color-blue);
}

/* === Typography === */

body {
  font-family: 'Roboto', sans-serif;
  font-weight: 300;
  margin: 0;
  text-align: center;
}

p,
div {
  font-size: calc(16px + 0.2vw);
  font-size: clamp(1rem, calc(16px + 0.2vw), 2rem);
}

footer p,
footer div {
  font-size: calc(14px + 0.2vw);
  font-size: clamp(0.85rem, calc(14px + 0.2vw), 1.5rem);
}

.italic {
  font-style: italic;
  font-weight: 200;
}

.section-title {
  margin: 40px 10px 20px 10px;
  font-size: calc(24px + 0.2vw);
  font-size: clamp(1.5rem, calc(24px + 0.2vw), 2.5rem);
  font-weight: 400;
}

/* === General styles ===  */

a {
  color: white;
  border-radius: 4px;
  padding: 2px 6px;
  font-weight: 400;
  text-decoration: none;
  cursor: pointer;
  background: var(--color-blue);
  /* background: var(--color-grapefruit); */
}

a:hover,
a:focus {
  text-decoration: underline;
  opacity: 0.8;
}

p,
h1,
h2,
h3,
div {
  color: #333;
}

hr {
  border: none;
  height: 2px;
  background-color: var(--color-primary);
}

/* === Header ===  */

#title {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 100%;
  background: var(--color-primary);
  /* background-color: var(--color-grapefruit); */
  padding: 10px 0;
}

#title-container>a {
  font-size: 22px;
  font-weight: bold;
  background: var(--color-primary);
}

#title-container {
  position: relative;
  width: 100%;
  max-width: 440px;
  margin: auto;
  height: 33px;
}

/* === Main section ===  */

.buttons-container,
.description-container,
.footer-container {
  margin: 20px auto;
  padding: 10px;
  max-width: 900px;
}

.description-container {
  max-width: 452px;
}

/* === Main buttons === */

.link {
  display: inline-block;
  font-size: 20px;
  line-height: 1.2;
  margin: 10px;
  width: calc(100% - 16px);
  max-width: 440px;
  padding: 0.6em 0.4em;
  transition-duration: 0.2s;
}

@media screen and (max-width: 470px) {
  .link {
    font-size: 16px;
  }
}

@media screen and (min-width: 3840px) {
  .link {
    font-size: 24px;
    max-width: 520px;
  }

  .description-container {
    max-width: 536px;
  }
}

@media screen and (min-width: 7680px) {
  .link {
    font-size: 28px;
    max-width: 610px;
  }

  .description-container {
    max-width: 632px;
  }
}

.link:hover,
.link:focus {
  text-decoration: none;
  opacity: 0.6;
}

/* === Map === */

#map-title,
#map-container {
  background-color: #f4f5fa;
  padding: 20px;
}

#map-title {
  margin: 0;
  border-top: 3px solid #ebebeb;
  padding-bottom: 0;
}

#map-container {
  border-bottom: 3px solid #ebebeb;
}

#map {
  height: min(900px, 90vh);
  width: min(1600px, 90vw);
}

/* === Test section === */
/* .link {
  font-size: 20px;
  font-size: clamp(1rem, calc(16px + 0.3vw), 2rem);
  max-width: clamp(440px, calc(380px + 10vw), 820px);
} */