@import url("https://fonts.googleapis.com/css2?family=Nothing+You+Could+Do&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300&family=Roboto&family=Roboto+Slab:wght@300&display=swap");

/* Vars */
:root {
  --color-primary: #5891e5;
  --color-primary-hover: #2853c3;
  --color-secondary: #88fffe;
  --color-secondary-hover: #2afdfa;
  --color-dark: #464646;
  --color-secondary-dark: #1f1f1f;
  --color-white: #fff;
  --color-white-hover: #c9c9c9;
  --transition: 0.3s ease-in-out;
}

/* Base */
body {
  font-family: "Cocomat";
  color: var(--color-dark);
  line-height: initial;
}
*:active,
*:focus {
  box-shadow: none !important;
  border: none !important;
}
a,
.menu-item,
.wpcf7-submit {
  text-decoration: none;
  transition: var(--transition);
}

/* Button */
.btn,
.wpcf7-submit {
  display: inline-block;
  padding: 1rem 1.4rem 0.7rem !important;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 14px;
}
.btn-primary-custom,
.btn-primary-custom:hover {
  color: var(--color-white);
}

.btn-secondary-custom,
.btn-secondary-custom:hover {
  color: #214dc0;
}

.btn-primary-custom {
  /* background-color: var(--color-primary); */
  position: relative;
  background: rgb(97, 131, 225);
  background: linear-gradient(
    90deg,
    rgba(97, 131, 225, 1) 0%,
    rgba(38, 81, 195, 1) 100%
  );
}

.btn-primary-custom:before,
.btn-primary-custom:after {
  content: "";
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
}

.btn-primary--text {
  position: relative;
  z-index: 1;
}

.btn-primary-custom:after {
  left: 100%;
  background: rgb(97, 131, 225);
  background: linear-gradient(
    90deg,
    rgba(66, 105, 209, 1) 0%,
    rgba(38, 81, 195, 1) 100%
  );
  transition: var(--transition);
  z-index: 0;
}

.btn-primary-custom:hover:after {
  left: 0px;
}

.btn-secondary-custom {
  background: var(--color-white);
  color: var(--color-primary);
}
.btn-secondary-custom:hover {
  background-color: var(--color-white-hover);
  color: var(--color-primary);
}

.hero .btn-secondary-custom:hover {
  background-color: var(--color-secondary);
  color: var(--color-primary);
}

.zindex-1 {
  z-index: 1;
}

/* Background */
.bg-cover {
  background-size: cover;
}
.bg-center {
  background-position: center;
}
.bg-primary-custom {
  background-color: var(--color-primary);
}
.bg-primary-hover-custom {
  background-color: var(--color-primary-hover);
}
.bg-primary-hover:hover {
  background-color: var(--color-primary-hover);
}
.bg-primary-dark-custom {
  background-color: var(--color-primary-hover);
}
.bg-secondary-custom {
  background-color: var(--color-secondary);
}
.bg-secondary-hover:hover {
  background-color: var(--color-secondary-hover);
}
.bg-primary-gradient {
  background: rgb(103, 134, 213);
  background: linear-gradient(
    90deg,
    rgba(103, 134, 213, 1) 0%,
    rgba(40, 83, 195, 1) 100%
  );
}
.bg-secondary-gradient {
  background: rgb(137, 177, 237);
  background: linear-gradient(
    90deg,
    rgba(137, 177, 237, 1) 0%,
    rgba(88, 145, 229, 1) 100%
  );
}

/* Navbar */
html body div.wprm-overlay {
  background: rgba(0, 0, 0, 0.8);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(2px);
  transition: 0.3s ease-in-out;
}

html.wprmenu-body-fixed body {
  position: initial !important;
}

#wprmenu_bar .bar_logo {
  height: 56px;
}

div#wprmenu_bar {
  overflow: initial;
}

