
nav {
  margin-left: auto;
}

nav ul.funnel-hide-desktop {
	display: none !important;
}

nav ul {
  display: flex;
  gap: 1.875rem;
}

nav ul li {
  display: block;
  padding: 2rem 0;
  position: relative;
}

nav > ul li svg {
  width: 1.125rem;
  display: inline-block;
  padding-top: 0;
  vertical-align: middle;
  display: none;
}

nav ul li a {
  display: inline-block;
  color: var(--black);
  vertical-align: middle;
  font-size: 1rem;
}

nav .menu_svg1,
nav .menu_svg2 {
  display: none;
}

nav ul li.active > a {
  color: #000000;
}

nav ul li .submenu {
  display: none !important;
}

nav ul li .submenu ul {  
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
}

nav ul li:hover .submenu {
  display: block;
  position: absolute;
  top: 4.7rem;
  left: -1rem;
  right: -42rem;
  border: 1px solid #efefef;
  border-top: none;
  max-width: 45rem;
  height: auto;
  background-color: white;
  box-shadow: 0 4px 10px rgba(102,102,102,.2);
}

nav ul li:hover .submenu.large {
  max-width: 48rem;
}

nav ul li:hover .submenu.large ul {
  grid-template-columns: repeat(4,minmax(0,1fr));
}

nav ul li.active svg path,
nav > ul li:hover svg path{
  stroke: var(--purple-400);
}


nav ul li:hover .submenu li a.mainpage img {
  opacity: .5;
}

nav ul li .submenu li.active a.mainpage img,
nav ul li:hover .submenu li a.mainpage:hover img {
  opacity: 1;
}

nav ul li:hover .submenu.small {
  /* max-width: 13.5rem; */
  max-width: 27rem;
}

nav ul li .submenu.small ul {
  grid-template-columns: repeat(2,minmax(0,1fr));
}

nav ul li:hover .submenu.small {
  left: 0;
}

nav ul li:hover .submenu li {
  border-right: 1px solid #efefef;
  padding: 0;
  margin-right: 0;
  text-align: center;
  display: flex;
  
  justify-content: center;
  align-items: center;
}

nav ul li:hover .submenu ul li:last-child {
  border-right: none;
}

nav ul li:hover .submenu li a {
  padding: 1.125rem 0;
}

nav ul li:hover .submenu li:last-child {
  margin-right: 0;
}

nav ul li:hover .submenu li a .title {
  margin-top: 1rem;
  text-align: center;
  line-height: 1.25;
  padding: 0 0.5rem;
  min-height: 2.875rem;
}

nav ul li:hover .submenu li img {
  display: block;
}

nav ul li:hover .submenu li a span {
  display: block;
}

nav ul li:hover .submenu li a img {
  display: inline-block;
  max-height: 6rem;
}

nav ul li:hover .submenu span.img.kiwatt {
  padding: 2.75rem;
}

ul.usps {
	display: flex;
	gap: 1.5rem;
	flex-direction: column;
}

ul.usps li {
	display: flex;
	align-items: center;
	font-size: 1.125rem;
	color: var(--gray-700);
}

ul.usps li svg {
	margin-right: .875rem;
}


.header__usps li {
  display: inline-block;
  font-size: var(--text-size-small);
  font-family: var(--secondary-fonts);
  text-transform: uppercase;
  letter-spacing: -1px;
  margin-right: 1.25rem;
  position: relative;
  font-weight: 500;
  color: var(--purple-400);
  padding: 0.75rem 0 0.75rem 20px;
  line-height: .9;
}

.header__usps li a {
	color: var(--purple-400);
}

.header__usps li::before {
  height: 0.875rem;
  background: transparent 50% no-repeat;
  background-size: contain;
  content: "";
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0.875rem;
  background-image: url(../images/check-circle.svg);
}

.header__review {
	display: flex;
	align-items: center;
}

.header__review a {
  display: inline-block;
  font-family: var(--secondary-fonts);
}

.socials-block iframe {
    max-height: 41.5rem !important;
    overflow: hidden;
}
.cookie_overlay {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 9999;
  background-color: rgba(0, 0, 0, 0.55);
}

