/*----- SETUP - Open -----*/

/*----- SETUP - Close -----*/

/*----- COMMON SETTINGS - Open -----*/

#main-content {
  scroll-margin-top: 80px;
}

/*----- COMMON SETTINGS - Close -----*/

/*----- FOCUS - Open -----*/
#page a:focus-visible {
  outline: 2px dashed #000000;
  border-radius: 4px;
  outline-offset: 2px;
  transition: none !important;
}

#page header a:focus-visible,
#page .we-mega-menu-ul a:focus-visible {
  outline: 2px dashed #000000;
  outline-offset: 1px;
}

#page .we-mega-menu-ul .we-mega-menu-submenu a:focus-visible {
  outline: 2px dashed #000000;
  outline-offset: 1px;
}

#page header .search-box-content :focus-visible,
#page header .header-top a:focus-visible {
  outline: 2px dashed #fff;
}

#page footer a:focus-visible {
  outline: 2px dashed #fff;
}

a.visually-hidden.focusable:focus {
  background: #ffffff !important;
  border-radius: var(--border-radius);
  color: #000000 !important;
  display: block;
  font-size: 1rem;
  font-weight: 500;
  left: 50%;
  outline-offset: -4px;
  outline: 2px dashed var(--color-primary);
  padding: 0.5rem 1rem;
  position: absolute !important;
  top: 0.5rem;
  transform: translateX(-50%);
  transition: none !important;
  z-index: 999;

  -webkit-box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.32);
  -moz-box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.32);
  box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.32);
}
/*----- FOCUS - Close -----*/

/*----- PAGE HEADER - Open -----*/
#page .page-header {
  background-color: var(--color-dark);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 400px;
}
#page .page-header-container {
  position: relative;
  z-index: 2;
}
#page .page-header__cover-image--img,
#page .page-header__cover-image {
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  max-width: none !important;
  top: 0;
  width: 100%;
}
#page .page-header__cover-image--img {
  object-fit: cover;
  object-position: 50% 50%;
}

/* TITLE */
#page .page-title-container {
  padding: 1rem 0;
  position: relative;
}
#page .page-title-container .container {
  z-index: 2;
  position: relative;
}
#page .page-header h1.page-title {
  color: var(--color-white);
  margin-bottom: 0 !important;
}
#page .page-title-container::before {
  background: var(--color-dark);
  content: "";
  display: block;
  height: 100%;
  left: 0;
  opacity: 0.4;
  position: absolute;
  top: 0;
  width: 100%;
}

/* BREADCRUMBS */
#page .breadcrumb-container {
  margin-bottom: 0;
  padding: 0.5rem 0;
  position: relative;
}
#page .breadcrumb-container .container {
  z-index: 2;
  position: relative;
}
#page .breadcrumb-container .breadcrumb {
  background: none;
  border-radius: 0;
  color: var(--color-white);
  list-style: none;
  margin-bottom: 0;
  padding: 0;
}
#page .breadcrumb-container::before {
  background: var(--color-dark);
  content: "";
  display: block;
  height: 100%;
  opacity: 0.9;
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
}

/* SEARCH */
#page .search-opener {
  cursor: pointer;
}
/*----- PAGE HEADER - Close -----*/

/*----- CONTENT - Open -----*/
#page .main-content h2 {
  font-size: 2.375rem;
}

#presentation-region {
  background-color: var(--color-light);
}
.homepage #presentation-region {
  background-color: var(--color-dark);
  min-height: 80vh;
}
.homepage #presentation-region,
.homepage #presentation-region .apb-ss-content-wrapper {
  min-height: 400px !important;
}
.homepage #presentation-region {
  margin-top: 102px;
}

@media screen and (min-width: 768px) {
  .homepage #presentation-region,
  .homepage #presentation-region .apb-ss-content-wrapper {
    height: calc(80vh - 135px);
  }
}

@media screen and (min-width: 1024px) {
  .homepage #presentation-region {
    margin-top: 135px;
  }
}
/*----- CONTENT - Close -----*/

/*----- FOOTER - Open -----*/
.footer {
  background-color: var(--color-light);
}
/*----- FOOTER - Close -----*/

/*----- TRANSITION - Open -----*/
#edit-cancel,
input[type="submit"],
a {
  -webkit-transition: all 250ms ease-in-out;
  -moz-transition: all 250ms ease-in-out;
  -ms-transition: all 250ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
}
/*----- TRANSITION - Close -----*/
