.block-contact-form {
  transition: all ease 0.3s;
}

@media screen and (min-width: 768px) and (max-width: 1080px) {
  .block-contact-form {
    padding: 132px 0 62px 0 !important;
  }
}

@media (min-width: 1080px) {
  .block-contact-form {
    padding: 112px 0 62px 0 !important;
  }
}

/* Contact Form Styling */
.block-contact-form.bg-grey {
  background-color: #efefec;
}

.block-contact-form.bg-magenta {
  background-color: #fc4c5d;
}

.block-contact-form.bg-purple {
  background-color: #6c4ede;
}

.block-contact-form.bg-white {
  background-color: #f7f7f5;
}

.block-contact-form .container .content-container {
  margin-bottom: 40px;
}

@media (min-width: 820px) {
  .block-contact-form .container .content-container {
    margin-bottom: 0;
  }
}

.block-contact-form .container .header-container .heading {
  margin: 0;
  font-family: "Open Sans", Helvetica, sans-serif;
  font-weight: 400;
}

.block-contact-form .container .header-container .heading em,
.block-contact-form .container .header-container .heading strong {
  font-family: "adobe-caslon-pro";
  font-weight: 900;
}

.block-contact-form .container .text-container p.cta-text {
  font-weight: 900;
}

@media (min-width: 820px) {
  .block-contact-form .container .text-container p.cta-text {
    font-size: 20px;
    line-height: 28px;
  }
}

.block-contact-form.bg-magenta .container .header-container .heading,
.block-contact-form.bg-purple .container .header-container .heading,
.block-contact-form.bg-magenta .container .text-container p,
.block-contact-form.bg-purple .container .text-container p {
  color: #ffffff;
}

.block-contact-form.bg-grey .container .header-container .heading,
.block-contact-form.bg-white .container .header-container .heading {
  color: #28194b;
}

.block-contact-form.bg-grey .container .text-container p,
.block-contact-form.bg-white .container .text-container p {
  color: #000000;
}

/* Grid */
.block-contact-form .container .grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-gap: 1.25em;
  width: 100%;
}

@media (min-width: 820px) {
  .block-contact-form .container .grid {
    grid-gap: 2.5em;
    align-items: center;
  }
}

.block-contact-form .container .grid .grid-item {
  grid-column: span 12;
}

@media screen and (min-width: 820px) and (max-width: 1250px) {
  .block-contact-form .container .grid .grid-item:nth-child(1) {
    grid-column: span 5;
  }
  .block-contact-form .container .grid .grid-item:nth-child(2) {
    grid-column: span 7;
  }
}

@media (min-width: 1250px) {
  .block-contact-form .container .grid .grid-item:nth-child(1) {
    grid-column: 1 / 5;
  }
  .block-contact-form .container .grid .grid-item:nth-child(2) {
    grid-column: 6 / 13;
  }
}

/* Contact Form */
.block-contact-form .gform_wrapper {
  padding: 20px 20px 40px 20px;
  position: relative;
  background-color: #ffffff;
  border: 0;
  border-radius: 5px;
}

@media (min-width: 820px) {
  .block-contact-form .gform_wrapper {
    padding: 40px;
  }
}

.block-contact-form .gform_wrapper.gravity-theme .gform_fields {
  grid-row-gap: 20px !important;
}

.block-contact-form .gform_wrapper .gform_required_legend {
  display: none;
}

.block-contact-form .gform_wrapper .heading p {
  margin: 0;
  color: #28194b;
  font-family: "Open Sans", Helvetica, sans-serif;
  font-weight: 400;
}

.block-contact-form .gform_wrapper .heading p span {
  font-weight: 900;
}

@media (min-width: 820px) {
  .block-contact-form .gform_wrapper .heading p {
    font-size: 20px;
    line-height: 28px;
  }
}

.block-contact-form .gform_wrapper.gravity-theme .gfield_label {
  color: #5532db;
  font-size: 14px;
  line-height: 22px;
  font-family: "Open Sans", Helvetica, sans-serif;
  font-weight: 900;
  text-transform: uppercase;
}

.block-contact-form .gform_wrapper .top_label input[type="text"],
.block-contact-form .gform_wrapper .top_label input[type="email"] {
  color: #5f6060;
  font-size: 14px;
  line-height: 22px;
  font-family: "Open Sans", Helvetica, sans-serif;
  font-weight: 100;
  font-style: italic;
  border: 1px solid #8a8c8c !important;
  border-radius: 5px;
}

.block-contact-form .gform_wrapper .top_label textarea {
  border: 1px solid #8a8c8c !important;
  border-radius: 5px;
}

.block-contact-form .gform_wrapper.gravity-theme .gfield textarea.large {
  height: 210px;
}

.gform_wrapper.gravity-theme .description,
.gform_wrapper.gravity-theme .gfield_description,
.gform_wrapper.gravity-theme .gsection_description,
.gform_wrapper.gravity-theme .instruction {
  color: #5f6060;
  font-size: 14px;
  line-height: 22px;
  font-family: "Open Sans", Helvetica, sans-serif;
  font-weight: 100;
  font-style: italic;
}

.block-contact-form .gform_wrapper .gfield_required {
  color: #fc4c5d !important;
  display: inline-block !important;
  font-size: inherit !important;
  padding-left: 0.25em;
}

@media screen and (max-width: 820px) {
  .block-contact-form .form-required {
    position: absolute;
    bottom: 20px;
    left: 20px;
  }
}

@media screen and (min-width: 820px) and (max-width: 1250px) {
  .block-contact-form .form-required {
    position: absolute;
    bottom: 20px;
    left: 40px;
  }
}

@media screen and (min-width: 1250px) {
  .block-contact-form .form-required {
    position: absolute;
    bottom: 71px;
    right: 40px;
  }
}

.block-contact-form .form-required p {
  margin: 0;
  color: #5f6060;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.block-contact-form .form-required .asterisk {
  color: #fc4c5d;
}

/* Button */
.block-contact-form .gform_wrapper .gform_footer input.button {
  margin: 0;
  padding: 16px 32px 10px 32px;
  border-radius: 3em;
  border: none;
  background: #fc4c5d;
  color: #28194b;
  font-size: 14px;
  line-height: normal;
  font-family: "adobe-caslon-pro";
  font-weight: 900;
  text-transform: none;
}

@media screen and (min-width: 400px) and (max-width: 820px) {
  .block-contact-form .gform_wrapper .gform_footer input.button {
    padding: 16px 48px 10px 48px;
    font-size: 16px;
  }
}

@media screen and (min-width: 820px) {
  .block-contact-form .gform_wrapper .gform_footer input.button {
    padding: 16px 48px 10px 48px;
    font-size: 1.2rem;
  }
}

.block-contact-form .gform_wrapper .gform_footer input.button.magenta:hover {
  background: #fb2b3f;
}

/* Confirmation */
.block-contact-form .gform_confirmation_message {
  color: #ffffff;
  font-size: 20px;
  line-height: 26px;
  font-weight: 700;
  transition: all ease 0.3s;
}

@media screen and (min-width: 820px) {
  .block-contact-form .gform_confirmation_message {
    font-size: 28px;
    line-height: 34px;
  }
}