.cookie-box {
  position: fixed;
  z-index: 10000; /* 1 */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* bottom: 1rem; */
  /* left: 1rem; */
  visibility: hidden;
  width: 20rem;
  background-color: white;
  box-shadow: rgba(0,0,0,.1) 0 0 24px 0;
  padding: 2rem 1rem 1rem;
}

.cookie-box button {
  display: block;
  width: 100%;
  border: none;
  cursor: pointer;
  font-family: 'Visby CF', Helvetica Neue,Arial,sans-serif;
}

.cookie-box a {
  display: block;
}

.cookie-box #gdpr_btn_full_agree {
  background-color: var(--purple-300);
  color: white;
  padding: .5rem 0;
  text-align: center;
  border-radius: 4px;
  font-size: .875rem;
  margin-bottom: .5rem;
}

.cookie-box .pull-left,
.cookie-box .pull-right {
  width: 50%;
  float: left;
}


.cookie-box .pull-right a,
.cookie-box .pull-left a {
  color: var(--purple-300);
  border: 1px solid white;
  padding: .5rem 0;
  text-align: center;
  border-radius: 4px;
  font-size: .875rem;
  margin-bottom: .5rem;
}

.cookie-box .pull-right button,
.cookie-box .pull-left button {
  background-color: transparent;
  color: var(--purple-300);
  border: 1px solid white;
  padding: .5rem 0;
  text-align: center;
  border-radius: 4px;
  font-size: .875rem;
  margin-bottom: .5rem;
  height: 32px;
  line-height: 1rem;
}

.cookie-box .pull-right a:hover,
.cookie-box .pull-left a:hover {
  border: 1px solid var(--secondary-color);
}

.cookie-box .pull-right button:hover,
.cookie-box .pull-left button:hover {
  border: 1px solid var(--secondary-color);
}

.cookie-box .title {
  display: block;
  font-weight: 700;
  margin-bottom: .5rem;
}

.cookie-box p {
  font-size: .75rem;
  margin-bottom: 1.5rem;
  line-height: 1.25;
}

.hero {
width: 100%;
height: calc(100vh - 6.875rem);
position: relative;
}

.hero h1 {
font-size: 1rem;
font-weight: normal;
font-family: 'JetBrains Mono', monospace;
text-transform: uppercase;
line-height: 1.3;
color: var(--purple-300);
}

.hero .title {
font-size: 5rem;
line-height: normal;
letter-spacing: -1px;
color: var(--gray-950);
font-weight: 600;
}

.hero .undertitle {
font-size: 5rem;
line-height: 5rem;
letter-spacing: -1px;
color: var(--gray-500);
font-weight: 600;
}

.hero .hero_bg {
bottom: 0;
left: 0;
overflow: hidden;
position: absolute;
right: 0;
top: 0;
background-color: var(--gray-50);
z-index: 0;
}

.hero .hero_bg .bg {  
height: 100%;
background-repeat: no-repeat;
background-size: cover;
position: relative;
left: 0;
right: 0;
bottom: 0;
max-width: 80%;
}


.hero .hero_content {
  position: relative;
  z-index: 1;
  top: 50%;
  transform: translateY(-50%);
}

.hero .hero_container {
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
padding: 0;
}

.hero .funnel_form_wrapper {
position: relative;
}

.hero .funnel_form_wrapper .hide-first {
display: none;
}

.hero .funnel_form_bg {
position: absolute;
top: -3rem;
right: -4.75rem;
z-index: 1;
  text-align: center;
}

.hero .funnel_form_bg img {
  max-width: 90%;
}

.hero .funnel_form {
background-color: var(--white);
padding: 2.375rem 2.375rem 1.75rem 2.375rem;
max-width: 25rem;
border: 1px solid var(--gray-100);
border-radius: 0.875rem;
height: auto;
margin-left: auto;
position: relative;
z-index: 2;
}

.hero .funnel_form.home {
padding: 2.375rem 2.375rem 1.75rem 2.375rem;
height: auto;
}

