@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;700&display=swap);

.contact,
.contact-offer-flex div button {
  width: 100%
}

:root {
  --contact-offer-primary      : #ff671f;
  --contact-offer-border-radius: 10px;
  --font-size-default          : 16px;
  --font-size-large            : 18px
}

/*! CSS Used from: ../css/contact.css */
.contact,
.contact * {
  font-family: Montserrat, Arial, system-ui, -apple-system, sans-serif
}

.contact {
  -webkit-animation-name    : popupFade;
  -webkit-animation-duration: .4s;
  animation-name            : popupFade;
  animation-duration        : .4s;
  background-color          : rgba(0, 0, 0, .4);
  display                   : none;
  height                    : 100%;
  left                      : 0;
  line-height               : 1.2;
  overflow                  : auto;
  position                  : fixed;
  top                       : 0;
  z-index                   : 9999999999
}

.contact-offer-main,
.contact-offer-now:active,
.contact-offer-now:focus,
.contact-offer-now:hover {
  box-shadow: rgba(0, 0, 0, .05) 0 5px 16px
}

.contact-offer-main {
  background-color: #fff;
  color           : #555;
  bottom          : 0;
  width           : 100%
}

@media (max-height:553px) {
  .contact-offer-main {
    overflow: auto;
    height  : 100%
  }
}

.contact-offer-main p {
  text-align: left;
  margin    : 0
}

.contact-offer-close {
  color    : #555;
  float    : right;
  font-size: var(--font-size-large)
}

.contact-offer-close:focus,
.contact-offer-close:hover,
.contact-offer-cyan {
  color: var(--contact-offer-primary)
}

.contact-offer-close:focus,
.contact-offer-close:hover {
  cursor         : pointer;
  text-decoration: none
}

.contact-offer-header {
  font-weight: 700;
  font-size  : var(--font-size-large);
  padding    : 24px 16px 16px;
  text-align : center
}

.contact-offer-close,
.contact-offer-footer,
.contact-offer-main {
  font-weight: 400;
  font-size  : 2.5rem
}

@media (min-width:768px) {
  .contact-offer-mobile {
    display: none
  }

  .contact-offer-header,
  .contact-offer-main {
    font-size: var(--font-size-large)
  }
}

.contact-offer-flex button,
.contact-offer-footer,
.contact-offer-small {
  font-size: var(--font-size-default)
}

.contact-offer-bg-white,
.contact-offer-footer {
  background-color: #fff;
  color           : #707070
}

.contact-offer-body {
  padding: 0
}

.contact-offer-footer {
  border-radius: 0 0 var(--contact-offer-border-radius) var(--contact-offer-border-radius);
  padding      : 16px 16px 0;
  text-align   : center
}

.contact-offer-bold {
  font-weight: 700
}

.contact-offer-primary {
  padding: 0 16px 16px
}

.contact-offer-px {
  padding: 0 16px
}

.contact-offer-mt-2 {
  display   : block;
  margin-top: 8px !important
}

.contact-offer-mt {
  display   : block;
  margin-top: 16px !important
}

.contact-offer-pt {
  padding-top: 8px
}

.contact-offer-close {
  margin-top: -8px
}

@media (orientation:landscape) and (max-width:600px) {

  .contact-offer-header,
  .contact-offer-main {
    font-size: var(--font-size-default)
  }

  .contact-offer-primary {
    padding  : 0 16px 16px;
    font-size: var(--font-size-large) !important
  }
}

@media (min-width:768px) {

  .contact-offer-primary,
  .contact-offer-primary .contact-offer-cyan.contact-offer-mt {
    font-size: var(--font-size-large)
  }

  .contact-offer-main {
    -webkit-animation-name    : popupTop;
    -webkit-animation-duration: .4s;
    animation-name            : popupTop;
    animation-duration        : .4s;
    border-radius             : var(--contact-offer-border-radius);
    margin-left               : auto;
    margin-right              : auto;
    margin-top                : 5%;
    max-width                 : 600px;
    position                  : relative
  }

  .contact-offer-px-lg {
    padding: 0 16px
  }
}

.contact-offer-flex button {
  cursor       : pointer;
  border-radius: .25rem;
  padding      : 12px;
  min-width    : 180px;
  font-weight  : 500
}

.contact-offer-close,
.contact-offer-flex button {
  transition: background-color .3s ease-in-out
}

.contact-offer-later {
  background-color: whitesmoke;
  border          : none;
  outline         : white solid 2px;
  color           : var(--contact-offer-primary)
}

.contact-offer-later:active,
.contact-offer-later:focus,
.contact-offer-later:hover {
  background-color: white;
  border         : none;
  outline        : 2px solid var(--contact-offer-primary);
  color          : var(--contact-offer-primary);
  text-decoration: underline
}

