@font-face { font-family: 'SofiaPro'; src: url(/fonts/SofiaPro-Regular.ttf); }
@font-face { font-family: 'SofiaPro'; src: url(/fonts/SofiaPro-Italic.ttf); font-style: italic; }
@font-face { font-family: 'SofiaPro'; src: url(/fonts/SofiaPro-Bold.ttf); font-weight: bold; }
@font-face { font-family: 'SofiaPro'; src: url(/fonts/SofiaPro-BoldItalic.ttf); font-weight: bold; font-style: italic; }

@font-face { font-family: 'SofiaPro-Black'; src: url(/fonts/SofiaPro-Black.ttf); }
@font-face { font-family: 'SofiaPro-Black'; src: url(/fonts/SofiaPro-BlackItalic.ttf); font-style: italic}

@font-face { font-family: 'SofiaPro-ExtraLight'; src: url(/fonts/SofiaPro-ExtraLight.ttf); }
@font-face { font-family: 'SofiaPro-ExtraLight'; src: url(/fonts/SofiaPro-ExtraLightItalic.ttf); font-style: italic}

@font-face { font-family: 'SofiaPro-Light'; src: url(/fonts/SofiaPro-Light.ttf); }
@font-face { font-family: 'SofiaPro-Light'; src: url(/fonts/SofiaPro-LightItalic.ttf); font-style: italic}

@font-face { font-family: 'SofiaPro-Medium'; src: url(/fonts/SofiaPro-Medium.ttf); }
@font-face { font-family: 'SofiaPro-Medium'; src: url(/fonts/SofiaPro-MediumItalic.ttf); font-style: italic}

@font-face { font-family: 'SofiaPro-SemiBold'; src: url(/fonts/SofiaPro-SemiBold.ttf); }
@font-face { font-family: 'SofiaPro-SemiBold'; src: url(/fonts/SofiaPro-SemiBoldItalic.ttf); font-style: italic}

@font-face { font-family: 'SofiaPro-UltraLight'; src: url(/fonts/SofiaPro-UltraLight.ttf); }
@font-face { font-family: 'SofiaPro-UltraLight'; src: url(/fonts/SofiaPro-UltraLightItalic.ttf); font-style: italic}

html {
  font-size: calc(100vw / 400);
}

body {
  font-family: 'SofiaPro';
  font-size: 16rem;
  line-height: 5vw;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  color: #333333;
}

.container {
  padding: 0 7.5vw 5vw 7.5vw;
  margin: 0;
  max-width: 100vw;
}

main.container {
  padding-left: 6.25vw;
  padding-right: 6.25vw;
}

.form-body {
  padding: 10vw 5vw;
  margin-bottom: 5vw;
  box-shadow: 0 1vw 3.75vw rgba(0, 0, 0, 0.1);
  border-radius: 2.5vw;
  background-color: #ffffff;
}

.form-body .form-group.static-group:last-child {
  margin-bottom: 0;
}

.form-body .form-group.static-group:last-child p {
  margin-bottom: 0;
}

.form-body.form-bg-header {
  padding: 6.25vw 5vw;
}

.form-body.form-bg-header .form-section-title {
  margin-top: 3.75vw;
  font-size: 16rem;
}

.form-body.form-bg-header .form-group.static-group label {
  font-family: 'SofiaPro-SemiBold';
  font-size: 10rem;
  margin-bottom: 5vw;
}

.form-body.form-bg-header .form-group.static-group p {
  margin-bottom: 7.5vw;
  font-size: 16rem;
  color: #333333;
}

.form-body.form-bg-header .form-group.static-group:last-child {
  margin-bottom: 0;
}

.form-body.form-bg-header .form-group.static-group:last-child p {
  margin-bottom: 0;
}

.form-outer-header {
  background: url(/img/section-title-bg.png) no-repeat center center;
  background-size: contain;
  color: #ffffff;
  padding: 0 7.5vw;
  margin-right: 2.5vw;
  height: 10vw;
}

.form-control {
  border: 0.25vw solid #bdbdbd;
  border-radius: 1.25vw;
  padding: 2.5vw;
  font-size: 16rem;
  color: #333333;
}

.vdp-datepicker .form-control[readonly] {
  background-color: #ffffff;   
}
.form-control.underline-style {
  border: none;
  border-bottom: 0.25vw solid #bdbdbd;
  border-radius: 0;
  padding: 1.25vw 0;
}
.vdp-datepicker .form-control {
  background: url(/img/calendar-icon.svg) no-repeat 95% center;
}
.vdp-datepicker .form-control.underline-style {
  background: url(/img/calendar-icon.svg) no-repeat right center;
}
.vdp-datepicker .vdp-datepicker__calendar {
  width: 75vw;
}
.input-group .custom-number-btn {
  border: 0.25vw solid #bdbdbd;
  border-radius: 1.25vw;
  padding: 2.5vw 11.25vw;
  background-color: #ffffff;
  font-size: 16rem;
}
.input-group .custom-number-btn:hover {
  background-color: #093A6F;
  color: #ffffff;
}

.form-body .form-section {
  margin-bottom: 10vw;
}

.form-body .form-section:last-child {
  margin-bottom: 0;
}

.form-section .form-section-title {
  font-family: 'SofiaPro-SemiBold';
  font-size: 20rem;
  margin-bottom: 6.25vw;
  color: #333333;
}

.form-section .form-section-subtitle {
  color: #bdbdbd;
  font-size: 12rem;
  margin: 0;
}

.form-body .form-section .form-group:last-child {
  margin-bottom: 0;
}
.form-outer-header .form-section-title {
  font-size: 16rem;
  margin: 0;
  text-transform: uppercase;
  font-weight: bold;
  color: #ffffff;
}

.form-group {
  margin-bottom: 6.25vw;
}

.form-group label {
  font-family: 'SofiaPro-SemiBold';
  font-size: 10rem;
  color: #BDBDBD;
  margin-bottom: 2.5vw;
  text-transform: uppercase;
}


.custom-control {
  padding-left: 6.25vw;
}

.custom-control-inline {
  margin-right: 5vw;
}

.custom-control .custom-control-label {
  margin-bottom: 0;
  margin-top: 1vw;
}

.custom-control-label::before {
  position: absolute;
  top: .25rem;
  left: 0;
  display: block;
  width: 5vw;
  height: 5vw;
  pointer-events: none;
  content: "";
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: #dee2e6;
}

.custom-control-label::after {
  position: absolute;
  top: .25rem;
  left: 0;
  display: block;
  width: 5vw;
  height: 5vw;
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50% 50%;
}

.form-footer {
  padding: 0 6.25vw;
}

.form-footer button {
  font-family: 'SofiaPro-SemiBold';
  font-size: 20rem;
  width: 100%;
  padding: 2.5vw 0;
  background-color: #093A6F;
  border: none;
  border-radius: 2.5vw;
  text-transform: uppercase;
}


@media (max-width: 400px) {
  .input-group .custom-number-btn {
    font-size: 16px;
  }

  .form-control {
    font-size: 16px;
    line-height: 18px;
  }
}