/*
 Theme Name:   Corporate Conversation - Studio Veld
 Theme URI:    https://www.studioveld.com.au
 Description:  /
 Author:       Studio Veld
 Author URI:   https://www.studioveld.com.au
 Template:     bricks
 Version:      1.0
 Text Domain:  bricks
*/

html {
  scroll-behavior: smooth;
}

.container {
  max-width: 1148px;
  margin-inline: auto;
}
@media (max-width: 1148px) {
  .container {
    padding-inline: 5%;
  }
}

.container-grid {
  display: grid;
  grid-template-columns:
    1fr
    min(577px, 100%)
    min(577px, 100%)
    1fr;
}

@media (max-width: 1180px) {
  .narrow-container {
    max-width: 100%;
    padding-inline: 5%;
  }
  .container-grid {
    grid-template-columns: 5% 1fr 5%;
    .container-right-bleed {
      grid-column: 2;
    }
  }

  #brxe-wdhivl.hero-homepage, .hero-homepage {
    height: 100%;

    .text-link-underline {
      padding-inline: 24px;
      &::after{
        padding-inline: 24px;
        width: calc(100% - 24px);
      }
    }
    .container-grid {
      .container-left-column {
        order: 2;
        padding-bottom: 50px;
      }
      .container-right-bleed {
        order: 1;
        grid-column: 1 / -1;
      }
    }
    #hero-homepage__logo-slider-container {
      bottom: 33%;
    }

    #hero-homepage__title {
      padding-top: 68px;
      color: var(--CC-red, #BE3A34);
      font-family: Raleway;
      font-size: 30px;
      font-style: normal;
      font-weight: 700;
      line-height: 30px; /* 100% */
    }

    #hero-homepage__btn-group {
      display: flex;
      flex-direction: column;
      gap: 11px;
      align-items: flex-start;
    }
  }
}
.container-left-column {
	grid-column: 2;
}

.container-right-bleed {
  grid-column: 3 / -1;
}

.narrow-container.narrower {
  max-width: 748px;
}


:root { 
  --text-md: 16px;
	--text-xl: 20px;
  --rounded-2xl: 64px;
}

ul {
    list-style: none;
  margin-block-start: 0em;
    margin-block-end: 0em;
    padding-inline-start: 0px;
  li {
    padding: 0;
  }
}

h1, h2, h3,h4,h5,h6 {
  font-size: unset;
  font-weight: unset;
  margin-block: unset;
}

/* --------- Container ----------- */
.full-width-container-breakout {
  overflow: hidden;
  
  .breakout-container, .breakout-container .splide__track {
    overflow: visible;
  }
  
}

/* --------- Preset button --------- */
/* Button styles living in child-theme's style.css */

