@font-face {
  font-display: optional;
  font-family: 'Pluto Sans';
  font-weight: 700;
  src: url('/assets/font/PlutoSansBold.woff');
}
@font-face {
  font-display: optional;
  font-family: 'Pluto Sans';
  font-weight: 500;
  src: url('/assets/font/PlutoSansMedium.woff');
}
@font-face {
  font-display: optional;
  font-family: 'Pluto Sans';
  font-weight: 400;
  src: url('/assets/font/PlutoSansCondRegular.woff');
}
@font-face {
  font-display: optional;
  font-family: 'Platform Trial';
  font-weight: 700;
  src: url('../font/Platform-Bold-Trial.otf');
}

* {
  box-sizing: border-box;
  list-style-type: none;
  margin: 0;
  padding: 0;
  text-decoration: none;
}

body {
  font-family: "Pluto Sans", Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.2;
  width: 100vw;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  font-family: "Pluto Sans", Arial, Helvetica, sans-serif;
}

hr {
  border-color: #fff;
  margin: 20px auto;
}

.px-large {
  padding-top: 40px;
  padding-bottom: 40px;
}

.px-medium {
  padding-top: 40px;
  padding-bottom: 32px;
}

.heading-style--h2 {
  font-size: 1.125rem;
  margin: 0;
}

.heading-style--h3 {
  font-size: 1.75rem;
  margin: 0;
}

.heading-style--h4 {
  font-size: 1.25rem;
  margin: 0;
}

.heading-style--h5 {
  font-size: 1.5rem;
  margin: 0;
}

.text-style--paragraph {
  font-weight: 400;
  line-height: 1.4;
  margin: 0;
}

.text-weight--regular {
  font-weight: 400;
  font-size: 1rem;
}

.border-bottom-green {
  border-bottom: 9px solid #007f00;
}

.border-bottom-orange {
  border-bottom: 9px solid #ff7f30;
}

.border-bottom-yellow {
  border-bottom: 9px solid #ffe42b;
}

.border-bottom-black {
  border-bottom: 9px solid #000;
}

.border-bottom-light-blue {
  border-bottom: 9px solid #a6ffd3;
}

.container {
  margin: auto;
  padding: 0 1.25rem;
  width: 100%;
}

.container--small {
  max-width: 1024px;
}

.container--standard {
  max-width: 1248px;
}

.container--large {
  max-width: 1440px;
}

.container--full {
  max-width: 100%;
  padding: 0;
}

.container-mobile--full {
  padding: 0;
}

.button-campaign {
  border-radius: 0.25rem;
  display: inline-block;
  font-family: 'Pluto Sans', Arial, Helvetica, sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.875rem 1rem;
  line-height: 1;
  transition: all 0.2s ease-in-out;
}

.button-campaign--full {
  width: 100%;
}

.button-campaign--primary {
  background-color: #8de823;
  color: #000;
}

.button-campaign--secondary {
  background-color: #163319;
  color: #ffffff;
}

.button-campaign--primary:hover {
  background-color: rgba(141, 232, 35, 0.7);
}

.button-campaign--secondary:hover {
  background-color: rgba(22, 51, 25, 0.7);
}

.button-link-campaign {
  font-size: 1rem;
  font-weight: 700;
  transition: all 0.3s ease-in-out;
}

.button-link-campaign--alt {
  color: #ffffff;
}

.heading--standard {
  color: #222222;
}

.heading--alt {
  color: #80c342;
}

.heading--light {
  color: #ffffff;
}

.text--standard {
  color: #666;
}

.text--black {
  color: #000;
}

.text--alt {
  color: #ffffff;
}

.bg--primary {
  background-color: #163319;
}

.bg--secondary {
  background-color: #f5f0e6;
}

.bg--tertiary {
  background-color: #e8e3d9;
}

/* .bg-quaternary {
  background-color: #f5f0e6;
}

.bg-quinary {
  background-color: #f6f6f6;
} */

.line--small {
  background-color: #000;
  height: 6px;
  left: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  width: 64px;
}

.line--medium {
  background-color: #8de823;
  height: 4px;
  margin: 0 auto;
  width: 200px;
}

.text-center {
  text-align: center;
}

.spacer {
  display: block;
  width: 100%;
}

.spacer--medium {
  padding-bottom: 5rem;
}

.spacer--large {
  padding-bottom: 2rem;
}

.spacer--xlarge {
  padding-bottom: 5rem;
}

#life-and-living,
#human-stories,
#faqs {
  scroll-margin-top: 40px;
}

/* HERO COMPONENT -- BG image / video */

.hero-main {
  background-color: #303e46;
  position: relative;
}

