@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap");
body {
  font-family: "Open Sans", sans-serif;
}

:root {
  --primary-color: #dc0a3b;
  --secondary-color: #666666;
  --tertiary-color: #ffffff;
  --quaternary-color: #323232;
  --quinary-color: #000000;
  --senary-color: #cccccc;
  --septenary-color: #f1f1f1;
  --octonary-color: #808080;
}

body {
  margin: 0px;
}

.container {
  width: calc(100% - 30px);
  max-width: 1500px;
  margin: 0 auto;
}

section {
  margin-bottom: 50px;
}

.hero .image {
  width: 100%;
  height: 250px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width: 992px) {
  .hero .image {
    height: 300px;
  }
}
@media (max-width: 768px) {
  .hero .image {
    height: 200px;
  }
}

.no-hero-found {
  margin-top: 50px;
}

.course-hero .image {
  width: 100%;
  height: 400px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width: 992px) {
  .course-hero .image {
    height: 300px;
  }
}
@media (max-width: 768px) {
  .course-hero .image {
    height: 200px;
  }
}

header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--tertiary-color);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}
header .container .navbar {
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 1200px) {
  header .container .navbar {
    align-items: center;
  }
}
header .container .navbar .logo img {
  width: 200px;
}
@media (max-width: 768px) {
  header .container .navbar .logo img {
    width: 125px;
  }
}
header .container .navbar .navigation .desktop {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
@media (max-width: 1200px) {
  header .container .navbar .navigation .desktop {
    display: none;
  }
}
header .container .navbar .navigation .desktop .top {
  justify-content: right;
  display: flex;
  gap: 50px;
}
header .container .navbar .navigation .desktop .top img {
  width: auto;
  height: 40px;
}
header .container .navbar .navigation .desktop .bottom ul {
  display: flex;
  gap: 30px;
  list-style: none;
  margin-block-start: 0;
  margin-block-end: 0;
  padding-inline-start: 0;
  align-items: center;
}
header .container .navbar .navigation .desktop .bottom ul li {
  position: relative;
}
header .container .navbar .navigation .desktop .bottom ul li a {
  text-decoration: none;
  font-weight: 500;
  font-size: 16px;
  color: var(--quaternary-color);
}
header .container .navbar .navigation .desktop .bottom ul li a:hover {
  color: var(--primary-color);
}
header .container .navbar .navigation .desktop .bottom ul li.current-menu-item a {
  color: var(--primary-color);
}
header .container .navbar .navigation .desktop .bottom ul li .sub-menu {
  position: absolute;
  top: calc(100% + 10px);
  display: flex;
  flex-direction: column;
  gap: 0px !important;
  left: -20px;
  min-width: 220px;
  background: var(--tertiary-color);
  padding: 15px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.3s ease;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  z-index: 999;
}
header .container .navbar .navigation .desktop .bottom ul li .sub-menu li {
  width: 100%;
}
header .container .navbar .navigation .desktop .bottom ul li .sub-menu li a {
  display: block;
  padding: 10px 20px;
  color: var(--quaternary-color);
}
header .container .navbar .navigation .desktop .bottom ul li:hover .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
header .container .navbar .navigation .mobile {
  display: none;
}
@media (max-width: 1200px) {
  header .container .navbar .navigation .mobile {
    display: block;
  }
}
header .container .navbar .navigation .mobile i {
  font-size: 24px;
  color: var(--quaternary-color);
  cursor: pointer;
}
header .container .navbar .navigation .mobile .search-form {
  width: 100%;
  margin: 20px 0;
}
header .container .navbar .navigation .mobile .search-form i {
  font-size: 16px;
  color: var(--tertiary-color);
}
header .container .navbar .navigation .mobile .search-form input {
  width: 100%;
}
header .container .navbar .navigation .mobile .mobile-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(6px);
  opacity: 0;
  visibility: hidden;
  transition: 0.3s ease;
  z-index: 1500;
}
header .container .navbar .navigation .mobile .mobile-overlay.active {
  opacity: 1;
  visibility: visible;
}
header .container .navbar .navigation .mobile .mobile-menu {
  position: fixed;
  top: 0;
  right: -100%;
  width: 80%;
  max-width: 500px;
  width: 100%;
  height: 100vh;
  background: var(--tertiary-color);
  z-index: 2000;
  transition: right 0.3s ease;
  box-shadow: -10px 0 30px rgba(0, 0, 0, 0.1);
}
header .container .navbar .navigation .mobile .mobile-menu.active {
  right: 0;
}
header .container .navbar .navigation .mobile .mobile-menu .mobile-menu-inner {
  padding: 60px 20px 20px;
  position: relative;
}
header .container .navbar .navigation .mobile .mobile-menu .mobile-menu-inner .mobile-close {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 24px;
  cursor: pointer;
}
header .container .navbar .navigation .mobile .mobile-menu .mobile-menu-inner ul {
  margin-block-start: 0;
  margin-block-end: 0;
  padding-inline-start: 0;
  list-style: none;
}
header .container .navbar .navigation .mobile .mobile-menu .mobile-menu-inner ul li {
  position: relative;
  margin-bottom: 10px;
}
header .container .navbar .navigation .mobile .mobile-menu .mobile-menu-inner ul li.menu-item-has-children > a {
  position: relative;
  display: block;
}
header .container .navbar .navigation .mobile .mobile-menu .mobile-menu-inner ul li.menu-item-has-children > a::after {
  content: "▾";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}
