@import url("//fonts.googleapis.com/css?family=Nunito");
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1200px;
  }
}
html {
  font-size: 16px;
}
body {
  color: #fff;
  background-color: #ffffff;
  font-family: "Rubik", "Open Sans", sans-serif;
}
main {
  color: #0c0c0c;
}
p, ul {
  margin: 0;
}
h1, h2, h3 {
  color: unset;
}
section {
  padding: 100px 0;
}
@media only screen and (max-width: 375px) {
  section {
    padding: 0;
  }
}
section.center {
  text-align: center;
}
.section {
  padding: 100px 0;
}
@media only screen and (max-width: 375px) {
  .section {
    padding: 0;
  }
}
.section.center {
  text-align: center;
}
.layout-row:not(:first-child) {
  margin-top: 40px;
}
.btn-secondary {
  max-width: 370px;
  background-color: #4580b9 !important;
  border-color: #4580b9;
}
.btn-secondary:disabled {
  border-color: #4580b9;
}
.btn-secondary:hover {
  border-color: #4580b9;
}
.btn-secondary:active {
  border-color: #4580b9;
}
.btn-secondary:focus {
  border-color: #4580b9;
  box-shadow: 0 0 0 0.2rem rgba(69, 128, 185, 0.5);
}
ol li:before, ul li:before {
  background: #4580b9;
}
header {
  background-color: #4580b9;
}
header.sticky {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999;
}
header.sticky .header-inner > div {
  padding: 24px 0;
  transition: all ease 0.3s;
}
@media (max-width: 576px) {
  header.sticky .header-inner > div {
    padding: 0;
  }
}
header.sticky .header-inner .logo {
  max-height: 33px;
  transition: all ease 0.3s;
}
@media (max-width: 576px) {
  header.sticky .header-inner .logo {
    margin: 10px;
    padding: 0;
  }
}
header .header-inner {
  flex-direction: row;
}
header .header-inner > div {
  padding: 37px 0;
  transition: all ease 0.3s;
}
@media (max-width: 576px) {
  header .header-inner > div {
    padding: 0;
  }
}
header .header-inner a {
  color: #fff;
  text-decoration: none;
}
header .header-inner .logo {
  width: auto;
  max-height: 100px;
  transition: all ease 0.3s;
}
@media (max-width: 576px) {
  header .header-inner .logo {
    padding: 15px;
  }
}
header .header-inner .info-col {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  color: #fff;
}
header .header-inner .info-col a {
  text-decoration: underline;
}
.navigation {
  display: flex;
  list-style-type: none;
  padding: 25px 0;
  min-width: 100%;
}
@media only screen and (max-width: 992px) {
  .navigation {
    padding: 21px 0;
    min-width: 100%;
    overflow-y: scroll;
  }
  .navigation .nav-item {
    max-height: 30px;
  }
  .navigation .nav-item:first-child {
    display: none;
  }
  .navigation .nav-item a {
    display: block;
    width: max-content;
  }
}
.navigation .external-links .nav-item {
  margin-left: 30px;
  display: inline-block;
  padding: 0;
}
.navigation .nav-item {
  padding-bottom: 0;
  white-space: nowrap;
}
.navigation .nav-item:first-child {
  padding-left: 0;
}
.navigation .nav-item::before {
  content: unset;
}
.navigation .nav-item a {
  color: #3C92F7;
  font-weight: 600;
}
nav.sticky {
  position: fixed;
  top: 81px;
  width: 100%;
  background-color: #FFF;
  z-index: 999;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
}
@media (max-width: 375px) {
  nav.sticky {
    top: 53px;
  }
}
.anchor {
  padding-top: 156px;
  margin-top: -156px;
  display: block;
  position: relative;
  z-index: -1;
}
footer {
  background-color: #ad3446;
  color: #fff;
  padding: 86px;
}
@media only screen and (max-width: 375px) {
  footer {
    padding: 71px 20px 58px;
  }
}
footer .col-12:nth-child(odd) {
  margin-bottom: 35px;
}
footer .logo img {
  margin-bottom: 46px;
}
footer .logo img.small {
  max-width: 220px;
  max-height: 25px;
}
footer .logo img.middle {
  max-width: 440px;
  max-height: 50px;
}
footer .logo img.large {
  max-width: 660px;
  max-height: 75px;
}
footer .title {
  display: block;
  margin-bottom: 17px;
}
@media only screen and (max-width: 375px) {
  footer .title {
    font-size: 16px;
  }
}
footer p {
  color: white;
}
footer a {
  color: #fff;
}
footer .bottom .spacing {
  border-top: 1px solid #4F4C59;
  padding-top: 60px;
}
@media only screen and (max-width: 375px) {
  footer .bottom {
    margin-top: 120px;
    padding-top: 30px;
  }
}
footer .bottom .link {
  text-decoration: underline;
  margin-left: 15px;
}
footer .bottom .copyright {
  margin-right: 15px;
}
@media only screen and (max-width: 375px) {
  footer .bottom .copyright {
    width: 100%;
  }
}
.prices {
  overflow: hidden;
}
.prices h2 {
  font-size: 45px;
  color: #3B3846;
}
.prices .bg-primary-1\/2 {
  position: relative;
  padding: 30px 0;
}
.prices .bg-primary-1\/2:after {
  content: "";
  display: block;
  background: #4580b9;
  bottom: 0;
  top: 50%;
  left: 0;
  right: 0;
  position: absolute;
}
.prices .swiper-container-prices {
  margin-top: 82px;
  width: 100%;
}
.prices .swiper-container-prices.justified {
  display: flex;
  justify-content: center;
}
.prices .swiper-container-prices.justified .swiper-slide {
  width: 270px !important;
}
.prices .swiper-container-prices .swiper-wrapper {
  width: min-content;
}
.prices .swiper-slide {
  height: auto !important;
  width: 270px;
  margin: 0 25px;
}
@media only screen and (max-width: 480px) {
  .prices .swiper-slide {
    margin: 0;
    padding: 0 25px;
  }
}
.prices .swiper-slide .inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #fff;
  color: #76747E;
  padding: 30px;
  border-radius: 1.25rem;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
}
.prices .swiper-slide .inner.highlighted {
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
  animation: pulse-scale 2s infinite;
}
@keyframes pulse-scale {
  0% {
    box-shadow: 0 0 0 1px inset white;
  }
  50% {
    box-shadow: 0 0 0 5px inset #4580b9;
  }
  100% {
    box-shadow: 0 0 0 1px inset white;
  }
}
.prices .swiper-slide .inner .icon {
  background-color: #4580b9;
  color: white;
  border-radius: 25px;
  max-width: 40px;
  max-height: 40px;
  margin: 0 auto 1.5rem auto;
}
.prices .swiper-slide .inner .icon.travel {
  background-color: #4580b9;
}
.prices .swiper-slide .inner .icon div {
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.prices .swiper-slide .inner .icon i {
  font-size: 18px;
  color: #fff;
}
.prices .swiper-slide .inner .icon i.fa-check {
  font-size: 10px;
}
.prices .swiper-slide .inner h2 {
  font-size: 22px;
  color: #76747E;
}
.prices .swiper-slide .inner h3 {
  font-size: 24px;
}
.prices .swiper-slide .inner .description {
  word-wrap: break-word;
  color: #aaa9af;
  margin-bottom: 1rem;
}
.prices .swiper-slide .inner .price-text {
  color: #4580b9;
  margin-top: auto;
}
.prices .swiper-slide .inner.dark-bg {
  background: #ad3446;
}
.prices .swiper-slide .inner.dark-bg .icon {
  background-color: #76747E;
}
.prices .swiper-slide .inner.dark-bg h2 {
  color: #fff;
}
.prices .swiper-slide .inner.dark-bg .price-text {
  color: #fff;
}
.working-method {
  background-color: #4580b9;
  color: #fff;
  padding-bottom: 75px;
}
.working-method.overlap {
  margin-top: -250px;
  padding-top: 277px;
}
.working-method h2 {
  font-size: 50px;
  margin-bottom: 35px;
}
@media only screen and (max-width: 375px) {
  .working-method h2 {
    font-size: 30px;
  }
}
.working-method .app-logo {
  margin-top: 73px;
  margin-bottom: 23px;
}
.working-method .description {
  font-size: 16px;
  font-weight: 400;
  text-overflow: ellipsis;
}
.working-method .description.app {
  opacity: 0.75;
  padding-bottom: 30px;
}
.working-method .method-steps {
  max-width: 1470px;
  margin: 60px auto 0;
  display: flex;
}
@media only screen and (max-width: 1500px) {
  .working-method .method-steps {
    display: none;
  }
}
.working-method .method-steps .step-container:not(:last-child) {
  margin-right: 30px;
}
.working-method .method-steps .step-container:not(:last-child) .icon:after {
  content: "";
  border-bottom: 1px dashed;
  border-color: #fff;
  display: inline-block;
  width: 240px;
  height: 10px;
  position: absolute;
  top: 38%;
  left: 100%;
}
.working-method .method-steps .step-container .icon {
  background-color: #ad3446;
  border-radius: 50px;
  width: 70px;
  height: 70px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 24px;
  position: relative;
}
.working-method .method-steps .step-container .icon .fa-stack {
  width: 30px;
  height: 30px;
}
.working-method .method-steps .step-container .icon .fa-stack i {
  position: relative;
  top: -15px;
}
.working-method .method-steps .step-container .step-content {
  padding: 30px 25px 38px;
  border-radius: 25px;
  height: 306px;
  min-width: 270px;
  border: 1px solid #6a99c7;
}
.working-method .method-steps .step-container .step-content h3 {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 23px;
}
.working-method .method-steps .step-container .step-content p {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5em;
  font-family: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.working-method .method-steps.mobile {
  display: none;
}
@media only screen and (max-width: 1500px) {
  .working-method .method-steps.mobile {
    display: flex;
  }
}
.working-method .swiper-container {
  width: 100%;
  height: auto;
}
.working-method .swiper-slide {
  display: flex;
  flex-direction: row;
  width: 270px;
  margin: 0 25px;
}
@media only screen and (max-width: 480px) {
  .working-method .swiper-slide {
    margin: 0;
    padding: 0 25px;
  }
}
.working-method .swiper-slide.slide {
  background-color: red;
}
.working-method .swiper-slide.slide-1 {
  background-color: purple;
}
.faq h2 {
  font-size: 45px;
  color: #3B3846;
}
.faq .row-toggle {
  transition: all ease 0.3s;
}
.faq .row-toggle-title.active {
  transform: unset;
  color: #585858;
  font-weight: 600;
}
@media only screen and (max-width: 375px) {
  .faq h2 {
    text-align: center;
    color: #3B3846;
    padding: 0 22px;
    font-size: 30px;
  }
  .faq .row-toggle {
    font-size: 14px;
  }
}
.about-us h2 {
  font-size: 50px;
  color: #3B3846;
}
.about-us h2 + p {
  color: #76747E;
  font-size: 22px;
  font-weight: 300;
  margin-top: 27px;
}
.about-us p {
  color: #76747E;
  line-height: 3ch;
  font-size: 18px;
}
@media only screen and (max-width: 375px) {
  .about-us {
    margin-top: 75px;
    padding: 0 20px;
  }
  .about-us h2 {
    font-size: 30px;
  }
  .about-us h2 + p {
    font-size: 18px;
    font-weight: 300;
  }
}
.introduction h2 {
  font-size: 50px;
  color: #3B3846;
}
.introduction h2 + p {
  color: #76747E;
  font-size: 22px;
  font-weight: 300;
  margin-top: 27px;
}
.introduction p {
  color: #76747E;
  line-height: 3ch;
  font-size: 18px;
}
@media only screen and (max-width: 375px) {
  .introduction {
    margin-top: 75px;
    padding: 0 20px;
  }
  .introduction h2 {
    font-size: 30px;
  }
  .introduction h2 + p {
    font-size: 18px;
    font-weight: 300;
  }
}
.locations {
  padding-bottom: 75px;
}
.locations h2.title {
  font-size: 50px;
  color: #3B3846;
  margin-bottom: 60px;
}
@media only screen and (max-width: 375px) {
  .locations {
    margin-top: 80px;
  }
}
.locations [class*=col-] {
  margin-bottom: 30px;
}
.locations .location {
  padding: 20px 20px 30px 20px;
  border-radius: 20px;
  background: #FCFCFC;
  height: 100%;
  display: flex;
  flex-direction: column;
  text-align: left;
}
.locations .location .title {
  color: #3B3846;
  font-size: 18px;
  font-weight: bold;
  margin: 0;
}
.locations .location .info {
  margin-top: 8px;
  padding: 0;
  font-size: 16px;
  font-weight: normal;
  color: #707070;
  text-align: left;
}
.locations .location .info_park {
  margin-top: 8px;
  font-size: 16px;
  font-weight: lighter;
  color: #707070;
}
.locations .location .opening_hours {
  margin-top: 8px;
  font-size: 14px;
  font-weight: lighter;
  color: #707070;
}
.locations .location .maps-link {
  margin-top: 8px;
  color: #247EE8;
  font-size: 16px;
  font-weight: normal;
}
.locations .info {
  margin: 0 auto;
  padding: 0 20px;
  max-width: 570px;
  text-align: center;
  color: #5D5D5D;
}
.locations .info .icon-wrapper {
  margin: 0 auto 18px;
  background-color: #4580b9;
  width: 30px;
  height: 30px;
  border-radius: 25px;
}
.locations .info a, .locations .info .link {
  text-decoration: underline;
  color: #247EE8;
}
body .heading.completed h3 {
  color: #4580b9;
}
body .heading .fas {
  color: #4580b9;
}
body .custom-radio .dot {
  border-color: #4580b9;
}
body .custom-radio .dot::after {
  background-color: #4580b9;
}
body input[type=checkbox].custom-checkbox + .custom-checkbox-group label:before {
  border-color: #4580b9;
}
body input[type=checkbox].custom-checkbox + .custom-checkbox-group label .fas {
  color: #4580b9;
}
body .toggle.active {
  background: #4580b9 !important;
}
body .bg-primary {
  background: #4580b9 !important;
}
.triage .custom-radio .text {
  color: #0c0c0c;
}
.triage .btn {
  color: #FFF;
}
.triage .invalid-feedback {
  color: #E50025;
}
.hero {
  padding: 84px 0;
  color: #fff;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}
.hero:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.2);
}
@media only screen and (max-width: 375px) {
  .hero {
    padding: 60px 0 45px;
  }
}
@media only screen and (max-width: 375px) {
  .hero h1 {
    font-size: 29px;
    margin-bottom: 30px;
  }
}
.hero h1 + p, .hero h1 + p + p {
  font-size: 1.125rem;
  line-height: 1.875rem;
}
.hero-actions .action {
  display: flex;
  align-items: center;
  margin: 15px 0;
}
@media only screen and (max-width: 375px) {
  .hero-actions .action {
    margin-top: 28px;
  }
  .hero-actions .action:nth-last-child(odd) {
    margin-bottom: 24px;
  }
  .hero-actions .action:nth-last-child(odd):last-child {
    margin-bottom: 0;
  }
}
.hero-actions .action .dot {
  background-color: #4580b9;
  width: 30px;
  height: 30px;
  border-radius: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 1rem;
  flex-shrink: 0;
  color: #fff;
}
@media only screen and (max-width: 375px) {
  .hero-actions .action .dot {
    width: 20px;
    height: 20px;
  }
}
@media only screen and (max-width: 375px) {
  .cards .card {
    min-width: 100%;
    max-width: 270px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1);
  }
  .cards .card:not(:last-child) {
    margin-right: 2rem;
  }
  .cards .card .price {
    margin-top: 25px;
    font-size: 26px;
  }
}
.cards .card {
  display: flex;
  align-content: space-between;
  width: 10.625rem;
  background-color: #4580b9;
  color: #fff;
  padding: 25px 16px;
  border-radius: 1.25rem;
  box-sizing: border-box;
  text-align: center;
  align-items: center;
  border: unset;
  font-size: 0.875rem;
  line-height: 1.5625rem;
  height: 100%;
}
@media only screen and (min-width: 768px) {
  .cards .card:not(:last-child) {
    margin-right: 2rem;
  }
}
.cards .card.small-font-size {
  font-size: 0.875rem;
}
.cards .card.wide {
  min-width: 16.875rem;
  padding: 45px 28px;
}
.cards .card.primary {
  background: #4580b9;
  color: #fff;
}
.cards .card.primary .icon {
  color: #fff;
  background-color: #578dc0;
}
.cards .card.dark {
  background-color: #ad3446;
  color: #fff;
}
.cards .card.dark .icon {
  color: #fff;
  background: #c13a4e;
}
.cards .card .icon {
  display: flex;
  margin-bottom: 1.5rem;
  background-color: #4580b9;
  border-radius: 35px;
  width: 70px;
  height: 70px;
  align-items: center;
  justify-content: center;
}
.cards .card .icon i[class^=fa] {
  font-size: 30px;
}
.cards .card .icon.travel {
  background-color: #4F4C59;
}
.cards .card .icon div {
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.cards .card .icon i {
  font-size: 18px;
}
.cards .card .icon i.fa-check {
  font-size: 10px;
}
.cards .card h2 {
  font-size: 22px;
}
.cards .card h3 {
  font-size: 24px;
}
.cards .card .price {
  color: #337E88;
}
body .heading.active h3 {
  color: #4580b9;
}
.alert-info {
  color: #376694;
  background-color: #feffff;
  border-color: #feffff;
}
.form-label-group input:not(:placeholder-shown) ~ label {
  color: #4580b9;
}
.btn.btn-primary {
  background-color: #4580b9;
  border-color: transparent;
}
.btn-outline-primary {
  border-color: #4580b9;
  color: #4580b9;
}
.btn-outline-primary:hover {
  color: #fff;
  background-color: #4580b9;
  border-color: #4580b9;
}
.btn-outline-primary:focus, .btn-outline-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(69, 128, 185, 0.5);
}
.btn-outline-primary:focus:not(:disabled):not(.disabled), .btn-outline-primary.focus:not(:disabled):not(.disabled) {
  box-shadow: 0 0 0 0.2rem rgba(69, 128, 185, 0.5);
}
.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active {
  background-color: #4580b9;
}
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
  border-color: #6a99c7;
  color: #6a99c7;
}
.btn-outline-primary.disabled:hover, .btn-outline-primary:disabled:hover {
  color: white;
  background-color: #6a99c7;
  border-color: #6a99c7;
}
.prices {
  background-color: #FCFCFC;
}
@media only screen and (max-width: 375px) {
  .prices {
    padding: 40px 0;
    margin-top: 65px;
  }
  .prices h2 {
    color: #3B3846;
    font-size: 30px;
    margin-bottom: 20px;
  }
  .prices p {
    font-size: 16px;
    font-weight: 400;
    line-height: 2em;
    color: #5D5D5D;
  }
}
.prices .cards {
  margin-top: 82px;
}
.collection-point-widget .spinner-border {
  width: 1rem;
  height: 1rem;
}
.collection-point-widget .cpw-dropdown .custom-control.custom-checkbox {
  min-height: unset !important;
}
.collection-point-widget .cpw-dropdown .custom-control.custom-checkbox .custom-control-label::before, .collection-point-widget .cpw-dropdown .custom-control.custom-checkbox .custom-control-label::after {
  left: 0;
  background-image: unset !important;
}
.collection-point-widget .cpw-dropdown .btn-close {
  background: transparent !important;
}
.collection-point-widget .cpw-dropdown .btn-close:hover {
  box-shadow: unset;
}
.collection-point-widget .cpw-dropdown .btn-close::after {
  content: unset;
}
.collection-point-widget li::before {
  content: unset;
}
.badge {
  border-radius: calc(50rem / 16);
  padding: calc(7rem / 16) calc(12rem / 16);
  background-color: #4580b9;
  color: #FFFFFF;
  font-size: calc(11rem / 16);
  line-height: 1.4;
  text-align: center;
  text-transform: uppercase;
  max-width: calc(155rem / 16);
  max-height: calc(28rem / 16);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: bold;
}
.patient-registration-form h1, .patient-registration-form h2, .patient-registration-form h3, .patient-registration-form h4, .patient-registration-form h5, .patient-registration-form h6, .patient-registration-form p, .patient-registration-form legend {
  color: #4580b9;
}
.patient-registration-form section {
  padding: 0;
}
.patient-registration-form .reason-cards .background {
  background-size: contain;
}
.patient-registration-form fieldset.test-product-selection > legend > .badge {
  background-color: #4580b9;
}
.patient-registration-form .calendar .heading .nav-btn {
  background-color: #4580b9;
}
.patient-registration-form .calendar .heading .nav-btn .fas {
  color: #FFFFFF;
}
.patient-registration-form .calendar .heading .nav-btn.disabled {
  background-color: #6a99c7;
}
.patient-registration-form .calendar .field.selected {
  border-color: #ad3446;
}
.patient-registration-form .calendar .field .date {
  color: #4580b9;
}
.patient-registration-form .calendar .time-frame-col .time-frame.selected {
  border-color: #4580b9;
}
.patient-registration-form .calendar .blue-block {
  background-color: #4580b9;
}
.custom-control {
  min-height: 2.375rem;
}
.custom-control .custom-control-input:active + .custom-control-label::before {
  background-color: #EAEAED;
}
.custom-control .custom-control-label {
  width: 100%;
  font-weight: 300;
}
.custom-control .custom-control-input:disabled ~ .custom-control-label {
  cursor: not-allowed;
}
.custom-control .custom-control-input:disabled ~ .custom-control-label:before {
  background-color: rgba(229, 0, 37, 0.2) !important;
}
.custom-control .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: #60BEAF !important;
}
.custom-checkbox .custom-control-label::before {
  border-color: #4580b9;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #4580b9;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-position: 50%;
  background-size: 0.6rem;
  background-repeat: no-repeat;
  background-image: url("/img/check-thin-white.svg");
}
.custom-checkbox.disabled .custom-control-label::before, .custom-checkbox .custom-control-input:disabled + .custom-control-label::before {
  background-color: #d5d6da;
}
.custom-switch .custom-control-input ~ .custom-control-label::before {
  background-color: #251A3E;
  border: none;
}
.custom-switch .custom-control-input ~ .custom-control-label::after {
  background-color: #FFFFFF;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.custom-switch .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #60BEAF;
}
.custom-switch .custom-control-input.highlight ~ .custom-control-label {
  font-weight: bold;
}
.custom-switch .custom-control-input:disabled ~ .custom-control-label::before, .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: #d5d6da;
  border-color: #d5d6da;
  content: "";
  background-image: url("/img/faded-red-lock.svg");
  color: #d5d6da;
  font-size: 30px;
  line-height: 30px;
  padding-left: 5px;
  transition: all ease 0.3s;
  padding-bottom: 10px;
  background-repeat: no-repeat;
  background-position: 9px 10px;
}
.custom-switch .custom-control-input:disabled ~ .custom-control-label:hover::before, .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label:hover::before {
  color: white;
  background-image: url("/img/white-lock.svg");
}
.custom-radio .custom-control-label::before {
  border-color: #ad3446;
}
.custom-radio .custom-control-label::after {
  width: 31px;
  height: 31px;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #ad3446;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="-4 -4 8 8"%3e%3ccircle r="3" fill="%23ad3446"/%3e%3c/svg%3e');
}
.btn {
  font-family: "dinosaur", "Rubik", "Open Sans", sans-serif;
  border-radius: 100px;
  text-transform: uppercase;
}
.btn.c-btn-link {
  padding: 0;
  color: #ad3446;
  font-weight: 300;
  text-decoration: underline;
}
.btn.c-btn-link::after {
  content: none;
}
.btn.c-btn-link:hover, .btn.c-btn-link:focus {
  box-shadow: unset;
}
.btn.c-btn-link:focus-visible {
  outline: none;
}
.btn.btn-secondary {
  color: white;
}
.form-step.previous .edit {
  font-size: medium;
  font-weight: 400;
  font-style: italic;
  cursor: pointer;
  transition: all ease 0.3s;
}
.form-step.previous .edit:hover {
  color: #8b90b5;
}
.form-step.previous .edit:hover img {
  transform: scale(1.4);
}
.form-step.previous .edit img {
  transition: all ease 0.2s;
  transform: scale(1.2);
}
.personal-information .edit {
  font-size: medium;
  font-weight: 400;
  font-style: italic;
  cursor: pointer;
  transition: all ease 0.3s;
}
.personal-information .edit:hover {
  color: #8b90b5;
}
.personal-information .edit:hover img {
  transform: scale(1.4);
}
.personal-information .edit img {
  transition: all ease 0.2s;
  transform: scale(1.2);
}
.form-step > fieldset {
  margin: 50px 0;
}
.form-step > fieldset > legend {
  color: #4580b9;
  font-weight: bold;
  font-size: 26px;
}
.form-step > fieldset.active > legend {
  margin-bottom: 20px;
}
.form-step > fieldset .description {
  font-size: 16px;
  font-weight: 300;
  color: #6a99c7;
}
.form-step > fieldset .info-link {
  font-size: 15px;
  color: #ad3446;
  text-decoration: underline;
  font-weight: lighter;
}
.form-step > fieldset .info-link:hover {
  cursor: pointer;
}
.reason-cards {
  position: relative;
  margin-bottom: 40px;
}
.reason-cards h2 {
  margin-bottom: 62px;
}
.reason-cards .background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("/img/registration/background-gradient.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.reason-cards input[type=radio] {
  display: none;
}
.reason-cards input[type=radio] + label::before, .reason-cards input[type=radio] + label::after {
  display: none;
}
.reason-cards input[type=radio]:checked + .custom-control-label > .reason-card {
  background-color: #4580b9;
  border-color: #57596a;
}
.reason-cards input[type=radio]:checked + .custom-control-label > .reason-card .reason-title {
  color: #FFFFFF;
}
.reason-cards input[type=radio]:checked + .custom-control-label > .reason-card .reason-description {
  color: #FFFFFF;
}
.reason-cards input[type=radio]:checked + .custom-control-label > .reason-card .checkmark {
  opacity: 1;
  transform: scale(1) translateX(50%);
}
.reason-cards input[type=radio]:checked + .custom-control-label > .reason-card .circle {
  background-color: #d9d9d9;
}
.reason-cards input[type=radio]:checked + .custom-control-label > .reason-card .circle:after {
  background-color: #f2f2f2;
}
.reason-cards .custom-radio {
  padding-left: 0;
}
.reason-cards .custom-radio:nth-child(3) .reason-card {
  margin-bottom: 0;
}
.reason-cards .reason-card {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding: 10px 20px;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  background-color: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.5);
  box-shadow: 0 20px 40px rgba(45, 48, 69, 0.2);
  height: 240px;
  font-weight: 300;
  font-size: 15px;
  cursor: pointer;
  transition: all ease 0.3s;
  user-select: none;
  position: relative;
  backdrop-filter: blur(30%) brightness(75%);
  margin-bottom: 40px;
}
.reason-cards .reason-card.single-choice {
  cursor: default;
  flex-direction: row;
  display: flex;
  flex-wrap: nowrap;
  max-width: unset;
  align-items: center;
  padding: 0 20px;
  box-shadow: 0 20px 40px rgba(45, 48, 69, 0.2);
}
.reason-cards .reason-card.single-choice .reason-img {
  margin-bottom: 15px;
}
.reason-cards .reason-card.single-choice .reason-description {
  margin-left: 50px;
}
.reason-cards .reason-card.single-choice:hover {
  transform: unset;
}
.reason-cards .reason-card:hover {
  transform: scale(1.04);
}
.reason-cards .reason-card .reason-img img {
  width: 80px;
  height: 60px;
}
.reason-cards .reason-card .reason-title {
  margin-bottom: 0;
}
.reason-cards .reason-card .reason-description {
  margin-top: -20px;
  text-align: center;
  color: #4580b9;
}
.reason-cards .reason-card .checkmark {
  position: absolute;
  top: -15%;
  right: calc(100% - 60px);
  opacity: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  width: 75px;
  height: 75px;
  background-color: #ad3446;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  transform: scale(0.8);
  transition: all 0.3s;
}
@media (min-width: 576px) {
  .reason-cards .reason-card .reason-img img {
    width: 140px;
    height: 120px;
  }
}
@media (min-width: 992px) {
  .reason-cards .background {
    background-size: 100%;
    margin-left: -100px;
    margin-right: -100px;
    width: calc(100% + 200px);
  }
  .reason-cards .cards-holder {
    display: flex;
    justify-content: center;
  }
  .reason-cards .reason-card {
    flex-direction: column;
    align-items: center;
    padding: 0 25px 63px;
    max-width: 270px;
    height: auto;
    margin-right: 30px;
  }
  .reason-cards .reason-card:hover {
    transform: scale(1.04);
  }
  .reason-cards .reason-card .reason-img {
    margin-bottom: 30px;
    position: relative;
    justify-content: center;
    display: flex;
  }
  .reason-cards .reason-card .reason-img .circle {
    position: absolute;
    top: 25px;
    background-color: #8fb3d5;
    border-radius: 50%;
    height: 100px;
    width: 100px;
    z-index: 0;
    transition: all ease 0.3s 0.07s;
  }
  .reason-cards .reason-card .reason-img .circle:after {
    transition: all ease 0.3s;
    content: "";
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: #4580b9;
    border-radius: 50%;
    position: absolute;
    width: 80px;
    height: 80px;
  }
  .reason-cards .reason-card .reason-img img {
    z-index: 1;
    width: unset;
    height: unset;
  }
  .reason-cards .reason-card .reason-description {
    margin-top: 10px;
    text-align: center;
    color: #57596c;
  }
  .reason-cards .reason-card .checkmark {
    position: absolute;
    top: calc(100% - 37.5px);
    right: 50%;
    transform: scale(1) translateX(50%);
    opacity: 0;
  }
}
.collection-point-select .map-container {
  box-shadow: 0 10px 40px rgba(45, 48, 69, 0.15);
  margin: 0 0 50px;
}
@media (min-width: 768px) {
  .collection-point-select .map-container {
    margin: 0 -25px 50px;
  }
}
.collection-point-select .map-container .google-map {
  height: 500px;
  width: 100%;
  border-radius: 5px;
}
.collection-point-select .in-your-area {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
.collection-point-select .in-your-area .address {
  margin-left: 15px;
}
.collection-point-select .locations-list .location-list-item {
  padding: 25px;
  margin-top: 15px;
  border: 2px solid #EAEAED;
  border-radius: 5px;
  box-shadow: 0 3px 5px rgba(45, 48, 69, 0.1);
  cursor: pointer;
  transition: all ease 0.3s;
  background-color: #FFFFFF;
  color: #57596c;
  user-select: none;
}
.collection-point-select .locations-list .location-list-item.selected {
  box-shadow: 0 3px 6px rgba(81, 178, 168, 0.3);
  border: 2px solid #ad3446;
}
.collection-point-select .locations-list .location-list-item:first-child {
  margin-top: 0;
}
.collection-point-select .locations-list .location-list-item:last-child {
  margin-bottom: 50px;
}
.collection-point-select .locations-list .location-list-item .location-heading {
  margin-bottom: 20px;
  font-family: "dinosaur", "Rubik", "Open Sans", sans-serif;
  display: flex;
  gap: 20px;
  align-items: baseline;
}
.collection-point-select .locations-list .location-list-item .location-heading .name {
  font-weight: bold;
  font-size: 18px;
}
.collection-point-select .locations-list .location-list-item .location-heading .street {
  margin: 4px 0;
  display: flex;
  flex-wrap: wrap;
  font-family: "adonis-web", "Rubik", "Open Sans", sans-serif;
}
.collection-point-select .locations-list .location-list-item .location-heading .distance {
  white-space: nowrap;
}
.c-form-select-search {
  position: relative;
  height: 58px;
}
.c-form-select-search .mobile-select {
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: 10;
  opacity: 1;
}
@media (min-width: 768px) {
  .c-form-select-search .mobile-select {
    z-index: -1;
    opacity: 0;
    width: 0;
    height: 0;
  }
}
.c-form-select-search .mobile-select.is-filled ~ label {
  z-index: 11;
}
.c-form-select-search.active .dropdown-input {
  border-color: #ad3446;
  border-bottom: unset !important;
  border-radius: 5px 5px 0 0;
  box-shadow: unset;
}
.c-form-select-search.active .dropdown-label {
  transform: translate(-50%, -50%) scale(1.3);
}
.c-form-select-search.floating-label .dropdown-input:not(.is-filled) {
  color: transparent;
}
.c-form-select-search:not(.floating-label) .dropdown-input, .c-form-select-search:not(.floating-label) .dropdown-input.is-filled {
  padding: 1rem;
}
.c-form-select-search .form-control.dropdown-input, .c-form-select-search .dropdown-input.mobile-select {
  border-color: #EAEAED;
}
.c-form-select-search.is-invalid .dropdown-input {
  border-color: #E50025;
}
.c-form-select-search.is-invalid label {
  color: #E50025;
}
.c-form-select-search.is-invalid.active .dropdown-content {
  border-color: #E50025;
}
.c-form-select-search .dropdown-input {
  cursor: pointer;
  border: 2px solid #EAEAED;
  position: relative;
}
.c-form-select-search .dropdown-input:focus-visible, .c-form-select-search .dropdown-input:focus {
  outline: none;
}
.c-form-select-search .dropdown-label {
  position: absolute;
  right: 25px;
  top: 50%;
  transition: all ease 0.3s;
  transform: translate(-50%, -50%) scale(1);
  cursor: pointer;
}
.c-form-select-search .dropdown-content {
  position: absolute;
  background-color: #FFFFFF;
  max-height: 205px;
  z-index: 10;
  overflow-y: scroll;
  width: 100%;
  box-shadow: 0 3px 6px rgba(81, 178, 168, 0.15);
  border: 2px solid #ad3446;
  border-top: none;
  border-radius: 0 0 5px 5px;
  box-sizing: border-box;
}
.c-form-select-search .dropdown-content .dropdown-item {
  padding: 8px 25px;
  text-decoration: none;
  cursor: pointer;
  color: #57596c;
  font-size: 16px;
  font-weight: 400;
}
.c-form-select-search .dropdown-content .dropdown-item.suggested {
  background-color: rgba(81, 178, 168, 0.1);
}
.c-form-select-search .dropdown-content .dropdown-item.selected, .c-form-select-search .dropdown-content .dropdown-item:hover {
  background-color: rgba(81, 178, 168, 0.35);
}
.floating-label {
  position: relative;
}
.floating-label > input, .floating-label > select, .floating-label > select option, .floating-label > label {
  height: 3.625rem;
  padding: 1rem 1.25rem;
}
.floating-label > label {
  border-radius: 0.25rem;
  border: 1px solid transparent;
  cursor: text;
  /* Match the input under the label */
  display: block;
  left: 0;
  line-height: 1.5;
  margin-bottom: 0;
  /* Override default `<label>` margin */
  pointer-events: none;
  position: absolute;
  top: 0;
  transition: all 0.1s ease-in-out;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-align: left;
  box-sizing: border-box;
}
.floating-label input:focus:not(:disabled), .floating-label input:active:not(:disabled), .floating-label .is-filled {
  padding-top: 1.25rem;
  padding-bottom: 0.25rem;
  border: 2px solid #ad3446;
}
.floating-label input:focus:not(:disabled) ~ label, .floating-label input:active:not(:disabled) ~ label, .floating-label .is-filled ~ label {
  color: #ad3446;
  font-family: "dinosaur", "Rubik", "Open Sans", sans-serif;
  font-size: 12px;
  font-weight: 500;
  padding-bottom: 0.25rem;
  padding-top: 0.5125rem;
}
.floating-label input:focus:not(:disabled).is-invalid ~ label, .floating-label input:active:not(:disabled).is-invalid ~ label, .floating-label .is-filled.is-invalid ~ label {
  color: #E50025;
}
.floating-label .is-filled {
  border-color: #EAEAED;
}
.floating-label .is-filled ~ label {
  color: #4580b9;
}
.floating-label .is-invalid ~ label {
  color: #E50025;
}
.floating-label select {
  color: #FFFFFF;
}
.floating-label select.mobile-select {
  color: inherit;
}
.floating-label select.is-filled {
  color: inherit;
}
.floating-label select.custom-select:not(.floating-label select.is-filled):disabled {
  background-color: #d5d6da;
}
.floating-label select option {
  color: #0c0c0c;
}
.floating-label input[type=date] ~ label, .floating-label input[type=time] ~ label {
  background-color: #FCFCFC;
  border: 2px solid #EAEAED;
}
.floating-label input[type=date]:focus ~ label, .floating-label input[type=date]:active ~ label, .floating-label input[type=date].is-filled ~ label, .floating-label input[type=time]:focus ~ label, .floating-label input[type=time]:active ~ label, .floating-label input[type=time].is-filled ~ label {
  background-color: transparent;
  border-color: transparent;
}
@supports (-ms-ime-align: auto) {
  .form-label-group {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .form-label-group label {
    position: static;
  }
  .form-label-group input::-ms-input-placeholder {
    color: #4580b9;
  }
}
.floating-label input::placeholder {
  color: transparent;
}
.tab-container {
  position: relative;
  background-color: #FFFFFF;
  color: #4580b9;
  flex-grow: 1;
  border-radius: 5px;
  display: flex;
  align-content: stretch;
  border: 2px solid #EAEAED;
  max-width: 370px;
}
.tab-container .custom-control {
  padding: 0 5px;
  border-radius: inherit;
  cursor: pointer;
  text-align: center;
  width: 100%;
  font-size: 16px;
  font-weight: 400;
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background-color 0.3s;
  color: #778788;
  user-select: none;
}
.tab-container .custom-control input {
  display: none;
}
.tab-container .custom-control input + label::before, .tab-container .custom-control input + label::after {
  display: none;
}
.tab-container .custom-control input:disabled + label {
  color: #EAEAED;
  cursor: not-allowed;
}
.tab-container .custom-control label {
  padding: 17.5px 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.tab-container .custom-control.active {
  color: #F9F9F9;
  transition: all ease 0.4s 0.2s;
}
.tab-container .custom-control.disabled {
  opacity: 0.2;
  cursor: default;
}
.tab-container .active-container {
  position: absolute;
  top: 5px;
  right: 5px;
  bottom: 5px;
  left: 5px;
}
.tab-container .active-container .active-tab {
  position: absolute;
  background: #4580b9;
  color: #6a99c7;
  top: 0;
  bottom: 0;
  border-radius: 5px;
  transition: all ease 0.4s;
  height: 50px;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.16);
}
.tab-container .active-container .active-tab.disabled {
  background-color: #d5d6da;
}
.patient-registration-summary {
  margin: 0 0 40px;
}
.patient-registration-summary [class~="patient-summary"]:first-child {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
.patient-registration-summary [class~="patient-summary"]:nth-last-child(2) {
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
.patient-registration-summary .patient-summary {
  margin-bottom: 16px;
}
.patient-registration-summary .patient-summary .voucher-applied {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-grow: 1;
  flex-wrap: wrap;
  margin-left: 16px;
  font-size: 16px;
  font-weight: bold;
  color: #9698A3;
}
.patient-registration-summary .patient-summary .voucher-applied .voucher-code {
  color: #4580b9;
}
.patient-registration-summary .total-price, .patient-registration-summary .patient-summary {
  background-color: #FCFCFC;
  border: 1px solid #EAEAED;
  max-width: 600px;
  padding: 25px 25px 20px;
}
.patient-registration-summary .summary-table {
  width: 100%;
  color: #57596c;
  font-size: 15px;
}
.patient-registration-summary .summary-table .test-row > td {
  padding-bottom: 10px;
}
.patient-registration-summary .summary-table th {
  color: #4580b9;
  font-weight: bold;
}
.patient-registration-summary .summary-table td {
  font-weight: 200;
}
.patient-registration-summary .summary-table td.discount {
  color: #9698A3;
}
.patient-registration-summary .summary-table td.discount .price {
  text-decoration: line-through;
}
.patient-registration-summary .summary-table td .currency {
  margin-right: 16px;
}
.patient-registration-summary tfoot {
  border-top: 1px solid #EAEAED;
}
.patient-registration-summary tfoot .subtotal-row > td, .patient-registration-summary tfoot .subtotal-row th {
  padding-top: 20px;
}
.patient-registration-summary .total-price {
  display: flex;
  justify-content: space-between;
  border-radius: 5px;
}
.patient-registration-summary .total-price .total, .patient-registration-summary .total-price .price {
  line-height: 1.1;
  color: #4580b9;
  font-weight: bold;
  font-size: 20px;
}
.patient-registration-summary .notification {
  margin-bottom: 40px;
}