:root {
  --theme-primary-color: #002b5c;
  --theme-secondary-color: #DC2525;
}

* {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

/* General Styles --------------------------*/

body, html {
  font-size:16px;
}

p {
    margin-top: 0;
    margin-bottom: 1rem;
}

h1, h2, h3, h4 {
  font-weight:800;
}

a {
  color: inherit;
  text-decoration: underline;
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease;
}

a:hover, a:focus {
    color: #ffb03a;
    text-decoration: none;
}

code {
  font-size: 100%;
  font-family: inherit;
  color: inherit;
}

button {
    border: none;
}

._Content img {
    max-width: 100%;
    height: auto;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-bottom: 15px;
}

._Content img {
  height:auto;
  max-width:100%;
}

._Template {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow-x: hidden;
  width:100%;
}

._Content {
  margin: 70px auto 100px auto;
  max-width: 1140px;
  width:90%;
}

.single-col .container-fluid {
    max-width: 696px;
}

.full-width {
  margin-left: calc((-100vw + 100%) / 2);   
  margin-right: calc((-100vw + 100%) / 2);
  padding-left: calc((100vw - 100%) / 2);
  padding-right: calc((100vw - 100%) / 2);  
}

.full-height {
    padding-top: 250px;
    height: 100%;
    min-height: calc(100vh - 116px);
}

._Content:has(.full-height) {
    margin-top: 0;
    margin-bottom: 0;
}

.btn, .btn-primary {
  border-color: inherit;
  border-radius: 0;
  padding: 0.6rem 1.5rem;
  white-space: break-spaces;
}

.text-shadow {
  text-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1);
}

table {
  color: inherit;
  line-height: 1.4;
  width:100%;
}

.table td, .table th {
  border: none !important;
  padding:0;
}

.min-vh-100 {
    min-height: 100vh;
}

.div-link {
  cursor:pointer;
  transition:0.3s;
}

._ListPager {
    text-align: center;
    margin-top:30px;
}

button._ListPagerNext {
    margin-right: 15px;
}

._ListPager .mdl-button--fab {
    background-color: rgb(203 203 203 / 75%) !important;
}

._ListPager .mdl-slider__background-lower, ._ListPager  .mdl-slider__background-upper {
    background: rgb(203 203 203 / 75%) !important;
}

._ListItems {
  display: none;
}

figure.image.image-style-side {
    display: block;
}

figure.image.image-style-side img {
    margin-left: auto;
    margin-right: 0;
}

/* Navigation ------------------------------*/

#navbar {
    background-color: rgb(255 255 255 / 85%);
  -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    box-shadow: 0px 5px 15px rgb(0 0 0 / 10%);
}

.nav-logo img {
    width: 100%;
    max-width: 250px;
    height: auto;
    object-position: left;
    padding: 5px 0;
}

.org-name {
    font-weight: bold;
    font-size: 110%;
    padding: 20px 0;
    display: inline-block;
    max-width: 250px;
    white-space: break-spaces;
    line-height: 1.2;
}
.nav-logo:has(img) .org-name {
    display: none;
}

.navbar ul {
  margin-left: auto !important;
}

#navbar a {
    margin: 0 2px;
    padding: 2px 3px;
    text-decoration: none;
}

#navbar a:hover {
    text-decoration: none;
    background-color: rgb(0 0 0 / 10%);
}

.nav-logo a:hover {
    background: transparent;
}

#navbar ul.DropDownMenu li.Parent li {
    float: none;
}

#navbar ul.DropDownMenu li.Parent ul {
  padding: 10px;
  top: auto !important;
}

#navbar ul li a {
  padding:3px 10px!important;
}

ul.DropDownMenu a:hover {
    background-color: #0000001c;
}

li.Parent ul {
  background-color: var(--theme-secondary-color);
  box-shadow: 3px 3px 10px 0px #00000075;
}

.mobBtn {
  display:none;
}

.mobBtn button {
    padding: 8px 15px;
    background-color: transparent;
}

.mobBtn span.material-icons {
    color: black;
    font-size: 35px;
}


  #mobNav, .mobBtn {
    display: block;
}
    
/* mobNav */