.dropdown-item:focus,
.dropdown-item:hover {
  background-color: initial;
}
.navbar-dark .dropdown-menu {
  background-color: var(--color-secondary-dark);
}
.navbar-nav .dropdown-menu {
  border: none;
  border-radius: 0px;
  /* max-width: 300px;
  width: 100%;
  margin-left: auto;
  margin-right: auto; */
}
.navbar-nav a {
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
  text-align: center;
}
.navbar-light .navbar-nav a {
  color: rgba(0, 0, 0, 0.55);
}
.navbar-dark .navbar-nav a {
  color: rgba(255, 255, 255, 0.55);
}
.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .current-menu-parent > .nav-link,
.navbar-light .navbar-nav .current-menu-item > .nav-link,
.navbar-light .navbar-toggler:hover,
.navbar-light .navbar-toggler:focus {
  color: var(--color-primary);
}
.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .current-menu-parent > .nav-link,
.navbar-dark .navbar-nav .current-menu-item > .nav-link,
.navbar-primary a,
.navbar-primary button,
.navbar-primary a:hover,
.navbar-dark .navbar-nav .current-menu-parent > .nav-link,
.navbar-dark .navbar-nav .current-menu-item > .nav-link,
.navbar-dark .navbar-toggler:hover,
.navbar-dark .navbar-toggler:focus {
  color: var(--color-white);
}
.navbar-primary a:hover,
.navbar-primary button:hover,
.navbar-primary .navbar-nav .current-menu-parent > .nav-link,
.navbar-primary .navbar-nav .current-menu-item > .nav-link {
  color: var(--color-white-hover);
}
.navbar-primary .navbar-nav .dropdown-menu {
  background-color: var(--color-primary-hover);
}
.navbar-primary hr {
  background-color: var(--color-white);
}
.navbar-light a .svg-icon path,
.site-header--lg a .svg-icon path {
  fill: var(--color-primary);
}
.navbar-dark a .svg-icon path {
  fill: var(--color-white);
}
.navbar-dark a:hover .svg-icon path,
.navbar-primary a:hover .svg-icon path {
  fill: var(--color-white-hover);
}
.navbar-separator {
  background-color: var(--color-white-hover);
}

.site-header .navbar .nav-link {
  line-height: 1.5rem;
}

/* Header */
.site-header--lg a {
  color: var(--color-dark);
}
.site-header--lg a:hover,
.site-header--lg .site-header--lg--menu-col > .current-menu-item > a,
.site-header--lg .site-header--lg--menu-col > .current-menu-parent > a {
  color: var(--color-primary);
}
.site-header--lg--1 #menu-header-column-1:after,
.site-header--lg--1 #menu-header-column-2:before {
  content: "";
}
.site-header--lg .menu-item:hover > .dropdown-menu {
  border: none;
  border-radius: 0px;
  background-color: var(--color-dark);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
  display: block;
  padding-top: initial;
  padding-bottom: initial;
}
.site-header--lg .menu-item:hover .dropdown-item {
  padding-top: 0.6rem;
  padding-bottom: 0.6rem;
  color: var(--color-white);
}
.site-header--lg .menu-item:hover > .dropdown-menu > .menu-item:hover,
.site-header--lg .dropdown-menu > .current-menu-item > .dropdown-item {
  background-color: var(--color-primary);
}
.site-header--link--brand {
  position: relative;
  z-index: 2;
}
.site-header--lg--1 .site-header--lg--brand {
  margin-bottom: -100%;
}

.navbar {
  margin-bottom: -20px;
}

.navbar-toggler {
  padding: 0px 0.5rem 0.3rem;
  font-size: 2.25rem;
}

.navbar-light .navbar-toggler {
  color: var(--color-primary);
}

.site-header .dropdown-toggle::after {
  border-top-color: var(--color-primary);
}

