/* Colours */
/* Fluid heading sizes - set your min/max sizes and you're done! */
/* Some device sizes to use with min-width */
/* adjusted breakpoints for above */
/* 100% widths look better than "Snapping" IMO */
/* Utility */
/* Additional Spacers -- don't think you'll need more than 7, but if you do -- maybe just use a custom class  :)  */
#hero {
  padding-top: 200px;
  padding-bottom: 65px;
  min-height: calc(100vh - 64px);
  color: white; }
  @media screen and (min-width: 641px) {
    #hero {
      padding-bottom: 100px;
      padding-top: 225px;
      min-height: 100vh; } }
  @media screen and (min-width: 769px) {
    #hero {
      padding-top: 250px; } }
  @media screen and (min-width: 1025px) {
    #hero {
      padding-top: 275px; } }
  #hero .banner-content {
    max-width: 826px; }
    #hero .banner-content h1 {
      font-size: clamp(5.875rem, calc( 94px + (154 - 94) * ((100vw - 320px) / (1920 - 320))), 9.625rem);
      line-height: 0.8;
      letter-spacing: clamp(0.235rem, calc(3.76px + (6.16 - 3.76) * ((100vw - 320px) / (1920 - 320))), 0.385rem);
      max-width: 550px; }
    #hero .banner-content .h4 {
      font-family: "Roboto", sans-serif;
      font-weight: 700;
      letter-spacing: 0;
      margin-bottom: 1rem;
      line-height: 1.2; }
    #hero .banner-content p.lead {
      max-width: 750px;
      line-height: 1.5; }

.btns-mb a {
  width: 50%;
  color: white;
  font-size: 16px;
  font-weight: 700;
  font-family: "Roboto", sans-serif;
  padding: 22px 1rem;
  text-align: center;
  background-color: #ff9933;
  border: 0; }
  .btns-mb a:first-of-type {
    background-color: #5d5d5d; }

#lead {
  padding: 80px 0; }
  @media screen and (min-width: 1025px) {
    #lead {
      border-top: solid 50px #f7f7f7; } }
  #lead .content h2 {
    color: #212322; }
  #lead .content .h4 {
    font-family: "Roboto", sans-serif;
    letter-spacing: 0; }

#portfolio {
  background-color: #f7f7f7; }
  #portfolio .h2 {
    color: #212322; }
  #portfolio #portfolio-slider-nav-container {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.5rem; }
    @media screen and (min-width: 1025px) {
      #portfolio #portfolio-slider-nav-container {
        justify-content: flex-end; } }
    #portfolio #portfolio-slider-nav-container button {
      background: transparent;
      border: 0;
      box-shadow: none;
      outline: 0;
      color: #5D5D5D;
      display: flex;
      align-items: center;
      padding: 0 1rem; }
      #portfolio #portfolio-slider-nav-container button span {
        font-size: 16px;
        font-weight: 700;
        margin-right: 8px; }
      #portfolio #portfolio-slider-nav-container button i {
        font-size: 39px;
        line-height: normal; }
      #portfolio #portfolio-slider-nav-container button:hover {
        color: #ff9933; }
      #portfolio #portfolio-slider-nav-container button.owl-prev span {
        margin-left: 8px; }
      #portfolio #portfolio-slider-nav-container button.disabled {
        opacity: 0.5; }
    #portfolio #portfolio-slider-nav-container.disabled {
      display: none; }
  #portfolio #portfolio-slider .item {
    position: relative;
    width: 100%;
    height: 442px;
    position: relative;
    overflow: hidden; }
    @media screen and (min-width: 641px) {
      #portfolio #portfolio-slider .item {
        height: 556px; } }
    @media screen and (min-width: 769px) {
      #portfolio #portfolio-slider .item {
        height: 556px; } }
    @media screen and (min-width: 1025px) {
      #portfolio #portfolio-slider .item {
        height: 706px; } }
    #portfolio #portfolio-slider .item .img {
      width: 100% !important;
      max-width: 100% !important;
      height: 100% !important;
      max-height: 100% !important;
      object-fit: cover;
      object-position: center; }
    #portfolio #portfolio-slider .item .content-container {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      background: transparent linear-gradient(180deg, #21232200 0%, #00000077 100%) 0% 0% no-repeat padding-box; }
      #portfolio #portfolio-slider .item .content-container .container {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: end;
        height: 100%; }
        #portfolio #portfolio-slider .item .content-container .container .award {
          position: absolute;
          right: 10%;
          top: 0; }
        #portfolio #portfolio-slider .item .content-container .container .bottom-row {
          color: white; }
          #portfolio #portfolio-slider .item .content-container .container .bottom-row .h3 {
            font-family: "Roboto", sans-serif;
            font-weight: 300;
            font-size: clamp(1.75rem, calc( 28px + (40 - 28) * (( 100vw - 320px ) / (1920 - 320))), 2.5rem);
            margin-bottom: 0.5rem; }
  #portfolio .btn-col {
    border-bottom: 1px solid #212322; }

