@import url('https://fonts.googleapis.com/css?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Kadwa:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Yeseva+One&display=swap');
@import url('https://fonts.googleapis.com/css?family=Quattrocento+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap');
* {
  font-family: "Quattrocento Sans", sans-serif;
  font-size: 18px;
  line-height: 28px;
  color: #000040;
  word-break: break-word;
}
h1 {
  font-size: 40px;
  font-weight: bold;
  font-family: "Yeseva One", serif;
}
@media screen and (max-width: 991px) {
  h1 {
    font-size: 32px;
  }
}
h2 {
  font-size: 32px;
  font-weight: bold;
  font-family: "Yeseva One", serif;
}
@media screen and (max-width: 991px) {
  h2 {
    font-size: 24px;
  }
}
h3,
h4,
h5,
h6 {
  font-size: 24px;
  font-weight: bold;
  font-family: "Yeseva One", serif;
}
a {
  color: #000040;
  transition: 0.3s ease;
}
a:hover {
  color: #ead21a;
}
main {
  min-height: 500px;
}
main.content-page {
  margin-top: 80px;
}
.button,
.btn {
  padding: 8px 16px;
  color: #000040;
  background-color: #ead21a;
  font-weight: bold;
  border: 0px;
  transition: 0.3s ease;
  border-radius: 4px;
  text-decoration: none;
  font-family: "Yeseva One", serif;
}
.button.secondairy,
.btn.secondairy {
  background-color: #fff;
  color: #000040;
  font-family: "Yeseva One", serif;
}
.button.secondairy:hover,
.btn.secondairy:hover {
  background-color: #ead21a;
  color: #000040;
}
.button:focus-visible,
.btn:focus-visible {
  outline: none;
}
.button:hover,
.btn:hover {
  background-color: #A8960F;
  color: #000040;
  transition: 0.3s ease;
}
.button:focus,
.btn:focus {
  background-color: #A8960F;
  color: #000040;
  transition: 0.3s ease;
  box-shadow: none;
}
.button:active:focus,
.btn:active:focus {
  background-color: #A8960F;
  color: #000040;
  transition: 0.3s ease;
  box-shadow: none;
}
.ccm-dashboard-express-form .text-muted.small {
  visibility: hidden;
}
.ccm-dashboard-express-form .text-muted.small:before {
  content: "*";
  display: inline;
  visibility: initial;
}
.grecaptcha-badge {
  z-index: 1000;
}
.block-margin {
  margin-bottom: 40px;
}
header {
  position: relative;
  z-index: 100;
}
header .header-logo {
  height: 183px;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 478px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: #fff;
  clip-path: polygon(0 0, 100% 0, 76% 100%, 0% 100%);
}
@media screen and (max-width: 767px) {
  header .header-logo {
    height: 143px;
    width: 350px;
    top: 40px;
  }
}
@media screen and (max-width: 575px) {
  header .header-logo {
    height: 103px;
    width: 250px;
    top: 72px;
  }
}
header .header-logo::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000040;
  clip-path: polygon(0 0, 24% 0, 0 100%);
  z-index: 0;
}
header .header-logo img {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  header .header-logo img {
    height: 113px;
  }
}
@media screen and (max-width: 575px) {
  header .header-logo img {
    height: 103px;
    padding: 4px;
  }
}
header .header-top {
  min-height: 40px;
  background-color: #000040;
  color: #fff;
  font-size: 18px;
  display: flex;
  align-items: center;
}
header .header-top a {
  color: #fff;
  text-decoration: none;
}
header .header-top p {
  color: #fff;
  margin-bottom: 0px;
}
header .header-top .container {
  display: block;
  text-align: right;
  margin-top: 6px;
  margin-bottom: 6px;
}
@media (min-width: 576px) {
  header .header-top .container {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    margin-top: 0px;
    margin-bottom: 0px;
  }
}
@media (min-width: 768px) {
  header .header-top .container {
    display: block;
    text-align: right;
    justify-content: flex-end;
    gap: 16px;
    margin-top: 6px;
    margin-bottom: 6px;
  }
}
@media (min-width: 992px) {
  header .header-top .container {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    margin-top: 0px;
    margin-bottom: 0px;
  }
}
header .header-top .contact-inline {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  justify-content: flex-end;
}
@media (min-width: 576px) {
  header .header-top .contact-inline {
    margin-top: 0;
  }
}
@media (min-width: 768px) {
  header .header-top .contact-inline {
    margin-top: 4px;
  }
}
@media (min-width: 992px) {
  header .header-top .contact-inline {
    margin-top: 0;
  }
}
header .header-top .contact-inline a {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  text-decoration: none;
  transition: color 0.3s ease;
}
header .header-top .contact-inline a svg {
  fill: #fff;
  width: 18px;
  height: 18px;
  transition: fill 0.3s ease;
}
header .header-top .contact-inline a p {
  margin: 0;
  color: #fff;
  transition: color 0.3s ease;
}
header .header-top .contact-inline a:hover {
  color: #ead21a;
}
header .header-top .contact-inline a:hover svg {
  fill: #ead21a;
}
header .header-top .contact-inline a:hover p {
  color: #ead21a;
}
header .header-bottom {
  min-height: 103px;
  display: flex;
  align-items: center;
}
@media (max-width: 991px) {
  header .header-bottom {
    min-height: 75px;
  }
}
@media (max-width: 767px) {
  header .header-bottom {
    min-height: 103px;
  }
}
header .header-bottom .container {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media (max-width: 1199px) {
  header .header-bottom .ccm-block-top-navigation-bar {
    width: 100%;
    text-align: end;
  }
}
header .header-bottom .ccm-block-top-navigation-bar .navbar {
  padding: 0px;
}
header .header-bottom .ccm-block-top-navigation-bar .navbar .container-fluid {
  padding: 0px;
}
@media (max-width: 1199px) {
  header .header-bottom .ccm-block-top-navigation-bar .navbar .container-fluid {
    justify-content: flex-end;
  }
}
header .header-bottom .ccm-block-top-navigation-bar .navbar .container-fluid .navbar-nav {
  gap: 40px;
}
@media (max-width: 1199px) {
  header .header-bottom .ccm-block-top-navigation-bar .navbar .container-fluid .navbar-nav {
    gap: 20px;
    padding-bottom: 16px;
  }
}
header .header-bottom .ccm-block-top-navigation-bar .navbar .container-fluid .navbar-nav .nav-item .nav-link {
  font-style: italic;
  font-size: 24px;
  color: #000040;
  transition: 0.3s ease;
}
header .header-bottom .ccm-block-top-navigation-bar .navbar .container-fluid .navbar-nav .nav-item .nav-link:hover {
  color: #bdd0f3;
}
@media (max-width: 1199px) {
  header .header-bottom .ccm-block-top-navigation-bar .navbar .container-fluid .navbar-toggler {
    padding: 44px 0px 43px 0px;
  }
}
header .header-bottom .ccm-block-top-navigation-bar .navbar .container-fluid .navbar-toggler:focus {
  box-shadow: unset;
}
header .header-bottom .ccm-block-top-navigation-bar .navbar .container-fluid .navbar-toggler .icon-bar {
  background-color: #000040;
}
.hero-home {
  min-height: 659px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .hero-home {
    margin-bottom: -208px;
  }
}
.hero-home .ccm-block-hero-image {
  height: 659px;
  padding-right: 34%;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .hero-home .ccm-block-hero-image {
    padding-right: 0%;
  }
}
.hero-home .ccm-block-hero-image .ccm-block-hero-image-image {
  height: 659px;
  background-size: cover;
  background-position: center;
  clip-path: polygon(0 0, 100% 0, calc(100% - 420px) 100%, 0% 100%);
  transition: clip-path 0.3s ease;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .hero-home .ccm-block-hero-image .ccm-block-hero-image-image {
    clip-path: unset;
  }
}
.hero-home .ccm-block-hero-image::after {
  content: '';
  position: absolute;
  top: 26px;
  right: 29%;
  width: 420px;
  height: 100%;
  background: linear-gradient(to top right, #ffffff 0%, #bdd0f3 25%);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  z-index: 2;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .hero-home .ccm-block-hero-image::after {
    display: none;
  }
}
.hero-home .hero-content {
  position: absolute;
  width: 100%;
  top: 26px;
  z-index: 50;
}
.hero-home .hero-content .blue-box {
  min-height: 633px;
  background: linear-gradient(to top right, #bdd0f3 0%, #bdd0f3 50%, #9db7e6 100%);
  padding: 32px;
}
.hero-home .hero-content .blue-box h1,
.hero-home .hero-content .blue-box h2 {
  margin-bottom: 28px;
}
.hero-home .hero-content .blue-box p {
  margin-bottom: 32px;
}
.hero-home .hero-content .blue-box form div {
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .hero-home .hero-content .blue-box {
    min-height: 0px;
    height: calc(100% + 32px);
    padding: 32px 32px 0px 32px;
  }
}
@media screen and (max-width: 767px) {
  .hero-home .hero-content {
    position: relative;
    top: -240px;
  }
}
.advantages-scroller {
  overflow: hidden;
  position: relative;
  width: 100%;
  padding: 32px 0;
}
.advantages-scroller .advantages-track {
  display: flex;
  gap: 64px;
  animation: scroll-left 30s linear infinite;
  width: max-content;
}
.advantages-scroller .advantage {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.advantages-scroller .advantage img {
  width: 32px;
  height: 32px;
  margin-right: 12px;
  object-fit: contain;
}
.advantages-scroller .advantage p {
  margin: 0;
  white-space: nowrap;
  font-size: 24px;
  font-style: italic;
}
@keyframes scroll-left {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(calc(-25% - 14px));
  }
}
.google-maps {
  margin-bottom: -8px;
}
.items {
  padding-top: 80px;
  padding-bottom: 40px;
}
.items .item {
  padding-bottom: 40px;
}
.items .item h2 {
  font-size: 24px;
}
.items .item img {
  margin-bottom: 40px;
}
.banner-with-text-container {
  padding-bottom: 80px;
  padding-top: 80px;
}
.banner-with-text-container.no-bottom {
  padding-bottom: 0px;
}
@media screen and (max-width: 767px) {
  .banner-with-text-container {
    padding-top: 0px;
    padding-bottom: 0px;
  }
}
.banner-with-text-container .banner-with-text {
  position: relative;
  background: linear-gradient(to left, #ffffff 18%, #bdd0f3 100%);
  padding-top: 60px;
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .banner-with-text-container .banner-with-text {
    padding-top: 0px;
    padding-bottom: 0px;
  }
}
@media screen and (max-width: 767px) {
  .banner-with-text-container .banner-with-text .banner-container .banner-text {
    padding-top: 60px;
    padding-bottom: 42px;
  }
}
.banner-with-text-container .banner-with-text .banner-image {
  position: absolute;
  top: -80px;
  left: 40%;
  width: 60%;
}
@media screen and (max-width: 767px) {
  .banner-with-text-container .banner-with-text .banner-image {
    position: relative;
    top: 0px;
    left: 0px;
    width: 100%;
    clip-path: none !important;
    height: 400px !important;
  }
}
.banner-with-text-container .banner-with-text .banner-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: none;
}
.google-reviews {
  min-height: 828px;
  padding-top: 190px;
  padding-bottom: 150px;
  margin-bottom: 40px;
}
.google-reviews .row {
  display: flex;
  flex-wrap: wrap;
}
.google-reviews .col-lg-4 {
  display: flex;
  flex-direction: column;
}
.google-reviews .google-review {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 24px;
  background: linear-gradient(to top left, #ffffff 0%, #bdd0f3 100%);
  text-align: center;
  margin-bottom: 40px;
}
.google-reviews .google-review .review-header .profile-picture {
  height: 64px;
  width: 64px;
  object-fit: cover;
  border-radius: 50%;
  margin-bottom: 16px;
}
.google-reviews .google-review .review-header .author-name {
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 16px;
  line-height: 40px;
}
.google-reviews .google-review .review-header .rating {
  margin-bottom: 16px;
}
.google-reviews .google-review .review-text {
  flex-grow: 1;
}
.our-services-title {
  margin-top: 94px;
  margin-bottom: 94px;
}
.our-services-title h2 {
  font-size: 40px;
  font-weight: bold;
}
.services {
  position: relative;
  margin-bottom: 40px;
}
.services .background-images {
  display: flex;
  flex-wrap: wrap;
}
.services .background-images .tile-background {
  position: relative;
  width: 50%;
  overflow: hidden;
}
@media screen and (max-width: 991px) {
  .services .background-images .tile-background {
    width: 100%;
  }
}
.services .background-images .tile-background img {
  width: 100%;
  height: 498px;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 575px) {
  .services .background-images .tile-background img {
    height: 398px;
  }
}
.services .background-images .tile-background.shine-animate img {
  transform: scale(1.05);
}
.services .background-images .tile-background::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom right, #9db7e6, #ffffff);
  z-index: 5;
  opacity: 0.6;
  pointer-events: none;
}
.services .background-images .tile-background::after {
  content: "";
  position: absolute;
  top: -250px;
  left: calc(100% + 175px);
  width: 190px;
  height: 1000px;
  background-color: white;
  transform: rotate(212deg);
  opacity: 0.4;
  z-index: 6;
  pointer-events: none;
}
.services .background-images .tile-background.shine-animate::after {
  animation: shineSweep 0.75s linear 1;
}
.services .hover-zones {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  pointer-events: none;
}
.services .hover-zones .hover-zone {
  width: 50%;
  height: 498px;
  position: relative;
}
@media screen and (max-width: 575px) {
  .services .hover-zones .hover-zone {
    height: 398px;
  }
}
.services .hover-zones .hover-zone .hit-area {
  position: absolute;
  top: 0;
  height: 100%;
  pointer-events: auto;
  background: transparent;
  z-index: 20;
}
.services .tiles {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  z-index: 10;
}
.services .tiles .tile-content {
  height: 498px;
  padding: 80px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (max-width: 1199px) {
  .services .tiles .tile-content {
    padding: 40px 40px;
  }
}
@media screen and (max-width: 767px) {
  .services .tiles .tile-content {
    padding: 16px 0px;
  }
}
@media screen and (max-width: 575px) {
  .services .tiles .tile-content {
    height: 398px;
  }
}
.services .tiles .tile-content h2 {
  font-size: 64px;
}
@media screen and (max-width: 1399px) {
  .services .tiles .tile-content h2 {
    font-size: 56px;
  }
}
@media screen and (max-width: 1199px) {
  .services .tiles .tile-content h2 {
    font-size: 48px;
  }
}
@media screen and (max-width: 575px) {
  .services .tiles .tile-content h2 {
    font-size: 32px;
  }
}
.services .tiles .tile-content .button {
  margin-top: auto;
  align-self: start;
}
@keyframes shineSweep {
  0% {
    left: calc(100% + 175px);
  }
  100% {
    left: -350px;
  }
}
footer .footer-top {
  position: relative;
  min-height: 740px;
  background-color: #000040;
  padding-top: 96px;
  padding-bottom: 14px;
  overflow: hidden;
}
footer .footer-top * {
  color: #fff;
}
footer .footer-top a {
  text-decoration: none;
  color: #fff;
  transition: color 0.3s ease;
}
footer .footer-top a svg path {
  fill: #fff;
  transition: fill 0.3s ease;
}
footer .footer-top a:hover {
  color: #ead21a;
}
footer .footer-top a:hover svg path {
  fill: #ead21a;
}
footer .footer-top .item-margin {
  margin-bottom: 82px;
}
footer .footer-top::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  width: 38%;
  height: 271px;
  background-color: #fff;
  clip-path: polygon(0 0, 100% 0, calc(100% - 160px) 100%, 0% 100%);
  z-index: 0;
}
@media screen and (max-width: 1199px) {
  footer .footer-top::before {
    width: 41%;
  }
}
@media screen and (max-width: 991px) {
  footer .footer-top::before {
    width: 53%;
  }
}
@media screen and (max-width: 767px) {
  footer .footer-top::before {
    width: 70%;
  }
}
@media screen and (max-width: 575px) {
  footer .footer-top::before {
    width: 100%;
  }
}
@media screen and (max-width: 360px) {
  footer .footer-top::before {
    clip-path: none;
  }
}
footer .footer-top .linkedin {
  text-align: left;
}
@media screen and (max-width: 767px) {
  footer .footer-top .linkedin {
    text-align: right;
  }
}
@media screen and (max-width: 575px) {
  footer .footer-top .linkedin {
    text-align: left;
  }
}
footer .footer-top .container {
  position: relative;
  z-index: 10;
}
footer .footer-top .contact-item {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  cursor: pointer;
}
footer .footer-top .contact-item svg {
  width: 24px;
  height: 24px;
  margin-right: 12px;
  object-fit: contain;
  flex-shrink: 0;
  fill: #fff;
  stroke: #fff;
  transition: fill 0.3s ease, stroke 0.3s ease;
}
footer .footer-top .contact-item .contact-text {
  line-height: 1.4;
}
footer .footer-top .contact-item .contact-text a {
  color: #fff;
  text-decoration: none;
  transition: color 0.3s ease;
}
footer .footer-top .contact-item:hover svg {
  fill: #ead21a;
  stroke: #ead21a;
}
footer .footer-top .contact-item:hover .contact-text a {
  color: #ead21a;
}
footer .footer-top table td {
  padding-bottom: 8px;
}
footer .footer-top p {
  margin-bottom: 8px;
}
footer .footer-top h2 {
  margin-bottom: 32px;
}
@media screen and (max-width: 991px) {
  footer .footer-top .linkedin-logo {
    float: right;
  }
}
@media screen and (max-width: 575px) {
  footer .footer-top .linkedin-logo {
    float: left;
  }
}
footer .footer-bottom {
  min-height: 32px;
  background-color: #bdd0f3;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
footer .footer-bottom p {
  margin-bottom: 0px;
}
footer .footer-bottom a {
  color: #000040;
  text-decoration: none;
  cursor: text;
}
