﻿.vertical-align {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  margin: 0;
}
.mt-std {
  margin-top: 3rem;
}
.txt-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.w-max {
  width: intrinsic;
  width: -moz-max-content;
  width: -webkit-max-content;
}
.block-italic {
  font-style: italic;
}
.block-italic > p {
  margin-bottom: 0;
  line-height: 2.3rem !important;
}
.block-grey {
  background: gba(143, 143, 140, 0.05);
  display: block;
  margin: 0;
  padding: 1rem 1rem;
}
.block-grey:not(:first-of-type) {
  margin-top: 3rem;
}
::-webkit-input-placeholder,
::-webkit-input-placeholder {
  color: #8f8f8c;
}
::-webkit-input-placeholder,
::placeholder {
  color: #8f8f8c;
}
.label-on-input {
  position: relative;
}
.label-on-input label {
  color: #003f8f;
  font-size: 1.2rem;
  font-weight: 500;
  left: 1.6rem;
  letter-spacing: 0.017rem;
  position: absolute;
  top: 0.5rem;
  z-index: 1;
}
.label-on-input input {
  border: 1px solid #cccccc;
  background: transparent;
  height: 5.4rem;
  padding: 2rem 1rem 0;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .label-on-input input {
    margin-bottom: 3rem;
  }
}
.label-on-input textarea {
  border: 1px solid #cccccc;
  height: 10.8rem;
  padding: 2rem 1rem 0;
  font-size: 1.4rem;
  width: 100%;
}
.label-on-input textarea:focus {
  background: transparent;
}
.label-on-input .is-invalid {
  background-image: url('../assets/img/icon_warning.png');
}
.label-on-input .valid-feedback,
.label-on-input .invalid-feedback {
  position: absolute;
  bottom: -2rem;
  color: #72bf44;
  font-size: 1.2rem;
  font-style: italic;
  font-weight: 300;
  line-height: 1.6rem;
  margin-top: 0;
}
.label-on-input .invalid-feedback {
  color: #ed1c24;
}
.input-select {
  position: relative;
}
.input-select .is-invalid {
  background-image: none;
}
.input-select button {
  border: 0;
  height: 100%;
  padding: 0;
  position: absolute;
  left: 2%;
  top: 0;
  width: 96%;
}
.input-select button:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.input-select button::after {
  bottom: 1.8rem;
  color: #585862;
  content: '\2304';
  font-size: 1.5rem;
  font-weight: 300;
  position: absolute;
  opacity: 0.5;
  right: 0.5rem;
  -webkit-transform: scale(2, 1);
  transform: scale(2, 1);
}
@media screen and (max-width: 767px) {
  .input-select button {
    height: 65%;
  }
}
.input-select.show button::after {
  content: '\2303';
  bottom: 1rem;
}
.input-datepicker input {
  background-image: url('../assets/img/icon_calendar.png');
  background-repeat: no-repeat;
  background-position: center right 0.5rem;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.input-datepicker .is-invalid {
  background-image: url('../assets/img/icon_calendar_red.png');
}
.bg-highlight {
  background: #003f8f;
  border: 0;
  color: #cccccc;
}
.btn-blue-bg {
  background: #003f8f;
  border: 0;
  color: #cccccc;
  border-radius: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: 300;
  height: 5.4rem;
  letter-spacing: 0.53px;
  line-height: 2.1rem;
}
.btn-blue-bg:hover,
.btn-blue-bg:focus,
.btn-blue-bg:active {
  -webkit-box-shadow: none;
          box-shadow: none;
  background: #ffffff;
  border: 1px solid #003f8f;
  color: #003f8f;
}
.collapsible-line {
  background: transparent;
  border-top: 1px solid rgba(142, 142, 139, 0.3);
  border-bottom: 1px solid rgba(142, 142, 139, 0.3);
  padding: 0;
}
.collapsible-line h4 {
  margin: 0;
}
.collapsible-line button {
  border-radius: 0;
  color: #003f8f;
  font-size: 1.5rem;
  line-height: 2rem;
  padding: 1rem 0;
  text-align: left;
  width: 100%;
}
.collapsible-line button:hover,
.collapsible-line button:focus {
  color: #0e0e10;
  text-decoration: none;
}
.collapsible-line button::after {
  content: '\2304';
  color: #cccccc;
  font-size: 1rem;
  position: absolute;
  right: 0.5rem;
  top: 0.75rem;
  -webkit-transform: scale(3, 1.5);
  transform: scale(3, 1.5);
}
.collapsible-line button:not(.collapsed)::after {
  content: '\2303';
  top: 1.75rem;
}
.flatpickr-calendar {
  font-family: "Roboto";
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.flatpickr-day.selected {
  background-color: #003f8f;
}
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: #003f8f;
}
.flatpickr-monthSelect-month.selected {
  background-color: #003f8f;
}
.flatpickr-input + .flatpickr-mobile {
  background-color: transparent !important;
}
.flatpickr-input + .flatpickr-mobile::-webkit-date-and-time-value {
  margin: 0;
}
.flatpickr-input[value=''] + .flatpickr-mobile,
.flatpickr-input:not([value]) + .flatpickr-mobile {
  color: transparent !important;
}
.flatpickr-input[value=''] + .flatpickr-mobile::before,
.flatpickr-input:not([value]) + .flatpickr-mobile::before {
  content: attr(placeholder);
  color: #8f8f8c;
}
.flatpickr-monthDropdown-months {
  background-color: white !important;
}
.flatpickr-monthDropdown-months > option {
  font-size: 1.4rem;
  background-color: yellow;
}
.flatpickr-monthDropdown-months > option:hover {
  background-color: #003f8f;
}
.above-header-z-index {
  z-index: 15;
}
.bellow-header-z-index {
  z-index: 13;
}
.above-footer-z-index {
  z-index: 11;
}
.below-footer-z-index {
  z-index: 9;
}
.above-fullscreen-z-index {
  z-index: 1001;
}
@font-face {
  font-family: 'Roboto';
  src: url('../../Content/font/Roboto-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Roboto Light';
  src: url('../../Content/font/Roboto-Light.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Roboto Medium';
  src: url('../../Content/font/Roboto-Medium.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'DINPro Bold';
  src: url('../../Content/font/DINPro-Bold.eot') format('embedded-opentype'), url('../../Content/font/DINPro-Bold tr.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}
html {
  position: relative;
  min-height: 100%;
  font-size: 62.5%;
}
.error-container {
  font-family: 'Roboto', sans-serif;
  max-width: 40rem;
}
.error-container .error-code {
  color: red;
}
.error-container h1 {
  font-size: 7rem;
}
.error-container p {
  font-size: 2rem;
}
.error-container .btn.btn-primary {
  width: 100%;
  padding: 1rem 3rem;
  border-radius: 0.2rem;
  background-color: #003f8f;
  color: #ffffff;
  font-size: 1.6rem;
}
.error-container .btn.btn-primary:hover {
  background-color: #ffffff;
  color: #003f8f;
}