header .container .navbar .navigation .mobile .mobile-menu .mobile-menu-inner ul li .sub-menu {
  height: 0;
  overflow: hidden;
  transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
header .container .navbar .navigation .mobile .mobile-menu .mobile-menu-inner ul li .sub-menu li:first-of-type {
  margin-top: 20px;
}
header .container .navbar .navigation .mobile .mobile-menu .mobile-menu-inner ul li.open > a::after {
  transform: translateY(-50%) rotate(180deg);
}
header .container .navbar .navigation .mobile .mobile-menu .mobile-menu-inner ul a {
  color: var(--quaternary-color);
  text-decoration: none;
  font-size: 22px;
}
header .container .navbar .navigation .mobile .mobile-menu .mobile-menu-inner ul a:hover {
  color: var(--primary-color);
}
header .container .navbar .navigation .mobile .part-of {
  display: flex;
  justify-content: space-between;
}
header .container .navbar .navigation .mobile .part-of img {
  max-width: 120px;
  height: auto;
}
header .search-form {
  display: flex;
  align-items: center;
}
header .search-form input {
  padding: 10px 12px;
  border: 1px solid var(--senary-color);
  border-right: none;
  outline: none;
  font-size: 16px;
}
header .search-form button {
  padding: 12px 12px;
  border: 1px solid var(--senary-color);
  background: var(--primary-color);
  color: var(--tertiary-color);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
header .search-form button:hover {
  background: var(--primary-color);
}

footer {
  margin: 100px 0px 50px;
}
footer .top .background {
  padding: 14px 0;
  background-color: var(--secondary-color);
  color: var(--tertiary-color);
  text-align: center;
}
footer .top .background .container p {
  margin: 0;
  color: var(--tertiary-color);
}
footer .bottom {
  padding: 25px 0;
}
footer .bottom .container .flex-box {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 576px) {
  footer .bottom .container .flex-box {
    display: flex;
    flex-direction: column;
    justify-content: unset;
    align-items: center;
    gap: 25px;
  }
}
footer .bottom .container .info ul {
  display: flex;
  gap: 20px;
  list-style: none;
  margin-block-start: 0;
  margin-block-end: 0;
  padding-inline-start: 0px;
}
footer .bottom .container .info ul li a {
  color: var(--secondary-color);
  text-decoration: none;
  font-size: 0.8em;
}
footer .bottom .container .socials ul {
  display: flex;
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
}
footer .bottom .container .socials ul li a {
  width: 40px;
  height: 40px;
  border: 4px solid var(--secondary-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--secondary-color);
  text-decoration: none;
  font-size: 16px;
  transition: 0.2s ease;
}

h1, h2, h3, h4, h5, h6 {
  margin-bottom: 1rem;
  margin-top: 0;
  line-height: 1.2;
}

h1 {
  color: var(--primary-color);
  font-weight: normal;
  font-size: 2em;
}

h2 {
  color: var(--primary-color);
  font-weight: normal;
  font-size: 1.4em;
}

p {
  line-height: 1.5em;
  margin-block-start: 0;
  margin-block-end: 0;
  margin-bottom: 1rem;
  font-size: 16px;
  color: var(--quaternary-color);
}

ul {
  color: var(--quaternary-color);
}

section ul {
  margin-block-start: 0;
  margin-block-end: 20px;
  padding-inline-start: 20px;
  line-height: 32px;
}

section ol {
  margin-block-start: 0;
  margin-block-end: 20px;
  padding-inline-start: 20px;
  line-height: 32px;
}

section ol li::marker {
  font-weight: 700;
  color: var(--primary-color);
}

a {
  transition: 125ms ease-in-out;
}
a:hover {
  opacity: 0.8;
}

a.red-button {
  background-color: var(--primary-color);
  border-radius: 3px;
  display: inline-block;
  color: var(--tertiary-color);
  padding: 10px 14px;
  text-decoration: none;
  text-align: center;
  line-height: 1;
  border-color: var(--primary-color);
  font-weight: bold;
  font-size: 1em;
}

li.red-button a {
  background-color: var(--primary-color);
  border-radius: 3px;
  display: inline-block;
  color: var(--tertiary-color) !important;
  padding: 10px 14px;
  text-decoration: none;
  text-align: center;
  line-height: 1;
  border: 1px solid var(--primary-color);
  font-weight: bold;
  font-size: 1em;
}

li.red-button-reverse a {
  border: 1px solid var(--primary-color) !important;
  border-radius: 3px;
  display: inline-block;
  color: var(--primary-color) !important;
  padding: 10px 14px;
  text-decoration: none;
  font-weight: 500;
  font-size: 16px;
  text-align: center;
  line-height: 1;
  border-color: var(--primary-color);
}

.form input[type=submit],
.nf-form-content input[type=submit] {
  background-color: var(--primary-color) !important;
  border-radius: 3px !important;
  display: inline-block !important;
  color: var(--tertiary-color) !important;
  padding: 10px 14px !important;
  text-decoration: none !important;
  text-align: center !important;
  line-height: 1 !important;
  border-color: var(--primary-color) !important;
  font-weight: bold !important;
  font-size: 1em !important;
  cursor: pointer !important;
  transition: 125ms ease-in-out !important;
}
.form input[type=submit]:hover,
.nf-form-content input[type=submit]:hover {
  opacity: 0.8 !important;
}

.nf-form-fields-required {
  display: none !important;
}

.nf-form-content {
  padding: 0px !important;
}

@media (max-width: 992px) {
  .nf-form-cont {
    margin-bottom: 40px !important;
  }
}

.fields .container .content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px;
}
@media (max-width: 1200px) {
  .fields .container .content {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
  }
}
@media (max-width: 768px) {
  .fields .container .content {
    grid-template-columns: repeat(1, 1fr);
  }
}
.fields .container .content .field {
  position: relative;
}
.fields .container .content .field a {
  color: var(--tertiary-color);
  text-decoration: none;
}
.fields .container .content .field .field-image {
  width: 100%;
  height: 200px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.fields .container .content .field .text {
  padding: 10px 25px;
}
.fields .container .content .field .text .count {
  position: absolute;
  bottom: 15px;
  right: 15px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--tertiary-color);
  color: var(--quinary-color);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 14px;
  z-index: 3;
}
.fields .container .content .field .text h2 {
  margin-block-end: 0;
  color: var(--tertiary-color);
  font-size: 16px;
}

.field.kunst-en-cultuur {
  order: 1;
}
.field.kunst-en-cultuur .text {
  background-color: #2e80ab;
}

.field.mens-en-maatschappij {
  order: 2;
}
.field.mens-en-maatschappij .text {
  background-color: #69352a;
}

.field.geschiedenis {
  order: 3;
}
.field.geschiedenis .text {
  background-color: #50ae3d;
}

.field.wijsbegeerte {
  order: 4;
}
.field.wijsbegeerte .text {
  background-color: #c94d39;
}

.field.natuurwetenschappen {
  order: 5;
}
.field.natuurwetenschappen .text {
  background-color: #95c11e;
}

.field.live-online {
  order: 6;
}
.field.live-online .text {
  background-color: #2dafe5;
}

.text-video .content {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 50px;
}
@media (max-width: 992px) {
  .text-video .content {
    grid-template-columns: 1fr;
  }
}
.text-video .content .video iframe {
  width: 100%;
  height: 100%;
}
@media (max-width: 992px) {
  .text-video .content .video {
    height: 300px;
  }
}

.text-image .content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px;
}
.text-image .content .image {
  background-repeat: no-repeat;
  width: 100%;
  max-height: 700px;
  background-position: center center;
  background-size: cover;
}
@media (max-width: 992px) {
  .text-image .content .image {
    height: 400px;
  }
}
.text-image .content .accordion-item {
  margin-bottom: 10px;
}
.text-image .content .accordion-item.active .accordion-content {
  opacity: 1;
}
.text-image .content .accordion-header {
  display: flex;
  justify-content: space-between;
  background-color: #dddddd;
  color: var(--primary-color);
  padding: 10px 20px;
  cursor: pointer;
}
.text-image .content .accordion-header h3 {
  margin-bottom: 0px;
  font-weight: 500;
}
.text-image .content .accordion-content {
  padding: 20px 20px 0px 20px;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, opacity 0.3s ease;
}
.text-image .content .accordion-content .bureau-employees {
  display: flex;
  flex-direction: column;
  gap: 25px;
}
.text-image .content .accordion-content .bureau-employees .bureau-employee {
  display: flex;
  gap: 25px;
}
.text-image .content .accordion-content .bureau-employees .bureau-employee .content {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.text-image .content .accordion-content .bureau-employees .bureau-employee img {
  width: 100px;
  height: 100px;
}
.text-image .content .accordion-content .bureau-employees a {
  background-color: var(--primary-color);
  border-radius: 3px;
  display: inline-block;
  color: var(--tertiary-color) !important;
  padding: 10px 14px;
  text-decoration: none;
  text-align: center;
  line-height: 1;
  border-color: var(--primary-color);
  font-weight: bold;
  font-size: 1em;
}
.text-image .content a {
  color: var(--primary-color);
}
.text-image .accordion {
  margin-top: 25px;
}

.highlighted-course .content {
  margin-left: 0;
  margin-right: 0;
  padding: 40px 40px;
  display: grid;
  grid-template-columns: 1fr 3fr;
  gap: 40px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
@media (max-width: 992px) {
  .highlighted-course .content {
    grid-template-columns: 1fr 2fr;
  }
}
@media (max-width: 768px) {
  .highlighted-course .content {
    grid-template-columns: 1fr;
  }
}
.highlighted-course .content .image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width: 768px) {
  .highlighted-course .content .image {
    width: 100%;
    height: 200px;
  }
}

.highlighted-event .content {
  margin-left: 0;
  margin-right: 0;
  padding: 40px 40px;
  display: grid;
  grid-template-columns: 1fr 3fr;
  gap: 40px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
@media (max-width: 992px) {
  .highlighted-event .content {
    grid-template-columns: 1fr 2fr;
  }
}
@media (max-width: 768px) {
  .highlighted-event .content {
    grid-template-columns: 1fr;
  }
}
.highlighted-event .content .image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width: 768px) {
  .highlighted-event .content .image {
    width: 100%;
    height: 200px;
  }
}

.text-text .content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}
@media (max-width: 992px) {
  .text-text .content {
    grid-template-columns: 1fr;
  }
}