/* Custom Typography class */
.page-title {
  color: var(--CC-red, #BE3A34);

  /* page title */
  font-family: Raleway;
  font-size: 36px;
  font-style: normal;
  font-weight: 700;
  line-height: 60px; /* 166.667% */
}

.body-large {
  font-family: 'Raleway';
  font-size: 22px;
  font-weight: 500;
  line-height: 1.54;
  
  color: var(--cc-dark-grey, #4C4C4C);
  font-style: normal;
}


.body-large-bold {
  color: var(--CC-red, #BE3A34);
  text-align: center;

  /* body large bold */
  font-family: 'Raleway';
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.35;
}

.testimonial-author {
  color: var(--CC-dark-gray, #4C4C4C);
  text-align: center;
  font-family: 'Raleway';
  font-size: 22px;
  font-style: normal;
  font-weight: 500;
  line-height: 40px; /* 181.818% */
}

.testimonial-body {
  border-left-style: none;
  border-left-width: 0px;
  font-family: 'Raleway';
  font-size: 16px;
  font-weight: 700;
  margin: 0 ;
  padding: 0;
  position: relative;
  line-height: 30px; /* 187.5% */
  letter-spacing: 2.4px;
  font-style: normal; 
}

.rich-textbox {
  blockquote {
		width: 100%;
    background-color: var(--cc-homepage-hero);
    padding-inline: 90px;
    padding-block: 60px;
    border: none;
    margin-block: 52px;
  }
}



.team-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
  
  > * {
    width: calc(25% - 40px); /* 4 columns */
    flex: 0 0 calc(25% - 40px);
  }
}

@media (max-width: 768px) {
  .team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
      > * {
        width: 100%;
        flex: 0 0 calc(33.33% - 20px);
      }
  }
}

.container-grid {

  img {
    height: 100%;
    max-height: 715px;
  }
}
.container {
  width: 100%;
}


.btn {
    pointer-events: auto;
}

/* Primary Button & Tertiary Button */
.primary-button-text, .primary-btn {
  font-size: 20px;
  line-height: normal;
  font-weight: bold;
  font-family: "Raleway";
  
  /* Ensure the text and arrow align nicely horizontally */
  display: inline-flex;
  align-items: center;

  &.with-arrow::after {
    content: "";
    display: inline-block;
    
    /* Start with 0 width/margin so it doesn't take up space */
    width: 0;
    height: 12px;
    margin-left: 0;
    
    /* Use mask so we can color the SVG using background-color */
    background-color: var(--arrow-color, #FFF);
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='33' height='12' viewBox='0 0 33 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.699219 5.59985H30.0992' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M26.5977 0.699951L31.4977 5.59995L26.5977 10.5' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: left center;
    -webkit-mask-size: 33px 12px;
    mask-image: url("data:image/svg+xml,%3Csvg width='33' height='12' viewBox='0 0 33 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.699219 5.59985H30.0992' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M26.5977 0.699951L31.4977 5.59995L26.5977 10.5' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-repeat: no-repeat;
    mask-position: left center;
    mask-size: 33px 12px;
    
    opacity: 0;
    transform: translateX(-8px);
    transition: all 0.3s ease;
  }
  
  &:hover::after {
    /* Expand and reveal on hover */
    width: 33px;
    margin-left: 10px;
    opacity: 1;
    transform: translateX(0);
  }
  
  /* Background Colors */
  &.dark-bg {
    background-color: var(--cc-dark-grey);
  }

  &.red-bg {
    background-color: var(--cc-red);
  }

  &.light-bg {
    background-color: var(--cc-homepage-hero);
    &.with-arrow::after {
        /* Arrow color changes based on button background context */
        --arrow-color: var(--cc-dark-grey); 
    }
  }
  &.white-bg {
    background-color: #FFF;
  }

  &.font-size-small {
    font-size: 16px;
  }
}

.tertiary-btn, [data-brx-variant='gderxx'] {
    background-color: white;
    padding-inline: 18px;
    padding-block: 11px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 60px;

    &:hover{
        background-color: var(--cc-light-blue);
    }

    &:active, &.is-active, &[aria-current="page"] {
        background-color: var(--cc-homepage-hero);
    }
}


.secondary-btn {
    font-size: 20px;
    line-height: normal;
    font-weight: 700;
    font-family: "Raleway";
    
    /* Ensure the text and arrow align nicely horizontally */
    display: inline-flex;
    align-items: center;

    padding-inline: 30px;
    padding-block: 14px;

    border-radius: 60px;

    &.with-arrow::after {
        content: "";
        display: inline-block;
        
        /* Start with 0 width/margin so it doesn't take up space */
        width: 0;
        height: 12px;
        margin-left: 0;
        
        /* Use mask so we can color the SVG using background-color */
        background-color: var(--arrow-color, #FFF);
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='33' height='12' viewBox='0 0 33 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.699219 5.59985H30.0992' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M26.5977 0.699951L31.4977 5.59995L26.5977 10.5' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-position: left center;
        -webkit-mask-size: 33px 12px;
        mask-image: url("data:image/svg+xml,%3Csvg width='33' height='12' viewBox='0 0 33 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.699219 5.59985H30.0992' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M26.5977 0.699951L31.4977 5.59995L26.5977 10.5' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        mask-repeat: no-repeat;
        mask-position: left center;
        mask-size: 33px 12px;
        
        opacity: 0;
        transform: translateX(-8px);
        transition: all 0.3s ease;
    }
    
    &:hover::after {
        /* Expand and reveal on hover */
        width: 33px;
        margin-left: 10px;
        opacity: 1;
        transform: translateX(0);
    }
    
    &.dark-bg {
        background-color: var(--cc-dark-grey);
    }
    &.red-bg {
        background-color: var(--cc-red);
        color: #FFF;
    }

    &.font-size-small {
        font-size: 16px;
    }
}

/* ---- SVG ---- */
.svg-with-blue-bg {
  svg rect {
    fill: var(--cc-homepage-hero);
    transition: fill 0.3s ease;
  }

  svg:hover rect {
    fill: var(--cc-blue-3);
  }
  :disabled {
    opacity: 1;
    pointer-events: none;

    svg rect {
      fill: var(--cc-blue-3);
    }
  }
}

.svg-with-white-bg {
    svg rect {
    fill: #FFF;

  }
}

/* --------- Slider --------- */
.slider-with-arrow {
  .splide__arrow {
    svg rect {
      transition: fill 0.3s ease;
    }
  }
  
  svg rect {
    fill: var(--cc-dark-grey);
    transition: fill 0.3s ease;
  }

  svg:hover rect {
    fill: var(--cc-grey);
  }

  .splide__arrows {
    :disabled {
      opacity: 1;
      pointer-events: none;

      svg rect {
        fill: var(--cc-blue-3);
      }
    }
  }
}

.brxe-post-navigation {
  gap: 22px;
  a {
    height: 40px;
    width: 40px;
  }
}

.image-hover {
  .hover-border {
    overflow: hidden;
    border: 4px solid transparent;
    border-radius: 99px;
    transition: border-color 0.3s ease;
  }

  img {
    transition: transform 0.3s ease;
  }

  .line {
    transition: width 0.3s ease-in-out;
  }

  &:hover {
    .hover-border {
      border-color: #ABC0CD;
    }

    img {
      transform: scale(1.1);
    }

    .line {
      width: 100% !important;
    }
  }
}

.grid_items {
  border-left: 10px solid var(--cc-homepage-hero);
  height: fit-content;
  padding-left: 20px; 
}
.service-grid--single {
  grid-column: 2;
}

@media (max-width: 768px) {
  .service-grid--single {
    grid-column: 1 / -1;
  }
  .grid_items {
    grid-column: 1 / -1;
  }
}


.rich-textbox ul {
  list-style: none;
  padding-left: 0;
  margin-block: 0;
  margin-top:10px;
  margin-bottom: 13px;

  li {
    display: flex;
    align-items: baseline;
    gap: 25.88px;

    color: var(--CC-dark-gray, #4C4C4C);
    font-family: Raleway;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px; /* 171.429% */

    &::before {
      content: '';
      display: block;
      width: 10px;
      height: 10px;
      background-color: var(--CC-red, #BE3A34);
      flex-shrink: 0;
    }
  }
}

/* --------- Case Studies Card --------- */
.case-study-card {
  position: relative;

  .hover-info {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--cc-homepage-hero);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 1;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }

  &:has(img):hover,
  &:has(img):focus,
  &:has(img):focus-within {
    .hover-info {
      opacity: 1;
      visibility: visible;
    }
  }

  &:not(:has(img)) {
    .hover-info {
      opacity: 1;
      visibility: visible;
      position: relative;
      height: 100%;
    }
  }

& .splide__arrow:focus-visible {
  outline: 2px dashed var(--CC-red, #BE3A34);
  outline-offset: 3px;
  border-radius: 50%;
}
}

blockquote {
    border-left-style: none;
    border-left-width: 0px;
    font-family: 'Raleway';
    font-size: inherit;
    margin: 0px 0;
    padding: 0 0 0 0px;
    position: relative;
}

.submenu-toggle {
  & > .brx-submenu-toggle {
    position: relative;
    flex-wrap: wrap;
    align-items: center;

    & > span {
      &::after {
        content: '';
        display: block;
        width: 0;
        height: 3px;
        background-color: #ABC0CD;
        transition: width 0.3s ease;
        margin-inline:auto;
      }
    }

    & > button {
      position: absolute;
      right: -16px;
      top: 50%;
      transform: translateY(-50%);
      width: 0;
      height: 0;
      overflow: hidden;
      padding: 0;
      background: none;
      border: none;

      &:focus-visible {
        width: 10px;
        height: 10px;
        overflow: visible;
        outline: 2px dashed var(--CC-red, #BE3A34);
        outline-offset: 3px;

      }
       svg {
          clip-path:none;
        }
    }
  }

  &:hover > .brx-submenu-toggle > span::after,
  &.brx-open > .brx-submenu-toggle > span::after {
    width: 34px;
  }

  &:focus-visible, &:focus {
    outline: 2px dashed var(--CC-red, #BE3A34);
    outline-offset: 3px;
  }
}

.service-card {
  background-color: var(--cc-homepage-hero);
  transition: background-color 0.3s ease;
  .service-card-line{
    width: 34px;
    transition: width 0.3s ease;
  }
  &:hover{
    background-color: var(--cc-light-blue);
    .service-card-line{
      width: 75%;
    }
  }
}

.text-link-underline {
  position: relative;
  &::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: var(--cc-blue-3);
    transition: width 0.3s ease;
  }
  &:hover::after {
    width: 0%;
  }
}

@media (max-width: 768px) {
  [data-sub],.mobile-sub-panel__back {
    cursor: pointer;
  }
  .mobile-first-panel{
    margin-top: calc(88px - var(--wp-admin--admin-bar--height, 0px));
    height: calc(100dvh - 88px);
    z-index: 0;
  }
  .mobile-sub-panel {
    position: absolute;
    inset: 0;
    background: var(--cc-homepage-hero);
    transform: translateX(-100%);
    transition: transform 0.35s ease;
    overflow-y: auto;
    z-index: 1;
    height: calc(100dvh - 88px);
    margin-top: calc(88px - var(--wp-admin--admin-bar--height, 0px));

    &.is-open {
      transform: translateX(0);
      z-index: 100;
    }
  }
}