.hero .funnel_form .tel_cta {
margin-top: 1.5rem;
font-family: 'JetBrains Mono', monospace;
letter-spacing: -1px;
text-transform: uppercase;
font-size: .75rem;
font-weight: 500;
text-align: center;
color: var(--gray-700);
}

.hero .funnel_form .tel_cta a {
font-weight: 800;
color: #1d1d1d;
}

.hero .funnel_form .quote_cta{
font-weight: 800;
font-size: .875rem;
color: var(--gray-700);
}

.hero .funnel_form_title {
  font-size: 1.875rem;
  line-height: 1.875rem;
  font-weight: 700;
  margin-top: 2rem;
}

.hero .funnel_form_intro {
color: var(--gray-600);
margin: 1rem 0 2rem;
}

.hero .funnel_form_bg {
  display: none;
}

.intro-block .usps li {
  line-height: 1.5;
  font-size: 1.25rem;
  text-transform: uppercase;
  font-family: "JetBrains Mono", monospace;
  font-weight: 300;
  padding-left: 2rem;
  position: relative;
}

.landings-hero {
    height: calc(100vh - 6.875rem);
    position: relative;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    text-align: center;
    align-items: center;
    gap: 0;
}

.landings-hero h1 {
    font-size: 4rem;
    line-height: 4rem;
    letter-spacing: -1px;
    color: var(--gray-950);
    font-weight: 600;
    margin-bottom: 1.625rem;
}

.landings-hero h2 {
    font-size: 4rem;
    line-height: 4rem;
    letter-spacing: -1px;
    color: var(--gray-950);
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 1.625rem;
}

.landings-hero .left {
    text-align: left;    
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    height: 100%;
    padding: 0 12rem 0 10rem;
    text-align: left;
}

.landings-hero .left .intro {
    color: var(--gray-700);
    font-size: 1.5rem;
    line-height: 1.5;
    margin-bottom: 4rem;
    font-weight: 200;
}

.hero-button .right,
.landings-hero .right {
    background-color: var(--black);
    background-size: cover;
    background-repeat: no-repeat;
    text-align: left;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    height: 100%;
    text-align: right;
    padding: 0 10rem;
    max-height: 50rem;
}

.landings-hero .right .circle-logo {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-50%,-50%);
    mix-blend-mode: difference;
}


.content-block .post-block {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10rem;
  align-items: center;
}

.content-block .post-block.full-width {
grid-template-columns: 100%;
}

.content-block .post-block > .text {    
display: flex;
flex-direction: column;
gap: 1.75rem;
}

.content-block .post-block > .text .title {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 2.375rem;
  color: var(--gray-950);
  text-align: left;
  margin-bottom: 0;
}

.content-block.dark .post-block > .text p a {
  color: var(--white);
  border-bottom: 1px dotted var(--white);
}

.content-block.dark .post-block .btn.clean,
.content-block.dark .post-block > .text p,
.content-block.dark .post-block > .text .title {
  color: var(--white);
}

.content-block.dark .post-block .btn.clean:hover {
  /* color: var(--gray-950); */
  background-color: rgba(255,255,255,.25);
}

.content-block .post-block > .text p {
  font-size: 1.125rem;
  line-height: 1.5;
}

.hero-button {
  height: calc(100vh - 6.875rem);
  position: relative;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  text-align: center;
  align-items: center;
  gap: 0;
}

.hero-button h1 {
  font-size: 5rem;
  line-height: normal;
  letter-spacing: -1px;
  color: var(--gray-950);
  font-weight: 600;
}

.hero-button h2 {
  font-size: 5rem;
  line-height: normal;
  letter-spacing: -1px;
  color: var(--white);
  font-weight: 600;
}

.hero-button .left {
  background-color: var(--gray-50);
  text-align: left;    
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  height: 100%;
  padding: 0 10rem;
  text-align: left;
}

.hero-button .right {
  background-color: var(--black);
  background-image: url(../images/blogs-header.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  text-align: left;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  height: 100%;
  text-align: right;
  padding: 0 10rem;
}

.hero-button .right .circle-logo {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-50%,-50%);
  mix-blend-mode: difference;
}