.hero-main__bg-container {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.hero-main__bg-gradient {
  background-color: #000;
  height: 100%;
  opacity: 0.35;
  position: absolute;
  width: 100%;
}

.hero-main__bg-img {
  height: 100%;
  object-fit: cover;
  object-position: 40% 0%;
  width: 100%;
}

.hero-main__content-cnt {
  max-width: 30rem;
  padding: 5.5rem 0;
  position: relative;
  z-index: 1;
}

.hero-main__logo {
  max-height: 1.75rem;
  max-width: 4.5rem;
}

.hero-main__heading {
  font-family: 'Platform Trial', 'Pluto Sans', Arial, Helvetica, sans-serif;
  color: #8de823;
  font-size: 6.625rem;
  line-height: 70px;
  margin: 0;
  max-width: 15rem;
}

.hero-main__subtitle {
  color: #ffffff;
  font-family: 'Pluto Sans', Arial, Helvetica, sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  margin-top: 2rem;
}

.hero-main__description {
  color: #ffffff;
  font-size: 1rem;
  font-weight: 400;
  margin-bottom: 1rem;
  margin-top: 1rem;
}

.awards {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  align-items: end;
  justify-content: center;
  justify-items: start;
}

/* DROPDOWN ANCHOR */

.dropdown--anchor .dropdown-toggle {
  align-items: center;
  background-color: transparent;
  border: none;
  color: #000000;
  display: inline-flex;
  font-size: 1.125rem;
  font-weight: 700;
  justify-content: space-between;
  letter-spacing: -0.25px;
  padding: 24px 20px;
  text-transform: none;
  width: 100%;
}
.dropdown--anchor .dropdown-menu {
  background-color: #e8e3d9;
  border: none;
  box-shadow: none;
  margin: -1px 0 0;
  padding: 0 1.25rem 2rem 1.25rem;
  width: 100%;
}
.dropdown--anchor.open .dropdown-toggle .caret {
  transform: rotate(180deg);
}
.dropdown--anchor .dropdown-toggle .caret {
  background-image: url('../img/icons/expand_more.svg');
  display: block;
  height: 20px;
  width: 20px;
}
.dropdown--anchor .dropdown-menu > li > a {
  border-bottom: 1px solid #000;
  color: #222;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: -0.25px;
  padding: 9px 0;
}
.dropdown--anchor .dropdown-menu > li > a:focus {
  background-color: #e8e3d9;
}
.dropdown--anchor .dropdown-menu li:last-child a {
  border-bottom: none;
}
/* TWO COLUMN COMPONENT -- Standard */

.two-col__grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding: 1.875rem 0;
  row-gap: 1.5rem;
}

.two-col__card {
  padding-top: 1.25rem;
  padding-bottom: 2.5rem;
}

.two-col__heading {
  font-weight: 500;
  text-align: center;
}

.two-col__center {
  margin-bottom: auto;
  margin-top: auto;
  text-align: center;
}

.two-col__description {
  font-size: 1rem;
}

/* FOUR COLUMN COMPONENT -- Standard */
.four-col__grid {
  display: grid;
  row-gap: 1.5rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding: 2.5rem 0;
}

.four-col__col .tiles__tile-icon {
  margin-top: 32px;
  margin-left: auto;
  margin-right: auto;
  /* filter: invert(24%) sepia(99%) saturate(1506%) hue-rotate(92deg) brightness(100%) contrast(105%); */
}

.four-col__col .tiles__tile-content {
  background-color: #f5f0e6;
  padding-top: 16px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
}

.four-col__col .tiles__tile {
  background-color: #f5f0e6;
}

/* LEFT/RIGHT CONTENT COMPONENT */

.left-right {
  padding-bottom: 40px;
  padding-top: 32px;
}

.left-right__grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.left-right__content-col {
  order: 2;
  position: relative;
}

.left-right__content {
  display: flex;
  flex-direction: column;
  max-width: 32.5rem;
  padding-bottom: 2.5rem;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 2.5rem;
  row-gap: 1.5rem;
}

.left-right__heading {
  font-size: 1.75rem;
}

.left-right__subtitle {
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 1px;
}

.left-right__content-bg {
  height: 100%;
  left: -1rem;
  position: absolute;
  top: 0;
  width: 100vw;
  z-index: -1;
}

.left-right__asset {
  aspect-ratio: 3 / 2;
  background-color: #303e46;
  order: 1;
  position: relative;
}

.left-right__asset-image {
  height: 100%;
  /* left: -1.25rem;
  max-width: none; */
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  width: 100vw;
}

.left-right__video-container {
  height: 100%;
  position: relative;
  width: 100%;
}

