/*
Theme Name: Bridge Child
Theme URI: http://bridgelanding.qodeinteractive.com/
Description: A child theme of Bridge Theme
Author: Qode Interactive
Author URI: https://qodeinteractive.com
Version: 1.0.0
Text Domain: bridge
Template: bridge
*/

.d-flex {
  display: flex;
}

.flex-direction-column .elementor-widget-wrap {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.elementor-column:has(.home-card) .q_counter_holder {
  padding-inline: 0px !important;
}

.elementor-column:has(.home-card):last-child {
  & .home-card {
    height: 100% !important;

    & .q_counter_holder {
      padding-inline: 0px !important;
      height: 3em;

      display: flex;
      align-items: center;
      justify-content: center;
    }

    & .q_counter_holder {
      position: relative;

      container-name: q_counter_holder;
      container-type: inline-size;

      &::after {
        content: "€";
      }

      /* When the container is greater than 60 characters... */
      @container q_counter_holder (width <= 380px) {
        /* Change the flex direction of the .child element. */
        .counter {
          /* font-size: 13cqw !important; */
          font-size: 9.46746cqw !important;
        }

        &::after {
          /* font-size: 13cqw !important; */
          font-size: 9.46746cqw !important;
        }
      }
    }

    & .elementor-widget-image {
      margin-top: auto !important;
    }
  }
}

.home-card {
  height: 100% !important;

  & .counter {
    font-weight: 500;
  }

  & .elementor-widget-image {
    margin-top: auto !important;
  }
}

header .container_inner .header_inner_left {
  height: 100% !important;
  width: 100%;

  /* position: relative; */

  &:before {
    content: "";
    position: absolute;
    top: 0;
    /* left: 0; */
    width: 100vw;
    height: 100%;
    background-color: #102d69;
    background-color: rgba(255, 255, 255, 1);
    /* background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='606.761' height='241.705' viewBox='0 0 606.761 241.705'%3E%3Cpath id='Path_1203' data-name='Path 1203' d='M935.424,0V214.608c55.815,17.363,118.412,27.1,184.535,27.1,217.794,0,397.313-105.589,422.226-241.705Z' transform='translate(-935.424)' fill='%23102d69'/%3E%3C/svg%3E%0A"); */
    z-index: -1;
    right: 0;
  }

  &::after {
    content: "";
    position: absolute;
    top: 0;
    /* left: 0; */
    width: 500px;
    height: 100%;
    /* background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='606.761' height='241.705' viewBox='0 0 606.761 241.705'%3E%3Cpath id='Path_1203' data-name='Path 1203' d='M935.424,0V214.608c55.815,17.363,118.412,27.1,184.535,27.1,217.794,0,397.313-105.589,422.226-241.705Z' transform='translate(-935.424)' fill='%23102d69'/%3E%3C/svg%3E%0A"); */
    background-color: red;
    background-repeat: no-repeat;
    background-position: left bottom;
    z-index: -1;
    right: 0;
    display: none;
  }
}

nav.main_menu.right {
  background-color: #ffffff;
}
.page_header {
  & .q_logo a {
    height: 100% !important;

    @media (width <= 1000px) {
      height: auto !important;
    }
  }

  & .logo_wrapper {
    height: 100%;
    /* background-color: #102d69; */
    & .q_logo {
      z-index: 99999;
      width: 356.05px;
      width: 260px;
      /* width: 224px; */
      height: auto;
      /* aspect-ratio: 224/61; */
      aspect-ratio: 356.05/116.46;
      /* transform: translateX(100%); */
      transform: translate(-16%, 20%);

      @media (width <= 1800px) {
        width: 260px;
        transform: translate(-3%, 20%);
      }

      @media (width <= 1700px) {
        width: 206px;
        transform: translate(-3%, 20%);
      }

      @media (width <= 1500px) {
        transform: translate(-25%, 0%);
        transform: translate(-50%, 0%);
      }
      @media (width <= 1400px) {
        transform: translate(-33%, 0%);
      }

      @media (width <= 1300px) {
        width: 140px;
        transform: translate(-20%, 0%);
      }

      @media (width <= 1200px) {
        width: 140px;
        transform: translate(-45%, 0%);
      }

      @media (width <= 1120px) {
        transform: translate(-20%, 0%);
      }
    }

    &::after {
      content: "";
      position: absolute;
      top: 0;
      /* left: 0; */
      width: 45%;
      width: 37%;
      height: auto;
      /* aspect-ratio: 844.48 / 241.71; */
      aspect-ratio: 844.48 / 241.71;
      /* background-color: red; */
      /* border-radius: 0% 0% 100% 100%; */
      /* clip-path: circle(50% at 50% -29%); */
      /* clip-path: ellipse(50% 25% at 50% 0%); */
      /* z-index: -1; */
      /* right: 0; */
      /* display: none; */
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='844.477' height='241.705' viewBox='0 0 844.477 241.705'%3E%3Cpath id='Path_153' data-name='Path 153' d='M1146.761,0H302.284c24.909,136.118,204.454,241.705,422.251,241.705,217.727,0,397.226-105.52,422.226-241.575Z' transform='translate(-302.284)' fill='%23102d69'/%3E%3C/svg%3E%0A");
      background-repeat: no-repeat;
      background-size: contain;

      z-index: 999;
      transform: translate(-33.33%, 0%);
      /* transition: transform 0.3s ease; */
      transition: transform 0s ease;
    }

    @media (width >= 1000px) and (width <= 1500px) {
      &::after {
        width: 60%;
        transform: translate(-73%, 0%);
      }

      /* & .q_logo {
        & img {
          opacity: 0 !important;
        }
        & img.sticky {
          opacity: 1 !important;
        }
      } */
    }
    @media (width <= 1500px) {
      &::after {
        /* width: 60%; */
        /* transform: translate(-83%, 0%); */
        width: 100vw;
        background: #102d69;
        z-index: -1;
        height: 100%;
        aspect-ratio: auto;
        transform: translateX(-50%);
        transition: transform 0s ease;
      }

      & .q_logo {
        width: 168px;

        @media (width <= 1200px) {
          width: 140px;
        }
        @media (width <= 1120px) {
          width: 98px;
        }
      }
    }

    @media (width <= 1120px) {
      &::after {
        /* transform: translate(-78%, 0%); */
      }
    }
  }

  &:is(.sticky_animate, .sticky) .logo_wrapper::after {
    /* transform: translate(-33.33%, -50%); */
    /* @media (width <= 1500px) { */
    transform: translate(-63.33%, -50%);

    width: 100vw;
    background: #102d69;
    z-index: -1;
    height: 100%;
    aspect-ratio: auto;
    transform: translateX(-50%);
    transition: transform 0s ease;
    /* } */
  }

  & .current_page_item.current_page_item.current_page_item {
    background-color: #3399fe !important;

    & a {
      color: #ffffff !important;
    }

    &:is(:hover, :focus) a {
      color: #ffffff !important;
    }

    @media (width <= 1000px) {
      background-color: transparent !important;

      &.current_page_item a {
        color: #3399ff !important;
        text-decoration: unset !important;

        &:is(:hover, :focus) {
          color: #3399ff !important;
        }
      }
    }

    & a {
      color: #ffffff !important;
    }
  }

  & .current_page_item.current_page_item.current_page_item.menu-item-home {
    &::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #3399fe !important;
      z-index: -1;
      transform: translateX(-99%);

      @media (width <= 1800px) {
        width: 200%;
      }

      @media (width <= 1500px) {
        display: none;
      }
    }
  }

  &:is(.sticky_animate, .sticky) .current_page_item.current_page_item.current_page_item.menu-item-home::before {
    display: none;
  }

  & .menu-item {
    & a {
      color: #ffffff !important;
      text-decoration: unset !important;
      font-size: 16px !important;

      &:is(:hover, :focus) {
        color: #3399ff !important;
      }
    }
  }

  & .menu-item-home > a {
    /* color: #ffffff !important; */

    /* &:is(:hover, :focus) {
      color: #ffffff !important;
    } */
  }

  & nav.main_menu > ul > li > a {
    color: #102d69 !important;
    font-weight: 300;
    font-size: 18px;
    padding-inline: 44px !important;

    @media (width <= 1700px) {
      font-size: 16px !important;
      padding-inline: 24px !important;
    }

    @media (width <= 1200px) {
      padding-inline: 16px !important;
    }
  }

  & .drop_down .second .inner ul li a,
  & .drop_down .second .inner ul li h5 {
    color: #ffffff;
  }
}