.hero-button .right a.button {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-80px,-50%);
  display: flex;
  align-items: center;
  letter-spacing: -1px;
  font-weight: 500;
  color: var(--black);
  line-height: .9;
}


.hero-button .right a.button svg {
  position: relative;
  z-index: -1;
}

.hero-button .right a.button .text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  display: block;
  text-align: center;
  max-width: 5rem;
  line-height: 1;
}

.hero-button .right a.button .text span {
  display: block;
}

.hero-button .right a.button:hover svg circle {
  fill: var(--purple-300);
}


.hero-button .right .circle-logo img {
  mix-blend-mode: difference;
}

.hero-button .right .circle-logo a {    
  mix-blend-mode: normal;
}

.hero-button .undertitle {
  font-size: 5rem;
  line-height: 5rem;
  letter-spacing: -1px;
  color: var(--gray-500);
  font-weight: 600;
}

.hero-button .hero_bg {
  bottom: 0;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
  background-color: var(--gray-50);
  z-index: 0;
}

.hero-button .hero_bg video {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  max-width: 92rem;
}


@media screen and (max-width: 1750px) {
  .hero .funnel_form_bg
  {
      right: 0;
  }
  .hero .funnel_form {
      right: 5rem;
  }
}

@media screen and (max-width: 1440px) {
  
  .landings-hero .left {
    padding: 0 8rem;
  }
  .landings-hero h2, .landings-hero h1 {
      font-size: 3.5rem;
      line-height: 3.5rem;
  }
  .landings-hero .left .intro {
      margin-right: 2.5rem;
  }
  .hero-button {
      height: 90vh;
  }
}

@media screen and (max-width: 1024px) {
  .content-block .post-block {
      gap: 4rem;
      align-items: flex-start;
  }
  .content-block .post-block > .text p {
      font-size: 1rem;
      line-height: 1.5;
  }
  .hero .undertitle,
  .hero .title {
      line-height: 1.125;
      font-size: 2.75rem;
  }    
  .hero h1 {
      padding-left: 0.125rem;
  }
  .landings-hero .right, .landings-hero .left {
      padding: 0 4rem;
  }
  .landings-hero .right .circle-logo svg {
      scale: .5;
  }
  .landings-hero h2, .landings-hero h1 {
      font-size: 3rem;
      line-height: 3rem;
  }
  .landings-hero .left .intro {
      font-size: 1.5rem;
      margin-right: 2rem;
  }
  
  .hero-button .undertitle,
  .hero-button .title {
      line-height: 1.125;
      font-size: 2.75rem;
  }    
  .hero-button h1 span,
  .hero-button h2 span {
      display: block;
  }
  .hero-button h1 {
      padding-left: 0.125rem;
  }
  .hero-button h2, .hero-button h1 {
      font-size: 3rem !important;
  }
  .hero-button .right,
  .hero-button .left {
      padding: 0 2rem;
  }
  .hero-button {
      height: 80vh;
  }
  .hero-button .right {
      background-position: -10rem 0;
  }
}

