/* 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  :)  */
/* 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  :)  */
#banner {
  position: relative; }
  #banner .banner-sm {
    display: block !important; }
    @media (min-width: 769px) {
      #banner .banner-sm {
        display: none !important; } }
  #banner .banner-desktop {
    display: none !important; }
    @media (min-width: 769px) {
      #banner .banner-desktop {
        display: block !important; } }
  #banner .bg-img {
    object-position: center;
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover; }
    @media (min-width: 769px) {
      #banner .bg-img {
        object-position: center top; } }
  #banner .banner-content {
    padding: 200px 1rem 150px 1rem; }
    @media (min-width: 769px) {
      #banner .banner-content {
        padding: 250px 1rem 200px 1rem; } }
    @media (min-width: 1025px) {
      #banner .banner-content {
        padding: 325px 1.5rem 230px 1.5rem; } }
    #banner .banner-content h1 {
      color: white;
      margin-bottom: 1rem; }
    #banner .banner-content p {
      color: white;
      text-transform: uppercase; }
  #banner .breadcrumb {
    background: transparent;
    position: absolute;
    bottom: 18px; }
    #banner .breadcrumb p {
      font-family: "Gabarito", sans-serif;
      font-size: 16px;
      letter-spacing: 1.44px;
      text-transform: uppercase;
      margin: 0 !important;
      padding: 0 0;
      color: white; }
      #banner .breadcrumb p a {
        color: #009bdf; }
        #banner .breadcrumb p a:hover {
          text-decoration: underline; }

#lead {
  overflow-x: hidden;
  background: white; }
  #lead .side-content {
    position: relative;
    z-index: 10;
    background: black;
    color: white; }
    #lead .side-content h3 {
      margin: 0; }
    #lead .side-content::before {
      content: "";
      background: black;
      position: absolute;
      width: 100%;
      z-index: 0;
      inset: 0 0 0 -100%; }
    #lead .side-content::after {
      content: "";
      background: black;
      position: absolute;
      width: 100%;
      z-index: 0;
      inset: 0 0 0 100%; }
      @media screen and (min-width: 1141px) {
        #lead .side-content::after {
          display: none; } }

#our-approach {
  overflow-x: hidden;
  background: #F7F7F7; }
  #our-approach .content h3 {
    color: black; }
  #our-approach .side-content {
    position: relative;
    z-index: 10;
    background: black;
    color: white; }
    #our-approach .side-content h4 {
      font-family: "Gabarito", sans-serif;
      font-weight: 400; }
    #our-approach .side-content::before {
      background: black;
      position: absolute;
      width: 100%;
      z-index: 0;
      inset: 0 0 0 0; }
    #our-approach .side-content::after {
      content: "";
      background: black;
      position: absolute;
      z-index: 0;
      inset: 0 -100% 0 -22.5%;
      z-index: -1; }

#approach-cta {
  position: relative; }
  #approach-cta .bg-img {
    object-position: 90%;
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover; }
    @media (min-width: 769px) {
      #approach-cta .bg-img {
        object-position: right top; } }
  #approach-cta .content {
    padding: 100px 1rem 100px 1rem; }
    @media (min-width: 769px) {
      #approach-cta .content {
        padding: 200px 1rem 200px 1rem; } }
    #approach-cta .content h3 {
      color: white; }
    #approach-cta .content p {
      color: white; }
      @media (min-width: 1025px) {
        #approach-cta .content p {
          padding-right: 8rem; } }
    #approach-cta .content ul li {
      color: white; }

#best-lawyers {
  position: relative;
  overflow: hidden;
  background-color: #F7F7F7; }
  #best-lawyers h2 {
    color: black; }
  @media (min-width: 1025px) {
    #best-lawyers .image-container {
      position: absolute;
      right: 0;
      left: 55%;
      top: 5rem;
      bottom: 5rem;
      z-index: 9; } }
  @media (min-width: 1665px) {
    #best-lawyers .image-container {
      left: 55%; } }
  @media (min-width: 1025px) {
    #best-lawyers .image-container .img {
      object-fit: cover;
      object-position: left top;
      height: 100% !important;
      max-height: 100% !important;
      width: 100% !important;
      max-width: 100% !important; } }
