.cards-with-filters { padding: 150px 0; }
.cards-with-filters .background-image { position: fixed; top: 0; left: 0; width: 100%; height: 100%;  z-index: -1; }
.cards-with-filters .background-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    min-height: 100vh;
    min-width: 100vw;
}
.cards-with-filters .page-center { max-width: 1400px; padding: 0 20px; margin: auto; float: none; }
.cards-with-filters .section-intro { text-align: center; max-width: 600px; margin: 0 auto 60px auto; float: none; position: relative; }
.cards-with-filters .section-intro * { color: #FFF; }

.main-sect { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; margin-bottom: 40px;  }
.select-div { width: calc(25% - 20px); margin: 10px; position: relative; }
.select-div div { display: flex; align-items: center; width: 100%; flex-wrap: wrap;  }
.select-div input { width: auto; margin-right: 10px; position: relative; }
.select-div  input { display: none !important; }
.select-div label { position: relative; margin-bottom: 15px; float: left; line-height: 1.4em; }
.select-div input + label:before {
    content: '';
    border-radius: 2px;
    display: inline-block;
    vertical-align: middle;
    background: none;
    width: 20px;
    height: 20px;
    padding: 3px;
    margin-right: 19px;
    text-align: center;
   border: 2px solid #0f7a5a;
   float: left;
   cursor: pointer;
  position: relative;
}

.select-div input:checked + label:before {
    border-color: #0f7a5a;
      background: #FFF;
}
.select-div input:checked + label:after{
    content: "";
    padding: 2px;
    text-align: center;
    position: absolute;
    width: 1px;
    height: 12px;
    border: solid #0f7a5a;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    top: 3px;
    left: 7px;
}
.selected + label:before {
    border-color: #0f7a5a !important;
      background: #FFF !important;
}
.selected + label:after {
    content: "";
    padding: 2px;
    text-align: center;
    position: absolute;
    width: 1px;
    height: 12px;
    border: solid #0f7a5a;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    top: 3px;
    left: 7px;
}

.select-div h4 { 
  font-family: FortumSans, arial, sans-serif;
  outline: none;
  box-sizing: border-box;
  text-align: left;
  background: rgba(255,255,255,0.25);
  border: 0.125rem solid rgba(255,255,255,0.44);
  color: #fff;
  display: flex;
  align-items: center;
  font-size: 1.125rem;
  line-height: 0.9em;
  overflow: hidden;
  padding: 1.25rem 2.5rem 1rem 0.875rem;
  position: relative;
  text-overflow: ellipsis;
  transition-property: background, border-color;
  transition-duration: 250ms, 300ms;
  transition-delay: 0s, 0s;
  transition-timing-function: cubic-bezier(0.5, 0, 0, 1);
  z-index: 4;
  margin: 0;
  position: relative;
  cursor: pointer;
}


.select-div h4 .arrow-down {
    position: absolute;
    right: 15px;
    top: 15px;
    left: auto;
    bottom: auto;
    width: auto;
    height: auto;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}
.select-div h4.open .arrow-down {  -ms-transform: rotate(180deg); transform: rotate(180deg); top: 13px; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }
.option-set { position: absolute; background: #FFF; width: 400px; z-index: 999; margin: 0; top: 100%; padding: 20px 20px; left: 0; }

.filters__item {
  position: relative;
  width: 100%;
  z-index: 20;
      display: flex;
    margin-right: 1.234%;
  margin-bottom: 5%;
    width: 24%;
}

.label {
  font-family: FortumSans, arial, sans-serif;
  color: rgba(255,255,255,.5);
  font-size: 0.75rem;
  font-weight: 400;
  left: 0px;
  overflow: hidden;
  padding: 0px 1rem;
  pointer-events: none;
  position: absolute;
  right: 0px;
  text-overflow: ellipsis;
  top: 0.8125rem;
  transition-property: color, padding-left;
  transition-duration: 250ms, 250ms;
  transition-delay: 0s, 0s;
  transition-timing-function: cubic-bezier(0.5, 0, 0, 1);
  z-index: 5;
  white-space: nowrap;
}

.select__items {
  box-sizing: border-box;
  list-style: none;
  line-height: 1;
  margin: 0px;
  padding: 0px;
  background: rgb(255, 255, 255);
  border-width: 0px 0.125rem 0.125rem 0.125rem;
  border-right-style: solid;
  border-left-style: solid;
  border-right-color: rgb(201, 201, 201);
  border-left-color: rgb(201, 201, 201);
  border-image: initial;
  border-top-style: initial;
  border-top-color: initial;
  border-bottom-style: solid;
  border-bottom-color: rgb(201, 201, 201);
  top: 0px;
  transform: translateY(-0.125rem);
  overflow: hidden;
  position: relative;
  transition-property: max-height, border-color, z-index, opacity;
  transition-timing-function: cubic-bezier(0.5, 0, 0, 1);
  transition-duration: 200ms;
  width: 100%;
  z-index: 4;
  max-height: 0px;
  opacity: 0;
  box-shadow: none;
  border-radius: 0px;
}


.select-div h4:hover, .select-div h4:focus, .select-div h4.open {
  border-color: rgb(255, 255, 255);
  background: rgba(255,255,255,1);
  color: rgb(51, 51, 51);
}



.grid-sizer, .grid__item {
  width: 20%;
}
.grid__item { padding: 10px; }

.grid__item-inner {
  padding: 20px 25px;
  font-family: "Fortum", sans-serif;
  position: relative;
}

.grid__item.white .grid__item-inner { background-color: #FFF; color: #333; }
.grid__item.powering-green .grid__item-inner { background-color: #18D270; color: #FFF; }
.grid__item.consistent-green .grid__item-inner { background-color: #118A65; color: #FFF; }
.grid__item.calming-green .grid__item-inner { background-color: #003D31; color: #FFF; }
.grid__item h4 { line-height: 1em; margin-bottom: 25px; font-weight: bold; }
.grid__item.white p { color: #333; }
.grid__item.white h4 { color: #5ac37d; padding-right: 25px; }
.grid__item.consistent-green p, .grid__item.calming-green p, .grid__item.powering-green p { color: #FFF; }

.grid__item .card-name { margin-bottom: 20px; }
.grid__item p {
  font-size: 15px;
  line-height: 1.5;
}

.grid__item .card-text { cursor: pointer; }

@media (max-width: 1024px) {
  .grid-sizer, .grid__item {
    width: 25%;
  }
}

@media (max-width: 899px) {
  .grid-sizer, .grid__item {
    width: 33.333%;
  }
  .select-div {
    width: calc(50% - 20px);
  }
}

@media (max-width: 699px) {
  .grid-sizer, .grid__item {
    width: 50%;
  }
}

@media (max-width: 499px) {
  .grid-sizer, .grid__item {
    width: 100%;
  }
  .select-div {
    width: 100%;
  }
}

.check {
  display: inline-block;
  position: absolute;
  top: 20px;
  right: 20px;
  height: 1.5rem;
  width: 1.5rem;
  box-sizing: border-box;
  background: rgb(255, 255, 255);
  border-width: 0.125rem;
  border-style: solid;
  border-color: rgb(201, 201, 201);
  transition: background 200ms cubic-bezier(0.5, 0, 0, 1) 0s, border 200ms 0s;
  cursor: pointer;
}

.grid__item:not(.tick) .check svg {
  display: none;
}

.check svg {
  height: 18px;
  width: 21px;
  transform: translateY(2px);
}

.check:hover, .tick .check {
  border-color: rgb(55, 122, 108);
}

.grid__item.tick .grid__item-inner > *:not(.card-text):not(.check), .grid__item.tick .card-text .card-name {
  display: none;
}
.grid__item.tick h4 { margin-bottom: 0; }

.bottom-text { text-align: center; padding: 60px 20px 30px 20px; width: 100%; background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,50,49,0.7) 36%, rgba(0,50,49,1) 100%); }
.bottom-text * { color: #FFF; }
.bottom-text .copyright { opacity: 0.8; margin-top: 40px; }

body.modal {
  height: 100vh;
  overflow-y: hidden;
}


.popup-card {
   background: #FFF;
  max-height: 90%;
  max-width: 85%;
  width: 880px;
  height: auto;
  position: fixed;
   padding: 3rem 1rem 2rem;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow-x: hidden;
  transition: 0.5s;
  z-index: -2;
  opacity: 0; 
  visibility: hidden;
  transition: all .3s ease;
}

.popup-card .card-fulltext, .popup-card .card-fulltext span { font-size: 1.25rem !important; line-height: 2.375rem; }
@media (max-width: 970px) {
  .popup-card .card-fulltext, .popup-card .card-fulltext span { font-size: 1rem !important; line-height: 2rem; }
}

@media (min-width: 376px) {
.popup-card {
    padding: 3rem 1.5rem 4rem;
}
}
@media (min-width: 601px) {
.popup-card {
    padding: 3rem 2rem 4rem;
}
}
@media (min-width: 769px){
.popup-card {
    padding: 3rem 4rem 4rem;
}
}
@media (min-width: 1025px) {
.popup-card {
    padding: 3rem 5rem 4rem;
}
} 
@media (min-width: 1441px){
.popup-card {
    padding: 3rem 7.5rem 4rem;
}
}
.popup-card-inner { width:100%; float: left; position: relative; }
.popup-card.open { opacity: 1; visibility: visible; z-index: 9999; }

.closebio {
  width: 40px;
  height: 40px;
  text-decoration: none;
  font-size: 20px;
  transition: 0.3s;
  color: #333;
  cursor: pointer;
  display: flex;
    align-items: center;
    justify-content: center;
  background: none;
}

.closebio:hover, .closebio:focus {
  background: #ebebeb;
}

.popup-card .closebio {
  position: absolute;
    right: 1rem;
    top: 1rem;
  font-size: 32px;
  z-index: 99;
}

.modal-bg {
    position: fixed;
    top: 0px;
    left: 0px;
    height: -webkit-fill-available;
    width: 100vw;
    z-index: 1000;
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    background-color: rgba(0, 0, 0, 0.6);
    transition: opacity 300ms cubic-bezier(0.5, 0, 0, 1) 0s;
}
body.modal .modal-bg { opacity: 1; visibility: visible; }

.popup-card .card-link { display: flex; align-items: center; gap: 10px; float: right; margin-top: 30px; font-size: 20px; }
.popup-card .card-link:hover { color: #5ac37d; }
.popup-card .card-link strong { margin-top: 5px; }
.popup-card .card-link span { width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; border: 2px solid #5ac37d; border-radius: 100%;  }
.popup-card h3 { color: #5ac37d; }
.popup-card h4 { margin-bottom: 10px; }

@media (max-width: 767px) {
  .cards-with-filters { padding: 50px 0 0; }
  .cards-with-filters .section-intro { margin-bottom: 30px; }
}