#story {
  background-color: #f7f7f7;
  padding: 80px 0; }
  #story .content h2 {
    color: #212322; }
  #story .story-slider .item .story-card .img {
    margin-bottom: 1rem; }
  #story .story-slider .item .story-card h3 {
    margin-bottom: 1rem;
    color: #212322;
    letter-spacing: 0; }
  #story .story-scroll-box {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 0.5rem; }
    #story .story-scroll-box button {
      background: transparent;
      border: 0;
      box-shadow: none;
      outline: 0;
      color: #5D5D5D;
      display: flex;
      align-items: center; }
      #story .story-scroll-box button span {
        font-size: 16px;
        font-weight: 700;
        margin-right: 8px; }
      #story .story-scroll-box button i {
        font-size: 39px;
        line-height: normal; }
      #story .story-scroll-box button:hover {
        color: #ff9933; }
      #story .story-scroll-box button.owl-prev span {
        margin-left: 8px; }
      #story .story-scroll-box button.disabled {
        opacity: 0.5; }
    #story .story-scroll-box.disabled {
      display: none; }

#guide {
  padding: 80px 0; }
  #guide .content h2 {
    color: #212322; }
    #guide .content h2 span {
      display: block; }
  #guide .content ol {
    margin: 1.5rem 0;
    max-width: 500px; }
    #guide .content ol li strong {
      color: #212322; }

#commitment {
  background-color: #f7f7f7;
  padding: 150px 0 0; }
  @media screen and (min-width: 641px) {
    #commitment {
      padding: 170px 0 0; } }
  @media screen and (min-width: 769px) {
    #commitment {
      padding: 250px 0 0; } }
  @media screen and (min-width: 1025px) {
    #commitment {
      padding: 100px 0; } }
  #commitment .bg-cover {
    z-index: 1;
    height: 200px !important; }
    @media screen and (min-width: 641px) {
      #commitment .bg-cover {
        height: 220px !important; } }
    @media screen and (min-width: 769px) {
      #commitment .bg-cover {
        height: 300px !important; } }
    @media screen and (min-width: 1025px) {
      #commitment .bg-cover {
        height: 100% !important; } }
    @media screen and (min-width: 1025px) {
      #commitment .bg-cover {
        height: 100% !important; } }
  #commitment .banner-content {
    background-color: white;
    box-shadow: 9px 11px 37px #00000029;
    z-index: 2;
    position: relative; }
    #commitment .banner-content h2 {
      color: #212322; }