.login .inner {
  display: block;
}
.login .inner form i {
  color: var(--primary-color) !important;
}
.login .inner form .forgotten {
  display: flex;
  justify-content: flex-start;
  gap: 1rem;
}
.login .inner form .forgotten a {
  color: var(--primary-color);
}
.login .inner form .login-button-wrapper {
  justify-content: flex-start !important;
}
.login .inner form .login-button-wrapper input[type=submit] {
  margin-top: 25px;
}
.login .inner .widgets {
  display: none;
}

.registreren .row {
  width: calc(100% - 30px);
  max-width: 1500px;
  margin: 0 auto;
}
.registreren .row.inner {
  background-color: var(--septenary-color);
  padding: 25px;
}
@media (min-width: 900px) {
  .registreren .row .grid-container:last-child {
    display: block;
  }
}
.registreren .row .grid-container.form-widgets-wrapper {
  display: block;
}
.registreren .row .grid-container form {
  margin-block-end: 0;
}
.registreren .row .grid-container form .check-container {
  margin-right: 10px;
  padding-left: 0px;
}
.registreren .row .grid-container form .check-container input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 1px solid var(--octonary-color) !important;
  border-radius: 0 !important;
  background: var(--tertiary-color);
  display: grid;
  place-content: center;
  cursor: pointer;
  transition: background-color 125ms ease, border-color 125ms ease;
  margin: 0px;
}
.registreren .row .grid-container form .check-container input[type=checkbox]::before {
  content: "";
  width: 8px;
  height: 4px;
  border-left: 2px solid var(--tertiary-color);
  border-bottom: 2px solid var(--tertiary-color);
  transform: rotate(-45deg) scale(0);
  margin-top: -2px;
  transition: transform 125ms ease;
}
.registreren .row .grid-container form .check-container input[type=checkbox]:checked {
  background-color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
}
.registreren .row .grid-container form .check-container input[type=checkbox]:checked::before {
  transform: rotate(-45deg) scale(1);
}

