/*
* Generate A Background Image Properties
* @param $size:    Background-size, default = 'cover'
* @param $pos:     Background-position, default = 'center'
* @param $repeat:  Background-repeat, default = 'no-repeat
*/
/*
* Generate A Squared Button
* @param $bg:    Background color
* @param $color: Text color
* @param $uppercase: Whether to transform text into all uppercase or not, default = 'none'
* @param $gray-60Color: Border color, default = background color
*/
#section-cover {
  margin-top: 6rem;
  position: relative;
}
#section-cover .section-cover-inner {
  height: 450px;
}
@media screen and (max-width: 991.98px) {
  #section-cover .section-cover-inner {
    flex-flow: column;
    height: 600px;
  }
}
@media screen and (max-width: 991.98px) {
  #section-cover {
    margin-top: 3.5rem;
  }
}
#section-cover .bg-wrapper {
  position: relative;
}
@media screen and (max-width: 767.98px) {
  #section-cover .bg-wrapper {
    height: 100%;
  }
}
@media screen and (max-width: 991.98px) {
  #section-cover .bg-wrapper {
    flex: auto;
    max-width: none;
    height: 100%;
  }
}
#section-cover .bg-wrapper .copy-right {
  position: absolute;
  left: 0;
  bottom: 5px;
  padding: 3px 16px;
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 991.98px) {
  #section-cover .bg-wrapper .copy-right {
    bottom: 45px;
  }
}
#section-cover .bg-wrapper .copy-right .img-copy-right {
  color: #fff;
  opacity: 0.75;
  text-align: right;
}
#section-cover .bg-wrapper .bg-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  right: 0;
  top: 0;
  background: #171717;
  background: linear-gradient(to top, #171717 0%, #171717 4%, rgba(85, 85, 85, 0.5) 25%, rgba(100, 100, 100, 0) 100%);
  opacity: 0.3;
}
#section-cover .black-square {
  background-color: #f0eeee;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 0 5rem;
}
@media screen and (max-width: 991.98px) {
  #section-cover .black-square {
    padding: 2rem;
  }
}
@media screen and (max-width: 991.98px) {
  #section-cover .black-square {
    flex: auto;
    max-width: none;
  }
}
#section-cover .black-square .text-wrapper {
  width: 85%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: right;
}
@media screen and (max-width: 991.98px) {
  #section-cover .black-square .text-wrapper {
    width: 100%;
  }
}
#section-cover .black-square .text-wrapper h1 {
  margin-bottom: 1.5rem !important;
}
@media screen and (max-width: 991.98px) {
  #section-cover .black-square .text-wrapper h1 {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 991.98px) {
  #section-cover .stripe-wrapper {
    width: 100%;
  }
}

.content {
  width: 100%;
  min-height: calc(103vh - 400px - 244px);
}
.content .form {
  width: 70%;
  padding: 5% 10%;
  margin: 0 auto;
}
@media screen and (min-width: 643px) and (max-width: 767.98px) {
  .content .form {
    width: 56%;
  }
}
@media screen and (min-width: 768px) and (max-width: 991.98px) {
  .content .form {
    width: 65%;
  }
}
@media screen and (max-width: 991.98px) {
  .content .form {
    padding: 2rem;
  }
}
@media screen and (min-width: 992px) and (max-width: 1199.98px) {
  .content .form {
    padding: 5% 7%;
  }
}
.content .form .success-message {
  background-color: #116a74;
  padding: 1% 2%;
  color: white;
  margin-top: -10%;
  margin-bottom: 6%;
  margin-right: -20%;
  margin-left: -20%;
  display: none;
}
@media screen and (max-width: 400px) {
  .content .form .success-message .success-message {
    padding: 2% 4%;
  }
}
.content .form .display-block {
  display: block;
}
.content .form .form-group {
  margin-bottom: 2rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.content .form .form-group input:focus,
.content .form .form-group textarea:focus {
  box-shadow: none;
  outline: none;
}
.content .form .form-group .custom-label {
  padding-left: 0px;
  text-align: right;
}
@media screen and (max-width: 991.98px) {
  .content .form .form-group .custom-label {
    padding-right: 8px !important;
  }
}
.content .form .form-group .custom-input {
  width: 100%;
  margin-top: 9px;
  flex-flow: row !important;
  position: relative;
  align-items: center;
}
.content .form .form-group .custom-input input {
  height: 40px;
  border-radius: 0;
  display: inline-block;
}
.content .form .form-group .custom-input textarea {
  border-radius: 0;
  resize: none;
}
@media screen and (max-width: 991.98px) {
  .content .form .form-group .custom-input textarea {
    width: 100%;
    margin-left: 0;
  }
}
.content .form .required {
  color: #a11402;
}
.content .form .invalid {
  display: flex;
  color: #ac2826;
}
.content .form .invalid input,
.content .form .invalid textarea {
  border-color: #ac2826;
}
.content .form .invalid .form-control:focus {
  box-shadow: 0 0 0 0.2rem rgba(172, 40, 38, 0.3);
}
.content .form .invalid span {
  font-size: 0.9rem;
  text-align: center;
  position: absolute;
  right: 17px;
  bottom: -28px;
}
.content .form .send {
  text-align: end;
  width: 100%;
}
.content .form .send button {
  margin-right: auto;
  min-width: 155px;
}
.content .form .send button:hover {
  background-color: #a11402;
}
.content .form .send button:focus {
  box-shadow: none;
}
.content .contact-section {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom;
  position: relative;
}
.content .contact-section #map {
  width: 100%;
  height: 100%;
  position: absolute;
}
.content .contact-section .contact-card {
  padding: 2rem;
  background-color: #a20000;
  color: #ffffff;
  position: relative;
  right: 150px;
}
@media (max-width: 768px) {
  .content .contact-section .contact-card {
    right: 0;
  }
}
.content .contact-section .contact-card hr {
  background-color: #ffffff;
}
.content .contact-section .contact-card h3 {
  margin-bottom: 1rem;
}
.content .contact-section .contact-card h5 {
  display: block;
  margin-bottom: 1rem;
}

@media screen and (max-width: 642px) {
  .content {
    flex-flow: column;
  }
  .content .form,
.content .side {
    width: 100%;
  }
  .content .form .success-message,
.content .side .success-message {
    margin-top: -7%;
    margin-right: -13%;
  }
}
@media screen and (max-width: 490px) {
  .content .form {
    padding: 10% 7%;
  }
  .content .form .success-message {
    margin-top: -12%;
    margin-right: -9%;
  }
}
@media screen and (max-width: 319px) {
  .form-group {
    flex-flow: column;
  }
}