#locations {
  background-color: #f7f7f7;
  padding: 80px 0; }
  #locations .content h2 {
    color: #212322; }
  #locations .locations-slider .item .locations-card .img {
    margin-bottom: 1rem;
    height: 232px !important;
    max-height: 232px !important;
    width: 100% !important;
    max-width: 100% !important;
    object-fit: cover; }
  #locations .locations-slider .item .locations-card h3 {
    margin-bottom: 1rem;
    color: #212322;
    letter-spacing: 0; }
  #locations .locations-slider .item .locations-card .phone {
    color: #5D5D5D;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 1rem;
    display: block;
    text-decoration: none; }
    #locations .locations-slider .item .locations-card .phone:hover {
      color: #ff9933; }
  #locations .locations-slider .item .locations-card p {
    font-size: 14px; }
  #locations .locations-slider .item .locations-card .contact-link {
    color: #212322;
    font-size: 14px;
    font-weight: 400;
    margin: 1rem 0 0 0;
    padding-bottom: 1.2rem;
    display: block;
    text-decoration: none;
    border-bottom: 1px solid #212322; }
    #locations .locations-slider .item .locations-card .contact-link:hover {
      color: #ff9933; }
  #locations .locations-slider .item .locations-card .btn-arrow {
    padding-top: 8px;
    font-size: 16px; }
    #locations .locations-slider .item .locations-card .btn-arrow:after {
      font-size: 30px; }
  #locations .locations-scroll-box {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 0.5rem; }
    #locations .locations-scroll-box button {
      background: transparent;
      border: 0;
      box-shadow: none;
      outline: 0;
      color: #5D5D5D;
      display: flex;
      align-items: center; }
      #locations .locations-scroll-box button span {
        font-size: 16px;
        font-weight: 700;
        margin-right: 8px; }
      #locations .locations-scroll-box button i {
        font-size: 39px;
        line-height: normal; }
      #locations .locations-scroll-box button:hover {
        color: #ff9933; }
      #locations .locations-scroll-box button.owl-prev span {
        margin-left: 8px; }
      #locations .locations-scroll-box button.disabled {
        opacity: 0.5; }
    #locations .locations-scroll-box.disabled {
      display: none; }

#testimonials {
  padding: 100px 0; }
  @media screen and (min-width: 1025px) {
    #testimonials {
      padding: 150px 0; } }
  #testimonials .icon-Qoutes {
    position: absolute;
    top: -45px;
    left: 30px;
    color: white;
    opacity: 0.28;
    font-size: 260px;
    line-height: normal; }
    @media screen and (min-width: 641px) {
      #testimonials .icon-Qoutes {
        top: -100px;
        left: 30px;
        font-size: 380px; } }
  #testimonials .testimonials-slider-wrap {
    padding: 1rem;
    max-width: 930px; }
    #testimonials .testimonials-slider-wrap #testimonials-slider .item {
      padding: 0 0 50px 0;
      color: white; }
      @media (min-width: 641px) {
        #testimonials .testimonials-slider-wrap #testimonials-slider .item {
          padding: 0; } }
      #testimonials .testimonials-slider-wrap #testimonials-slider .item .bottom-content {
        border-top: 2px solid #ffffff;
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        flex-wrap: wrap;
        margin: 2rem 0 0 0;
        padding: 0.5rem 0 0 0; }
        @media (min-width: 641px) {
          #testimonials .testimonials-slider-wrap #testimonials-slider .item .bottom-content {
            flex-direction: row; } }
        #testimonials .testimonials-slider-wrap #testimonials-slider .item .bottom-content .btn-box {
          order: 2;
          padding-top: 50px; }
          @media (min-width: 641px) {
            #testimonials .testimonials-slider-wrap #testimonials-slider .item .bottom-content .btn-box {
              order: 1;
              padding-top: 0; } }
        #testimonials .testimonials-slider-wrap #testimonials-slider .item .bottom-content .utility-box {
          padding: 1rem 0 0 0;
          order: 1; }
          @media (min-width: 641px) {
            #testimonials .testimonials-slider-wrap #testimonials-slider .item .bottom-content .utility-box {
              padding: 1.5rem 0 0 0;
              order: 2; } }
          #testimonials .testimonials-slider-wrap #testimonials-slider .item .bottom-content .utility-box .name {
            line-height: 1; }
    #testimonials .testimonials-slider-wrap #testimonials-slider .owl-nav {
      position: absolute;
      left: 0;
      bottom: 120px;
      display: flex;
      justify-content: flex-end;
      margin-bottom: 0.5rem; }
      @media (min-width: 641px) {
        #testimonials .testimonials-slider-wrap #testimonials-slider .owl-nav {
          left: unset;
          right: 0;
          bottom: -25px; } }
      #testimonials .testimonials-slider-wrap #testimonials-slider .owl-nav button {
        background: transparent;
        border: 0;
        box-shadow: none;
        outline: 0;
        color: white;
        display: flex;
        align-items: center; }
        #testimonials .testimonials-slider-wrap #testimonials-slider .owl-nav button span {
          font-size: 16px;
          font-weight: 700;
          margin-right: 8px; }
        #testimonials .testimonials-slider-wrap #testimonials-slider .owl-nav button i {
          font-size: 39px;
          line-height: normal; }
        #testimonials .testimonials-slider-wrap #testimonials-slider .owl-nav button:hover {
          color: #ff9933; }
        #testimonials .testimonials-slider-wrap #testimonials-slider .owl-nav button.owl-prev span {
          margin-left: 8px; }
        #testimonials .testimonials-slider-wrap #testimonials-slider .owl-nav button.disabled {
          opacity: 0.5; }
      #testimonials .testimonials-slider-wrap #testimonials-slider .owl-nav.disabled {
        display: none; }