@media only screen and (min-width: 48em) {
  .promo__bgd.image--right {
    right: 0;
  }
}

/* TILES COMPONENT -- 2 x 2 */

.tiles {
  padding-bottom: 3rem;
  padding-top: 3rem;
}

.tiles__tile-heading {
  padding-bottom: 12px;
}

.tiles__tile-heading span {
  font-size: 3.5rem;
}

.tiles__tile-heading-underline {
  border-bottom: 4px solid #8de823;
}

.tiles__grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-top: 0.75rem;
  row-gap: 2rem;
}

.tiles__tile {
  box-shadow: 0px 4px 10px 0px #0000000d;
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}

.card--tile-style-2 .tiles__tile-heading {
  padding-bottom: 0;
  font-size: 4.5rem;
  font-weight: 500;
  line-height: 1;
}

.card--tile-style-2 .tiles__tile-description {
  font-size: 0.9375rem;
}

.card--tile-style-2 .tiles__tile-img-cnt {
  min-height: 242px;
}

.card--tile-style-2 .tiles__tile-content {
  background-color: #8de823;
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: 1.25rem;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.card--tile-style-2 .tiles__tile-subtitle,
.card--tile-style-2 .tiles__tile-description {
  color: #000;
}

.tiles__tile-img-cnt {
  aspect-ratio: 3/2;
  background-color: white;
  max-height: 17.5rem;
  position: relative;
  width: 100%;
}

.tiles__tile-icon {
  aspect-ratio: 1/1;
  max-width: 53px;
  position: relative;
}

.tiles__tile-img {
  height: 100%;
  left: 0;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  width: 100%;
}

#claims-living {
  object-position: right;
}

.tiles__tile-content {
  background-color: #ffffff;
  flex-grow: 1;
  padding: 1.5rem;
}

.tiles__tile-subtitle {
  font-size: 1.125rem;
  font-weight: 700;
}

.tiles__tile-description {
  font-size: 0.875rem;
  margin-top: 0.75rem;
  padding-bottom: 1rem;
}

.tiles__tile-description strong {
  color: #000;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: #80c342;
}

.tile-content--colour-1 {
  background-color: #aad8c8;
}

.tile-content--colour-2 {
  background-color: #f15a24;
}

.tile-content--colour-3 {
  background-color: #f7931e;
}

.tile-content--colour-4 {
  background-color: #2fb3b6;
}

/* ACCORDION COMPONENT */
.CM04-accordion .accordion .accordion-item {
  background-color: #fff;
}

.CM04-accordion .module-header {
  margin-bottom: 40px;
}

.CM04-accordion .accordion .accordions .accordion-item .h5 {
  font-weight: 400;
  font-size: 1rem;
}

.CM04-accordion .accordion .accordions .accordion-item .expandcollapse-content {
  font-size: 1rem;

  color: #222;
}

/* DISCLAIMER COMPONENT */
#disclaimer {
  padding-top: 0;
}

#disclaimer p small {
  text-transform: none;
  font-size: 0.6875rem;
  line-height: 13px;
  font-weight: 400;
  margin-top: 0;
}