.payment .row {
  width: calc(100% - 30px);
  max-width: 1500px;
  margin: 0 auto;
}
.payment .row.inner {
  background-color: var(--septenary-color);
  padding: 25px;
}
@media (min-width: 900px) {
  .payment .row .grid-container:last-child {
    display: block;
  }
}
.payment .row .grid-container.form-widgets-wrapper {
  display: block;
}
.payment .row form {
  margin-block-end: 0;
}
.payment .row form .check-container {
  margin-right: 10px;
  padding-left: 0px !important;
}
.payment .row form .check-container input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 1px solid var(--octonary-color) !important;
  border-radius: 0 !important;
  background: var(--tertiary-color);
  display: grid !important;
  place-content: center;
  cursor: pointer;
  transition: background-color 125ms ease, border-color 125ms ease;
  margin: 0px;
}
.payment .row form .check-container input[type=checkbox]::before {
  content: "";
  width: 8px;
  height: 4px;
  border-left: 2px solid var(--tertiary-color);
  border-bottom: 2px solid var(--tertiary-color);
  transform: rotate(-45deg) scale(0);
  margin-top: -2px;
  transition: transform 125ms ease;
}
.payment .row form .check-container input[type=checkbox]:checked {
  background-color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
}
.payment .row form .check-container input[type=checkbox]:checked::before {
  transform: rotate(-45deg) scale(1);
}
.payment .inner .information .arrow::after {
  display: none;
}

.gebruikersnaam-vergeten .grid-container {
  display: block;
}
.gebruikersnaam-vergeten .grid-container form input[type=submit] {
  margin-top: 25px;
}
.gebruikersnaam-vergeten .grid-container form .widgets {
  display: none;
}

.wachtwoord-vergeten .grid-container {
  display: block;
}
.wachtwoord-vergeten .grid-container form input[type=submit] {
  margin-top: 25px;
}
.wachtwoord-vergeten .grid-container form .widgets {
  display: none;
}

.mijn-hovo-page .hovo-table tr td:first-child,
.mijn-hovo-page .hovo-table tr th:first-child {
  padding: 8px 10px 10px 0px;
}

