/* ======= Procedures Module ======= */

:root {
  --area-heading-height: 60px;
}


.mod-procedures {
  position: relative;
  @media (width >= 768px) {
    padding-left: 40px;
    padding-right: 40px;
  }
  @media (width >= 1645px) {
		padding: 80px calc(40px + (50vw - (1545px / 2)));
	}
  .bg-logo {
    display: none;
    z-index: -1;
    @media (width >= 768px) {
      display: flex;
      position: absolute;
      right: 10px;
      bottom: 45px;
    }
    @media (width >= 1024px) {
      top: 0;
      bottom: 0;
    }
    @media (width >= 1845px) {
      margin-right: calc(40px + (50vw - (1745px / 2)));
    }
    svg {
      width: 291px;
      height: auto;
      @media (width >= 1215px) {
        width: 407px;
      }
    }
  }
  .areas-list {
    display: grid;
    grid-template-columns: 1fr;
    list-style: none;
    margin: 0;
    grid-area: services-list;
    position: relative;
    padding-top: 96vw;
    @media (width >= 768px) {
      padding-top: 86vw;
    }

    @media (width >= 1024px) {
      padding-left: 50%;
      padding-top: 110px;
      padding-bottom: 65px;
    }

    &:before {
        content: "";
        width: 50%;
        height: 68vw;
        background-color: rgb(from var(--primary-color) r g b / 0.8);
        top: 0;
        left: 0;
        position: absolute;
        @media (width >= 768px) {
          height: 60vw;
        }
        @media (width >= 1024px) {
          height: 70%;
          width: 25%;
        }
    }

    &:after {
        content: "";
        width: 20%;
        height: calc(96vw - 77px);
        background-color: var(--tertiary-color);
        top: 52px;
        right: 0;
        position: absolute;
        @media (width >= 768px) {
          top: 96px;
          height: calc(86vw - 142px);
        }
        @media (width >= 1024px) {
          right: 50%;
          height: calc(100% - 142px);
        }
    }

    >li {
      background-repeat: no-repeat;
      background-size: cover;
      list-style: none;
      &:first-of-type {
        margin-top: 35px;
        @media (width >= 768px) {
          margin-top: 80px;
        }
        @media (width >= 1024px) {
          margin-top: 0;
        }
        .bg-photo {
          visibility: visible;
          opacity: 1;
        }
      }
      &:hover {
        .area-heading {
          h3, .h3 {
            color: var(--primary-highlight);
          }
        }
        .bg-photo {
          @media (width >= 768px) {
            visibility: visible;
            opacity: 1;
          }
        }
      }
      /* overflow: hidden;
      display: flex;
      flex-direction: column;
      justify-content: flex-end; */
      /* position: relative; */
      /* min-height: 100vw;


      @media (width >= 768px) {
        min-height: 50vw;
      }


      @media (width >= 1024px) {
        .not--device & {
          min-height: 450px;
        }
      } */
    }
  }

  .area-wrap {
    /* transition: all 0.3s;
    position: absolute;
    width: 100%;
    height: 100%;
    transform: translateY(100%); */

    a.area-heading {
      cursor: pointer;
    }

    .area-heading {
      font-size: 34px;
      line-height: 1em;
      font-weight: var(--fw-regular);
      color: var(--secondary-color);
      text-decoration: none;
      
      /* position: absolute; */
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
      /* transform: translateY(-100%);
      display: flex;
      align-items: flex-end; */ 

      h3,
      .h3 {
        font-size: 34px;
        line-height: 1.1em;
        color: var(--secondary-color);
        /* background-color: var(--primary-color); */
        text-decoration: none;
        font-weight: var(--fw-regular);
        text-transform: uppercase;
        padding-left: 20px;
        width: 100%;
        padding: 10px 25px;
        margin: 0;
        transition: all 0.3s;
        @media (width >= 768px) {
          font-size: 48px;
          padding: 20px 45px;
        }
        @media (width >= 1024px) {
          padding: 20px 45px;
        }
      }
    }
  }

  .overlay,
  .underlay {
    background-color: rgb(from var(--dark-color) r g b / 0.0);
    transition: all 0.3s;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    mix-blend-mode: multiply;
  }

  .underlay {
    background: linear-gradient(rgb(from var(--dark-color) r g b / 0.0), rgb(from var(--dark-color) r g b / 0.75));
  }

  .bg-photo {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 96vw;
    transition: all 0.3s;
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    padding: 26px 20px 0 25px;
    @media (width >= 768px) {
      height: 86vw;
      padding: 48px 37px 0 47px;
    }
    @media (width >= 1024px) {
      /* min-height: 662px; */
      width: 50%;
      height: 100%;
    }

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: all .3s;
    }
  }

  .home-procedures {
    /* transform: translateY(0); */
    transition: all 0.3s;
    padding-top: 20px;
    margin-left: 20px;
    list-style: none;
    /* display: none; */
  }

  .procedure-each {
    margin-bottom: 0.63em;

    a {
      font-size: 19px;
      line-height: 1em;
      font-weight: var(--fw-regular);
      text-decoration: none;
      color: var(--light-color);

      &:hover,
      &:active,
      &:focus {
        color: var(--primary-color);
      }
    }
  }

  .section-outro-container {
    text-align: center;
  }
}