@media screen and (min-width: 640px) {
  /* TILES COMPONENT -- 2 x 2 */

  .tiles__grid {
    column-gap: 2rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.awards {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  align-items: end;
  justify-content: center;
  justify-items: start;
  padding-bottom: 20px;
}

@media screen and (min-width: 768px) {
  .container-mobile--full {
    padding: 0 1.25rem;
  }

  .px-large {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .px-medium {
    padding-top: 80px;
    padding-bottom: 32px;
  }

  .heading-style--h2 {
    font-size: 1.5rem;
  }

  .heading-style--h3 {
    font-size: 2rem;
  }

  .heading-style--h4 {
    font-size: 1.5rem;
  }

  .heading-style--h5 {
    font-size: 1.75rem;
    margin: 0;
  }

  .button-link-campaign {
    font-size: 1rem;
  }

  .button-campaign--full {
    width: auto;
  }

  .spacer--large {
    padding-bottom: 9rem;
  }

  .spacer--xlarge {
    padding-bottom: 12.75rem;
  }

  #human-stories {
    margin-top: 0;
    padding: 60px 20px 0 20px;
  }

  #faqs {
    padding-top: 60px;
  }

  /* HERO COMPONENT -- BG image / video */

  .hero-main {
    background-color: #000;
  }

  .hero-main__bg-img {
    object-position: 30% 83%;
  }

  .hero-main__bg-gradient {
    opacity: 0;
  }

  .hero-main__content-cnt {
    max-width: 36.5rem;
    padding: 5.5rem 3.75rem;
    background-color: rgba(0, 0, 0, 0.5);
  }

  .hero-main__heading {
    font-size: 8.75rem;
    line-height: 106px;
  }

  .hero-main__subtitle {
    font-size: 2rem;
  }

  /* DROPDOWN ANCHOR */

  .dropdown--anchor .dropdown-menu {
    column-gap: 40px;
  }
  .dropdown--anchor .dropdown-menu > li > a {
    border-bottom: 0;
    padding: 24px 0;
  }
  .dropdown-menu > li > a:hover {
    background-color: transparent;
  }

  /* TWO COLUMN COMPONENT -- Standard */

  .two-col__heading {
    text-align: left;
  }

  .two-col__center {
    margin-left: auto;
    margin-right: 0;
  }

  .two-col__grid {
    column-gap: 1.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 2.5rem 0;
  }

  .two-col__card {
    padding-top: 0;
    padding-bottom: 3rem;
  }

  /* FOUR COLUMN COMPONENT -- Standard */
  .four-col__grid {
    column-gap: 1.5rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .four-col__col .tiles__tile-description {
    margin-top: 0;
  }

  /* LEFT/RIGHT CONTENT COMPONENT */

  .left-right {
    padding-bottom: 80px;
    padding-top: 48px;
  }

  .left-right__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .left-right__content {
    max-width: 40rem;
    order: 1;
    padding-bottom: 6rem;
    padding-top: 6rem;
    height: 100%;
    justify-content: center;
  }

  .left-right__heading {
    font-size: 2rem;
  }

  .left-right__description {
    font-size: 1rem;
  }

  .content-content--left {
    padding-right: 1.5rem;
  }

  .content-content--right {
    padding-left: 1.5rem;
  }

  .left-right__asset {
    aspect-ratio: auto;
    min-height: 32rem;
    order: 2;
  }

  .left-right__asset-image {
    max-width: 39rem;
    width: 50vw;
  }

  .asset-image--left {
    left: auto;
    right: 0;
  }

  .asset-image--right {
    left: 0;
  }

  .left-right__content-bg {
    left: auto;
    width: 50vw;
  }

  .content-bg--right {
    left: 0;
  }

  .content-bg--left {
    right: 0rem;
  }

  /* TILES COMPONENT */

  .tiles__grid {
    margin-top: 2.5rem;
  }

  .tiles__tile-description {
    font-size: 1rem;
    margin-top: 1.25rem;
  }

  .card--tile-style-2 {
    flex-direction: row;
  }

  .card--tile-style-2 .tiles__tile-img-cnt {
    aspect-ratio: 9 / 16;
    min-height: 424px;
    min-width: 260px;
  }

  .card--tile-style-2 .tiles__tile-content {
    max-width: 294px;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  /* ACCORDION COMPONENT */
  .CM04-accordion .module-header {
    margin-bottom: 48px;
  }
}

@media screen and (min-width: 1024px) {
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  .hero-main__bg-img {
    object-position: 60% 0%;
  }
  .two-col__grid.two-col__card-style-2 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .four-col__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* tablet ipad pro landscape */
/* @media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) {
  .hero-main__bg-img {
    object-position: 60% 0%;
  }
  .two-col__grid.two-col__card-style-2 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
} */

@media screen and (min-width: 1248px) {
  /* LEFT/RIGHT CONTENT COMPONENT */

  .content-content--right {
    padding-left: 4rem;
  }

  .content-content--left {
    padding-left: 2.5rem;
  }

  .container--full .content-content--left {
    padding-left: 9rem;
  }

  .left-right__content-bg {
    max-width: 100%;
  }

  .left-right__asset-image {
    max-width: 100%;
  }
}

@media screen and (min-width: 1600px) {
  .hero-main__bg-img {
    object-position: 68% 0%;
  }
}

@media screen and (max-width: 991.98px) {
  .section-cta-get-a-quote-now {
    position: fixed;
    left: 0;
    right: 0;
    bottom: -150px;
    width: 100%;
    background: #fff;
    z-index: 1001;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.06);
    opacity: 0;
    pointer-events: none;
    transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s;
  }

  .section-cta-get-a-quote-now.is-stuck--mobile {
    bottom: 0;
    opacity: 1;
    pointer-events: auto;
  }

  body.pb-140 {
    padding-bottom: calc(140px + env(safe-area-inset-bottom, 0px));
  }
}
@media only screen and (orientation: landscape) and (max-width: 991.98px) {
  .section-cta-get-a-quote-now .two-col__grid {
    padding: 1.5rem 0;
  }
  body.pb-140 {
    padding-bottom: calc(110px + env(safe-area-inset-bottom, 0px));
  }
}