/* Wachtwoord wijzigen*/
.mijn-hovo-page .change-password .button-wrapper input[type=submit] {
  margin-top: 15px;
}

/* Mijn gegevens */
@media (min-width: 900px) {
  .mijn-gegevens:last-child {
    display: block;
  }
}
.mijn-gegevens.form-widgets-wrapper {
  display: block;
}
.mijn-gegevens .bottom .grid-container:last-child {
  display: block;
}
.mijn-gegevens form {
  margin-block-end: 0;
}
.mijn-gegevens form .check-container {
  margin-right: 10px;
  padding-left: 0px !important;
}
.mijn-gegevens form .check-container input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 1px solid var(--octonary-color) !important;
  border-radius: 0 !important;
  background: var(--tertiary-color);
  display: grid !important;
  place-content: center;
  cursor: pointer;
  transition: background-color 125ms ease, border-color 125ms ease;
  margin: 0px;
}
.mijn-gegevens form .check-container input[type=checkbox]::before {
  content: "";
  width: 8px;
  height: 4px;
  border-left: 2px solid var(--tertiary-color);
  border-bottom: 2px solid var(--tertiary-color);
  transform: rotate(-45deg) scale(0);
  margin-top: -2px;
  transition: transform 125ms ease;
}
.mijn-gegevens form .check-container input[type=checkbox]:checked {
  background-color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
}
.mijn-gegevens form .check-container input[type=checkbox]:checked::before {
  transform: rotate(-45deg) scale(1);
}

.search-results .results-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px;
}
@media (max-width: 1200px) {
  .search-results .results-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 992px) {
  .search-results .results-grid {
    display: block;
    grid-template-columns: unset;
    gap: unset;
  }
}
.search-results .results-grid:first-of-type {
  margin-bottom: 50px;
}
.search-results .results-grid article {
  padding: 25px;
  background-color: var(--tertiary-color);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}
@media (max-width: 992px) {
  .search-results .results-grid article {
    margin-bottom: 25px;
  }
}
.search-results .results-grid article a {
  color: var(--primary-color);
}
.search-results .pages-results p {
  margin-bottom: 0px;
}

.teachers .teacher {
  margin-bottom: 25px;
  background-color: var(--septenary-color);
}
.teachers .teacher.is-open .about {
  display: block;
  animation: teacherOpen 0.35s ease forwards;
}
.teachers .teacher.is-open .icon i {
  transform: rotate(180deg);
}
.teachers .teacher.is-open .header h2 {
  font-weight: 700;
}
.teachers .teacher .header {
  display: flex;
  justify-content: space-between;
  cursor: pointer;
  padding: 25px;
}
.teachers .teacher .header h2 {
  margin-bottom: 0;
}
.teachers .teacher .header .icon i {
  transition: transform 0.3s ease;
}
.teachers .teacher .about {
  display: none;
  opacity: 0;
  padding: 0px 25px 25px 25px;
}
.teachers .teacher .about .info {
  display: flex;
  margin-bottom: 20px;
}
.teachers .teacher .about .related-courses .courses {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 75px;
}
@media (max-width: 1200px) {
  .teachers .teacher .about .related-courses .courses {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .teachers .teacher .about .related-courses .courses {
    grid-template-columns: repeat(1, 1fr);
  }
}
.teachers .teacher .about .related-courses .courses .course {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #e1e1e1;
  grid-gap: 0px;
}
.teachers .teacher .about .related-courses .courses .course .course-image {
  background-repeat: no-repeat;
  width: 100%;
  height: 250px;
  background-position: center center;
  background-size: cover;
  margin-bottom: 1rem;
  flex-shrink: 0;
  position: relative;
}
.teachers .teacher .about .related-courses .courses .course .course-image img {
  width: 100px;
  border-radius: 5px;
}
.teachers .teacher .about .related-courses .courses .course .course-info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
}
.teachers .teacher .about .related-courses .courses .course .course-info .course-description {
  padding: 10px 25px 0px;
}
.teachers .teacher .about .related-courses .courses .course .course-info .course-description h2 {
  margin-bottom: 1rem;
  font-weight: 700;
}
.teachers .teacher .about .related-courses .courses .course .course-info .course-description .course-meta {
  margin-bottom: 10px;
}
.teachers .teacher .about .related-courses .courses .course .course-info .course-button {
  padding: 20px 25px 50px;
}
.teachers .teacher .about .related-courses .courses .course .course-info .course-button a {
  max-width: 29%;
  text-align: center;
  padding: 9px;
  font-size: 0.8em;
  line-height: 0.8em;
  background-color: var(--secondary-color);
  border-radius: 3px;
  color: var(--tertiary-color);
  text-decoration: none;
}

