/* FRONT END STYLES */

:root {
  --cpiGreenXl: #e6f5ee;
  --cpiGreenLt: #00af5a;
  --cpiGreen: #158a53;
  --cpiGreenDk: #001B1B;
  --cpiYellow: #FFCF00;
  --white: #ffffff;
  --grayLt: #e6e8e8;
  --sideMarginLg: 6rem;
  --sideMarginMd: 2rem;
  --sideMarginSm: 1rem;
  --mainMaxWidth: 1920px;
}

.garrett-unhide {
  display: none;
}

/* All Pages */

html,
body {
  overflow-x: hidden;
}

body:not(.home) main {
  margin: 0 auto;
  max-width: var(--mainMaxWidth) !important;

  & .page-content .e-n-tabs>.e-n-tabs-content>div>div {
    padding: 0 var(--sideMarginLg);
  }
}

.page-header {
  padding-top: 1em;
}

.nowrap {
  white-space: nowrap;
}

.non-elementor-page {
  padding: var(--sideMarginLg);
}

.youtube-video {
  display: flex;
  justify-content: center;
  margin-bottom: 3em;

  & iframe {
    aspect-ratio: 16 / 9;
    width: 100%;
  }
}

@media (max-width: 1024px) {
  .non-elementor-page {
    padding: var(--sideMarginMd);
  }

  body:not(.home) main .page-content .e-n-tabs>.e-n-tabs-content>div>div {
    padding: 0 var(--sideMarginMd);
  }
}

@media (max-width: 768px) {
  .non-elementor-page {
    padding: var(--sideMarginSm);
  }

  body:not(.home) main .page-content .e-n-tabs>.e-n-tabs-content>div>div {
    padding: 0 var(--sideMarginSm);
  }
}

/* Header */

.elementor-35 .elementor-element.elementor-element-f2e3058 {
  max-width: calc(var(--mainMaxWidth) - var(--sideMarginLg) * 2);
  margin: 0 auto;
}

header,
.elementor-35 .elementor-element.elementor-element-f2e3058 {
  height: 93px;
}

@media (max-width: 1024px) {

  header,
  .elementor-35 .elementor-element.elementor-element-f2e3058 {
    height: 85px;
  }
}

@media (max-width: 768px) {

  header,
  .elementor-35 .elementor-element.elementor-element-f2e3058 {
    height: 65px;
  }
}

@media (max-width: 1024px) {

  .elementor-35 .elementor-element.elementor-element-f2e3058 {
    /* Full width Header */
    width: 100%;
  }

  .elementor-35 .elementor-element.elementor-element-6f67c12 {
    /* Position Logo */
    position: absolute !important;
    left: 0 !important;

    &>.elementor-widget-container {
      /* Undo Logo to Left */
      margin-left: 0 !important;
    }

    & img {
      /* Fix Logo Width */
      width: 90px;
    }
  }

  .elementor-35 .elementor-element.elementor-element-d84e6b4 {
    /* Position Hamburger */
    position: absolute !important;
    right: 0 !important;
    max-width: 78% !important;

    &>.elementor-widget-container {
      /* Undo Hamburger to Right */
      --e-transform-translateX: 0 position: absolute;
    }
  }

  .elementor-nav-menu li {
    /* Space out menu when it overflows */
    margin-top: 0.5em !important;
  }
}

/* Search */

.elementor-element-69dc239 {
  /* Hide Search Bar */
  display: none;
}

.garrettSearch {
  /* Search button generated by Custom JS */
  cursor: pointer;
  position: absolute;
  height: 33px;
  width: 33px;
  padding: .25em;
  text-align: center;
}

@media (min-width: 1025px) {
  .garrettSearch {
    display: none;
  }
}

@media (max-width: 1024px) {
  .garrettSearch {
    display: block;
    top: 28px;
    right: 55px;
  }
}

@media (max-width: 768px) {
  .garrettSearch {
    display: block;
    top: 17px;
    right: 40px;
  }
}

/* Alert Bar */

