/* 
 Theme Name:   Colne Valley Rubber
 Theme URI:    
 Description:  
 Author:       admin
 Author URI:   https://thedesignbank.co.uk/
 Version:      1.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html

 /* == Add your own styles below this line ==
--------------------------------------------*/

:root {
  --PrimaryColor: #97d62b;
  --PrimaryColorDark: #007d04;
  --PrimaryColorLight: #a5df41;
  --SecondaryColor: #f3f3f3;
  --SecondaryColorDark: #737373;
  --SecondaryColorGreen: #003b02;
}
* {
  box-sizing: border-box;
}

body {
  color: #003b02;
  font-size: 16px !important;
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}

a {
  text-decoration: none;
  color: inherit;
}

h1,
.h1 {
  font-size: 64px;
}

h2,
.h2 {
  font-size: 48px;
}

h3,
.h3 {
  font-size: 32px;
}

h4,
.h4 {
  font-size: 20px;
  line-height: 26px;
}

.Spacer {
  display: block;
  width: 100%;
  height: 200px;
  background-color: #cdcdcd;
}

.img-fit {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.btn {
  &.primary {
    background-color: var(--PrimaryColor) !important;
    color: #fff !important;
    padding: 15px 30px;
  }
}

form {
  label {
    width: 100%;
  }
  input,
  select {
    width: 100%;
    border-radius: 4px !important;
    border: none !important;
    padding: 15px;
    font-size: 16px;
    line-height: 26px;
    color: var(--SecondaryColorDark);
    &::placeholder {
      color: #000 !important;
    }
    &:has(option + option:checked) {
      color: #000;
    }
  }
  button,
  input[type="submit"] {
    height: auto !important;
    width: auto;
    float: right;
    padding: 15px 45px !important;
    background-color: var(--PrimaryColorLight) !important;
    color: white !important;
  }
}

.Socials {
  display: flex;
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;

  li {
    a {
      padding: 5px;
      font-size: 24px;
    }
  }
}

header {
  position: fixed;
  z-index: 100000;
  width: 100%;
  padding: 20px 0;
  color: #fff;

  .Logo {
    transition: filter 1s;
    &.White {
      svg {
        path {
          fill: #fff;
        }
      }
    }
  }

  .Main-nav {
    background: #cecece40;
    backdrop-filter: blur(10px);
    border-radius: 5px;
    overflow: hidden;
    font-size: 15px;
    ul {
      justify-content: end;
      li {
        padding: 5px;
        &:last-child {
          a {
            background: #a5df41;
          }
        }
        a {
          border-radius: 5px;
          padding: 15px 30px;
        }
      }
    }
  }

  .Hamburger {
    display: block;
    height: 62.5px;
    aspect-ratio: 1 / 1;
    background: #cecece40;
    backdrop-filter: blur(10px);
    border-radius: 5px;
    position: relative;
    z-index: 100;
    span {
      display: block;
      width: 40px;
      height: 3px;
      background: #fff;
      position: absolute;
      top: calc(50% - 7.5px);
      left: 50%;
      transform: translate(-50%, -50%);
      transition: top ease 0.5s;
      &.Hover {
        height: 0;
        opacity: 0;
        transition: all ease 0.5s;
      }
      &:last-child {
        top: calc(50% + 7.5px);
      }
    }
    &:hover {
      span {
        &:first-child {
          top: 30%;
        }
        &.Hover {
          height: 3px;
          top: 50%;
          opacity: 1;
        }
        &:last-child {
          top: 70%;
        }
      }
    }
    &.Open,
    &:hover.Open {
      span {
        left: 12px;
        top: 50%;
        &:first-child {
          transform: rotate(45deg) translate(0%, -50%);
        }
        &.Hover {
          height: 0;
          opacity: 0;
        }
        &:last-child {
          transform: rotate(-45deg) translate(0%, -50%);
        }
      }
    }
  }
}

nav {
  ul {
    display: flex;
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    li {
      a {
        display: block;
        text-align: center;
        text-decoration: none;
      }
    }
  }
  &.Alignment-Horizontal {
    ul {
      flex-direction: row;
      a {
        padding: 10px 15px;
      }
    }
  }
  &.Alignment-Vertical {
    & > div {
      height: 100%;
    }
    ul {
      height: 100%;
      flex-direction: column;
      a {
        text-align: left;
      }
    }
  }
  &.Hamburger-Left {
    & a {
      font-size: 24px;
      line-height: 30px;
      margin-bottom: 10px;
      &:after {
        content: "";
        display: block;
        width: 0;
        height: 2px;
        background: #000;
        transition: width 0.7s;
      }
      &:hover {
        &:after {
          width: 100%;
        }
      }
    }
    & .ChildFS {
      margin-top: 40px;
      & .sub-menu {
        position: absolute;
        height: 100vh;
        left: 100%;
        top: 0;
        right: 0;
        bottom: 0;
        background: #a5df41;
        padding: 15% 7.5%;
        opacity: 0;
        transition:
          left 0.7s,
          opacity 0.7s;
        &.Open {
          left: 0;
          opacity: 1;
        }
        & .ChildFSClose {
          margin-bottom: 20px;
          padding-left: 0;
          transition: padding-left 0.5s;
          &:hover {
            padding-left: 10px;
          }
        }
      }
    }
  }
  &.Hamburger-Right {
    & a {
      font-size: 16px;
      line-height: 20px;
      margin-bottom: 20px;
      &:after {
        content: "";
        display: block;
        width: 0;
        height: 2px;
        background: #000;
        transition: width 0.7s;
      }
      &:hover {
        &:after {
          width: 100%;
        }
      }
    }
  }
}

.HamburgerMenu {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  position: absolute;
  height: 100vh;
  top: 0;
  right: -60%;
  width: 60%;
  background: #a5df41;
  padding: 100px;
  transition: right 0.2s ease;
  &.Hamburger-Left {
    font-size: 24px;
    line-height: 26px;
  }
  & .Hamburger-nav {
    color: #000;
    flex: 0 0 50%;
  }
  &.Open {
    right: 0;
  }
}

main {
  .HeaderSplash {
    position: relative;
    video {
      width: 100%;
		object-fit: cover;
    }
    .ContentContainer {
      display: flex;
      height: 100%;
      width: 100%;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      justify-content: center;
      align-items: center;
      .Content {
        width: 100%;
        color: #fff;
        @media (min-width: 768px) {
          max-width: 720px;
        }
        @media (min-width: 992px) {
          max-width: 960px;
        }
        @media (min-width: 1200px) {
          max-width: 1140px;
        }
        @media (min-width: 1400px) {
          max-width: 1320px;
        }
        p {
          max-width: 600px;
        }
      }
    }
  }
  .MainContent {
    margin-bottom: 80px;
    .container {
      margin-top: 80px;
      @media screen and (max-width: 991px) {
        margin-top: 50px;
      }
    }
    .row {
      &.NoContainer {
        width: 100%;
        margin: 0;
        > div:has(> .Full) {
          padding: 0;
        }
      }
      & > div {
        display: flex;
      }
      &:has(> div .ContentMedia):has(> div .Content) {
        align-items: center;
        @media screen and (max-width: 991px) {
          & > div:has(.ContentMedia) {
            order: 1;
            margin-bottom: 30px;
          }
          & > div:has(.Content) {
            order: 2;
          }
        }
      }
      .Icons {
        .icon {
          margin-bottom: 10px;
        }
        b {
          font-size: 20px;
          line-height: 26px;
        }
      }
      .Card.HoverOver {
        display: flex;
        height: 600px;
        width: 100%;
        flex-direction: column;
        justify-content: end;
        position: relative;
        border-radius: 10px;
        padding: 20px;
        overflow: hidden;
        .BG {
          position: absolute;
          top: 0;
          right: 0;
          left: 0;
          bottom: 0;
          transition: all ease 1s;
          img {
            width: 100%;
            height: 100%;
            object-fit: cover;
          }
        }
        .content,
        .hover {
          width: 100%;
          position: absolute;
          bottom: 0;
          left: 0;
          right: 0;
          padding: 25px;
          z-index: 10;
          color: #fff;
          transition: all ease 0.3s;
          transition-behavior: allow-discrete;
        }
        .content {
          display: block;
          opacity: 1;
        }
        .hover {
          display: none;
          opacity: 0;
        }
        &:hover {
          .hover {
            display: block;
            opacity: 1;
          }
          .content {
            display: none;
            opacity: 0;
          }
          .BG {
            top: -20px;
            right: -20px;
            left: -20px;
            bottom: -20px;
          }
        }
      }
      .ApplicationLabels {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        .FloatingInfo {
          flex: 0 0 35%;
          width: 35%;
          padding: 20px;
          position: relative;
          .Content {
            position: absolute;
            top: 0;
          }
        }
        .Labels {
          flex: 0 0 65%;
          margin-left: auto;
          .Label {
            display: flex;
            color: var(--PrimaryColorDark);
            padding: 10px;
            border-radius: 5px;
            margin-bottom: 10px;
            p {
              margin-bottom: 0;
            }
            .Subtitle {
              font-size: 16px;
              line-height: 26px;
            }
            .Tick {
              margin-right: 10px;
              svg path {
                fill: var(--SecondaryColorDark);
              }
            }
          }
        }
        &.Style-Simple {
          .Labels .Label {
            justify-self: end;
            text-align: right;
            opacity: 0.5;
            transition: opacity 0.7s ease;
            .Text {
              display: flex;
              flex-direction: column;
              .Name {
                font-size: 64px;
                line-height: 64px;
                order: 2;
              }
              .Subtitle {
                order: 1;
              }
            }
            &.Active {
              opacity: 1;
            }
          }
        }
        &.Style-Pill {
          .Labels .Label {
            padding: 30px;
            background: var(--SecondaryColor);
            color: var(--SecondaryColorDark);
            &.Active {
              background: var(--PrimaryColorDark);
              color: var(--PrimaryColor);
              .Tick svg path {
                fill: var(--PrimaryColorLight);
              }
            }
          }
        }
        @media screen and (max-width: 991px) {
          .FloatingInfo,
          .Labels {
            flex: 0 0 100%;
            width: 100%;
          }
        }
      }
      .Reasons {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        h2 {
          margin-bottom: 60px;
        }
        span,
        h5 {
          flex: 0 0 50%;
          width: 50%;
        }
        h5 {
          margin-bottom: 30px;
        }
        .List {
          display: flex;
          flex-wrap: wrap;
          width: 100%;
          border-top: 1px solid #d9d9d9;
          padding: 5px 10px;
          &:last-child {
            border-bottom: 1px solid #d9d9d9;
          }
          span:first-child {
            display: list-item;
            list-style-type: disc;
            list-style-position: inside;
          }
        }
      }
      .ContentSlider {
		width: 100%;
        .Slides {
          display: flex;
          flex-direction: row;
          flex-wrap: wrap;
          gap: 20px;
          .AccordionContainer {
            flex: 0 0 calc(60% - 10px);
            .Accordion {
              display: table;
              width: 100%;
              border-bottom: 1px solid #d9d9d9;
              padding-bottom: 5px;
              margin-bottom: 5px;
              .AccordionHeader {
                display: flex;
                flex-direction: row;
                flex-wrap: wrap;
                width: 100%;
                justify-content: space-between;
                padding: 30px;
                border-radius: 5px 5px 0 0;
                h5 {
                  width: fit-content;
                  float: left;
                  margin-bottom: 0;
                }
                .Arrow {
                  display: block;
                  width: 20px;
                  height: 15px;
                  float: right;
                  position: relative;
                  &::before,
                  &::after {
                    content: "";
                    display: block;
                    width: 15px;
                    height: 3px;
                    background: var(--SecondaryColorDark);
                    position: absolute;
                    top: 50%;
                  }
                  &::before {
                    transform: rotate(35deg);
                    left: -3px;
                  }

                  &::after {
                    transform: rotate(-35deg);
                    right: -3px;
                  }
                }
              }
              .AccordionText {
                height: 0;
                width: 100%;
                overflow: hidden;
                transition: all 0.5s ease;
                padding: 0 30px;
                background: var(--SecondaryColor);
                border-radius: 0 0 5px 5px;
              }
              &.Open {
                .AccordionHeader,
                .AccordionText {
                  background: var(--SecondaryColor);
                }
                .AccordionText {
                  height: auto;
                }
              }
            }
          }
          .MediaContainer {
            flex: 0 0 calc(40% - 10px);
            position: relative;
            overflow: hidden;
            img {
              border-radius: 5px;
              position: absolute;
              top: 0;
              left: 100%;
              transition:
                left 0.3s ease,
                opacity 0.4s ease;
              opacity: 0;
              &.Open {
                left: 0;
                opacity: 1;
              }
            }
          }
          @media screen and (max-width: 991px) {
            .AccordionContainer,
            .MediaContainer {
              flex: 0 0 100%;
            }
            .MediaContainer {
              order: 1;
              height: 400px;
            }
            .AccordionContainer {
              order: 2;
            }
          }
        }
      }
      .CarouselContainer {
        width: 100%;
        overflow: hidden;
        margin-top: 60px;
        .CarouselItem {
          display: block;
          height: 100%;
          width: 100%;
          position: relative;
          overflow: hidden;
          border-radius: 5px;
          .ItemBG {
            height: 600px;
            width: 100%;
            img {
              height: 100%;
              width: 100%;
              object-fit: cover;
            }
          }
          .Overlay {
            width: 100%;
            padding: 20px;
            position: absolute;
            bottom: 0;
            color: #fff;
          }
        }
      }
      .FCContentContainer {
        width: 80%;
        margin: 80px auto 0px auto;
        aspect-ratio: 16 / 11;
        overflow: hidden;
        position: relative;
        transition: all 0.5s ease-in;
        &.Full {
          height: 100vh;
          width: 100% !important;
          position: fixed;
          top: -80px;
          z-index: 10000;
        }
        .FCPanels {
          position: relative;
          width: 100%;
          height: 100%;
          transform: translateY(0);
          transition: transform 1s ease;
          .FCPanel {
            width: 100%;
            height: 100%;
            position: relative;
            .PanelBG {
              position: absolute;
              width: 100%;
              height: 100%;
              top: 0;
              left: 0;
              right: 0;
              bottom: 0;
            }
            .PanelContent {
              position: absolute;
              width: 50%;
              color: #fff;
              left: 10%;
              bottom: calc(25% + 100px);
            }
          }
        }
        .FCGlobalNav {
          width: 80%;
          position: sticky;
          bottom: 100px;
          left: 10%;
          background: #fff;
          border-radius: 5px;
          padding: 30px;
          .Global {
            color: var(--PrimaryColorDark);
          }
          .row.Panels {
            > div {
              opacity: 0.5;
              transition: opacity 0.7s ease;
              &.Active,
              &.Global {
                opacity: 1;
              }
              .FCimg {
                float: left;
                padding-right: 10px;
              }
            }
          }
        }
      }
      .TestimonialContainer {
        .Testimonial {
          border: 2px solid #d9d9d9;
          border-radius: 5px;
          padding: 20px;
          font-size: 14px;
          .Context {
            font-size: 18px;
          }
        }
      }
    }
    > div:last-child {
      margin-bottom: 80px;
    }
  }
}

.FooterContact {
  .container {
    background-color: var(--SecondaryColor);
    padding: 5rem;
    border-radius: 8px;
  }
}

footer {
  background: #a5df41;
  background: linear-gradient(
    0deg,
    rgba(165, 223, 65, 1) 29%,
    rgba(132, 204, 53, 1) 54%,
    rgba(0, 125, 4, 1) 100%
  );
  color: #fff;
  padding: 50px 0;
  margin-top: 50px;
  .Logo {
    svg {
      filter: brightness(0) saturate(100%) invert(100%) sepia(11%)
        saturate(7458%) hue-rotate(207deg) brightness(120%) contrast(110%);
    }
  }
  .BtmFooter {
    font-size: 14px !important;
    li {
      a {
        padding: 0 15px;
      }
    }
  }
  .FooterMenu {
    display: block;
    margin-bottom: 10px;
  }
  .FooterForm {
    width: 100%;
    background: #fff;
    padding: 5px 5px 5px 10px;
    border-radius: 5px;
    p {
      margin: 0;
    }
    label {
      display: flex;
      width: 100%;
      position: relative;
      span[data-name="email"] {
        flex: 1 1 auto;
      }
      input {
        flex: 0 0 auto;
        font-size: 14px;
        line-height: 24px;
      }
      .wpcf7-spinner {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        margin: 0;
      }
    }
  }
}

.Scroller {
  width: 100%;
  position: relative;
  margin: 0 auto;
  .ScrollerContainer {
    width: 100%;
    position: relative;
    margin: 0 auto;
    .Scrolls {
      height: 100%;
      width: 100%;
      .Scroll {
        height: 100vh;
        width: 100%;
        position: relative;
        .ScrollBG {
          position: absolute;
          height: 100%;
          width: 100%;
          background: url(http://localhost:8080/wp-content/uploads/2025/09/TempBG.png)
            no-repeat center center;
          background-size: cover;
        }
        .ScrollContent {
          position: absolute;
          color: #fff;
          top: 50%;
          left: 15%;
          transform: translate(-15%, -50%);
        }
      }
    }
    .ScrollerController {
      display: flex;
      width: calc(100% - 250px);
      position: absolute;
      bottom: 10%;
      left: 50%;
      transform: translateX(-50%);
      background-color: #fff;
      padding: 10px;
      .IntroTxt {
        flex: 0 0 25%;
      }
      .ScrollerNavigation {
        display: flex;
        flex: 0 0 75%;
        gap: 10px;
        .Item {
          display: flex;
          gap: 10px;
          .IMGtemp {
            display: block;
            width: 100px;
            height: 100%;
            background-color: red;
          }
          .Content {
            flex: auto;
          }
        }
      }
    }
  }
}