@keyframes teacherOpen {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.hovo-event .wrapper {
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 50px;
  margin-bottom: 50px;
}
@media (max-width: 992px) {
  .hovo-event .wrapper {
    grid-template-columns: 1fr;
  }
}
.hovo-event .wrapper ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (max-width: 992px) {
  .hovo-event .wrapper ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
  }
}
@media (max-width: 768px) {
  .hovo-event .wrapper ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
  }
}
@media (max-width: 576px) {
  .hovo-event .wrapper ul {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 25px;
  }
}
.hovo-event .wrapper li {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}
@media (max-width: 1500px) {
  .hovo-event .wrapper li {
    align-items: flex-start;
  }
}
.hovo-event .wrapper li i {
  width: 18px;
  text-align: center;
  width: 5%;
}
@media (max-width: 1500px) {
  .hovo-event .wrapper li i {
    margin-top: 8px;
  }
}
.hovo-event .wrapper .item-text {
  display: flex;
  gap: 6px;
  width: 95%;
}
@media (max-width: 1200px) {
  .hovo-event .wrapper .item-text {
    flex-direction: column;
    gap: 2px;
  }
}

.hovo-experience .container {
  display: grid;
  gap: 50px;
  grid-template-columns: 1fr 2fr;
}
@media (max-width: 992px) {
  .hovo-experience .container {
    display: block;
  }
}
.hovo-experience .container .image {
  width: 100%;
  height: 500px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width: 992px) {
  .hovo-experience .container .image {
    height: 250px;
    width: 100%;
    margin-bottom: 25px;
  }
}

.contact .container .wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}
@media (max-width: 992px) {
  .contact .container .wrapper {
    grid-template-columns: 1fr;
  }
}
.contact .container .wrapper .right iframe {
  width: 100%;
  margin-bottom: 50px;
}
.contact .container .wrapper .right .row {
  display: grid;
  border-bottom: 0px;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  width: unset !important;
}
.contact .container .wrapper .right .subject p,
.contact .container .wrapper .right .info p {
  margin-bottom: 0px;
  margin: 10px 0px;
}
.contact .container .wrapper .left .text p:last-of-type {
  margin-bottom: 80px;
}
@media (max-width: 992px) {
  .contact .container .wrapper .left .text p:last-of-type {
    margin-bottom: 40px;
  }
}
.contact .container .wrapper .left .text a {
  color: var(--primary-color);
}

@media (max-width: 768px) {
  .locations .container .flex-wrapper {
    display: flex;
    flex-direction: column;
  }
}
.locations .container .partners {
  display: flex;
  justify-content: space-between;
  gap: 50px;
  margin-bottom: 50px;
}
@media (max-width: 992px) {
  .locations .container .partners {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .locations .container .partners {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    order: 2;
    margin: 100px 0px 0px 0px;
  }
}
@media (max-width: 992px) {
  .locations .container .partners .partner {
    text-align: center;
  }
}
.locations .container .partners .partner img {
  width: 200px;
}
@media (max-width: 768px) {
  .locations .container .info {
    order: 1;
  }
}
.locations .container .info .wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 100px;
}
@media (max-width: 768px) {
  .locations .container .info .wrapper {
    display: flex;
    flex-direction: column;
    gap: 25px;
  }
}
@media (max-width: 768px) {
  .locations .container .info .wrapper .left {
    order: 2;
  }
}
.locations .container .info .wrapper .left .map img {
  max-width: 80%;
}
@media (max-width: 768px) {
  .locations .container .info .wrapper .left .map img {
    width: 100%;
    max-width: 100%;
  }
}
.locations .container .info .wrapper .left .location-names {
  margin-top: 25px;
}
.locations .container .info .wrapper .left .location-names a {
  color: var(--quinary-color);
  text-decoration: none;
  display: inline-block;
  padding: 5px 10px;
  border: 1px solid var(--primary-color);
}
.locations .container .info .wrapper .left .location-names a:hover {
  color: var(--tertiary-color);
  background-color: var(--primary-color);
  text-decoration: none;
  display: inline-block;
  padding: 5px 10px;
  border: 1px solid var(--primary-color);
}
.locations .container .info .wrapper .left .location-names .location-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
}
@media (max-width: 1500px) {
  .locations .container .info .wrapper .left .location-names .location-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5px;
  }
}
@media (max-width: 992px) {
  .locations .container .info .wrapper .left .location-names .location-wrapper {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 5px;
  }
}
@media (max-width: 768px) {
  .locations .container .info .wrapper .right {
    order: 1;
  }
}

.hovo-experiences .container .wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 50px;
}
@media (max-width: 1200px) {
  .hovo-experiences .container .wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 992px) {
  .hovo-experiences .container .wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .hovo-experiences .container .wrapper {
    grid-template-columns: repeat(1, 1fr);
  }
}
.hovo-experiences .container .wrapper .image-course-taker {
  background-repeat: no-repeat;
  width: 100%;
  height: 250px;
  background-position: center center;
  background-size: cover;
  margin-bottom: 1rem;
  flex-shrink: 0;
  position: relative;
}
.hovo-experiences .container .wrapper .image-course-taker .overlay {
  position: absolute;
  bottom: 0px;
  right: 0px;
}
.hovo-experiences .container .wrapper .image-course-taker .overlay h2 {
  margin-bottom: 0;
  font-size: 16px;
  color: var(--tertiary-color);
  font-weight: 700;
}
.hovo-experiences .container .wrapper .image-course-taker .overlay .name-course-taker {
  background-color: var(--secondary-color);
  padding: 10px 15px;
}
.hovo-experiences .container .wrapper a {
  text-decoration: none;
}