.alertBar {
  cursor: pointer;
  position: absolute;
  top: 93px;
  width: 100%;
  left: 0;
  min-height: 25px;
  text-align: left;
  background-color: var(--cpiYellow);
  padding-top: 3px;
  padding-bottom: 3px;
  max-height: 84px;
  overflow-y: auto;

  & p {
    margin: 0;
  }

  & a {
    color: black;
    text-decoration: underline;
  }
}

@media (max-width: 1024px) {
  .alertBar {
    top: 85px;
    text-align: center;
  }
}

@media (max-width: 768px) {
  .alertBar {
    top: 65px;
  }
}

/* Homepage */

.home h2 {
  /* Header Icons */
  text-align: center;
  margin-bottom: 0.5em;

  & i {
    color: var(--cpiGreen);
  }
}

.elementor-10 .elementor-element.elementor-element-e80f3b6 {
  /* Reduce height of Hero Block */
  --margin-top: 3rem;

  &::after {
    /* Add White BG to Hero Block */
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: white;
    z-index: -1;
    box-shadow: 0 0 20px 20px rgba(255, 255, 255, 1);
    transform: rotate(-3deg);
    outline: 1px solid white;
    border: 1px solid white;
  }
}

.elementor-10 .elementor-element.elementor-element-743e2f9,
.elementor-10 .elementor-element.elementor-element-eafbaac,
.elementor-10 .elementor-element.elementor-element-2466d76 {
  & img {
    /* Undo Hero BG Stretching */
    width: 100vw;
    height: auto;
    max-height: initial;
    max-width: initial;
  }

  &::after {
    /* Add Fade to Hero BG */
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 200%;
    height: 100%;
    box-shadow: inset 0 -40px 30px 0 rgb(255, 255, 255);
    pointer-events: none;
    margin-left: -25%;
  }
}

.elementor-10 .elementor-element.elementor-element-694ae72 {
  /* Remove First Block BG Color */
  background-color: transparent !important;
  /* Bring up Nested Container */
  --margin-top: 3rem;
  /* Don't squeeze Divisions on some screen widths */
  --padding-left: 0;
  --padding-right: 0;
}

.elementor-10 .elementor-element.elementor-element-fd0c4e3 {
  /* Who We Are Block */
  background-color: var(--white);
  width: 100%;
  border-radius: 1.5em;
  padding: 2em;
  margin-top: 3em;

  &::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 102%;
    background: url('/wp-content/uploads/CPI_field_generic.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.15;
    border-radius: 1.5em;
  }
}

.elementor-10 .elementor-element.elementor-element-dcd2215 img {
  /* Fix Division Image Width */
  width: 100%;
  /* Black Glow */
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.5);

  & .e-con {
    /* Fix Division Image Width */
    width: 100%;
  }
}

.elementor-element .elementor-element-dcd2215 .e-con-boxed .e-con-boxed {
  /* Square off Division Text Containers */
  border-radius: 0 0 1.5em 1.5em;
  /* Black Glow */
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.5);
}

.elementor-element .elementor-element-75467f9 {
  margin: 0;
  max-width: calc(var(--mainMaxWidth) - var(--sideMarginLg) * 2);
  /* BrushStroke on Local */
  background: url('/wp-content/uploads/BrushStroke.png');
  background-repeat: no-repeat;
  background-position: center;
  background-color: var(--grayLt);
}

.elementor-10 .elementor-element.elementor-element-106a1e6>.elementor-widget-container {
  /* Local Button Fix */
  border-color: var(--cpiGreen);

  &:hover {
    border-color: var(--cpiGreenLt);
  }
}

.elementor-10 .elementor-element.elementor-element-d3ba5d2 {
  /* Accounts */
  max-width: calc(var(--mainMaxWidth) - var(--sideMarginLg) * 2);

  & .e-con-inner {
    padding: 2em;
  }
}

.elementor-10 .elementor-element.elementor-element-006ab9b>.elementor-widget-container {
  /* News Button Fix */
  border-color: var(--cpiGreen);

  &:hover {
    border-color: var(--cpiGreenLt);
  }
}