.site-header .nav-link {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.site-header .navbar .nav-link {
  text-align: left;
  padding: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1.8;
  color: var(--color-primary);
  white-space: break-spaces;
}

.navbar-collapse {
  width: 100%;
}

.navbar-nav .dropdown-menu {
  margin-left: 24px;
}

/* Banner */
.banner {
  position: relative;
}

.banner:before {
  content: "";
  position: absolute;
  inset: 0px;
  background-image: url("../img/banner-heading-bg.png");
  background-size: cover;
}

/* Footer */
.site-footer a {
  color: var(--color-white);
}
.site-footer a:hover,
.site-footer--nav .current-menu-item a {
  color: var(--color-secondary);
}
.site-footer--nav .menu-item a {
  padding: 0.4rem;
}
.site-footer--nav .menu-item:after {
  content: "|";
  color: var(--color-white);
}
.site-footer--nav .menu-item:last-child:after {
  display: none;
}

.site-footer--nav .menu-item:after {
  content: "|";
  color: #fff;
  margin-left: 0.2rem;
  margin-right: 0.2rem;
  position: relative;
  top: -2px;
}

.site-footer--nav .menu-item:last-child:after {
  display: none;
}

/* Icons */
.text-primary-custom .svg-icon path {
  fill: var(--color-primary);
}

.svg-icon path {
  transition: var(--transition);
}

/* Fonts */
.text-primary-custom,
.site-header--social--list-item .site-header--social--list-item--link {
  color: var(--color-primary);
}
.text-primary-hover:hover {
  color: var(--color-primary-hover);
}
.text-primary-custom-hover {
  color: var(--color-primary-hover);
}
.text-secondary-custom {
  color: var(--color-secondary);
}
.text-secondary-hover:hover,
.site-header--social--list-item .site-header--social--list-item--link:hover {
  color: var(--color-secondary-hover);
}
.text-dark-custom {
  color: var(--color-dark);
}

.ls-1 {
  letter-spacing: 0.1em;
}

.ls-sm {
  letter-spacing: 0.025em;
}

.ls-md {
  letter-spacing: 0.05em;
}

.ff-cocomat {
  font-family: "Cocomat";
}

.ff-droid {
  font-family: "Droid Serif";
}

.ff-ms {
  font-family: "Midsig", "Nothing You Could Do", cursive;
}

.ff-montserrat {
  font-family: "Montserrat", sans-serif;
}

.ff-rob {
  font-family: "Roboto", sans-serif;
}

.ff-robslab {
  font-family: "Roboto Slab", serif;
}

.ff-cocomat {
  font-family: "Cocomat";
}

.fw-500 {
  font-weight: 500;
}

/* WP */
img.alignright {
  float: right;
  margin: 0 0 1em 2.2em;
}
img.alignleft {
  float: left;
  margin: 0 2.2em 1em 0;
}
img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
a img.alignright {
  float: right;
  margin: 0 0 1em 1em;
}
a img.alignleft {
  float: left;
  margin: 0 1em 1em 0;
}
a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

img.alignright,
img.alignleft,
img.aligncenter {
  max-width: 100%;
  height: auto;
  /* margin-top: 2rem; */
}

/* WYSIWYG */
.wysiwyg--content p:last-child {
  margin-bottom: 0px;
}

/* Contact Form 7 */
.wpcf7-form input,
.wpcf7-form textarea {
  margin-top: 8px;
  border: 1px solid #ddd !important;
  padding: 8px 16px;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.wpcf7-form label,
.wpcf7-form span,
.wpcf7-form input,
.wpcf7-form textarea {
  width: 100%;
  font-weight: 300;
}
.wpcf7-form span,
.wpcf7-form input,
.wpcf7-form textarea {
  font-weight: 400;
}

.wpcf7-submit {
  width: initial !important;
  border: none !important;
  background-color: var(--color-primary);
  color: var(--color-white) !important;
}

.wpcf7-submit:hover {
  background-color: var(--color-primary-hover);
}

.wpcf7-textarea {
  height: 100px !important;
}

.wpcf7-spinner {
  width: 24px !important;
}

/* Pagination */
.page-link {
  color: var(--color-primary);
  border: 2px solid var(--color-primary);
}
.page-item.active .page-link {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}
.page-link:hover,
.nav-pills .nav-link:hover {
  color: var(--white);
  background-color: var(--color-primary-hover);
  border-color: var(--color-primary-hover) !important;
}

/* Hero */
.hero--text-shadow {
  text-shadow: 5px 1px 30px rgba(0, 77, 192, 1);
}

/* Child Pages */
.child-pages-list-item-link {
  color: var(--color-primary-hover);
  text-decoration: underline;
  transition: var(--transition);
}

.child-pages-list-item-link:hover {
  color: var(--color-primary);
}

.child-pages-list-item:first-child {
  margin-top: 0px !important;
  padding-top: 0px !important;
}

/* Services */
.services-grid--title {
  max-width: 160px;
  text-shadow: 0px -7px 30px rgb(255 255 255);
}

.services-grid--col {
  background-color: var(--color-primary-hover);
}

.services-grid--hover {
  z-index: 1;
}

.services-grid--hover,
.services-grid--init {
  transition: var(--transition);
}

.services-grid--hover--bg {
  opacity: 0.15;
}

.services-grid--init--bg {
  opacity: 0.55;
}

.services-grid--col:hover .services-grid--hover {
  opacity: 1 !important;
}

.services-grid--col:hover .services-grid--init {
  opacity: 0;
}

.carousel-item--overlay {
  background-color: var(--color-primary);
  opacity: 0.8;
  inset: 40px;
}

/* Image and Content */
.image-and-content--heading,
.image-and-content--text strong {
  position: relative;
}

/* .image-and-content--heading {*/
/*  text-decoration: underline solid var(--color-secondary) 14px;*/
/*  text-underline-offset: 3px;*/
/*}*/

/*.image-and-content--text strong {*/
/*  text-decoration: underline solid var(--color-secondary) 6px;*/
/*  text-underline-offset: 3px;*/
/*} */

.image-and-content--text strong {
  font-weight: 400;
}

.image-and-content--heading:after,
.image-and-content--text strong:after {
  content: "";
  position: absolute;
  left: 0px;
  bottom: 8px;
  right: 0px;
  background-color: var(--color-secondary);
  z-index: -1;
}

.image-and-content--heading-dark:after {
  background-color: var(--color-primary-hover);
}

.image-and-content--text strong:after {
  height: 6px;
}

.image-and-content--text p {
  margin-bottom: 2rem;
}

.image-and-content--text ul {
  list-style: none;
  padding-left: 0px;
}

.image-and-content--text li {
  margin-bottom: 0.6rem;
}

.image-and-content--text li {
  position: relative;
  padding-left: 1.4rem;
}

.image-and-content--text li:before {
  content: "●";
  position: absolute;
  color: var(--color-primary-hover);
  left: 0px;
  top: -1px;
}

.letter-caps-item-list::first-letter {
  color: var(--color-primary);
  font-family: "Midnight Signature", "Nothing You Could Do", cursive;
  font-size: 34px;
  font-weight: bold;
}

.letter-caps-item-list {
  margin-top: 1.5rem;
  margin-bottom: 0px;
}

.image-and-content--heading:after {
  bottom: 4px;
  height: 10px;
}

.fifty-fifty .image-and-content--heading:after {
  height: 14px;
}

.image-and-content .image-and-content--text strong:after {
  bottom: 2px;
  height: 8px;
}

.fifty-fifty-img {
  transition: var(--transition);
}

.fifty-fifty-link:hover .fifty-fifty-img {
  filter: brightness(0.7);
}

.ul-unstyled ul,
.ul-unstyled ul li {
  margin-bottom: 0px;
}

/* Team */
.team-list-item-container {
  max-width: 440px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* Reviews */
.reviews-slider--list .slick-dots li button:before {
  font-size: 16px;
}

.reviews-slider--list .slick-dots li,
.reviews-slider--list .slick-dots li button,
.reviews-slider--list .slick-dots li button:before {
  width: initial;
  height: initial;
  line-height: initial;
  margin-left: 6px;
  margin-right: 6px;
}

.reviews-slider--list .slick-dots li {
  margin-left: 0px;
  margin-right: 0px;
}

.reviews-slider--list .slick-dots li button:before,
.reviews-slider--list .slick-dots li.slick-active button:before {
  color: #fff;
}

/* Instagram Shortcode */
.instagram-shortcode--bg {
  opacity: 0.15;
}

/* Accordion */
.accordion-button:not(.collapsed) {
  color: var(--color-dark);
}

.accordion-button:hover {
  color: var(--color-primary-hover);
}

.accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-dash-lg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M2 8a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11A.5.5 0 0 1 2 8Z'/%3E%3C/svg%3E");

  transform: none;
}
.accordion-button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-plus-lg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 2a.5.5 0 0 1 .5.5v5h5a.5.5 0 0 1 0 1h-5v5a.5.5 0 0 1-1 0v-5h-5a.5.5 0 0 1 0-1h5v-5A.5.5 0 0 1 8 2Z'/%3E%3C/svg%3E");

  transform: none;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link,
.nav-pills .nav-link:hover {
  background-color: var(--color-primary-hover);
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Slider Paragraph */
.slider-paragraph .slick-next:before,
.slider-paragraph .slick-prev:before {
  font-family: inherit;
  color: var(--color-primary-hover);
  font-size: 44px;
  opacity: 1;
}

.slider-paragraph .fa-chevron-left:before {
  content: "\f053";
}

.slider-paragraph .fa-chevron-right:before {
  content: "\f054";
}

.slider-paragraph .slick-next:hover:before,
.slider-paragraph .slick-prev:hover:before {
  font-family: inherit;
  color: var(--color-primary);
  font-size: 44px;
  opacity: 1;
}

/* Video */
.video-element-icon {
  color: var(--color-white);
}

.video-element-img {
  transition: var(--transition);
}

.video-element:hover .video-element-img {
  filter: brightness(0.6);
}

/* Service Details */
.bullet-2-col {
  column-count: 2;
}

.image-and-content--heading-text {
  z-index: 2;
}

.service-details .btn {
  color: var(--color-primary-hover);
}

.service-details-card-title:after {
  bottom: 4px;
}

.service-details-card-bullet-heading:after {
  bottom: 6px;
  height: 8px;
}

.image-and-content--heading--medium:after {
  bottom: 6px;
  height: 14px;
}

.image-and-content--heading--medium {
  position: relative;
  z-index: 1;
}

.section-top-0 > .container {
  padding-top: 0px !important;
}

.image-and-content--heading-slight:after {
  bottom: 10px;
}

.service-details-card-bullet-heading:after {
  bottom: 8px;
}

.underline-normal {
  text-decoration: underline;
  text-underline-offset: 1px;
  text-decoration-thickness: 14px;
}

.underline-normal-primary {
  text-decoration-color: var(--color-primary);
}

.underline-normal-secondary {
  text-decoration-color: var(--color-secondary);
}

/* Back to top */
#back-to-top {
  display: table;

  position: fixed;
  bottom: 40px;
  right: 40px;
  z-index: 1;

  width: 32px;
  height: 32px;

  background: var(--color-primary-hover);

  text-align: center;
  color: var(--color-white);
  text-decoration: none;

  transition: opacity 0.2s ease-out;
  opacity: 0;
}

#back-to-top:hover {
  /* filter: contrast(200%); */
}

#back-to-top.show {
  opacity: 1;
}

