.form {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  justify-content: start;
  justify-items: start;
  align-content: center;
  align-items: center;
  gap: 3.6rem;
  width: 100%;
  border-radius: 1.2rem;
  background-color: var(--light-grey);
  box-shadow: 0 0 1.2rem 0 var(--shadow);
  padding: 1.2rem;
}

@media (min-width: 1280px) {
  .form {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(5, auto);
  }
}

.honey {
  display: none;
}

.input-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 0.6rem;
  width: 100%;
}

@media (min-width: 1280px) {
  .input-box-left {
    grid-column: 1;
  }

  .input-box-right {
    grid-column: 2;
  }

  .input-box-full {
    grid-column: 1 / span 2;
  }

  .input-box-date {
    grid-column: 1;
    grid-row: 3;
  }

  .terms-input-box {
    grid-column: 1 / span 2;
    grid-row: 4;
  }

  .form-cta {
    grid-column: 1;
    grid-row: 5;
  }
}

.input-label {
  font-family: montserrat, sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--dark-grey);
}

.input-field {
  box-sizing: border-box;
  width: 100%;
  font-family: montserrat, sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  border: none;
  border-radius: 0.6rem;
  color: var(--light-grey);
  background-color: var(--dark-grey);
  padding: 1.2rem;
  transition: all 0.3s ease-in-out;
}

.input-textarea {
  box-sizing: border-box;
  width: 100%;
  font-family: montserrat, sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  border: none;
  border-radius: 0.6rem;
  resize: vertical;
  color: var(--light-grey);
  background-color: var(--dark-grey);
  padding: 1.2rem;
  transition: all 0.3s ease-in-out;
}

.input-field::placeholder,
.input-textarea::placeholder {
  color: var(--light-grey);
  opacity: 1;
}

.input-field::-webkit-input-placeholder,
.input-textarea::-webkit-input-placeholder {
  color: var(--light-grey);
}

.input-field:focus,
.input-textarea:focus {
  outline: none;
}

.input-field-date {
  text-transform: uppercase;
  cursor: pointer;
  padding-right: 4rem;
}

.input-field-date::-webkit-calendar-picker-indicator {
  opacity: 0;
  display: none;
  -webkit-appearance: none;
}

.input-field-date::-webkit-inner-spin-button,
.input-field-date::-webkit-clear-button {
  display: none;
  -webkit-appearance: none;
}

.input-field-icon {
  position: absolute;
  top: 50%;
  right: 1.2rem;
  transform: translateY(-50%);
  pointer-events: none;
  color: var(--light-grey);
  z-index: 2;
}

.input-field-wrapper {
  position: relative;
  width: 100%;
}

.terms-input-box {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.terms-input-label-box {
  display: flex;
  justify-content: start;
  align-items: center;
  gap: 1.2rem;
}

.terms-input {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  justify-content: center;
  justify-items: center;
  align-content: center;
  align-items: center;
}

.terms-button {
  grid-column: 1;
  grid-row: 1;
  height: 3.6rem;
  width: 3.6rem;
  border: none;
  background: transparent;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  box-shadow: none;
}

.terms-button:focus {
  outline: none;
}

.terms-button:checked {
  outline: none;
  background-color: transparent;
}

.terms-button-icon {
  grid-column: 1;
  grid-row: 1;
  pointer-events: none;
  border-radius: 100rem;
  color: var(--dark-grey);
  background-color: var(--dark-grey);
  padding: 0.6rem;
  z-index: 2;
}

.terms-button:checked + .terms-button-icon {
  color: var(--light-grey);
}

.input-link {
  font-family: montserrat, sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--dark-grey);
  text-decoration: underline;
  transition: all 0.3s ease-in-out;
}

.input-link:active {
  color: var(--green-yellow);
}

@media (min-width: 1280px) {
  .input-link:hover {
    color: var(--green-yellow);
  }

  .input-link:active {
    color: var(--dark-grey);
  }
}

.error-message {
  display: none;
  font-weight: 700;
  text-align: left;
  color: red;
}

.form-cta {
  cursor: pointer;
  outline: none;
  border: none;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
}

.alt-contact-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 3.6rem;
}

.alt-contact-link {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.2rem;
  font-family: montserrat, sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  text-decoration: none;
  color: var(--light-grey);
}

.alt-contact-icon {
  border-radius: 100rem;
  color: var(--dark-grey);
  background-color: var(--light-grey);
  padding: 0.6rem;
}

.resort-specific-alt-contact {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 1.2rem;
}

.location-info-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

@media (min-width: 768px) {
  .location-info-container {
    margin-top: 3.6rem;
  }
}

.resort-info-container {
  grid-row: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 3.6rem;
}

@media (min-width: 768px) {
  .resort-info-container {
    grid-row: 2;
  }
}

.google-maps-link {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.2rem;
  font-family: montserrat, sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: none;
  color: var(--light-grey);
}

.location-info-icon {
  color: var(--light-grey);
}

.resort-specific-location-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 1.2rem;
}

.google-maps {
  grid-row: 2;
  height: 48rem;
  width: 100%;
  outline: none;
  border: none;
  border-radius: 1.2rem;
  box-shadow: 0 0 1.2rem 0 var(--shadow);
}

@media (min-width: 768px) {
  .google-maps {
    grid-row: 1;
  }
}

.operating-hours-list {
  list-style-type: none;
  list-style-position: inside;
  text-align: left;
}
