/*
 Theme Name:   Socks Off Theme
 Theme URI:    https://fivecreative.com.au/
 Description:  A child theme of Hello Biz.
 Author:       Five Creative
 Author URI:   https://fivecreative.com.au/
 Template:     hello-biz
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  hello-biz-child
*/

/* You can add your custom CSS below */

@font-face {
    font-family: 'Open Sauce Sans';
    src: url('fonts/subset-OpenSauceSans-Bold.woff2') format('woff2'),
        url('fonts/subset-OpenSauceSans-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sauce Sans';
    src: url('fonts/subset-OpenSauceSans-BlackItalic.woff2') format('woff2'),
        url('fonts/subset-OpenSauceSans-BlackItalic.woff') format('woff');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sauce Sans';
    src: url('fonts/subset-OpenSauceSans-Black.woff2') format('woff2'),
        url('fonts/subset-OpenSauceSans-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sauce Sans';
    src: url('fonts/subset-OpenSauceSans-BoldItalic.woff2') format('woff2'),
        url('fonts/subset-OpenSauceSans-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sauce Sans ExBold';
    src: url('fonts/subset-OpenSauceSans-ExtraBoldItalic.woff2') format('woff2'),
        url('fonts/subset-OpenSauceSans-ExtraBoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sauce Sans';
    src: url('fonts/subset-OpenSauceSans-ExtraBold.woff2') format('woff2'),
        url('fonts/subset-OpenSauceSans-ExtraBold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sauce Sans';
    src: url('fonts/subset-OpenSauceSans-Italic.woff2') format('woff2'),
        url('fonts/subset-OpenSauceSans-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sauce Sans';
    src: url('fonts/subset-OpenSauceSans-SemiBoldItalic.woff2') format('woff2'),
        url('fonts/subset-OpenSauceSans-SemiBoldItalic.woff') format('woff');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sauce Sans';
    src: url('fonts/subset-OpenSauceSans-SemiBold.woff2') format('woff2'),
        url('fonts/subset-OpenSauceSans-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sauce Sans';
    src: url('fonts/subset-OpenSauceSans-Regular.woff2') format('woff2'),
        url('fonts/subset-OpenSauceSans-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sauce Sans';
    src: url('fonts/subset-OpenSauceSans-MediumItalic.woff2') format('woff2'),
        url('fonts/subset-OpenSauceSans-MediumItalic.woff') format('woff');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sauce Sans';
    src: url('fonts/subset-OpenSauceSans-Medium.woff2') format('woff2'),
        url('fonts/subset-OpenSauceSans-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sauce Sans';
    src: url('fonts/subset-OpenSauceSans-Light.woff2') format('woff2'),
        url('fonts/subset-OpenSauceSans-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sauce Sans';
    src: url('fonts/subset-OpenSauceSans-LightItalic.woff2') format('woff2'),
        url('fonts/subset-OpenSauceSans-LightItalic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

:root {
    /* 
     * --content is used to set content width for header and footer containers
     * this value represents the content width + padding applied to 
     * the header and footer containers. 
    */
    --content: 1352px;
}

html {
    font-size: 10px;
}
@media screen and (min-width: 767px) {
    html {
        font-size: 14px;
    }
}
@media screen and (min-width: 992px) {
    html {
        font-size: 16px;
    }
}

input::placeholder,
textarea::placeholder {
    opacity: 1;
    color: var( --e-global-color-secondary );
}
  

body.elementor-kit-149 {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    font-family: 'Open Sauce Sans', sans-serif;
}

.elementor-widget-text-editor h1,
.elementor-widget-theme-post-content h1,
.elementor-widget-text-editor h2,
.elementor-widget-theme-post-content h2,
.elementor-widget-text-editor h3,
.elementor-widget-theme-post-content h3,
.elementor-widget-text-editor h4,
.elementor-widget-theme-post-content h4,
.elementor-widget-text-editor h5,
.elementor-widget-theme-post-content h5,
.elementor-widget-text-editor h6,
.elementor-widget-theme-post-content h6 {
    margin-bottom: 2rem;
    margin-top: 6rem;
}
.elementor-widget-text-editor h1:last-child,
.elementor-widget-theme-post-content h1:last-child,
.elementor-widget-text-editor h2:last-child,
.elementor-widget-theme-post-content h2:last-child,
.elementor-widget-text-editor h3:last-child,
.elementor-widget-theme-post-content h3:last-child,
.elementor-widget-text-editor h4:last-child,
.elementor-widget-theme-post-content h4:last-child,
.elementor-widget-text-editor h5:last-child,
.elementor-widget-theme-post-content h5:last-child,
.elementor-widget-text-editor h6:last-child,
.elementor-widget-theme-post-content h6:last-child {
    margin-bottom: 0;
}
.elementor-widget-text-editor h1:first-child,
.elementor-widget-theme-post-content h1:first-child,
.elementor-widget-text-editor h2:first-child,
.elementor-widget-theme-post-content h2:first-child,
.elementor-widget-text-editor h3:first-child,
.elementor-widget-theme-post-content h3:first-child,
.elementor-widget-text-editor h4:first-child,
.elementor-widget-theme-post-content h4:first-child,
.elementor-widget-text-editor h5:first-child,
.elementor-widget-theme-post-content h5:first-child,
.elementor-widget-text-editor h6:first-child,
.elementor-widget-theme-post-content h6:first-child {
    margin-top: 0;
}
.elementor-heading-title {
    transition: all 0.3s;
}

/* Elementor fixes/QoL improvements */
/* // add to text widget to remove padding on last p element */
.p-mb-0 p:last-child {
    margin-bottom: 0;
}
/* // Mobile menu styles */
@media screen and (max-width: 991px) {
    .elementor-nav-menu--dropdown .has-submenu {
        justify-content: space-between;
    }
    .elementor-nav-menu--dropdown .sub-arrow {
        padding-inline-end: 10px !important;
        margin-right: -10px;
    }
    .elementor-nav-menu--dropdown a.highlighted .sub-arrow {
        transform: rotate(180deg);
        transform-origin: center;
    }
    /* ul.elementor-nav-menu--dropdown {
        background-color: var( --e-global-color-6d65bc0 ) !important;
    } */
    ul.elementor-nav-menu--dropdown a {
        border-inline-start: 0 !important;
        font-size: 20px !important; /* Assumed 24px starting size */
    }
    /* ul.elementor-nav-menu--dropdown a.highlighted,
    ul.elementor-nav-menu--dropdown a:hover {
        background-color: var( --e-global-color-primary ) !important;
    } */
    /* ul.elementor-nav-menu--dropdown ul {
        background-color: var( --e-global-color-primary ) !important;
    } */
    /* ul.elementor-nav-menu--dropdown ul a.highlighted,
    ul.elementor-nav-menu--dropdown ul a:hover {
        background-color: var( --e-global-color-6d65bc0 ) !important;
    } */
}

body.elementor-kit-149 .elementor-button-content-wrapper {
    flex-direction: row-reverse;
    align-items: center;
}

a {
    transition: all 0.3s;
}

input {
    outline: none;
}

.balance-text * {
    display: block;
    white-space: nowrap;
}
  

.elementor-nav-menu ul ul a, 
.elementor-nav-menu ul ul a:active, 
.elementor-nav-menu ul ul a:focus, 
.elementor-nav-menu ul ul a:hover {
    border-left: none !important;
}

.reset-list,
.reset-list ul,
.reset-list ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

body .elementor-button-icon svg {
    width: 1.333em;
}

body input.gform_button[type="submit"] {
    border: none;
    background-color: var(--e-global-color-primary);
    color: var(--e-global-color-text);
    transition: all 0.3s;
}
body input.gform_button[type="submit"]:hover {
    border: none;
    background-color: var(--e-global-color-secondary);
    color: var(--e-global-color-text);
}

/* Dynamic.ooo helpers */
/* // add to Dynamic.ooo repeater widget when using grid layout to force all tiles to be the same height */
.equal-height-repeater {
    .dce-acf-repeater-item {
        & > div[data-elementor-type="section"] {
            height: 100%;
            & > div[data-element_type="container"] {
                height: 100%;
            }
        }
    }
}
/* // add to Dynamic.ooo repeater widget when using slider layout to force all slides to be the same height */
.equal-height-repeater-slider {
    .swiper-wrapper {
        align-items: stretch;
        .swiper-slide {
            height: auto;
        }
    }
}

/* // Social Icon shortcode styles */
.social-icons svg {
    transition: all 0.3s;
}
.social-icons {
    display: flex;
}
.social-icons .social-icon {
    width: 32px;
    height: 32px;
}
.social-icons .social-icon svg {
    width: 100%;
    height: auto;
    display: block;
}

.media-banner {
    aspect-ratio: 2.7;
}

/* Banner Shape */

.show-banner-shape .banner-shape.blast > .elementor-widget-container {
    transform: translateY(-35%) !important;
}
.show-banner-shape .banner-shape.pop > .elementor-widget-container {
    transform: translateY(-43%) !important;
}
.show-banner-shape .banner-shape.wheel > .elementor-widget-container {
    transform: translateY(28%) !important;
}

.hide-banner-shape .elementor-widget-button {
    bottom: 0 !important;
}

/* Ticker Text */
.ticker-text {
    overflow: hidden;
    white-space: nowrap;
    position: relative;
  }
  
  .ticker-text .elementor-widget-container {
    display: inline-flex;
    animation: ticker-scroll 20s linear infinite;
    /* Prevent line breaks inside */
    white-space: nowrap;
  }
  
  .ticker-text .elementor-heading-title {
    display: inline-block;
    padding-right: 4rem; /* spacing between repeats */
    white-space: nowrap;
    font-size: 1.25rem;
    font-weight: bold;
  }
  
  @keyframes ticker-scroll {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-50%);
    }
  }

/* Case Study Tile */
a.cs-tile {
    color: var(--e-global-color-text);
}
a.cs-tile .elementor-widget-image {
    overflow: hidden;
}
a.cs-tile img {
    display: block;
    transition: transform 0.3s;
    transform: scale(1);
}
a.cs-tile:hover img {
    transform: scale(1.05);
}

/* Service Tile */
.service-tile:hover .elementor-button {
    border-color: var(--e-global-color-text);
}

/* Service Slider */
.service-slider .swiper {
    overflow: visible;    
}

body .gform_wrapper.gravity-theme .chosen-container-multi .chosen-choices li.search-field input[type=text] {
    color: var( --e-global-color-secondary );
}
body .gform_wrapper.gravity-theme .chosen-container-multi .chosen-choices {
    font-size: var( --e-global-typography-text-font-size );
    font-weight: var( --e-global-typography-text-font-weight );
    line-height: var( --e-global-typography-text-line-height );
    color: var( --e-global-color-secondary );
    accent-color: var( --e-global-color-primary );
    background-color: var( --e-global-color-f363522 );
    border-style: solid;
    border-width: 0px 0px 1px 0px;
    border-color: var( --e-global-color-secondary );
    border-radius: 0px 0px 0px 0px;
    transition: 0.3ms;
    padding: 0.833333333em 0.333333333em 0.833333333em 0.333333333em;
}
body .gform_wrapper.gravity-theme .chosen-container .chosen-drop {
    background-color: var( --e-global-color-secondary );
    border: none;
    box-shadow: none;
    color: var(--e-global-color-text);
}
body .gform_wrapper.gravity-theme .chosen-container .chosen-results li {
    border-bottom: 1px solid var( --e-global-color-secondary );
}
body .gform_wrapper.gravity-theme .chosen-container .chosen-results li.highlighted {
    background-image: none;
    background-color: var( --e-global-color-text );
    color: var(--e-global-color-secondary);
}
body .gform_wrapper.gravity-theme .chosen-container-multi .chosen-choices li.search-choice {
    background: none;
    border: none;
    box-shadow: none;
    margin-left: 0;
    padding-left: 0;
    color: var(--e-global-color-secondary);
}

/* Case Study Services List */

.services-list {
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.services-list li {
    font-size: var(--e-global-typography-85d04de-font-size);
    font-weight: 500;
    line-height: var(--e-global-typography-85d04de-line-height);
    text-transform: uppercase;
}
.services-list a {
    color: var(--e-global-color-text);
}
.services-list a:hover {
    color: var(--e-global-color-primary);
}

/* Logo Gallery */
.logo-gallery .gallery {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 3rem;
}
.logo-gallery .gallery .gallery-item {
    width: auto;
}
.logo-gallery .gallery .gallery-icon img {
    height: 58px;
    width: auto;
}

@media screen and (min-width: 768px) {
    .logo-gallery .gallery .gallery-icon img {
        height: 80px;
    }
    
}

.so-tax-filter .jet-smart-filters-select {
    align-items: center;
    gap: 2rem;
}

.so-tax-filter .jet-filter-label {
    flex: none;
}

.so-tax-filter .jet-select__control {
    outline: none;
    position: relative;
    appearance: none; /* Remove native arrow */
    background-color: white;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M13.0001 19.4411C13.0001 17.1006 15.2212 14.9675 17.6602 14.9675L18.6602 14.9675L18.6602 13.0475L17.6602 13.0475C15.8862 13.0475 14.2222 13.7944 13.0001 14.9665L13.0001 3.12109L11.0001 3.12109L11.0001 14.9665C9.77815 13.7944 8.11414 13.0475 6.34014 13.0475L5.34014 13.0475L5.34014 14.9675L6.34014 14.9675C8.77914 14.9675 11.0001 17.1006 11.0001 19.4411L11.0001 20.4011L13.0001 20.4011L13.0001 19.4411Z" fill="%23121212"/></svg>');
    background-repeat: no-repeat;
    background-position: right 1.22222222em center;
    background-size: 1.5rem;
  }

/* Footer */
.elementor-location-footer {
    color: var(--e-global-color-secondary);
}
.elementor-location-footer a {
    color: inherit;
}
.elementor-location-footer a:hover {
    color: var( --e-global-color-primary );
}

#menu-footer {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.policy-links ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.elementor-location-footer .elementor-widget-wp-widget-nav_menu ul li {
    font-size: var(--e-global-typography-85d04de-font-size);
    font-weight: var(--e-global-typography-85d04de-font-weight);
    line-height: var(--e-global-typography-85d04de-line-height);
    color: var(--e-global-color-secondary);
}

.elementor-location-footer .elementor-widget-wp-widget-nav_menu.footer-feature-nav ul li {
    font-size: var( --e-global-typography-secondary-font-size );
    font-weight: var( --e-global-typography-secondary-font-weight );
    text-transform: var( --e-global-typography-secondary-text-transform );
    text-decoration: var( --e-global-typography-secondary-text-decoration );
    line-height: var( --e-global-typography-secondary-line-height );
    text-align: center;
}
.footer-feature-nav ul {
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    flex-wrap: wrap;
}
.footer-menu ul {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}