.contact-offer-now,
.contact-offer-now:active,
.contact-offer-now:focus,
.contact-offer-now:hover {
  border          : none;
  outline         : 2px solid var(--contact-offer-primary);
  color           : #fff;
  background-color: var(--contact-offer-primary)
}

.contact-offer-now:active,
.contact-offer-now:focus {
  text-decoration: underline
}

/*! CSS Used keyframes */
@-webkit-keyframes popupFade {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes popupFade {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@-webkit-keyframes popupSlide {
  from {
    bottom : -300px;
    opacity: 0
  }

  to {
    bottom : 0;
    opacity: 1
  }
}

@keyframes popupSlide {
  from {
    bottom : -300px;
    opacity: 0
  }

  to {
    bottom : 0;
    opacity: 1
  }
}

@keyframes popupTop {
  from {
    top    : -300px;
    opacity: 0
  }

  to {
    top    : 0;
    opacity: 1
  }
}

.contact-offer-flex {
  margin-top: 24px
}

@media (max-width:767px) {
  .contact-offer-footer {
    border-radius: 0
  }

  .contact-offer-primary .contact-offer-cyan.contact-offer-mt {
    font-size: var(--font-size-large)
  }

  .contact-offer-bold-mobile {
    font-weight: 700
  }

  .contact-offer-flex div:first-child {
    margin-bottom: 16px
  }

  .contact-offer-flex div {
    width          : 100%;
    align-items    : center;
    justify-content: center;
    display        : flex
  }

  .contact-offer-main {
    -webkit-animation-name    : popupSlide;
    -webkit-animation-duration: .4s;
    animation-name            : popupSlide;
    animation-duration        : .4s;
    border-radius             : var(--contact-offer-border-radius) var(--contact-offer-border-radius) 0 0;
    position                  : fixed
  }

  .contact-offer-flex button,
  .contact-offer-main,
  .contact-offer-primary {
    font-size: var(--font-size-default)
  }
}

@media (min-width:768px) {
  .contact-offer-flex div:first-child {
    padding-left: 8px
  }

  .contact-offer-flex div:last-child {
    padding-right: 8px
  }

  .contact-offer-flex {
    display       : flex;
    flex-direction: row-reverse
  }

  .contact-offer-flex div {
    width          : 50%;
    align-items    : center;
    justify-content: center;
    display        : flex
  }
}

.contact-offer-now:disabled,
.contact-offer-now:disabled:active,
.contact-offer-now:disabled:focus,
.contact-offer-now:disabled:hover {
  border          : none;
  outline         : 2px solid lightgray;
  color           : darkgray;
  text-decoration : none !important;
  background-color: lightgray;
}

.contact-form-input-flex {
  display  : flex;
  flex-wrap: wrap;
}

.contact-form-input {
  flex-basis   : calc(50% - 4px);
  box-sizing   : border-box;
  margin-bottom: 10px;
}

@media screen and (min-width: 501px) {
  .contact-form-input-me {
    margin-right: .5rem;
  }
}

@media screen and (max-width: 500px) {
  .contact-form-input {
    flex-basis: calc(100%);
  }
}


.contact-form-input-mb {
  margin-bottom: .5rem;
}

.contact-form-input {
  font-size    : var(--font-size-default);
  font-weight  : 400;
  border       : 1px solid #999;
  border-radius: .325rem;
  padding      : .5rem;
  width        : calc(100% - 2rem);

}

/*! CSS Used from: https://getbootstrap.com/docs/4.3/dist/css/bootstrap.min.css */
*,::after,::before{box-sizing:border-box;}
.custom-control-label{padding-left:.5rem;display:inline-block;margin-bottom:.5rem;}
.custom-control-input{margin:0;font-family:inherit;font-size:inherit;line-height:inherit;}
.custom-control-input{overflow:visible;}
.custom-control-input[type=checkbox]{box-sizing:border-box;padding:0;}
.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem;}
.custom-control-input{position:absolute;z-index:-1;opacity:0;}
.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#ff671f;background-color:#ff671f;}
.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(255, 103, 31,.5);}
.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color: #999; }
.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:rgba(255, 103, 31,.5);border-color:rgba(255, 103, 31,1);}
.custom-control-input:disabled~.custom-control-label::before{background-color:#fff;}
.custom-control-label{position:relative;margin-bottom:0;vertical-align:top;}
.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1.25rem;height:1.25rem;pointer-events:none;content:"";background-color:#fff;border:rgba(255, 103, 31,1) solid 1px;}
.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1.25rem;height:1.25rem;content:"";background:no-repeat 50%/50% 50%;}
.custom-checkbox .custom-control-label::before{border-radius:.25rem;}
.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");}
.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:#ff671f;}
.custom-control-label::before{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;}
@media (prefers-reduced-motion:reduce){
.custom-control-label::before{transition:none;}
}
@media print{
*,::after,::before{text-shadow:none!important;box-shadow:none!important;}
}