/* Base */
body {
  color: var(--dmc-text);
}

a {
  text-decoration: none;
}

ul {
  list-style: none;
  padding: 0;
}

table {
  width: 100%;
}

/* Typography */
h1, .h1 {
  font-weight: 700;
  font-size: 1.7rem;
  color: var(--bs-accent);
  margin-bottom: 2rem;
}

h2, .h2 {
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--bs-primary);
}

h3, .h3 {
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--bs-primary);
}

h4, .h4 {
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--bs-primary);
}

p {
  margin-bottom: 1.5rem;
}

.intro {
  font-size: 1.1rem;
}

.cta-text {
  font-size: 1.1rem;
}

/* Layout / Containers */
.container-wide {
  max-width: 1400px;
  /* Or any value you want */
}

.container .container {
  padding-left: 0;
  padding-right: 0;
}

.container .container>.row {
  margin-left: 0;
  margin-right: 0;
  --bs-gutter-x: 0;
}

.page-image img {
  width: 100%;
}

.page-image .container {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.carousel .container {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.cta {
  position: absolute;
  bottom: 8%;
  left: 0px;
  background: rgba(255, 255, 255, 0.9);
  padding: 20px;
  max-width: 50%;
  min-width: 40%;
  border-radius: 3px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.2);
}

/* Navigation */
#main-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
}

#main-menu ul a {
  display: block;
  padding: 0.4rem 1rem;
  border-radius: var(--dmc-rounded);
  margin-right: 0.5rem;
  font-weight: 600;
}

#main-menu ul a.is-active {
  background: var(--bs-accent);
}

#main-menu ul a:hover {
  background: var(--bs-light);
  color: var(--bs-primary);
}

footer ul {
  list-style: none;
  padding: 0;
}

/* Submenu / side navigation */
.submenu ul {
  list-style: none;
  padding: 0;
}

.submenu ul a {
  display: block;
  background: var(--bs-light);
  padding: 0.3rem 0.5rem 0.3rem 1.5rem;
  position: relative;
  margin-bottom: 0.5rem;
}

.submenu ul a:before {
  content: "";
  position: absolute;
  top: 17%;
  left: 8px;
  width: 2px;
  height: 66%;
  background: var(--bs-white);
}

.submenu ul a:hover {
  background: var(--bs-white);
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .16), 0 2px 10px 0 rgba(0, 0, 0, .12);
}

.submenu ul a:hover:before {
  background: var(--bs-light);
}

.submenu ul a.is-active {
  font-weight: 700;
  color: var(--bs-accent);
}

.submenu ul a.is-active:before {
  background: var(--bs-accent);
}

/* Components */
.rounded {
  border-radius: var(--dmc-rounded);
}

.btn {
  border-radius: var(--dmc-rounded);
}

.btn-fb {
  background: #3b5998;
  border-color: #3b5998;
}

.btn-x {
  background: #000;
  border-color: #000;
}

.btn-linkedin {
  background: #0077B5;
  border-color: #0077B5;
}

.btn-pinterest {
  background: #bd081c;
  border-color: #bd081c;
}

.btn-whatsapp {
  background: #075e54;
  border-color: #075e54;
}

.element p:last-child {
  margin-bottom: 0;
}

.element.text p a {
  text-decoration: underline;
}

.element.text p a.btn {
  text-decoration: none;
}

.element-list.border .row {
  padding: 1rem;
  border-bottom: 1px solid var(--bs-dark);
}

.element-list.border .row:first-child {
  padding-top: 1rem;
}

.element-list.border .row:last-child {
  padding-bottom: 1rem;
  border-bottom: 0;
}

.element.card.p-3 .card-img-top {
  margin: -1rem;
  margin-bottom: 1rem;
  border-top-left-radius: var(--dmc-rounded);
  border-top-right-radius: var(--dmc-rounded);
  width: auto;
}

ul.infoblock-links li {
  border-bottom: 1px solid var(--bs-light);
}

ul.infoblock-links li a {
  padding: 0.5rem 0;

}

ul.infoblock-links li:last-child {
  border-bottom: 0;
}

/* Numbered blocks */
ul.blocks {
  counter-reset: item;
}

ul.blocks li {
  position: relative;
  padding-left: 2.5rem;
  margin-bottom: 0.5rem;
}

ul.blocks li:before {
  content: counter(item) " ";
  counter-increment: item;
  position: absolute;
  top: 1px;
  left: 0;
  width: 25px;
  height: 25px;
  text-align: center;
  line-height: 25px;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  box-sizing: content-box;
  font-size: 1em;
  background: var(--bs-accent);
  color: #FFF;
}

/* Icon lists */
ul.iconlist li:before {
  position: absolute;
  top: 1px;
  left: 0;
  font-family: 'Font Awesome 6 Pro' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding-right: 1rem;
  padding: 0.1rem 1rem 0.1rem 0;
}

ul.iconlist li {
  padding-left: 2rem !important;
  position: relative;
  list-style: none !important;
  padding: 0.1em 0;
}

ul.arrowlist li:before {
  content: "\f105";
  font-size: 0.85em;
  padding: 0.25rem 1rem 0.1rem 0;
  font-weight: 600;
  color: var(--bs-accent);
}



/* Tables */
table th {
  padding: 0.5rem;
  font-weight: 600;
  background: var(--bs-light);
  color: var(--bs-primary);
  border: 1px solid var(--bs-dark);
}

table td {
  padding: 0.5rem;
  border: 1px solid var(--bs-dark);
}

table td.light {
  background-color: var(--bs-light);
  color: var(--bs-primary);
}

/* Specific: dekkingen table alignment */
table.dekkingen td,
table.dekkingen th {
  text-align: center;
}

table.dekkingen td:first-child,
table.dekkingen th:first-child {
  width: 70%;
  text-align: left;
}

/* Utilities / Backgrounds */
.bg-primary a {
  color: var(--bs-white);
}

.bg-primary.text-white {
  color: rgba(255, 255, 255, 0.85) !important;
}

.bg-accent.text-white {
  color: rgba(255, 255, 255, 0.85) !important;
}

.bg-primary p a {
  color: var(--bs-white);
}

.bg-accent h2 {
  color: var(--bs-white);
}




.font-large {
  font-size: 1.5rem;
}

.opacity-50 {
  opacity: 0.5 !important;
}

.opacity-75 {
  opacity: 0.75 !important;
}

.opacity-100 {
  opacity: 1 !important;
}

.rente {
  background-color: rgba(255, 255, 255, 0.90);
}

#main-menu ul.menu li {margin:0;padding:0;}
#main-menu ul.menu li a {padding:0.8rem 1.2rem;margin:0;}
#main-menu ul.menu li a.active {background-color:var(--bs-accent);color:var(--bs-white);}

