:root {
  /** Fonts **/
  --roboto:       'Roboto',        'Helvetica Neue', Arial, Sans-Serif;
  --robotoMedium: 'Roboto-Medium', 'Helvetica Neue', Arial, Sans-Serif;
  --robotoBold:   'Roboto-Bold',   'Helvetica Neue', Arial, Sans-Serif;
  --robotoBlack:  'Roboto-Black',  'Helvetica Neue', Arial, Sans-Serif;

  --textColor: hsl(215, 10%, 20%);

  /** Grayscale **/
  --gray1: hsl(60, 1%, 85%);
  --gray2: hsl(60, 1%, 68%);
  --gray3: hsl(60, 1%, 47%);
  --gray4: hsl(60, 1%, 29%);
  --gray5: hsl(60, 1%, 10%);

  --nsg: hsl(172, 96%, 30%);
  --green: hsl(163, 46%, 60%);
  --blue: hsl(185, 65%, 35%);
  --orange: hsl(28, 92%, 42%);
}

html {
  font-size: 16px;
  font-family: var(--roboto);
  line-height: 1.2;
}

body {
  max-width: 1500px;
  display: flex;
  flex-direction: column;
  background: none;
  background-color: hsl(0, 0%, 98%);
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
  color: var(--textColor);
}

h1 {
  margin: .5em 0;
  font-size: 1.9rem;
  font-family: var(--robotoMedium);
  font-weight: normal;
}

h2 {
  margin: .5em 0;
  font-size: 1.55rem;
  font-family: var(--robotoMedium);
  font-weight: normal;
}

h3 {
  margin: .5em 0;
  font-size: 1.25rem;
  font-family: var(--robotoMedium);
  font-weight: normal;
}

h4 {
  margin: .5em 0;
  font-size: 1rem;
  font-family: var(--robotoMedium);
  font-weight: normal;
}

h5 {
  margin: .5em 0;
  font-size: .85rem;
  font-family: var(--robotoMedium);
  font-weight: normal;
}

h6 {
  margin: .5em 0;
  font-size: .70rem;
  font-family: var(--robotoMedium);
  font-weight: normal;
}

strong {
  font-family: var(--robotoBold);
  font-weight: normal;
}

p, li { /** vaak gaan deze twee samen en het ziet er raar uit met verschillende regelhoogte **/
  line-height: 1.5;
}

a {
  color: var(--blue);
  text-decoration: none;
  transition: color .2s ease-in-out 0s;
}

input {
  color: hsl(215, 12%, 30%);
  font-size: 1rem;
}

.button-outlined {
  display: inline-block;
  margin: .5em 0;
  padding: .75em 1.25em;
  background-color: transparent;
  border: 2px solid white;
  border-radius: 5px;
  box-shadow: 0px 2px 6px hsla(0, 0%, 0%, 0.2);
  color: white;
  font-family: var(--robotoMedium);
  cursor: pointer;
  transition: all .2s ease-in-out 0s;
}

.button-outlined:hover {
  background-color: white;
  color: var(--blue);
}

video {
  width: 100%;
  height: auto;
}

.no-break {
  white-space: nowrap;
}

input[type='radio'], input[type='checkbox'] {
  margin-right: 5px;
}

textarea {
  resize: vertical;
}

ul {
  list-style-position: inside;
}

footer {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 30px 2vw;
  font-size: .8rem;
  color: var(--textColor);
}

footer :is(a, a:hover, a:visited) {
  margin: 0;
  padding: 0;
  color: var(--textColor);
  font-size: .8rem;
}

.rotatedArrow {
    transform: rotate(180deg);
    border-left-width: 0 !important;
}

.spamvalidate {
  display: none;
}

.rood {
  color: red; /*used for error messages, color must be easy to differentiate from the red/pinkish links*/
}

.bold {
  font-weight: bold;
}

.topError {
  margin: 10px 0;
}