#back-to-top .wrapper {
  display: table-cell;
  vertical-align: middle;
}

#back-to-top.fade-out {
  /* if the user keeps scrolling down, the button is out of focus and becomes less visible */
  opacity: 0.3;
}

#back-to-top.fade-out:hover {
  /* if the user keeps scrolling down, the button is out of focus and becomes less visible */
  opacity: 1;
}

.completely-remove-underline.image-and-content--heading:after {
  display: none !important;
}

@media (min-width: 577px) {
  .child-pages-list-item-link {
    font-size: 30px;
  }
}

@media (min-width: 1200px) {
  /* Fonts */
  .fs-1-custom {
    font-size: 0.75rem;
  }
  .fs-2-custom,
  .site-header .dropdown-item {
    font-size: 0.813rem;
  }
  .fs-3-custom {
    font-size: 0.875rem;
  }
  .fs-4-custom {
    font-size: 0.938rem;
  }
  .fs-5-custom {
    font-size: 1.125rem;
  }
  .fs-6-custom {
    font-size: 1.25rem;
  }

  /* Hero */
  .hero .carousel-item {
    /* height: 90vh; */
    min-height: 664px;
  }
}

@media (max-width: 1024px) {
  /*.image-and-content--heading:after,*/
  /*.image-and-content--text strong:after {*/
  /*  display: none;*/
  /*}*/

  .no-underline-on-mobile.image-and-content--heading:after {
    display: none;
  }
}

@media (max-width: 991px) {
  .menu-item a:hover,
  .menu-item a:hover .dropdown-toggle:after,
  .dropdown-toggle.nav-link.show,
  .dropdown-toggle.nav-link.show:after {
    background-color: var(--color-primary);
    color: #fff !important;
  }

  /*.menu-item.current_page_item a {*/
  /*    background-color: var(--color-primary);*/
  /*    color: #fff!important;*/
  /*}*/
}

@media (max-width: 767px) {
  html {
    padding-top: 60px !important;
  }

  .carousel-item {
    background-position: left;
  }

  .reviews-slider-heading {
    font-size: 2rem;
  }

  .site-header .navbar .nav-link {
    font-size: 14px;
  }

  .single-team-member-content img {
    width: 100%;
    float: none;
    margin-right: 0px;
    margin-bottom: 2rem;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: top;
  }
}