#navMenu  {
  display:none;
}
  
#navMenu ul.DropDownMenu {
   padding: 10px 0 15px 0;
   margin-bottom: 0;
}

#navMenu ul.DropDownMenu li {
    display: block;
    float: none;
  position:relative;
}
  
#navMenu ul.DropDownMenu li span.material-icons {
  position: absolute;
  top:3px;
  left: 0;
}


#navbar ul li a {
    padding: 20px 10px !important;
    font-size: 28px;
    font-weight: 900;
    text-transform: uppercase;
    color: #FFF;
}
  
#navMenu ul.DropDownMenu li.Parent {
    padding-left: 20px !important;
}

#navMenu ul.DropDownMenu li.Parent ul {
    position: inherit;
}

#navMenu ul.DropDownMenu li {
    max-width: 960px;
    margin: 0 auto;
}

#navMenu li.Parent ul {
    background-color: transparent;
    box-shadow: none;
}
  
#navbar .container {
    flex-wrap: wrap;
}

.nav-logo {
    justify-content: center;
    width: auto;
    flex: auto;
    display: flex !important;
    display: inline-block;
    padding-top: .3125rem;
    padding-bottom: .3125rem;
    font-size: 1.25rem;
    line-height: inherit;
    white-space: nowrap;
}

.mobBtn {
    color: #ffffff !important;
    text-decoration: none;
    padding: .25rem .75rem;
    font-size: 1.25rem;
    line-height: 1;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: .25rem;
}

#navMenu {
    order:4;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-align: center;
    -ms-flex-pack: center !important;
    flex: 2;
    justify-content: space-between;
    width: auto;
    flex: auto;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-align: center;
}


/* Full Screen Navigation */

button#navShowHide:focus {
    border: transparent;
    outline: transparent;
}
.navbar-toggle.x.collapsed .icon-bar {
    background-color: #000000;
}

.navbar-toggle.x .icon-bar {
  background-color:#FFFFFF;
}

.navbar-toggle .icon-bar+.icon-bar {
    margin-top: 4px;
}
.navbar-toggle .icon-bar {
display: block;
    width: 30px;
    height: 4px;
    border-radius: 5px;
}
  /* ANIMATED X */
  .navbar-toggle.x .icon-bar {
  -webkit-transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
.navbar-toggle.x .icon-bar:nth-of-type(1) {
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: 10% 10%;
	-ms-transform-origin: 10% 10%;
	transform-origin: 10% 10%;
}

.navbar-toggle.x .icon-bar:nth-of-type(2) {
	opacity: 0;
	filter: alpha(opacity=0);
}

.navbar-toggle.x .icon-bar:nth-of-type(3) {
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transform-origin: 10% 90%;
	-ms-transform-origin: 10% 90%;
	transform-origin: 10% 90%;
}

/* ANIMATED X COLLAPSED */
.navbar-toggle.x.collapsed .icon-bar:nth-of-type(1) {
	-webkit-transform: rotate(0);
	-ms-transform: rotate(0);
	transform: rotate(0);
}

.navbar-toggle.x.collapsed .icon-bar:nth-of-type(2) {
	opacity: 1;
	filter: alpha(opacity=100);
}

.navbar-toggle.x.collapsed .icon-bar:nth-of-type(3) {
	-webkit-transform: rotate(0);
	-ms-transform: rotate(0);
	transform: rotate(0);
}
/* END ANIMATED X */

div#navMenu {
    position: absolute;
    background-color: var(--theme-primary-color);
    width: 100%;
    height: 100vh;
    left: 0;
    top: 0;
  z-index:2;
}

.mobBtn {
    z-index: 10;
    flex: 0 0 20%;
}

.visit-dgl {
    flex: 0 0 20%;
  z-index:1;
}


.menu-wrapper {
    margin: 300px auto;
    text-align: center;
    color: #FFF;
}

/* Banner ----------------------------------*/

#header {
    background-image: var(--theme-image);
    background-position: center;
    background-size: cover;
    display:flex;
    width: 100%;
    min-height: 40vh;
    position: relative;
}

#header:has(._DocumentThumbnail img) {
  background-image: none;
}