.mijn-hovo-page .hovo-menu-ul a {
  color: var(--tertiary-color);
  background-color: var(--primary-color);
  padding: 10px 20px 10px 20px;
  text-decoration: none;
  width: 100%;
  display: block;
  box-sizing: border-box;
}
.mijn-hovo-page .row {
  max-width: 1500px;
  width: unset;
  grid-template-columns: 4fr 1.3fr !important;
  gap: 100px !important;
}
@media (max-width: 768px) {
  .mijn-hovo-page .row {
    grid-template-columns: 1fr !important;
  }
}
.mijn-hovo-page .right {
  background-color: var(--septenary-color);
  padding: 50px;
}
.mijn-hovo-page .hovo-menu-container ul.hovo-menu-ul li {
  padding: 0px;
  margin-bottom: 10px;
}
.mijn-hovo-page a {
  color: var(--primary-color);
}

.form .input-wrapper input, .form .input-wrapper select {
  border: 1px solid var(--septenary-color);
}
.form .input-wrapper:last-of-type {
  margin-bottom: 25px;
}

.flash-message {
  position: relative;
}
.flash-message .row {
  position: absolute;
}
.flash-message .inner.success {
  background-color: var(--tertiary-color);
  border: unset;
  padding: 25px;
  border-radius: 20px;
  box-shadow: 0px 0px 10px 1px var(--septenary-color);
  color: green !important;
}
.flash-message .flash-message .inner.alert {
  background-color: var(--tertiary-color);
  border: unset;
  padding: 25px;
  border-radius: 20px;
  box-shadow: 0px 0px 10px 1px var(--septenary-color);
  color: red !important;
}

.course-filter-widget .filters .course-counter {
  text-align: left !important;
}

.course-single {
  margin-top: 100px;
}
.course-single .wrapper {
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 50px;
  margin-bottom: 50px;
}
@media (max-width: 992px) {
  .course-single .wrapper {
    grid-template-columns: 1fr;
  }
}
.course-single .wrapper .lecturer {
  margin-bottom: 25px;
}
.course-single .wrapper .lecturer .name-and-photo {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}
.course-single .wrapper .lecturer .name-and-photo h3 {
  margin: 0;
}
.course-single .wrapper .lecturer .name-and-photo a {
  color: var(--primary-color);
}
.course-single .wrapper .lecturer img {
  width: 50px;
  border-radius: 50px;
}
.course-single .wrapper .course-info .course-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}
@media (max-width: 992px) {
  .course-single .wrapper .course-info .course-info-grid {
    display: block;
  }
}
.course-single .wrapper .course-info .course-topic h2 {
  color: var(--primary-color);
  font-weight: normal;
  font-size: 1.2em;
}
.course-single .wrapper .course-info .image {
  width: 100%;
  height: 500px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width: 992px) {
  .course-single .wrapper .course-info .image {
    height: 250px;
    width: 100%;
    margin-bottom: 25px;
  }
}
.course-single .wrapper .course-info .course-topic .text {
  margin-bottom: 50px;
}
.course-single .wrapper .course-info .accordion:not(:last-child) {
  margin-bottom: 25px;
}
.course-single .wrapper .course-info .course-program,
.course-single .wrapper .course-info .course-extra-details {
  padding: 25px;
  background-color: var(--septenary-color);
}
.course-single .wrapper .course-info .accordion-title {
  cursor: pointer;
  margin: 0;
  padding: 15px;
  background: #ececec;
}
.course-single .wrapper .course-info .accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.course-single .wrapper .course-info .accordion.is-open .accordion-content {
  max-height: 1500px;
}
.course-single .wrapper .course-info .accordion .all-teachers {
  background-color: var(--septenary-color);
  padding: 25px;
}
.course-single .wrapper .course-info .accordion .all-teachers .teacher {
  display: flex;
  margin-bottom: 10px;
  align-items: center;
}
.course-single .wrapper .course-info .accordion .all-teachers .teacher .teacher-info {
  margin-left: 25px;
}
.course-single .wrapper .course-info .accordion .all-teachers .teacher .teacher-image img {
  width: 100px;
  border-radius: 50px;
}
.course-single .wrapper .course-info .accordion .all-teachers .teacher a {
  background-color: var(--primary-color);
  border-radius: 3px;
  display: inline-block;
  color: var(--tertiary-color) !important;
  padding: 10px 14px;
  text-decoration: none;
  text-align: center;
  line-height: 1;
  border-color: var(--primary-color);
  font-weight: bold;
  font-size: 1em;
}
.course-single .wrapper .info ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (max-width: 992px) {
  .course-single .wrapper .info ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
  }
}
@media (max-width: 768px) {
  .course-single .wrapper .info ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
  }
}
@media (max-width: 576px) {
  .course-single .wrapper .info ul {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 25px;
  }
}
.course-single .wrapper .info li {
  display: flex;
  gap: 10px;
}
@media (max-width: 1500px) {
  .course-single .wrapper .info li {
    align-items: flex-start;
  }
}
.course-single .wrapper .info li i {
  width: 18px;
  text-align: center;
  margin-top: 8px;
  width: 5%;
}
@media (max-width: 1500px) {
  .course-single .wrapper .info li i {
    margin-top: 8px;
  }
}
.course-single .wrapper .info .item-text {
  display: flex;
  gap: 6px;
  width: 95%;
}
@media (max-width: 1200px) {
  .course-single .wrapper .info .item-text {
    flex-direction: column;
    gap: 2px;
  }
}
.course-single .course-images {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.course-single .course-images .image {
  background-repeat: no-repeat;
  background-position: center center;
  width: 100%;
  height: 250px;
}
.course-single .enroll-course {
  height: 50px;
  width: 100%;
  display: flex;
  margin-bottom: 2rem;
}
.course-single .enroll-course a {
  background-color: var(--primary-color);
  color: var(--tertiary-color);
  text-decoration: none;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  font-weight: 700;
}
.course-single .enroll-course a:hover {
  transform: rotate(1deg) scale(1.02);
}
.course-single .enroll-course i {
  margin-left: 10px;
}
.course-single .location {
  display: flex;
  gap: 10px;
  background-color: var(--septenary-color);
  padding: 25px;
  margin-bottom: 1rem;
}
.course-single .location h3 {
  font-size: 17px;
}
.course-single .location p {
  margin-bottom: 0;
  font-size: 14px;
}
.course-single .location .icon i {
  font-size: 50px;
}

.educational-provision .all-courses #courses-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 75px;
}
@media (max-width: 1200px) {
  .educational-provision .all-courses #courses-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .educational-provision .all-courses #courses-list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.educational-provision .all-courses #started-courses-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 75px;
}
@media (max-width: 1200px) {
  .educational-provision .all-courses #started-courses-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .educational-provision .all-courses #started-courses-list {
    grid-template-columns: repeat(1, 1fr);
  }
}

