:root {
  /* --red: #E10404; */
  --red: #BD0000; /* color */
  --blue: #003146; /* a:hover */
  --light-yellow: #FFFBE7; /* background-color */
  --pink: #FFC6C6; /* selection */
}

/*--------------------------------------------------
  General
  --------------------------------------------------*/
html {
  background: url("../images/background.svg") no-repeat top center;
  background-color: var(--light-yellow);
  overflow-y: scroll;
}

::selection {
  background: var(--pink);
}

body {
  max-width: 720px;
  margin: 0 auto;
  font: 12pt Arial, sans-serif;
  color: var(--red);

  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 200px 1fr;
  -ms-grid-rows: 255px auto;
  grid-auto-columns: 200px minmax(200px, 520px);
  grid-auto-rows: 255px auto auto;
  grid-template-areas:
    "header header"
    "navigation main"
    "navigation information";
}

header {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-area: header;
}
.main-nav {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  grid-area: navigation;
  width: 200px;
  min-height: 550px;
  overflow: visible;
}
iframe {
  border: 0;
  height: 100%;
  width: 100%;
}
section[role="main"] {
  -ms-grid-row: 2;
  -ms-grid-column: 2;
  grid-area: main;
}
section[role="contentinfo"] {
  -ms-grid-row: 3;
  -ms-grid-column: 2;
  grid-area: information;
  margin: 0 36px;
}

/*--------------------------------------------------
  Header
  --------------------------------------------------*/
.logo {
  position: relative;
  float: right;
  margin: 60px 50px 0 0;
}

/*--------------------------------------------------
  Contents
  --------------------------------------------------*/
h1, h2 {
  margin: 0;
  margin-top: 18px;
  margin-bottom: 24px;
  text-align: center;
}
h1 {
  font-size: 26px;
}
h2 {
  font-size: 18px;
}
h4 {
  margin-top: 45px;
  margin-bottom: 18px;
  padding-top: 9px;
  border-top: 1px dotted var(--red);
  font-size: 16px;
}
h4 a {
  text-decoration: none;
}
hgroup>h1 {
  margin-bottom: 0;
}
hgroup>h2 {
  margin-top: 6px;
}
.welcome>h1 {
  font-size: 30px;
}
.welcome>h2 {
  font-size: 20px;
  margin-top: 10px;
}

p {
  margin: 0 0 12px 0;
}
ul {
  margin: 0;
  padding: 0;
}
a {
  color: inherit;
}
a:hover {
  color: var(--blue);
  text-decoration: none;
}
.image {
  margin-bottom: 18px;
  text-align: center;
}
img {
  width: 100%;
  height: auto;
  border-radius: 9px;
}
figcaption {
  font-size: 10px;
  text-align: right;
  color: #E38888;
}
figcaption a:hover {
  color: var(--red);
}

.list {
  list-style-type: "▪  ";
}
.list p {
  margin-bottom: 5px;
}
.list li {
  margin-left: 15px;
}

.podtitle {
  margin-bottom: 5px;
  font-size: 16px;
}
.pod {
  display: block;
  margin: auto;
  width: 75%;
}

/*--------------------------------------------------
  Descriptions
  --------------------------------------------------*/
.description {
  margin-bottom: 54px;
  font-family: Georgia, serif, Arial;
  font-style: italic;
  text-align: center;
  color: #003146;
}

/*--------------------------------------------------
  Category sub navigation
  --------------------------------------------------*/
.sub-nav {
  margin: 0 36px;
}
.sub-nav ul {
  list-style: none;
}
.sub-nav a:not(.inline-link) {
  margin-top: 18px;
  padding: 12px;
  display: block;
  border: 1px dotted var(--red);
  border-radius: 9px;
  border-spacing: 50px;
  font: 900 12px "Segoe UI", Arial, sans-serif;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
}
.sub-nav a:not(.inline-link):hover {
  background-color: #FAFEEE;
  border-color: var(--blue);
  cursor: pointer;
}
.sub-nav>a:not(.inline-link) {
  padding: 1px;
}

.sub-nav-thumb {
  display: flex;
  gap: 1em;
  align-items: stretch;
}
.sub-nav-thumb li {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.sub-nav img {
  max-width: 150px;
  height: auto;
}

/*--------------------------------------------------
  Information table
  --------------------------------------------------*/
.services a:not(.inline-link) {
  margin-top: 0;
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.services a~a {
  border-radius: 0 !important;
}

.info-table {
  width: 100%;
  margin-top: 36px;
  margin-bottom: 54px;
  padding: 9px;
  border: 1px dotted var(--red);
  border-radius: 9px;
  font: 12pt "Arial Narrow", Arial, sans-serif;
}
li>.info-table {
  margin: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
td:first-child {
  width: 80px;
  text-align: right;
  padding-right: 9px;
}

.services li {
  margin-top: 18px;
  margin-bottom: 0;
}
.services:last-child {
  margin-bottom: 54px;
}

.tbd {
  font-style: italic;
  color: var(--blue);
}

/*--------------------------------------------------
  Specifics
  --------------------------------------------------*/
/* index.html */
.targetgroup~ul {
  margin-left: 15px;
  list-style-type: "...";
}

.tooltip {
  position: relative;
  border-bottom: .5px dotted;
}
.tooltip a {
  text-decoration: none;
}
.tooltip::before {
  content: attr(data-text);
  position: absolute;
  margin-top: 24px;
  left: -25px;
  width: 150px;
  padding: 9px;
  border-radius: 9px;
  background: var(--pink);
  color: var(--red);
  text-align: center;
  font: 10pt "Arial Narrow", Arial, sans-serif;
  opacity: 0;
  transition: .5s opacity;
}
.tooltip:hover::before {
  opacity: 1;
  background-color: rgba(255, 198, 198, 0.5)
}

/* vasu.html */
.vasu {
  float: left;
  margin: 10px 20px 20px 0;
  max-width: 200px;
}

/* aanbod.html */
.tip {
  background-color: rgba(255, 198, 198, 0.4)
}
.tipcontainer {
  position: relative;
  width: 0;
  height: 0;
}
.tiptext {
  position: absolute;
  left: -75px;
  top: 9px;
  font: 700 16px "Segoe UI", Arial, sans-serif;
}

/* aanbod.html */
.services-note p {
  text-align: center;
  margin: 5px;
}

/*--------------------------------------------------
  @media
  --------------------------------------------------*/
@media (max-width: 660px) {
  html {
    /* background-image: linear-gradient(#FFC6C6 1%, #FFFBE7 99%); */
    background-image: none;
   }
  header {
    background: rgb(255,251,231);
    background: linear-gradient(0deg, rgba(255,251,231,1) 25%, rgba(255,198,198,1) 100%);
  }
  header, section[role="main"], section[role="contentinfo"] {
    padding-right: 20px;
  }
}
