/*
Theme Name: Beheer.nl Onepager
Theme URI: https://beheer.nl/
Author: John Klokgieter
Author URI: https://klokgieter.nl/
Description: Premium fullscreen one-page WordPress theme for the domain name Beheer.nl.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: beheer-nl
*/

:root{
  --bn-blue:#063775;
  --bn-blue-deep:#052b62;
  --bn-navy:#061b2a;
  --bn-navy-deep:#031522;

  --bn-orange:#f59a08;
  --bn-orange-bright:#ff9c00;

  --bn-ink:#07172f;
  --bn-ink-soft:#142239;
  --bn-white:#ffffff;
  --bn-soft:#f3f4f6;

  --bn-line:rgba(242,160,12,.88);

  --bn-card-shadow:
    0 28px 70px rgba(3,15,30,.18),
    0 8px 22px rgba(3,15,30,.08),
    0 1px 0 rgba(255,255,255,.8) inset;

  --bn-font:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*{
  box-sizing:border-box;
}

html{
  margin:0;
  min-height:100%;
  -webkit-text-size-adjust:100%;
  text-rendering:optimizeLegibility;
}

body{
  margin:0;
  min-height:100%;
  font-family:var(--bn-font);
  background:#fff;
  color:var(--bn-ink);
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body.admin-bar .bn-page{
  height:calc(100vh - 32px);
}

.bn-page{
  position:relative;
  width:100vw;
  height:100vh;
  min-height:720px;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  overflow:hidden;
  background:#fff;
}

.bn-page::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:8;
  pointer-events:none;
  opacity:.18;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.18), rgba(255,255,255,0) 38%),
    linear-gradient(to bottom, rgba(255,255,255,.05), rgba(255,255,255,0) 46%);
  mix-blend-mode:soft-light;
}

.bn-page::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:5;

  background-image:
    linear-gradient(
      to right,
      transparent calc(50% - 1px),
      rgba(255,255,255,.32) calc(50% - 1px),
      rgba(255,255,255,.32) calc(50% + 1px),
      transparent calc(50% + 1px)
    ),
    linear-gradient(
      to bottom,
      transparent calc(50% - 1px),
      rgba(255,255,255,.22) calc(50% - 1px),
      rgba(255,255,255,.22) calc(50% + 1px),
      transparent calc(50% + 1px)
    );

  background-repeat:no-repeat;
}

.bn-panel{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:0;
  overflow:hidden;
  padding:clamp(42px,4.2vw,78px) clamp(48px,5vw,92px);
}

.bn-panel::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.09);
}

.bn-panel-inner{
  position:relative;
  z-index:2;
  width:min(560px,100%);
}