#header span._DocumentThumbnail img {
  display: block !important;
  height: 100%;
  object-fit: cover;  
  width: 100%;
  position:absolute;
}

#header._Content, .hero-wrapper._Content {
    width: 100%;
    max-width: none;
}

ol._BreadCrumbs li {
    list-style-type: none;
    margin-right: 10px;
}

ol._BreadCrumbs {
    display: flex;
    flex-direction: row;
    padding-left: 0;
    font-size: 80%;
}

ol._BreadCrumbs li::after {
    content: '|';
    padding-left: 10px;
}

li {}

ol._BreadCrumbs li:last-of-type::after {
    content: none;
}

ol._BreadCrumbs::before {
    content: 'You Are Here:';
    padding-right: 10px;
}

.hero-content {
    position: relative;
    margin-bottom: 0;
    margin-top: auto;
    padding-top: 130px;
    padding-bottom: 20px;
    width: 100%;
    background: rgb(0, 0, 0);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgb(0 0 0 / 50%) 100%);
}

.hero-content .container * {
  color: #fff;
  text-shadow:-1px -1px 5px rgb(0 0 0 / 50%), 1px -1px 5px rgb(0 0 0 / 50%), -1px 1px 5px rgb(0 0 0 / 50%), 1px 1px 5px rgb(0 0 0 / 50%);
}

table.page-heading td {
    max-width: 1140px;
}

/* Slider dots */

.slick-dots li button:before {
    font-size: 15px;
}

.slick-dots {
    bottom: 30px;
}

/* Footer --------------------------------------*/

#footer-nav ul.DropDownMenu {
  padding: 0;
  text-align: center;
}

#footer-nav ul.DropDownMenu li {
    float: none!important;
      display: inline-block;
}

#footer-nav ul.DropDownMenu a {
    white-space: break-spaces;
}

#footer-nav li.Parent ul, #footer-nav li.Parent span.material-icons {
    display: none !important;
}

#footer-nav a {
  text-decoration:none;
  padding:5px;
}

/* Tables tidy up */

.table-column table td {
    padding: 0 20px;
}

.table-column table td {
    border: none !important;
}

figure {
   display: table;
   padding: 5px;
}

figure.table {
    padding: 0;
    display: initial;
}
figure.image {
   margin:20px auto;
}

figure.image img {
    margin: 0 auto;
    display: block;
  max-width: 100%;
}


figcaption {
    display: table-caption;
    caption-side: bottom;
    padding: 10px;
    text-align: center;
    font-size: 90%;
    margin-bottom: 20px;
}


/* Search layout */

td.search-options {
    padding-right: 5%;
    margin-left:2%;
    width: 30%;
}

td.search-results {
    margin-right: 2%;
}

._SearchFull .mdl-textfield {
    width: 100%;
}

button._SearchFind {
    margin-right: 10px;
}

._SearchSettingsOptions .mdl-data-table, ._SearchSettingsOptions .mdl-data-table td {
    border: none!important;
}

._SearchSettingsOptions {
    margin-top: 20px;
}

._SearchSettingsOptions .mdl-data-table tbody tr {
    height: 30px !important;
}

._SearchSettingsOptions .mdl-data-table td, ._SearchSettingsOptions .mdl-data-table th {
    height: auto!important;
    padding: 0!important;
}

._SearchSettingsOptions .mdl-data-table label {
  margin-bottom: 0;
  margin-top: 3px;
}

._SearchSettingsOptions .mdl-data-table thead {
    margin-top: 20px;
    margin-bottom: 5px;
    font-weight: bold;
}

.sres {
    border-left: 1px solid var(--theme-secondary-color);
    padding-left: 20px;
    padding-bottom: 5px;
    padding-top: 5px;
    margin-bottom: 30px;
}

/* Basic Search */

._SearchBasic {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    width: 100%;
}

._SearchBasic span {
    width: calc(100% - 45px);
}

._SearchBasic input[type="search"] {
    border: none;
    border-radius: 3px;
	color: #000;
	font-size: 16px;
    margin-top: 5px;
    margin-right: 15px;
  	padding: 3px 10px;
	width:100%;
}

