.site-max-width {
	max-width:1170px;
}
a.skip-to-main:focus {
	position: relative;
	display: block;
	text-align: center;
	width: 100%;
	height: auto;
	padding: 10px;
	margin: 0;
	overflow: visible;
	clip: auto;
	background-color: #fff;
	border-bottom: 1px solid #ccc;
}
body {
	font-family: 'Poppins', sans-serif;
	font-style:normal;
	font-weight:400;
	font-size: 1.125rem;
    line-height: 1.5;
	color:#4E4E4E;
	background-color:#fff;
}
a,
a:hover {
	color:#2B2D42;
    text-decoration: underline;
}
a:hover {
  text-decoration: none;
}
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus,
*:focus {
    outline:2px solid #2B2D42;
}
p,
ul,
ol {
    margin-bottom:1rem;
}
.special-text {
  font-size:110%;
  color:#2AAAE2;
}

.special-text-2 {
    font-size:110%;
    color:#2AAAE2;
}

.disclaimer {
  font-size:0.95rem;
}
h2, h3, h4 {
  font-family:'Poppins', sans-serif;
  color:#2B2D42;
  font-weight: 700;
}

/* ---------- Header ----------*/
header {
   background-color:#1C2639;
}
header p {
  margin-bottom:0;
}
.site-logo {
  padding-top:10px;
  padding-bottom:10px;
    width: 13rem;
}
.logos-text {
  text-align:center;
  font-size:0.95rem;
  color:#2AAAE2;
}
a.phone-number {
  color:#2AAAE2;
  font-weight:800;
  font-size:1.2rem;

}
p.bold-text {
   color:#fff;
  font-weight:800;
  font-size:1.2rem;
}

/* ---------- Form ----------> */

.form-control {
  font-size: 0.95rem;
  border-radius: 10px;
  padding:0.375rem 0.75rem;
  min-height:42px;
  height:42px;
  border:solid 1px #2B2D42;
  box-shadow: inset 0.125rem 0.125rem 0.125rem 0 #eee;
}
.form-label {
  margin-bottom:0;
  font-size:0.95rem;
  font-weight: 700;
}

/* --------------- Hero Promo Form --------------- */
.hero-promo-form h2 {
  font-size:1.195rem;
}

/* --------------- Hero Promo Column, Icons and Logo with Borders --------------- */
.hero-promo-col {
  color:#2B2D42;
}
.hero-promo-content {
  max-width:80%;
  margin:0 auto;
}
.hero-promo-content h2,
.details-text h2 {
  font-size:2.2rem;
}
.hero-promo-content p {
  font-size:1.15rem;
  margin-bottom:0;
}
.hero-logo-borders span,
.hero-logo-borders-lg span {
  position: relative;
}
.hero-logo-borders span::before {
  content: '';
  position: absolute;
  top: 1.7rem;
  left: -175px;
  width: 160px;
  height: 0.375rem;
  border-top: 1px solid #2B2D42;
}
.hero-logo-borders span::after {
  content: '';
  position: absolute;
  top: 1.7rem;
  right: -175px;
  width: 160px;
  height: 0.375rem;
  border-top: 1.5px solid #2B2D42;
}
.icon-row-container {
  text-align: left;
  max-width:80%;
}
.icon-row-container li {
  display: flex;
  padding-bottom:20px;
}
.icon-container {
  width:32px;
  height:32px;
  display:flex;
  margin-right:0.5rem;
}
.icon-container svg {
  fill:#2B2D42;
  font-size:1.5rem;
}
.icon-text {
  font-size:1.2rem;
  display:inline-flex;
}
.icon-logo-wrapper {
  margin-top:40px;
  margin-bottom:40px;
}

#promo-3 {
    width: 220px;
    height: 275px;
}

@media (max-width: 767px) {
  .hero-logo-borders {
    margin-top:15px;
    margin-bottom:35px !important;
  }
}
@media (min-width:577px) and (max-width: 767px) {
  .hero-logo-borders {
    margin-top:15px;
    margin-bottom:35px !important;
  }
}

@media (min-width:768px) and (max-width: 991px) {
  .hero-promo-col,
  .hero-promo-form {
    width:100%;
  }
  .hero-logo-borders {
    margin-top:15px;
    margin-bottom:35px !important;
  }
  .icon-row-container {
    max-width:80%;
    margin:0 auto;
  }
}
@media (min-width:992px) and (max-width: 1199px) {
  .hero-promo-col,
  .hero-promo-form {
    padding-top:1.5rem;
  }
  .hero-promo-content h2 {
    font-size:1.5rem;
  }
}
@media (max-width:991px) {
  .hero-promo-form,
  .hero-promo-col {
    padding-top:0;
  }
  .icon-logo-wrapper {
    margin-top:0;
  }
  .hero-promo-content h2,
  .details-text h2 {
    font-size:1.85rem;
  }
}
@media (max-width:1200px) {
  .hero-promo-content {
    max-width:95%;
  }
}

/* ---------- Button ---------- */
.btn {
  font-size: 22px !important;
  font-weight: 700;
  text-transform:uppercase;
  line-height: 1.5;
  padding:4px 14px;
  border:2px solid transparent;
  border-radius:10px;
  text-decoration:none !important;
  white-space: normal;
}
.btn-primary {
  background-color:#2B2D42;
  border-color: transparent;
  color:#fff;
}
.btn-primary:hover,
.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.show > .btn-primary.dropdown-toggle {
  background-color: #fff;
  border-color: #2B2D42;
  color:#2B2D42;
}
.btn-primary:focus {
  background-color: #1C2639;
  border-color: #2AAAE2;
  color:#fff;
  box-shadow: 0 0 0 .2rem rgba(42,170,226,0.4) !important;
}