/* .mod-procedures {
  @media (width >= 1500px) {
		padding: 80px calc(40px + (50vw - (1545px / 2)));
	}
  .areas-list {
    display: grid;
    grid-template-columns: 1fr;
    list-style: none;
    margin: 0;
    padding-bottom: 10px;
    row-gap: 10px;
    grid-area: services-list;

    @media (width >= 768px) {
      grid-template-columns: 1fr 1fr;
      column-gap: 10px;
    }

    @media (width >= 1024px) {
      grid-template-columns: 1fr 1fr 1fr 1fr;
      column-gap: 13px;
      row-gap: 13px;
    }

    >li {
      background-repeat: no-repeat;
      background-size: cover;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      position: relative;
      min-height: 100vw;


      @media (width >= 768px) {
        min-height: 50vw;
      }


      @media (width >= 1024px) {
        .not--device & {
          min-height: 450px;
        }
      }
    }
  }

  .area-wrap {
    transition: all 0.3s;
    position: absolute;
    width: 100%;
    height: 100%;
    transform: translateY(100%);

    .area-heading {
      font-size: 39px;
      line-height: 1em;
      font-weight: var(--fw-regular);
      color: var(--light-alt);
      
      position: absolute;
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
      transform: translateY(-100%);
      display: flex;
      align-items: flex-end;

      h3,
      .h3 {
        color: var(--light-color);
        text-align: center;
        background-color: var(--primary-color);
        text-decoration: none;
        font-weight: var(--fw-regular);
        padding-left: 20px;
        width: 100%;
        padding: 10px;
        margin: 0;
        transition: all 0.3s;
      }
    }
  }

  .overlay,
  .underlay {
    background-color: rgb(from var(--dark-color) r g b / 0.0);
    transition: all 0.3s;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    mix-blend-mode: multiply;
  }

  .underlay {
    background: linear-gradient(rgb(from var(--dark-color) r g b / 0.0), rgb(from var(--dark-color) r g b / 0.75));
  }

  .bg-photo {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: all .3s;
    }
  }

  .home-procedures {
    transform: translateY(0);
    transition: all 0.3s;
    padding-top: 20px;
    margin-left: 20px;
    list-style: none;
    display: none;
  }

  .procedure-each {
    margin-bottom: 0.63em;

    a {
      font-size: 19px;
      line-height: 1em;
      font-weight: var(--fw-regular);
      text-decoration: none;
      color: var(--light-color);

      &:hover,
      &:active,
      &:focus {
        color: var(--primary-color);
      }
    }
  }

  .section-outro-container {
    text-align: center;
  }
} */

/* Hover State for areas with procedures. Not to be used on Express Build */

/* .mod-procedures {
  .areas-list {
    >.has-procedures {

      Desktop Styles
      @media (width >= 1024px) {

        &:hover,
        &:active,
        &:focus {
          .area-wrap {
            transform: translateY(var(--area-heading-height));
          }

          .overlay {
            background-color: rgb(from var(--dark-color) r g b / 0.5);
          }

          .bg-photo {
            img {
              transform: scale(1.1);
            }
          }

          .home-procedures {
            transform: translateY(-60px);
            display: block;
          }
          .proc-list-skin {

            Desktop Styles
            @media (width >= 1024px) {
              column-count: 2;
            }
          }

          .area-heading {
            h3, .h3 {
              border-bottom: 1px solid var(--light-alt);
            }
          }
        }
      }
    }

    For areas without procedures ONLY

    >.no-procedures {

      Desktop Styles
      @media (width >= 1024px) {

        &:hover,
        &:active,
        &:focus {

          .area-wrap {
            transform: translateY(calc(50% + calc(var(--area-heading-height) / 2)));
          }
          h3,
          .h3 {
            transform: translateY(-50%);
          }
        }
      }
    }
  }
} */


/* ======= End Procedures Module ======= */