._SearchBasic button._SearchFind {
    background-color: var( --theme-secondary-color);
    border: none;
    border-radius: 50%;
    margin-top: -5px;
    margin-right: 0;
    margin-left: 10px;
    padding: 10px;
}

._SearchBasic i.material-icons {
    font-size: 25px;
}

/* Forms ---------------------------------------------------------------- */

._EmailForm,
._ProfileForm,
._PublicationForm,
._SubscriptionForm,
._EventRegistrationForm,
._ProductOrderForm {
  margin: 20px auto;
  padding: 20px;
  width: 100%;
}

.mdl-textfield {
  width:100%!important;
}

.mdl-textfield__input {
  border-color: inherit !important;
  width: 100% !important;
  background-color: #FFF;
      border-radius: 5px;
}

.mdl-textfield__label {
    text-transform: capitalize !important;
}

._EmailForm label {
    left: 5px;
}


._TextField.name_first, ._TextField.name_last {
    display: inline-block;
    width: 49%!important;
}

._TextField.name_first {
    margin-right: 1.5%;
}

.mdl-textfield.is-focused .mdl-textfield__input {
    color: inherit;
    border-color: var(--theme-primary-color);
}

.mdl-textfield--floating-label.has-placeholder .mdl-textfield__label,
.mdl-textfield--floating-label.is-dirty .mdl-textfield__label,
.mdl-textfield--floating-label.is-focused .mdl-textfield__label,
.mdl-textfield--floating-label.is-active .mdl-textfield__label {
  color: var(--theme-primary-color);
}

.intl-tel-input {
    width: 100%;
}

._MobileNumber .mdl-textfield__label {
    left: 90px;
}

.mdl-textfield__label:after {
    width: 0;
    height: 0;
}

.mdl-button, .mdl-button--raised.mdl-button--colored, .mdl-button.mdl-button--colored {
    color: initial;
    text-transform: none;
} 
.mdl-button {
  border-radius:0;
  transition:0.3s;
}

.mdl-button--fab {
  border-radius: 50%;
  margin-top:10px;
  margin-right:5px;
}

.mdl-button:hover {
    background-color: rgb(158 158 158 / 50%);
  -webkit-transform: translateY(-1px);
    transform: translateY(-1px);
}


._Captcha {
    padding-top: 15px;
    padding-bottom: 15px;
    margin-bottom: 10px;
}

._Captcha label, ._Captcha button {
    color: #FFFFFF !important;
}

button._EmailSubmit, ._EmailSubmit.mdl-button--raised.mdl-button--colored {
    color: #000000 !important;
    background-color: #FFFFFF !important;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
}

/* Calendar / Date Picker */

.mddtp-picker .mddtp-picker__header, .mddtp-picker__body .mddtp-picker__viewHolder .mddtp-picker__grid span.mddtp-picker__cell--selected, .mddtp-picker__body .mddtp-picker__viewHolder .mddtp-picker__grid .mddtp-picker__tr span.mddtp-picker__cell:hover {
   background-color: var(--theme-primary-color);
}


.mddtp-picker-date .mddtp-picker__left, .mddtp-picker-date .mddtp-picker__right, .mddtp-button {
    background-color: #bdbdbd;
    transition: 0.3s;
}

/* Contact Location Document List */

section._DocumentList:has(.contact-wrapper) {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.contact-wrapper {
    flex: 0 0 40%;
    margin-bottom: 80px;
    flex-grow: 1;
    text-align: center;
    padding: 0 50px;
}

/* Product List (may change when swapped to actual product list */

section._DocumentList:has(.p-wrapper) {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
}

.p-wrapper {
    position: relative;
    flex: 0 0 33%;
  min-width: 300px;
    margin-bottom: 50px;
  text-align: center;
}

.p-wrapper .overlay {
   display:flex;
  align-items: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: var(--theme-primary-color);
    color: #FFF;
    opacity: 0;
    transition:opacity 0.5s ease;
}

.p-wrapper:hover .overlay, .p-wrapper:focus .overlay {
    opacity:1;  
}

.overlay-container {
    padding: 20px;
}

.overlay h4 {
    margin-bottom: 10px;
}
.overlay p {
    font-size: 14px;
    margin-bottom: 0;
}