@media only screen and (min-width: 1000px) and (max-width: 1200px) {
  .header_bottom .container_inner {
    width: 950px;
  }
}

.carousel-inner .item .image {
  background-position: center !important;
}

.page_header.sticky.sticky_animate .q_logo {
  width: 112px !important;
  /* width: 200px !important; */
  display: flex;
  justify-content: center;
  transform: unset;
  /* transform: translate(-38%, 15%); */
}

@media only screen and (min-width: 1700px) {
  .qode_grid_1400 .carousel-inner .slider_content_outer,
  .qode_grid_1400 .container_inner,
  .qode_grid_1400 .container_inner nav.content_menu,
  .qode_grid_1400 .elementor-container .elementor-widget-wrap > .qode_elementor_container_inner,
  .qode_grid_1400 .elementor-row .elementor-widget-wrap > .qode_elementor_container_inner,
  .qode_grid_1400 .footer_bottom_border.in_grid,
  .qode_grid_1400 .footer_top_border.in_grid,
  .qode_grid_1400 .full_width .parallax_content,
  .qode_grid_1400 .grid_section .section_inner,
  .qode_grid_1400 .qode_elementor_container_inner,
  .qode_grid_1400 .title_border_in_grid_holder,
  .qode_grid_1400 div[data-element_type="container"].qode_elementor_container_inner,
  .qode_grid_1400 nav.content_menu ul,
  .qode_grid_1400.boxed .section .section_inner,
  .qode_grid_1400.boxed nav.content_menu.fixed {
    width: 1640px;
  }
}

