@import url("https://fonts.googleapis.com/css2?family=Karla:ital,wght@0,200..800;1,200..800&display=swap");
@font-face {
  font-family: "Karla", sans-serif;
  src: url(../assets/fonts/Karla-VariableFont_wght.ttf) format(truefont);
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  /* font: inherit; */
}

html,
body {
  height: 100%;
  /* min-height: 100vh; */
}

/* html {
  scroll-behavior: smooth;
  color-scheme: dark light;
} */
body,
a {
  font-family: Karla, sans-serif;
}

body {
  background-color: hsl(148, 38%, 91%);
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  flex-direction: column;
  gap: 15px;
  padding: 25px 15px;
  color: hsl(187, 24%, 22%);
  font-weight: 400;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance;
}

p,
li,
figcaption {
  max-width: 65ch;
  text-wrap: pretty;
}

a,
button {
  transition-duration: 0.25s;
  cursor: pointer;
}

img,
picture,
svg,
video {
  display: block;
  max-width: 100%;
}

input,
textarea,
button,
select {
  font: inherit;
}

main {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  flex-direction: column;
  position: relative;
}

.contactForm {
  background-color: hsl(0, 0%, 100%);
  padding: 24px;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 25px;
  border-radius: 15px;
  max-width: 375px;
}
.contactForm h1 {
  color: hsl(187, 24%, 22%);
  font-weight: 700;
}
.contactForm span {
  color: hsl(169, 82%, 27%);
}
.contactForm input,
.contactForm textarea {
  width: 100%;
  border-radius: 6px;
  border: 1px solid hsl(186, 15%, 59%);
  padding: 12px 15px;
}
.contactForm input:focus,
.contactForm textarea:focus {
  outline: none;
  border: 1px solid hsl(169, 82%, 27%);
}
.contactForm input:user-invalid,
.contactForm textarea:user-invalid {
  border: 1px solid hsl(0, 66%, 54%);
}
.contactForm input:checked,
.contactForm textarea:checked {
  accent-color: hsl(169, 82%, 27%);
}
.contactForm textarea {
  resize: none;
}
.contactForm label {
  font-size: 1rem;
}

.wrapper {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  flex-direction: column;
  gap: inherit;
}

.checkBoxInputArea,
.inputArea {
  display: flex;
  align-items: flex-start;
  justify-content: space-evenly;
  flex-direction: column;
  transition-duration: 0.3s;
}

.inputArea {
  display: flex;
  align-items: flex-start;
  justify-content: space-evenly;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

fieldset {
  border: none;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  width: 100%;
  flex-direction: column;
  gap: 15px;
}
fieldset .invalidText {
  align-self: flex-start;
}

legend {
  margin-bottom: 20px;
}

.radioGroup {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 15px;
  border-radius: 6px;
  border: 1px solid hsl(186, 15%, 59%);
  width: 100%;
  padding: 15px 25px;
  cursor: pointer;
  transition-duration: 0.3s;
}
.radioGroup:hover, .radioGroup:focus {
  background-color: hsl(148, 38%, 91%);
}
.radioGroup input,
.radioGroup label {
  cursor: inherit;
}
.radioGroup input {
  width: 20px;
  height: 20px;
}
.radioGroup input:checked {
  background-color: hsl(148, 38%, 91%);
}
.radioGroup label {
  width: 100%;
}

.checkBoxInputArea {
  align-items: center;
  gap: 10px;
}

.checkBoxGroup {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  gap: 25px;
  padding: 0px 8px;
}
.checkBoxGroup input {
  width: 18px;
  height: 18px;
  appearance: none;
  padding: 0;
  border-radius: 2px;
}
.checkBoxGroup input:checked {
  background-image: url("../assets/images/icon-checkbox-check.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  border: none;
}

.submitBTN {
  border: none;
  width: 100%;
  color: hsl(0, 0%, 100%);
  background-color: hsl(169, 82%, 27%);
  padding: 15px;
  border-radius: 6px;
  cursor: pointer;
}
.submitBTN:hover {
  background-color: hsl(187, 24%, 22%);
}

.invalidText {
  color: hsl(0, 66%, 54%);
}

@keyframes SlideDown {
  0% {
    top: -150px;
  }
  100% {
    top: 0;
  }
}
.messageBox {
  background-color: hsl(187, 24%, 22%);
  color: hsl(0, 0%, 100%);
  padding: 30px;
  border-radius: 12px;
  display: none;
  flex-direction: column;
  gap: 10px;
  position: absolute;
  top: 0;
  animation-name: SlideDown;
  animation-duration: 1.25s;
}
.messageBox .messageHead {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
}
.messageBox h2 {
  font-size: 18px;
}
.messageBox p {
  color: hsl(148, 38%, 91%);
}

@media screen and (width >= 1024px) {
  .contactForm {
    max-width: 1440px;
    width: 50vw;
    align-items: flex-start;
    padding: 32px;
  }
  .contactForm textarea {
    max-height: 108px;
  }
  .wrapper {
    flex-direction: row;
    gap: 15px;
    align-items: flex-start;
  }
}
@media screen and (width <= 1024px) {
  fieldset {
    flex-wrap: wrap;
  }
}

/*# sourceMappingURL=styles.css.map */