.bn-panel--it{
  color:#fff;
  background:
    linear-gradient(to bottom, rgba(255,255,255,.09), rgba(255,255,255,0) 45%),
    linear-gradient(135deg,#f8a918 0%,#f39d08 52%,#ec9200 100%);
}

.bn-panel--realestate{
  color:#fff;
  background:
    linear-gradient(to bottom, rgba(255,255,255,.055), rgba(255,255,255,0) 48%),
    linear-gradient(135deg,#06295f 0%,#073b7b 56%,#06336f 100%);
}

.bn-panel--website{
  color:var(--bn-ink);
  background:
    radial-gradient(circle at 72% 22%, rgba(255,255,255,.82), rgba(255,255,255,0) 32%),
    linear-gradient(135deg,#ffffff 0%,#f7f7f6 54%,#eeeeec 100%);
}

.bn-panel--website::after{
  border-color:rgba(7,23,47,.055);
}

.bn-panel--wealth{
  color:#fff;
  background:
    linear-gradient(to bottom, rgba(255,255,255,.035), rgba(255,255,255,0) 45%),
    linear-gradient(135deg,#041826 0%,#062233 58%,#031522 100%);
}

.bn-panel--it .bn-panel-inner,
.bn-panel--website .bn-panel-inner{
  margin-right:clamp(150px,15vw,250px);
}

.bn-panel--realestate .bn-panel-inner,
.bn-panel--wealth .bn-panel-inner{
  margin-left:clamp(150px,15vw,250px);
}

.bn-head{
  text-align:center;
  margin-bottom:clamp(34px,3.2vw,48px);
}

.bn-title{
  margin:0;
  font-size:clamp(34px,2.85vw,54px);
  line-height:1;
  font-weight:760;
  letter-spacing:-.052em;
  color:currentColor;
}

.bn-panel--website .bn-title{
  color:#06255a;
}

.bn-rule{
  display:block;
  width:58px;
  height:1px;
  margin:clamp(18px,1.8vw,24px) auto 0;
  background:rgba(255,255,255,.88);
  box-shadow:0 1px 8px rgba(242,160,12,.22);
}

.bn-lists{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px clamp(36px,4.4vw,66px);
}

.bn-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:clamp(15px,1.42vw,21px);
}

.bn-list li{
  display:flex;
  align-items:center;
  gap:13px;
  font-size:clamp(15px,1.02vw,19px);
  line-height:1.22;
  font-weight:670;
  letter-spacing:-.032em;
  white-space:nowrap;
}

.bn-check{
  width:21px;
  height:21px;
  border-radius:50%;
  border:1.5px solid currentColor;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  opacity:.92;
}

.bn-check svg{
  width:11px;
  height:11px;
  display:block;
  stroke:currentColor;
  stroke-width:2.5;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.bn-center-card{
  isolation:isolate;
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:10;
  width:min(420px,27vw);
  min-width:370px;
  padding:clamp(34px,2.75vw,44px) clamp(34px,3vw,48px) clamp(30px,2.5vw,38px);
  border-radius:22px;
  background:
    linear-gradient(to bottom, rgba(255,255,255,.96), rgba(255,255,255,.9)),
    linear-gradient(135deg,#ffffff 0%,#f7f7f7 100%);
  border:1px solid rgba(255,255,255,.76);
  box-shadow:var(--bn-card-shadow);
  text-align:center;
}

.bn-center-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:22px;
  pointer-events:none;
  box-shadow:0 0 0 1px rgba(7,23,47,.035) inset;
}

.bn-brand{
  margin:0 0 18px;
  font-size:clamp(54px,4.25vw,78px);
  line-height:.9;
  font-weight:900;
  letter-spacing:-.074em;
  color:#06255a;
}

.bn-brand span{
  color:var(--bn-orange-bright);
}

.bn-center-text{
  margin:0 auto;
  max-width:330px;
  color:var(--bn-ink-soft);
  font-size:clamp(15px,1.02vw,19px);
  line-height:1.44;
  font-weight:740;
  letter-spacing:-.034em;
}

.bn-center-rule{
  width:64px;
  height:1px;
  background:var(--bn-line);
  margin:25px auto 26px;
  box-shadow:0 1px 8px rgba(242,160,12,.22);
}

.bn-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:58px;
  border-radius:9px;
  background:
    linear-gradient(to bottom, rgba(255,255,255,.16), rgba(255,255,255,0) 42%),
    linear-gradient(135deg,#ffa20a 0%,#f39200 100%);
  color:#fff;
  text-decoration:none;
  font-size:clamp(18px,1.2vw,23px);
  font-weight:700;
  letter-spacing:-.043em;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    0 9px 20px rgba(242,141,0,.18);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    filter .18s ease;
}

.bn-cta:hover{
  transform:translateY(-1px);
  filter:brightness(1.015);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.36),
    0 12px 24px rgba(242,141,0,.22);
}

.bn-cta:focus-visible{
  outline:3px solid rgba(255,255,255,.78);
  outline-offset:4px;
}

.bn-page-template{
  width:min(900px,calc(100% - 40px));
  margin:60px auto;
  font-family:var(--bn-font);
  line-height:1.7;
}

.bn-page-template a{
  color:#063775;
}

@media (max-width:1500px){
  .bn-panel--it .bn-panel-inner,
  .bn-panel--website .bn-panel-inner{
    margin-right:210px;
  }

  .bn-panel--realestate .bn-panel-inner,
  .bn-panel--wealth .bn-panel-inner{
    margin-left:210px;
  }

  .bn-center-card{
    width:400px;
    min-width:400px;
  }
}

@media (max-width:1280px){
  .bn-panel{
    padding-left:42px;
    padding-right:42px;
  }

  .bn-panel--it .bn-panel-inner,
  .bn-panel--website .bn-panel-inner{
    margin-right:185px;
  }

  .bn-panel--realestate .bn-panel-inner,
  .bn-panel--wealth .bn-panel-inner{
    margin-left:185px;
  }

  .bn-title{
    font-size:clamp(34px,2.75vw,48px);
  }

  .bn-list li{
    font-size:15px;
    gap:12px;
  }

  .bn-check{
    width:20px;
    height:20px;
  }

  .bn-center-card{
    width:370px;
    min-width:370px;
  }
}

@media (max-width:1120px){
  body{
    overflow:auto;
  }

  body.admin-bar .bn-page{
    height:auto;
  }

  .bn-page{
    height:auto;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    overflow:visible;
  }

  .bn-page::before{
    display:none;
  }

  .bn-center-card{
    position:relative;
    left:auto;
    top:auto;
    transform:none;
    order:-1;
    width:min(520px,calc(100% - 40px));
    min-width:0;
    margin:24px auto;
  }

  .bn-panel{
    padding:58px 28px;
    min-height:480px;
  }

  .bn-panel--it .bn-panel-inner,
  .bn-panel--website .bn-panel-inner,
  .bn-panel--realestate .bn-panel-inner,
  .bn-panel--wealth .bn-panel-inner{
    margin:0;
    width:min(620px,100%);
  }
}

@media (max-width:782px){
  body.admin-bar .bn-page{
    height:auto;
  }
}

@media (max-width:680px){
  .bn-panel{
    padding:46px 22px;
    min-height:auto;
  }

  .bn-head{
    margin-bottom:30px;
  }

  .bn-lists{
    grid-template-columns:1fr;
    gap:14px;
  }

  .bn-list{
    gap:13px;
  }

  .bn-list li{
    font-size:17px;
    white-space:normal;
  }

  .bn-title{
    font-size:39px;
    letter-spacing:-.048em;
  }

  .bn-brand{
    font-size:58px;
  }

  .bn-center-card{
    padding:34px 24px 28px;
    border-radius:18px;
  }

  .bn-center-card::after{
    border-radius:18px;
  }
}