.single-post {
  /* & .post_image {
    padding-top: 106px !important;
  } */

  & .title_outer .container_inner {
    display: none !important;
  }

  & .blog_holder article .post_image,
  & .blog_holder article .post_image img,
  & .blog_holder article .post_image > a {
    width: 100%;
    object-fit: contain;
    /* max-height: 400px; */
    aspect-ratio: 930 / 340;

    @media all and (width <= 1200px) {
      aspect-ratio: 854/641;
    }
  }

  & .blog_single {
    margin-bottom: 106px;
  }
  & .entry_title {
    margin-bottom: 1em;
  }
  & .post_info {
    display: none !important;
  }

  @media only screen and (min-width: 1500px) {
    & .qode_grid_1400 .carousel-inner .slider_content_outer,
    & .qode_grid_1400 .container_inner,
    & .qode_grid_1400 .container_inner nav.content_menu,
    & .qode_grid_1400 .elementor-container .elementor-widget-wrap > .qode_elementor_container_inner,
    & .qode_grid_1400 .elementor-row .elementor-widget-wrap > .qode_elementor_container_inner,
    & .qode_grid_1400 .footer_bottom_border.in_grid,
    & .qode_grid_1400 .footer_top_border.in_grid,
    & .qode_grid_1400 .full_width .parallax_content,
    & .qode_grid_1400 .grid_section .section_inner,
    & .qode_grid_1400 .qode_elementor_container_inner,
    & .qode_grid_1400 .title_border_in_grid_holder,
    & .qode_grid_1400 div[data-element_type="container"].qode_elementor_container_inner,
    & .qode_grid_1400 nav.content_menu ul,
    & .qode_grid_1400.boxed .section .section_inner,
    & .qode_grid_1400.boxed nav.content_menu.fixed {
      width: 1100px !important;
    }
  }
}

.blog_single.blog_holder article .post_text .post_text_inner {
  padding-top: 40px !important;
}

.blog {
  & .blog_holder {
    padding-top: 136px;
    padding-bottom: 106px;

    & .entry_title {
      margin-bottom: 1em;
      & a {
        text-decoration: unset !important;
      }
    }

    & article:nth-child(even) {
      position: relative;
      padding-block: 32px;
      isolation: isolate;

      & .post_text_inner {
        background-color: unset !important;
      }

      &:before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        width: 100vw;
        height: 100%;
        background-color: #d6ecee !important;
        transform: translateX(-50%);
        z-index: -1;
      }

      & .post_content_holder {
        display: flex;
        flex-direction: row-reverse;

        @media all and (max-width: 768px) {
          flex-direction: column;
        }
      }
    }
  }

  & .post_info {
    display: none !important;
  }

  & .post_more {
    display: none !important;
  }

  @media all and (width <= 1500px) {
    & .post_excerpt {
      font-size: 24px;
    }

    p,
    .elementor-widget-heading p.elementor-heading-title {
      font-size: 24px !important;
    }
  }
}