.elementor-element .elementor-element-439e933::before {
  /* Add BG to Grow With Us Block */
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.15;
  background: url('/wp-content/uploads/showtime-image.png');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.elementor-element.elementor-element-113d9e9 h2 i {
  color: var(--white);
}

/* Homepage Margins */

/* Left/Right Margin Lines for Debugging */
body {
  &::before {
    content: '';
    display: none;
    position: fixed;
    top: 0;
    left: var(--sideMarginLg);
    width: 1px;
    height: 100%;
    background-color: red;
    z-index: 1000;
  }

  &::after {
    content: '';
    display: none;
    position: fixed;
    top: 0;
    left: calc(100vw - var(--sideMarginLg));
    width: 1px;
    height: 100%;
    background-color: red;
    z-index: 1000;
  }
}

.elementor-35 .elementor-element.elementor-element-177bbacf {
  /* Header */
  --padding-left: var(--sideMarginLg);
  --padding-right: var(--sideMarginLg);
}

.alertBar {
  /* Alert Bar */
  padding-left: var(--sideMarginLg);
  padding-right: var(--sideMarginLg);

  & p {
    margin: 0 auto;
    max-width: calc(var(--mainMaxWidth) - var(--sideMarginLg) * 2);
  }
}

.elementor-10 .elementor-element.elementor-element-e80f3b6 {
  /* Hero Title */
  padding: 0 var(--sideMarginLg);
}

.elementor-10 .elementor-element.elementor-element-303d946.e-con {
  /* Divisions */
  padding: 4em var(--sideMarginLg);
  max-width: var(--mainMaxWidth);
  margin: 0 auto;
}

.elementor-10 .elementor-element.elementor-element-dcd2215 {
  /* Division Grid */
  gap: 2em;
  padding: 0;

  &>.elementor-element {
    padding: 0;
    --content-width: 100%;
  }

  & .e-con-inner {
    margin: 0;
  }
}

.elementor-10 .elementor-element.elementor-element-9ceb3d7 {
  /* Who We Are */
  padding: 0 var(--sideMarginLg);

  & .e-con-inner {
    padding: 0;
    margin-bottom: 3em;
  }
}

.elementor-10 .elementor-element.elementor-element-6bc6cb2 {
  /* Bids & Futures Container */
  --padding: 0;
  padding: 0 var(--sideMarginLg);
  margin-top: 2em;
  padding-top: 2em;
}

.elementor-10 .elementor-element.elementor-element-eb106e1 {
  /* Bids & Futures */
  --padding: 0;
  padding: 0;
}

/*
.elementor-10 .elementor-element.elementor-element-5ae4400 {
  /* Weather */
/*
  margin-bottom: 3em;

  &.owmw-2526 {
    max-width: 100% !important;
  }
}
*/
.elementor-10 .elementor-element.elementor-element-3363a03 {
  /* Local Block */
  padding: 0 var(--sideMarginLg);

  &>.elementor-element {
    padding: 0;
    margin-bottom: 3em;
  }
}

.elementor-10 .elementor-element.elementor-element-3363a03 {
  /* Account Block */
  margin-bottom: 3em;
}

.elementor-10 .elementor-element.elementor-element-511f725 {
  /* Safety Container */
  margin-top: 0;
  padding: 0 var(--sideMarginLg);
}

.elementor-10 .elementor-element.elementor-element-55f1e73 {
  /* Safety Block */
  padding: 0;

  & .e-con-inner {
    margin: 0 auto;
  }
}

.elementor-10 .elementor-element.elementor-element-bb26732 {
  /* News & Events Container */
  padding: 0;
  margin-bottom: 3em;
}

.elementor-10 .elementor-element.elementor-element-006ab9b {
  /* News Button */
  margin-top: 1em;
}

.elementor-10 .elementor-element.elementor-element-3b6d29e {
  /* News & Events */
  width: 100%;
  padding: 0 var(--sideMarginLg);

  & .elementor-widget-container {
    margin: 0;
  }
}

@media (max-width: 1024px) {

  body::before {
    left: var(--sideMarginMd);
  }

  body::after {
    left: calc(100vw - var(--sideMarginMd));
  }

  .elementor-35 .elementor-element.elementor-element-177bbacf {
    /* Header */
    --padding-left: var(--sideMarginMd);
    --padding-right: var(--sideMarginMd);
  }

  .alertBar {
    /* Alert Bar */
    padding-left: var(--sideMarginMd);
    padding-right: var(--sideMarginMd);
  }

  .elementor-10 .elementor-element.elementor-element-e80f3b6 {
    /* Hero Title */
    padding: 0 var(--sideMarginMd);
  }

  .elementor-10 .elementor-element.elementor-element-303d946.e-con {
    /* Divisions */
    padding: 4em var(--sideMarginMd);
  }

  .elementor-10 .elementor-element.elementor-element-dcd2215 {
    /* Division Grid */
    padding: 0;
  }

  .elementor-10 .elementor-element.elementor-element-9ceb3d7 {
    /* Who We Are */
    padding: 0 var(--sideMarginMd);
  }

  .elementor-10 .elementor-element.elementor-element-6bc6cb2 {
    /* Bids & Futures Container */
    padding: 0 var(--sideMarginMd);
  }

  .elementor-10 .elementor-element.elementor-element-6332cf9 {
    /* Bids & Futures */
    --width: 100%;
    margin-bottom: 3em;
  }

  /*
  .elementor-10 .elementor-element.elementor-element-5ae4400 .owmw-2526 {
    /* Weather */
  /* max-width: 100% !important;
}
*/
  .elementor-10 .elementor-element.elementor-element-3363a03 {
    /* Local Block */
    padding: 0 var(--sideMarginMd);
  }

  .elementor-10 .elementor-element.elementor-element-511f725 {
    /* Safety Container */
    padding: 0 var(--sideMarginMd);
  }

  .elementor-10 .elementor-element.elementor-element-28b9dd1 {
    /* Safety Block */
    width: 100%;
  }

  .elementor-10 .elementor-element.elementor-element-c7e109a {
    /* Grow With Us */
    padding: 0 var(--sideMarginMd);
  }

  .elementor-10 .elementor-element.elementor-element-3b6d29e {
    /* News & Events */
    padding: 0 var(--sideMarginMd);
  }
}

@media (max-width: 768px) {

  body::before {
    left: var(--sideMarginSm);
  }

  body::after {
    left: calc(100vw - var(--sideMarginSm));
  }

  .elementor-35 .elementor-element.elementor-element-177bbacf {
    /* Header */
    --padding-left: var(--sideMarginSm);
    --padding-right: var(--sideMarginSm);
  }

  .alertBar {
    /* Alert Bar */
    padding-left: var(--sideMarginSm);
    padding-right: var(--sideMarginSm);
  }

  .elementor-10 .elementor-element.elementor-element-e80f3b6 {
    /* Hero Title */
    padding: 0 var(--sideMarginSm);
  }

  .elementor-10 .elementor-element.elementor-element-303d946.e-con {
    /* Divisions */
    padding: 3em var(--sideMarginSm);
    margin: 0;
  }

  .elementor-10 .elementor-element.elementor-element-dcd2215 {
    /* Division Grid */
    padding: 0;
  }

  .elementor-10 .elementor-element.elementor-element-9ceb3d7 {
    /* Who We Are */
    padding: 0 var(--sideMarginSm);
  }

  .elementor-10 .elementor-element.elementor-element-6bc6cb2 {
    /* Bids & Futures Container */
    padding: 0 var(--sideMarginSm);
  }

  .elementor-10 .elementor-element.elementor-element-3363a03 {
    /* Local Block */
    padding: 0 var(--sideMarginSm);
    --width: 100%;
  }

  .elementor-10 .elementor-element.elementor-element-511f725 {
    /* Safety Container */
    padding: 0 var(--sideMarginSm);
  }

  .elementor-10 .elementor-element.elementor-element-c7e109a {
    /* Grow With Us */
    padding: 0 var(--sideMarginSm);
    margin-bottom: 3em;
  }

  .elementor-10 .elementor-element.elementor-element-3b6d29e {
    /* News & Events */
    padding: 0 var(--sideMarginSm);
  }
}

/* Subheader */

.e-n-tabs {

  /*Hide Elementor Tabs */
  & .e-n-tabs-heading {
    display: none !important;
  }

  & .e-n-tabs-content {
    margin-top: 0 !important;
  }
}

/* Inside Pages */

.add-to-calendar::part(atcb-button) {
  /* Internship Buttons */
  font-weight: normal;
  border-color: var(--cpiGreen);
  border-width: 2px;
  transition: all 0.3s;
}

.add-to-calendar::part(atcb-button):hover {
  /* Internship Buttons Hover */
  box-shadow: none;
  color: var(--white);
  background-color: var(--cpiGreenLt);
  border-color: var(--cpiGreenLt);
}

@media (max-width: 1350px) {
  .elementor-7881 .elementor-element.elementor-element-bf08d04 {
    --e-con-grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 1024px) {
  .elementor-7881 .elementor-element.elementor-element-bf08d04 {
    --e-con-grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .elementor-7881 .elementor-element.elementor-element-bf08d04 {
    --e-con-grid-template-columns: repeat(1, 1fr);
  }
}

/* Specific Pages */

.elementor-7868 .elementor-element.elementor-element-ddfdddd {
  /* Divisions */
  padding: 0;

  & .e-con-boxed .e-con-boxed {
    /* Square off Division Text Containers */
    border-radius: 0 0 1.5em 1.5em;
  }
}

/* Bids and Futures */

/* News & Events */

/* Weather */

#weather .weather {
  box-shadow: rgb(187, 204, 204) 0px 0px 5px;
  padding: 1.5rem 1rem;
  border-radius: 25px;
  background-color: white;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1em;

  & .left {
    align-items: end;
    display: grid;
  }

  & .right {
    align-items: end;
    display: grid;
    gap: 1em;
  }

  & .datetime {
    font-size: 0.8em;
  }

  & h3 {
    margin-bottom: 0;
    color: var(--cpiGreen);
  }

  & h4 {
    font-size: 2em;
    margin-top: 0.1em;
  }

  & h5 {
    color: var(--cpiGreen);
    text-transform: capitalize;
  }

  & .temps,
  .info,
  .dayCycle {

    & span:first-of-type {
      text-transform: capitalize;
    }

    & span:last-of-type {
      font-weight: bold;
    }
  }

  & form {
    margin-top: 4em;
  }
}

@media (max-width: 767px) {
  #weather .weather {
    display: block;

    & form {
      margin: 2em 0;
    }
  }
}

/* About */

/* Contacts */

/* Careers */

/* News */

/* Safety */

/* Locations */

/* Sitemap */
.garrettSitemap {
  padding-left: 0;

  & li ul {
    margin-top: 0.5em;
    margin-left: 1em;
    margin-bottom: 1em;
  }
}

/* Submenus */
body:not(.page-id-8450) .garrettSitemap:first-child {
  text-align: center;
  border: 3px solid var(--e-global-color-1ba17b6);
  border-left: 0px;
  border-right: 0px;
  margin: 1em 0;

  & li {
    display: inline-block;
    padding: 0 1em;
  }

  h2 a {
    color: var(--black);
  }

  a {
    transition: 0.3s;

    &:hover {
      color: var(--black);
      /* add fade */

    }
  }
}

/* Misc Single Pages */

@media (max-width: 767px) {

  .elementor-7878 .elementor-element.elementor-element-2c70a8fb,
  .elementor-12 .elementor-element.elementor-element-2c70a8fb {
    --width: 100%;
  }
}

/* Footer */

.elementor-210 .elementor-element.elementor-element-fc69dc8 {
  --width: 100%;
}

.elementor-210 .elementor-element.elementor-element-38e7379e {
  padding: 0;
}

.elementor-210 .elementor-element.elementor-element-6fcae1c3 {
  padding: var(--sideMarginLg);
}

@media (max-width: 1024px) {
  .elementor-210 .elementor-element.elementor-element-6fcae1c3 {
    padding: var(--sideMarginMd);
  }
}

@media (max-width: 768px) {
  .elementor-210 .elementor-element.elementor-element-6fcae1c3 {
    padding: var(--sideMarginSm);
  }
}