/*
Contact
*/

/* General
========================= */
.contact .site-inner { padding: 0 0 1em; min-height: 100%; }

/* Hero
========================= */
.hero { display: block; padding: 2em; }
.hero-block { border-radius: 10px; display: grid; align-items: center; margin: 0 auto; padding: 2.5em 2em; position: relative; background-position: center; background-repeat: no-repeat; background-size: cover; max-width: 100%; width: 100%; height: 300px; }
.hero-block .bg-overlay { background-color: rgba(44, 46, 61, 0.3); border-radius: 10px; position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: 1; }
.hero-title { display: grid; grid-column: span 1; margin-left: auto; margin-right: auto; transition: none; z-index: 9; }
.hero-title span { color: #fff; display: flex; align-items: center; font-family: 'Poppins'; font-size: 4.6rem; font-weight: 800; letter-spacing: .02em; line-height: 1.2em; padding: 0; text-align: center; text-transform: uppercase; }

/* Contact Us
========================= */
.contact-us { margin: 0 auto; padding: 1.5em 2em 1em; }
.contact-us-inner { display: flex; flex-direction: column; justify-content: center; margin: 0 auto; max-width: 1480px; }
.contact-us-title { display: flex; flex-direction: column; margin: 0 auto; padding: .5em 0 0; position: relative; }
.contact-us-title span { color: #1a1a1a; font-family: 'Poppins'; font-size: 3.2rem; font-weight: 800; line-height: 1.2; letter-spacing: .05em; text-transform: uppercase; text-align: center; }

.contact-us-description { display: flex; flex-direction: column; align-items: center; padding: 1.8em 0 0; }
.contact-us-description p { color: #3d3d3d; font-family: 'Poppins'; font-size: 1.8rem; font-weight: 400; line-height: 1.6; margin: 0; padding: 0 0 1em; }
.contact-us-description p:last-of-type { padding:0; }

/* Contact Form
========================= */
.contact-form-wrapper { padding: 1em 2em; }
.contact-form-inner { display: flex; flex-direction: column; margin: 0 auto; max-width: 1480px; width: 100%; }

.contact-form { display: flex; flex-direction: column; margin: 0 auto; max-width: 1000px; width: 100%; }
.contact-form  .ninja-forms-field { font-family: 'Poppins'; }
.contact-form .nf-form-fields-required { display: none; }
.contact-form .nf-field-container { margin-bottom: 32px; }
.contact-form  .nf-form-content select.ninja-forms-field:focus { color: #484848; }
.contact-form .nf-form-content input:not([type=button]):focus { color: #484848; }
.contact-form .nf-form-content textarea:focus { color: #484848; }

.contact-form .nf-form-content textarea.ninja-forms-field { resize: none; }
.contact-form .nf-field-container.textarea-container { margin-bottom: 25px; }

.contact-form .nf-field-container.submit-container { text-align: right; }
.contact-form .nf-form-content input[type=submit] { background: #fff; border: 1px solid #333; color: #000; font-family: 'Poppins'; font-size: 1.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding: 0 12px; cursor: pointer; height: 45px; }
.contact-form .nf-form-content input[type=submit]:hover { background: #ffffff; border: 1px solid #888; color: #888; }

.grecaptcha-badge { visibility: hidden; }
.contact-form .nf-field-container.disclaimer-wrapper { margin-bottom: 15px; }
.disclaimer { font-size: 1.5rem; padding: .25em 0 1em; text-align: left; }
.disclaimer a { text-decoration: underline; text-underline-offset: 2px; }

.contact-form .success-checkmark-container { display: flex; flex-direction: row; justify-content: center; align-items: center; padding: 0 0 2em; }
.contact-form .success-checkmark-container p { color: #4CAF50; font-size: 2.2rem; font-weight: 600; line-height: 1.4; text-transform: uppercase; }
.contact-form .success-checkmark-container .checkmark { display: inline-block; width: 25px; height: 25px; border: 2px solid #4CAF50; border-radius: 50%; position: relative; margin-right: 8px; margin-bottom: 1px; min-width: 25px; min-height: 25px; }
.contact-form .success-checkmark-container .checkmark::after { content: ''; position: absolute; left: 8px; top: 3px; width: 6px; height: 12px; border: solid #4CAF50; border-width: 0 2px 2px 0; transform: rotate(45deg); }

/* Responsive
========================= */
@media only screen and (max-width: 1480px) {
.hero-block { height: 275px; }
.hero-title span { font-size: 4.4rem; }
.contact-us { padding: 1em 2em; }
.contact-us-title span { font-size: 3.1rem; }
.contact-us-description { padding: 1.5em 0 0; }
.contact-form-wrapper { padding: 1em 2em; }
}

@media only screen and (max-width: 1280px) {
.hero { padding: 2em 2em 1.8em; }
.hero-block { height: 250px; }
.hero-title span { font-size: 4.2rem; }
.contact-us { padding: .8em 2em; }
.contact-us-title span { font-size: 3rem; }
.contact-us-description { padding: 1.25em 0 0; }
.contact-form .nf-field-container.textarea-container { margin-bottom: 20px; }
.contact-form .success-checkmark-container .checkmark { margin-right: 7px; margin-bottom: 2px; }
}

@media only screen and (max-width: 1140px) {
.hero-title span { font-size: 4rem; }
.contact-us { padding: .5em 2em; }
.contact-us-title span { font-size: 2.8rem; }
.contact-form .nf-field-container { margin-bottom: 30px; }
.contact-form .nf-field-container.submit-container { margin-bottom: 15px; }
}

@media only screen and (max-width: 1080px) {
.hero { padding: 2em 2em 1.5em; }
.contact-us-title span { font-size: 2.7rem; }
.contact-us-description { padding: 1em 0 0; }
}

@media only screen and (max-width: 1024px) {
.hero { padding: 1.8em 2em 1.5em; }
.hero-block { height: 225px; }
.hero-title span { font-size: 3.8rem; }
.contact-us-title span { font-size: 2.6rem; }
.contact-form-wrapper { padding: .8em 2em; }
.contact-form .nf-field-container.submit-container { margin-bottom: 15px; }
.contact-form .nf-error .nf-error-msg { font-size: 17px; }
.contact-form .success-checkmark-container .checkmark { margin-right: 10px; }
.contact-form .success-checkmark-container p { line-height: 1.2; }
}

@media only screen and (max-width: 880px) {
.hero { padding: 1.8em 2em 1.25em; }
.hero-block { height: 215px; }
.hero-title span { font-size: 3.6rem; }
.contact-us-title span { font-size: 2.5rem; }
.contact-us-description { padding: .8em 0 0; }
}

@media only screen and (max-width: 768px) {
.hero { padding: 1.5em 1.5em 1.25em; }
.hero-block { height: 200px; padding: 2em 1.5em; }
.hero-title span { font-size: 3.4rem; }
.contact-us { padding: .5em 1.5em; }
.contact-us-title span { font-size: 2.4rem; }
.contact-us-description p { font-size: 1.7rem; }
.contact-form-wrapper { padding: .5em 1.5em; }
.contact-form .nf-form-content label { font-size: 17px; }
.contact-form .nf-field-container { margin-bottom: 28px; }
.contact-form .nf-field-container.submit-container { margin-bottom: 10px; }
.contact-form .nf-field-label .nf-label-span { font-size: 17px; }
.contact-form .nf-field-container.textarea-container { margin-bottom: 15px; }
.contact-form .nf-field-container.disclaimer-wrapper { margin-bottom: 10px; }
.contact-form .nf-form-content input[type=submit] { font-size: 1.7rem; }
.contact-form .success-checkmark-container p { font-size: 2.1rem; }
.contact-form .success-checkmark-container { padding: .5em 0 1em; }
}

@media only screen and (max-width: 719px) {
.hero-block { height: 185px; }
.hero-title span { font-size: 3.2rem; }
.contact-us-title span { font-size: 2.3rem; }
.contact-form .success-checkmark-container { flex-direction: column; }
.contact-form .success-checkmark-container .checkmark { width: 28px; height: 28px; margin-right: 0; margin-bottom: 8px; }
.contact-form .success-checkmark-container .checkmark::after { left: 9px; top: 4px; width: 7px; height: 14px; }
.contact-form .success-checkmark-container p { line-height: 1.1; text-align: center; }
}

@media only screen and (max-width: 640px) {
.hero { padding: 1.5em 1.5em 1em; }
.hero-block { height: 175px; padding: 2em 1em; }
.hero-title span { font-size: 3rem; }
.contact-us { padding: .5em 1.5em; }
.contact-us-title span { font-size: 2.2rem; }
.contact-us-description { padding: .5em 0 0; }
.contact-form .nf-field-container { margin-bottom: 26px; }
.contact-form .nf-field-container.textarea-container { margin-bottom: 15px; }
.contact-form .nf-field-container.submit-container { margin-bottom: 5px; }
.contact-form .nf-form-content label { font-size: 16px; }
.contact-form .nf-field-label .nf-label-span { font-size: 16px; }
.contact-form .nf-field-container.disclaimer-wrapper { margin-bottom: 5px; }
.disclaimer { font-size: 1.4rem; }
.contact-form .nf-form-content input[type=submit] { font-size: 1.6rem; width: 100%;  }
.contact-form .success-checkmark-container { padding: .25em 0 .8em; }
.contact-form .success-checkmark-container p { font-size: 2rem; }
}

@media only screen and (max-width: 600px) {
.contact-form .nf-field-container { margin-bottom: 24px; }
.contact-form .nf-field-container .nf-field-label { margin-bottom: 8px !important; }
}

@media only screen and (max-width: 580px) {
.hero-block { height: 165px; }
.hero-title span { font-size: 2.8rem; }
.contact-us-title span { font-size: 2.1rem; }
.contact-form .success-checkmark-container p { font-size: 1.9rem; }
}

@media only screen and (max-width: 520px) {
.hero-block { height: 155px; }
.hero-title span { font-size: 2.6rem; }
}

@media only screen and (max-width: 480px) {
.hero { padding: 1.25em 1.2em .8em; }
.hero-block { height: 150px; }
.hero-title span { font-size: 2.4rem; }
.contact-us { padding: .25em 1.2em; }
.contact-us-title span { font-size: 2rem; }
.contact-us-description p { font-size: 1.6rem; padding: 0 0 .8em; }
.contact-form-wrapper { padding: .5em 1.2em; }
.contact-form .nf-form-content label { font-size: 16px; }
.contact-form .nf-field-container { margin-bottom: 20px; }
.contact-form .nf-error .nf-error-msg { font-size: 15px; }
.contact-form .success-checkmark-container .checkmark { width: 26px; height: 26px; }
.contact-form .success-checkmark-container .checkmark::after { left: 8px; height: 12px; }
.contact-form .success-checkmark-container p { font-size: 1.8rem; }
}

@media only screen and (max-width: 420px) {
.hero-title span { font-size: 2.2rem; }
}