#design {
  padding: 80px 0; }
  @media screen and (min-width: 1025px) {
    #design {
      border-top: solid 50px #f7f7f7; } }
  #design .content h2 {
    color: #212322; }
    #design .content h2 span {
      display: block; }
  #design .content .h4 {
    font-family: "Roboto", sans-serif;
    letter-spacing: 0; }

.recent-blogs {
  padding: 100px 0;
  background-color: #f7f7f7; }
  .recent-blogs .top h2 {
    color: #212322; }
  .recent-blogs .top hr {
    border-top: solid 1px #212322;
    opacity: 1;
    background-color: #212322; }
  .recent-blogs .blog-card {
    display: flex;
    flex-direction: column; }
    @media (min-width: 641px) {
      .recent-blogs .blog-card {
        flex-direction: row; } }
    .recent-blogs .blog-card .img-wrap {
      width: 100%; }
      @media (min-width: 641px) {
        .recent-blogs .blog-card .img-wrap {
          width: 206px; } }
      @media (min-width: 769px) {
        .recent-blogs .blog-card .img-wrap {
          width: 206px; } }
      @media (min-width: 1025px) {
        .recent-blogs .blog-card .img-wrap {
          width: 206px; } }
      .recent-blogs .blog-card .img-wrap picture,
      .recent-blogs .blog-card .img-wrap img {
        object-fit: cover;
        object-position: center;
        width: 100%;
        height: 226px;
        max-width: 100% !important;
        transition: all 0.2s linear; }
      .recent-blogs .blog-card .img-wrap:hover picture,
      .recent-blogs .blog-card .img-wrap:hover img {
        transform: scale(1.01, 1.05);
        transition: all 0.2s linear; }
    .recent-blogs .blog-card .card-content {
      padding: 1rem 0 0 0;
      display: flex;
      flex-direction: column;
      border-bottom: 1px solid #212322;
      width: 100%; }
      @media (min-width: 641px) {
        .recent-blogs .blog-card .card-content {
          width: calc(100% - 206px);
          padding: 1rem 2rem 0 1.5rem;
          margin-left: 20px; } }
      .recent-blogs .blog-card .card-content .card-title {
        margin-top: 0;
        display: block;
        text-decoration: none !important; }
        .recent-blogs .blog-card .card-content .card-title h4 {
          font-family: "Roboto", sans-serif;
          font-weight: 700;
          color: #212322;
          letter-spacing: 0; }
        .recent-blogs .blog-card .card-content .card-title:hover h4 {
          color: #ff9933; }
      .recent-blogs .blog-card .card-content .card-text {
        margin-bottom: 1.5rem; }
      .recent-blogs .blog-card .card-content .btn-arrow {
        margin-top: auto; }