/* Social icons */
.socmedia img {
  vertical-align: middle;
  width:  24px;
  height: 24px;
  transition: transform .2s ease-in-out 0s;
}

.socmedia img:hover {
  transform: scale(1.2);
}

/* sound guide page */
.soundGuideResults {
  max-width: 100%; /* small viewports */
  overflow: auto; /* small viewports */
}

.soundGuideResults table {
  width: 100%;
}

.soundGuideResults hr {
  margin: 1.2em 0;
  border: 0;
  border-bottom: solid var(--blue) 1px;
}

.boxesSoundGuide {
  margin: 0.3em 0.25em 1.2em;
}

.boxesSoundGuide label {
  padding-right: 8px;
}

table.data th {
  text-align: left;
}

.soundGuideResults td[colspan]:not([colspan="1"]) {
  /* dbv5 no results */
  font-weight: normal !important;
  text-align: left !important;
}

/*===[ Table Navigation ]===*/
.dbv5-html-nav {
  background-color: white;
  border: 1px solid hsl(210, 10%, 65%);
  border-radius: 4px;
  box-shadow: 0 2px 3px -2px hsla(210, 10%, 20%, .4);
  overflow: hidden;
  cursor: default;
}

.dbv5-html-nav .hideIfCSSLoaded {
  display: none;
}

.dbv5-html-nav :where(a, label),
.dbv5-html-nav-active {
  all: unset;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 30px;
  padding: 2px 10px;
  box-sizing: border-box;
  transition: all .2s ease-in-out 0s;
}

.dbv5-html-nav a {
  color: var(--blue);
  cursor: pointer;
}

.dbv5-html-nav a:hover {
  color: var(--orange);
  transform: none;
}

/** Highlight geselecteerde pagina **/
.dbv5-html-nav-active {
  background-color: var(--orange);
  border-color: var(--orange);
  color: white;
  pointer-events: none;
}

.dbv5-html-nav span,
.dbv5-html-nav-breakdots {
  pointer-events: none;
}

.dbv5-html-nav-prevnext,
.dbv5-html-nav-all,
.dbv5-html-hidcol-all {
  padding: 2px 10px;
  font-weight: 600;
}

h2.sectionSoundGuide {
  margin-left: 0.25em;
  margin-bottom: 0.2em;
  margin-top: 0.8em;
  padding: 0;
}

.soundGuideSearch h1 {
  padding-bottom: 16px;
}

.soundGuideSearch h5 {
  padding-top: 4px;
  padding-bottom: 4px;
}

.category_form select {
  background: #f7f7f7;
  border: 1px solid #d1d1d1;
  color: #686868;
  font-size: 0.8rem;
  height: 28px;
  width: 100%;
}

.showDetailsPerson, .showDetailsCompany, .showDetailsGov {
  color: #e80092;
  text-decoration: none;
  cursor: pointer;
}

#detailContainer {
  position: fixed;
  background-color: white;
  z-index: 10001;
  display: none;
  padding: 12px;
  border-radius: 5px;
  width: 480px;
  max-width: calc(100% - 20px);
}

#detailBackground {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
  background-color: #000;
  opacity: 0.8;
  display: none;
}

#detailContainer h3 {
  margin-top: 0;
}

#detailClose {
  float: right;
  padding: 1px 4px;
  font-size: 1.1rem;
}

#detailTitle {
  font-weight: bold;
  font-size: 1.1rem;
  text-transform: uppercase;
  padding-bottom: 12px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 10px;
}

#detailSubTitle {
  color: var(--textColor);
  font-weight: bold;
  font-size: 1rem;
  text-transform: uppercase;
  margin: 10px 0;
}

.detailLabel {
  display: inline-block;
  font-style: italic;
  font-size: 0.9rem;
  width: 200px;
}

.detailValue {
  display: inline-block;
  font-size: 0.9rem;
}

.bestelAfbeelding {
  text-align: center;
}

.block {
  padding-top: 15px;
}

input.amountInput {
  width: 45px;
}
