:root {
    --bs-font-sans-serif: 'Manrope', system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
    --bs-body-font-size: font-size: clamp(.95em, 1vw, 1.15em);
    --bs-body-line-height: 1.55;
    --bs-body-color: #101419;
    
    --bs-link-color-rgb: #754ff6;
    --bs-link-hover-color-rgb: #4c32a8;
  }
::selection {
  background: rgba(176, 245, 102, .35);
}
body {
  /*
  background: rgb(240,241,247);
  background: linear-gradient(168deg, rgba(240,241,247,1) 49%, rgba(124,77,255,1) 96%);
  */
  background: rgb(255,255,255);
  background: linear-gradient(168deg, rgba(255,255,255,1) 5%, rgba(240,241,247,1) 55%, rgb(221, 216, 246) 96%);
  background-attachment: fixed;
  background-size: contain;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
  color: #5130AF;
}
h2 {
  font-weight: 800;
}
.section {
  background: rgba(255,255,255, .65);
  border-radius: 10px;
}
.btn {
  --bs-btn-border-width: 2px;

  transition: color .15s ease-in-out,
              background-color .15s ease-in-out,
              border-color .15s ease-in-out,
              box-shadow .15s ease-in-out,
              transform .15s ease-in-out
              ;
}
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #754ff6;
  --bs-btn-border-color: #754ff6;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #4c32a8;
  --bs-btn-hover-border-color: #4c32a8;

  --bs-btn-active-color: var(--bs-btn-hover-color);
  --bs-btn-active-bg: var(--bs-btn-hover-bg);
  --bs-btn-active-border-color: var(--bs-btn-hover-border-color);

  /*
  box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 2px, 
              rgba(0, 0, 0, 0.07) 0px 2px 4px, 
              rgba(0, 0, 0, 0.07) 0px 4px 8px, 
              rgba(0, 0, 0, 0.07) 0px 8px 16px, 
              rgba(0, 0, 0, 0.07) 0px 16px 32px, 
              rgba(0, 0, 0, 0.07) 0px 32px 64px;
  */

  box-shadow: rgba(0, 0, 0, 0.17) 0px -23px 25px 0px inset, rgba(0, 0, 0, 0.15) 0px -36px 30px 0px inset, rgba(0, 0, 0, 0.1) 0px -79px 40px 0px inset, rgba(0, 0, 0, 0.06) 0px 2px 1px, rgba(0, 0, 0, 0.09) 0px 4px 2px, rgba(0, 0, 0, 0.09) 0px 8px 4px, rgba(0, 0, 0, 0.09) 0px 16px 8px, rgba(0, 0, 0, 0.09) 0px 32px 16px;
  transform: scale(1);
}
.btn-primary:active {
  transform: scale(.95);
}
.btn-outline-primary {
  --bs-btn-color: #754ff6;
  --bs-btn-border-color: #754ff6;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #4c32a8;
  --bs-btn-hover-border-color: #4c32a8;

  --bs-btn-active-color: var(--bs-btn-hover-color);
  --bs-btn-active-bg: var(--bs-btn-hover-bg);
  --bs-btn-active-border-color: var(--bs-btn-hover-border-color);
}
.btn-outline-primary:active {
  transform: scale(.95);
}
.btn-link {
  --bs-btn-color: #754ff6;
  --bs-btn-hover-color: #4c32a8;
  --bs-btn-active-color: var(--bs-btn-hover-color);
  --bs-btn-active-bg: var(--bs-btn-hover-bg);
}
.dropdown-menu {
  --bs-dropdown-link-hover-color: #101419;
  --bs-dropdown-link-hover-bg: #f0f1f7;
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #754ff6;
}
.card {
  --bs-card-border-width: 3px;
  --bs-card-border-color: rgba(219, 212, 246, .50);
}
.form-control {
  --bs-border-width: 2px;
}
.form-control:focus {
    border-color: rgb(120, 102, 192);
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(120, 102, 192, .25);
}

.form-check .form-check-input {
  margin-left: -1em;
}
.form-check-input {
    width: 1.25em;
    height: 1.25em;
    margin-top: 0.15em;
}
.form-check-input:checked {
    background-color: #754ff6;
    border-color: #754ff6;
}
.form-check-input:focus {
    border-color: #754ff6;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(120, 102, 192, .25);
}
.form-check-label {
    margin-left: 0.5rem;
}


.dropdown-item.active, .dropdown-item:active {
  color: var(--bs-dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-active-bg);
}


.overzicht-doelstellingen .card {
  border-radius: 1.25rem;
}
.overzicht-doelstellingen .card-title {
  font-weight: 100;
  font-size: 250%;
  text-align: center;
  margin-bottom: 1rem;
}


.logos {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 1em;
}
.logos .logo {
  position: relative;
  width: 100%;
  border: 1px solid rgba(0,0,0,.2);
  border-radius: 1em;
}
.logos .logo:after {
  content: "";
  display: block;
  padding-top: 100%;
}
.logos .logo .content {
  position: absolute;
  width: 100%;
  height: 100%;
}
.logos .logo .content .img {
  margin: 0;
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  text-align: center;
}
.logos .logo .content .img img {
  display: inline-block;
  width: 75%;
}

body.form .form-box {
  text-align: center;
}
body.form .logo {
  display: inline-block;
  max-width: 150px;
  margin: auto;
  margin-bottom: 50px;
}
body.form form {
  text-align: left;
  background: rgba(255,255,255,.75);
  border-radius: 1rem;
  padding: 1rem;
}
body.form form h1 {
  margin-bottom: 1.5rem;
}

.servererror_title {
  font-size: 20vw;
  font-weight: 100;
  opacity: .35;
  filter: blur(3px);
}


body.doc {
  text-align: center;
}
body.doc .logo {
  display: inline-block;
  max-width: 150px;
  margin: auto;
  margin-top: 50px;
}
body.doc .doc-box {
  display: block;
  position: relative;
  margin: auto;
  text-align: left;
  background: rgba(255,255,255,.75);
  border-radius: 1rem;
  padding: 1rem;
  max-width: 750px;
}
body.doc .doc-box .doc-preview {
  text-align: center;
  padding-bottom: 20px;
}
body.doc .doc-box .doc-preview img {
  width: 150px;
  border: 1px solid rgba(0,0,0,.25);
  border-radius: 2px;
  transform: rotate(5deg);
  box-shadow: 0 2px 20px rgba(0,0,0,.15);
}

footer {
  display: block;
  position: relative;
  text-align: center;
  margin: 0;
  padding: 20px;
  margin-top: 50px;
}
footer img {
  position: relative;
  max-width: 100px;
}


@media (min-width: 992px) {
  body.form .container, .container-lg, .container-md, .container-sm, .container-xl {
    max-width: 720px;
  }
  .logos {
    grid-template-columns: repeat(6, 1fr);
  }
}
@media (min-width: 1200px) {
  .h2, h2 {
    font-size: 1.5rem;
  }
}