/* --------------- Logo Icon with Borders - above the Details Section --------------- */
.icon-logo-borders {
  background: linear-gradient(#ffffff 0%, #ffffff 49%, #2B2D42 50%, #2B2D42 51%, #ffffff 52%, #ffffff 100%);
}
.icon-logo-borders span {
  background: #fff;
  padding: 0 20px;
  position: relative;
  z-index: 5;
}
/* ---------- Start Details & Trustpilot Section ---------- */

.details-wrapper,
.trustpilot-wrapper {
  margin-top:50px;
  margin-bottom:50px;
}

/* ---------- Pipe separated lists ---------- */

ul.pipe-separated-list {
    list-style: none;
    padding:0;
    margin:0 0 .75rem -.75rem;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    justify-content: center;
}
ul.pipe-separated-list li {
    padding:0 .75rem;
    margin:0 0 .75rem 0;
    text-indent:0;
    border-right: 1px solid #fff;
}
ul.pipe-separated-list li:last-child {
    padding-right: 0;
    border-right: 0 none;
}
ul.pipe-separated-list li::before {
    display: none;
}

/* ---------- Start Footer ---------- */
footer {
	padding:3rem 0 40px;
	color:#fff;
    background-color:#1C2639;
}
footer h2 {
	color: #fff;
}
footer a,
footer a:hover,
footer a:focus,
footer a:active {
  color:#fff;
}


/* ----------------------------------------------- */
/* Hero Image using Carousel */
/* ----------------------------------------------- */

#hero {
    overflow: hidden;
}

/* --------------- Carousel Caption --------------- */
.carousel-caption-inner {
    padding: 0 15px;
}
.carousel-item {
  display:block;
}
.carousel-caption h1 {
    color:#2B2D42;
    font-size:2rem;
    font-style: normal;
    font-weight: 800;
    margin-bottom:.25em;
}
.carousel-caption .caption-details,
.carousel-caption .caption-details > * {
    margin-bottom:.75em;
    color:#2B2D42;
    font-size:1.25rem;
    font-weight: 500;
}
.carousel-caption .caption-details p {
    margin-bottom:0;
}
@media (max-width: 767px) {
  .carousel-caption {
      background-color: #fff;
      color:#636569;
      position: static;
      padding-top:35px;
  }
  .carousel-indicator-text {
      display: none;
  }
  .site-logo {
      width: 9rem;
      margin-bottom: -6px;
  }

  .hide-on-mobile {
      display: none !important;
  }

  .mobile-text {
      font-size: 20px !important;
  }

  .mobile-text-p {
      font-size: 15px !important;
      margin-bottom: 14px !important;
  }

  .mobile-icons p {
      font-size: 18px !important;
      margin-bottom: 8px !important;
  }
  .mobile-icons a {
      font-size: 18px;
      margin-bottom: 12px !important;
  }

  .mobile-icons .logos-text {
      font-size: 14px !important;
  }

  .logo-tp {
      width: 6rem !important;
  }

  .logo-google {
      width: 5.5rem !important;
  }

  .details-text h2, h3{
      text-align: center;
  }

  .button-text {
      text-align: center;
      margin-bottom: -18px !important;
  }
}

@media (min-width: 768px) {
/* --------------- Carousel Captions --------------- */
  .carousel-caption {
      font-size:16px;
      font-size:2.143vw;
      text-shadow:none;
      cursor:default;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
      top:0;
      bottom:0;
      display: -ms-flexbox;
      display: flex;
      flex-wrap: wrap;
      text-align:left;
      padding-top:9%;
      padding-bottom:12%;
  }
  .caption-vertical-center .carousel-caption {
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-line-pack: center;
      align-content: center;
  }
  .carousel-caption-inner {
      padding:3vw 2%;
      background-color: rgba(255,255,255,.88);
      position: relative;
      z-index: 5;
  }
  .carousel-caption-inner::before {
      content:'';
      position: absolute;
      left:0;
      top:0;
      background-color: rgba(255,255,255,.88);
      width:100%;
      height:0%;
      transition: height .7s;
      z-index: -1;
  }
}
@media (max-width: 991px) {
  .carousel-caption {
    position:static;
    padding-top:20px;
    padding-bottom:0;
    justify-content:center;
  }
  .carousel-caption .caption-details,
  .carousel-caption .caption-details > * {
    font-size:1.125rem;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .carousel-caption {
    padding-top:6%;
    padding-bottom:6%;
  }
  .carousel-caption-inner {
    padding:0;
  }
  .carousel-caption .caption-details,
  .carousel-caption .caption-details > * {
    font-size:1.125rem;
  }
}

@media (min-width: 1200px) {
  .carousel-caption {
    padding-top:9%;
    padding-bottom:8%;
  }
}
@media (min-width:992px) and (max-width: 1399px) {
  .carousel-caption {
    left:2%;
    right:2%;
  }
}
@media (min-width:1400px) and (max-width: 1600px) {
  .carousel-caption {
    left:9%;
    right:9%;
  }
}

.form-error {
    color: darkred;
    font-weight: 600;
    font-size: 15px;
}


#hero-image {
    width: 100%;
    height: 85vh;
    object-fit: cover;
}