.blog_holder article .post_text h2 .date {
  color: #3399ff !important;
}

.page-template-contact-page .contact_detail {
  padding-top: 136px !important;
  padding-bottom: 106px !important;
}

#respond input[type="text"],
#respond input[type="email"],
#respond textarea,
.contact_form input[type="text"],
.contact_form textarea {
  color: #102d69 !important;
}

.c-grid {
  display: grid;
  grid-template-columns: auto auto;
  gap: 32px;
  margin-bottom: 32px;

  & > div {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
  }

  & :last-child {
    grid-column: 1 / -1;
  }

  .wpcf7-submit {
    margin-top: 32px !important;
  }

  & label {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  @media all and (width <= 767px) {
    grid-template-columns: 1fr;
  }

  & .cf7_custom_style_1 input.wpcf7-form-control.wpcf7-text,
  & .cf7_custom_style_1 input.wpcf7-form-control.wpcf7-number,
  & .cf7_custom_style_1 input.wpcf7-form-control.wpcf7-date,
  & .cf7_custom_style_1 textarea.wpcf7-form-control.wpcf7-textarea,
  & .cf7_custom_style_1 select.wpcf7-form-control.wpcf7-select,
  & .cf7_custom_style_1 input.wpcf7-form-control.wpcf7-quiz {
    font-size: 16px !important;
  }
}

input.wpcf7-form-control.wpcf7-date,
input.wpcf7-form-control.wpcf7-number,
input.wpcf7-form-control.wpcf7-quiz,
input.wpcf7-form-control.wpcf7-text,
select.wpcf7-form-control.wpcf7-select,
textarea.wpcf7-form-control.wpcf7-textarea {
  font-size: 16px !important;
  color: #102d69 !important;
  margin-top: unset !important;
}

.wpcf7-not-valid-tip {
  font-size: 11px !important;
}

.link-color a {
  text-decoration: underline !important;
  color: #102d69 !important;

  &:is(:hover, :focus) {
    color: #3399ff !important;
  }
}

.footer_bottom_holder {
  display: none !important;
}

/* .footer_bottom_holder {
  display: flex;
  justify-content: center;
} */

/* .footer_bottom {
  padding: 50px 70px;
  width: 100%;
  max-width: 1640px;

  & p {
    font-size: 14px !important;
    text-align: left !important;
    font-weight: 300 !important;
    line-height: 1.3;
  }

  & .wp-block-gallery {
    gap: 30px !important;
  }
} */

.footer_top {
  & .wp-block-group .wp-block-image:first-child {
    /* width: min(100%, 180px) !important; */
    min-width: 280px;
  }
  & .wp-block-group .wp-block-image:last-child {
    /* width: min(100%, 180px) !important; */
    min-width: 180px;
  }

  & .wp-block-group:has(.wp-block-image) {
    width: 100%;
  }

  & .wp-block-group {
    gap: 32px !important;
  }

  @media all and (width <= 1024px) {
    .footer_cols {
      flex-direction: column !important;
    }

    & .wp-block-group .wp-block-image:first-child {
      width: min(100%, 280px) !important;
      min-width: unset;
    }
    & .wp-block-group .wp-block-image:last-child {
      width: min(100%, 180px) !important;
      min-width: unset;
    }
  }
}

.footer_p {
  text-align: left !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  font-weight: 300 !important;
}

h2,
.h2,
h2 a,
body.qode-overridden-elementors-fonts .elementor-widget-heading h2.elementor-heading-title {
  line-height: 1.3 !important;
}

body,
p,
body.qode-overridden-elementors-fonts .elementor-widget-heading h6.elementor-heading-title {
  line-height: 1.3 !important;
}

.c-grid label,
.single-post .blog_single p,
.qode_elementor_container_inner :is(p, ul) {
  line-height: 1.3 !important;

/*   @media all and (width <= 1024px) {
    font-size: 24px !important;
  } */

/*   @media all and (width <= 767px) {
    font-size: 18px !important;
  } */
}

.mobile_menu_button span,
.side_menu_button > a {
  color: #ffffff !important;
  font-size: 18px !important;
}

#back_to_top span i,
#back_to_top span span {
  display: grid;
  place-items: center;
}

.contact-form-sub-cloud {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 32px;
}

.mobile_menu_button i {
  font-size: 26px;
}