@media screen and (max-width: 768px) {
  .hero .funnel_form {
      right: 0;
  }
  .hero .funnel_form_bg {
      right: -7rem;
  }
  .landings-hero .right, .landings-hero .left {
      padding: 0 3rem;
  }
  .landings-hero h2, .landings-hero h1 {
      font-size: 2.5rem;
      line-height: 2.5rem;
  }
  .landings-hero .left .intro {
      font-size: 1.125rem;
      margin-right: 2rem;
  }
  .landings-hero h2, .landings-hero h1 {
    font-size: 2.5rem;
    line-height: 2.5rem;
  }
  ul.usps li {
      font-size: 1rem;
      display: grid;
      grid-template-columns: 10% 90%;
      align-items: flex-start;
  }
  ul.usps li svg {
      width: 1.25rem;
  }
  .content-block .post-block {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
  .content-block .post-block .content-img {
      order: 1;
  }
  .content-block .post-block .text {
      order: 2;
  }
  .content-block .post-block .circle-horizontal svg {
      max-width: 12rem;
      max-height: 12rem;
      margin-top: -.5rem;
  }
}

@media screen and (max-width: 550px) {  
  .cookie-box {
    padding: 1rem 1rem .5rem;
  }

  .cookie-modal .modal-content table {
    font-size: .625rem;
  }

  .cookie-box p {
    font-size: .625rem;
  }

  .hero h1 {
      font-size: .875rem;
  }
  .hero {
    height: calc(100vh - 5.875rem);
  }
  .hero .hero_container {
      flex-direction: column;
      gap: 3rem;
  }
  .hero .funnel_form_bg {
      right: 0;
      top: 15rem;
  }
  .hero .undertitle, .hero .title {
      font-size: 2rem;
      line-height: 1.125;
  }
  .hero .funnel_form_bg img {
      max-width: 100%;
  }
  .hero .funnel_form_title {
    margin-top: 1rem;
    font-size: 1.5rem;
    line-height: 1.5rem;
  }
  .hero .funnel_form_intro {
      margin: 1rem 0;
  }
  .hero .funnel_form.home,
  .hero .funnel_form {
      padding: 1.75rem 1.75rem 1.75rem 1.75rem;
  }
  .landings-hero {
    flex-direction: column;
    display: flex;
    height: auto;
  }    
  .landings-hero .right, .landings-hero .left {
      padding: 5rem 2rem 2rem;
      width: 100%;
      align-items: center;
  }
  .landings-hero .left {
      order: 2;
  }
  .landings-hero .right {
      background-position: center -6rem;
      padding: 5rem 0;
      order: 1;
      max-height: 12rem;
  }
  .landings-hero .right .circle-logo {
      left: 50%;
      top: auto;
      bottom: -14rem;
      max-width: 14rem !important;
      max-height: 14rem !important;
      z-index: 999;
  }
  .landings-hero .left .intro {
      margin-right: 0;
      margin-bottom: 2rem;
  }
  .landings-hero .right .circle-logo svg {
      max-width: 14rem !important;
      max-height: 14rem !important;
      rotate: 90deg;
  }
  .landings-hero .left .intro {
    margin-right: 0;
    margin-bottom: 2rem;
  }
  .hero-button {
    flex-direction: column;
    display: flex;
    height: 45vh;
    max-height: 60rem;
  }
  .hero-button h1 {
      font-size: .875rem;
  }
  .hero-button .hero_container {
      flex-direction: column;
      gap: 3rem;
  }
  .hero-button .hero_content {
      top: 2rem;
  }
  .hero-button .right, .hero-button .left {
      padding: 0 2rem;
      width: 100%;
      align-items: center;
      max-height: 13rem;
  }
  .hero-button .right {
      background-position: center -6rem;
      padding: 5rem 0;
  }
  .hero-button .right a.button {
      display: none;
  }
  .hero-button .right a.button .text {
      display: none;
  }
  .hero-button .right .circle-logo {
      left: 50%;
      top: auto;
      bottom: -8rem;
      max-width: 8rem !important;
      max-height: 8rem !important;
  }
  .hero-button .right .circle-logo svg {
      max-width: 8rem !important;
      max-height: 8rem !important;
      rotate: 90deg;
  }
  .hero-button h1, .hero-button h2 {
      font-size: 2rem !important;
  }
  .hero-button h1 span, .hero-button h2 span {
      display: inline;
  }
}

@media screen and (max-width: 320px) {
  .hero {
      height: 70vh;
  }
  .hero h1 {
      font-size: .75rem;
  }
  .hero .undertitle, .hero .title {
      font-size: 1.75rem;
      line-height: 1;
  }
  .landings-hero h2, .landings-hero h1 {
      font-size: 2rem;
      line-height: 2rem;
  }
  .landings-hero h2 {
      margin-bottom: 1rem;
  }
  .landings-hero .left .intro {
      margin-bottom: 2rem;
  }
  .hero-button {
      height: 40vh;
  }
  .hero-button .right {
      padding: 2rem 0;
  }
  .hero-button h1 {
      font-size: .75rem;
  }
  .hero-button .undertitle, .hero-button .title {
      font-size: 1.75rem;
      line-height: 1;
  }
  .content-block .post-block .circle-horizontal svg {
    max-width: 100% !important;
  }
}