.course-filter-widget {
  margin: 0 auto;
  width: calc(100% - 30px);
  max-width: 1500px;
}
.course-filter-widget .filters {
  padding: 15px 0px;
}
.course-filter-widget .filters select {
  background-image: url("https://testwp.hovoutrecht.nl/wp-content/themes/hovo-utrecht/public/assets/red-filter-arrow.png") !important;
}
.course-filter-widget #course-filters {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 25px;
}
@media (max-width: 768px) {
  .course-filter-widget #course-filters {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
.course-filter-widget .course-counter {
  text-align: unset;
}

.educational-provision .single-course-program {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: var(--septenary-color);
}
.educational-provision .course-program-image {
  background-repeat: no-repeat;
  width: 100%;
  height: 250px;
  background-position: center center;
  background-size: cover;
  margin-bottom: 1rem;
  flex-shrink: 0;
  position: relative;
}
.educational-provision .overlay {
  position: absolute;
  padding: 10px 20px;
  color: var(--tertiary-color);
  font-size: 16px;
}
.educational-provision .overlay-left {
  left: 0px;
  background: var(--quaternary-color);
}
.educational-provision .overlay-right {
  right: 0px;
  background: var(--primary-color);
}
.educational-provision h2 {
  margin-bottom: 1rem;
  font-weight: 700;
}
.educational-provision .course-program-title-and-details {
  flex-grow: 1;
  padding: 10px 25px 0px;
}
.educational-provision .course-program-title-and-details .intro {
  margin-bottom: 16px;
}
.educational-provision .details {
  color: var(--octonary-color);
  font-size: 15px;
  margin-bottom: 1rem;
}
.educational-provision .intro p {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 2rem;
}
.educational-provision .course-program-lecturer-and-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding: 0px 25px 25px;
}
.educational-provision .course-program-lecturer .lecturer {
  display: flex;
  align-items: center;
  gap: 10px;
}
.educational-provision .course-program-lecturer .lecturer .lecturer-image img {
  width: 35px;
  height: 35px;
  border-radius: 50%;
}
.educational-provision .course-program-lecturer .lecturer .lecturer-info h3 {
  margin-bottom: 0;
  font-size: 14px;
}
.educational-provision .read-more-button a {
  max-width: 29%;
  text-align: center;
  padding: 9px;
  font-size: 0.8em;
  line-height: 0.8em;
  background-color: var(--secondary-color);
  border-radius: 3px;
  color: var(--tertiary-color);
  text-decoration: none;
}

.course-filter-widget .selected-filters .selected-filter {
  background-color: var(--primary-color);
  color: var(--tertiary-color);
  margin: 10px 5px;
  padding: 0.5rem 1rem;
  cursor: pointer;
}

.course-filter-widget .selected-filters .selected-filter:first-of-type {
  background-color: var(--primary-color);
  color: var(--tertiary-color);
  margin: 10px 5px 10px 0px;
  padding: 0.5rem 1rem;
  cursor: pointer;
}
