/*
Theme Name: Twenty Twenty-one Child
Version: 1.6
Template: twentytwentyone
*/
:root {
  --viewport-width: min(100vw, 1600px);
  --b: calc(var(--viewport-width) / 160);
}

@media screen and (max-width: 550px) {
  :root {
    --viewport-width: max(100vw, 550px);
    --b: calc(var(--viewport-width) / 55);
  }
}
#contact {
  gap: 7.5rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-top: 10rem;
  padding-left: 10%;
  margin-top: -3rem;
  z-index: 1000;
  background: #fff;
  border-top-left-radius: 3rem;
}
@media screen and (max-width: 550px) {
  #contact {
    gap: 20px;
    padding-left: 5%;
  }
}
#contact .contact__left {
	@media screen and (max-width: 550px) {
		width: 15%;
	}
}
#contact .contact__left--text h3 {
  font-size: 4rem;
  line-height: 1;
  letter-spacing: 0.2em;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
}
@media screen and (max-width: 550px) {
  #contact .contact__left--text h3 {
    font-size: 22px;
  }
}
#contact .contact__left--text span {
  display: block;
  color: #4683B4;
  font-size: 1.8rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
}
@media screen and (max-width: 550px) {
  #contact .contact__left--text span {
    font-size: 11px;
  }
}
#contact .contact__right {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-top: 1px solid #0F101D;
  padding-top: 10rem;
  padding-right: 10%;
}
@media screen and (max-width: 550px) {
  #contact .contact__right {
    padding-top: 50px;
    padding-right: 5%;
  }
}
#contact .contact__right .contact-form .form__wrapper {
  gap: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 550px) {
  #contact .contact__right .contact-form .form__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#contact .contact__right .contact-form .form__wrapper .form__group {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#contact .contact__right .contact-form .form__group {
  margin-bottom: 4rem;
}
@media screen and (max-width: 550px) {
  #contact .contact__right .contact-form .form__group {
    margin-bottom: 2rem;
  }
}
#contact .contact__right .contact-form .form__group label {
  display: block;
  margin-bottom: 1rem;
  font-size: max(1.6rem, 14px);
  font-weight: 500;
}
@media screen and (max-width: 550px) {
  #contact .contact__right .contact-form .form__group label {
    font-size: 14px;
    line-height: 1;
  }
}
#contact .contact__right .contact-form .form__group label .required {
  color: #ff0000;
  margin-left: 0.5rem;
}
#contact .contact__right .contact-form .form__group input,
#contact .contact__right .contact-form .form__group textarea {
  width: 100%;
  padding: 1.5rem;
  border: 1px solid #4683B4;
  border-radius: 1rem;
  font-size: max(1.6rem, 14px);
}
@media screen and (max-width: 550px) {
  #contact .contact__right .contact-form .form__group input,
  #contact .contact__right .contact-form .form__group textarea {
    padding: 0.5rem;
  }
}
#contact .contact__right .contact-form .form__group input:focus,
#contact .contact__right .contact-form .form__group textarea:focus {
  outline: none;
  border-color: #38688f;
}
#contact .contact__right .contact-form .form__group textarea {
  height: 200px;
  resize: vertical;
}
#contact .contact__right .contact-form .form__button {
  text-align: center;
  margin-top: 6rem;
}
@media screen and (max-width: 550px) {
  #contact .contact__right .contact-form .form__button {
    margin-top: 4rem;
  }
}
#contact .contact__right .contact-form .form__button button {
  width: 50%;
  color: #fff;
  font-size: max(1.8rem, 16px);
  letter-spacing: 0.2em;
  padding: 1.5rem 6rem;
  border: none;
  border-radius: 20px;
  background: #4683B4;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 550px) {
  #contact .contact__right .contact-form .form__button button {
    width: 100%;
    font-size: 14px;
    padding: 1rem 20px;
  }
}
#contact .contact__right .contact-form .form__button button:hover {
  background: #38688f;
}
#contact .contact__right .contact-confirm {
  max-width: 1000px;
  margin: 0 auto;
}
#contact .contact__right .contact-confirm h2 {
  text-align: center;
  font-size: max(2.4rem, 20px);
  margin-bottom: 6rem;
  font-weight: 500;
}
#contact .contact__right .contact-confirm .confirm-content dl dt {
  font-weight: 500;
  padding: 2rem 0 1rem;
  font-size: max(1.6rem, 14px);
  border-top: 1px solid #eee;
}
#contact .contact__right .contact-confirm .confirm-content dl dt:first-of-type {
  border-top: none;
  padding-top: 0;
}
#contact .contact__right .contact-confirm .confirm-content dl dd {
  padding-bottom: 2rem;
  font-size: max(1.6rem, 14px);
}
#contact .contact__right .contact-confirm .form-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3rem;
  margin-top: 6rem;
}
@media screen and (max-width: 550px) {
  #contact .contact__right .contact-confirm .form-buttons {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2rem;
  }
}
#contact .contact__right .contact-confirm .form-buttons button {
  display: grid;
  place-items: center;
  min-width: 200px;
  padding: 1.5rem 6rem;
  font-size: max(1.8rem, 16px);
  border: none;
  border-radius: 20px;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 550px) {
  #contact .contact__right .contact-confirm .form-buttons button {
    width: 100%;
    padding: 10px 5px;
    font-size: 14px;
    border-radius: 10px;
  }
}
#contact .contact__right .contact-confirm .form-buttons button[type=button] {
  background: #eee;
  color: #333;
}
#contact .contact__right .contact-confirm .form-buttons button[type=button]:hover {
  background: #d5d5d5;
}
#contact .contact__right .contact-confirm .form-buttons button[type=submit] {
  background: #4683B4;
  color: #fff;
}
#contact .contact__right .contact-confirm .form-buttons button[type=submit]:hover {
  background: #38688f;
}
#contact .contact__right .contact-thanks {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}
#contact .contact__right .contact-thanks h2 {
  font-size: max(2.4rem, 20px);
  margin-bottom: 3rem;
  font-weight: 500;
}
@media screen and (max-width: 550px) {
  #contact .contact__right .contact-thanks h2 {
    font-size: 18px;
    letter-spacing: 0.1em;
  }
}
#contact .contact__right .contact-thanks h2 span {
  display: inline-block;
}
#contact .contact__right .contact-thanks p {
  font-size: max(1.6rem, 14px);
  line-height: 2;
  margin-bottom: 6rem;
}
@media screen and (max-width: 550px) {
  #contact .contact__right .contact-thanks p {
    font-size: 14px;
  }
}
#contact .contact__right .contact-thanks .button .btn {
  display: inline-block;
  background: #4683B4;
  color: #fff;
  padding: 1.5rem 6rem;
  border-radius: 20px;
  font-size: max(1.8rem, 16px);
  text-decoration: none;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 550px) {
  #contact .contact__right .contact-thanks .button .btn {
    font-size: 14px;
    padding: 10px 5px;
  }
}
#contact .contact__right .contact-thanks .button .btn:hover {
  background: #38688f;
}