:root {
  --theme-primary-color: #005f89;
  --theme-secondary-color: #0093b7;
  --theme-grey-color: #e6eceb;
}

body {
    font-size: 16px;
}

html {
  scroll-behavior: smooth;
}

div, td {
  scroll-margin-top: 110px;
}

@media screen and (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

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

h1, h2 {
    font-family: 'Archivo', sans-serif;
    font-weight: 900;
}

h3, h4, h5, h6, p, li {
  font-family: 'Roboto', sans-serif;
  font-weight: 300;
}

h2 {
    font-size: 60px;
  font-size: clamp(2.5rem, 0rem + 4vw, 3.75rem);
    letter-spacing: 2px;
    color: #63CDD7;
    margin-bottom:20px;
}

h3 {
    font-size: 28px;
    font-weight: 200;
    margin-bottom: 20px;
}

h4 {
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 200;
    letter-spacing: 2px;
}

h6 {
    font-size: 16px;
    letter-spacing: 2px;
    margin-bottom: 10px;
}


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

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

a:hover, a:focus {
    color: inherit;
    text-decoration: underline;
}

b, strong {
    font-weight: 800;
    letter-spacing: 2px;
}

.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);
}

.text-white h2 {
    color: inherit;
}

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

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

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

.content-container {
  margin: 0 auto;
 max-width: calc(100% - 20rem) !important;
  width:90%;
}

._Content:has(.full-width) {
    max-width: none;
    width: 100%;
  margin:0;
  }


.h-section {
    padding-top: 115px;
    padding-bottom: 115px;
    margin-top: -10px;
    margin-bottom: -10px;
}

.h-section:has(.bg-primary, .bg-secondary) {
    padding: 0;
    margin: 0;
}


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

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

.table td.col-12 {
    padding-left: 15px;
    padding-right: 15px;
}

.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;
}


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

#navbar {
  background-color: #e6eceb;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
  padding: 10px 20px;
}

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

.nav-logo img {
    width: 130px;
    height: auto;
    transition: 0.3s;
}


nav.scrolled .nav-logo img {
    width: 110px;
}

nav.scrolled {
    padding-top: 20px;
    padding-bottom: 20px;
}

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

.navbar a:hover {color: var(--theme-primary-color);}

ul.DropDownMenu li {
    float: none!important;
}

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

li.Parent ul {
    background-color:var(--theme-primary-color);
    left: 20px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-left: 10px !important;
    position: static;
    top: 0 !important;
    z-index: 100;
}

.nav-logo:has(img) .org-name {
   display: none;
}

.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;
}

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

.wrapper {
    display: flex;
    width: 100%;
    align-items: stretch;
}

#sidebar-nav {
background: var(--theme-primary-color);
    height: 100vh;
    position: fixed;
    right: -100%;
    top: 0;
    transition: ease-in-out 0.4s;
    width: 40%;
  min-width: 310px;
    z-index: 1040;
}

#sidebar-nav.active {
  right: 0;
}

#logo img {
    display: block;
    max-width: 100%;
    margin: 20px auto;
}

#sidebar-nav ul p {
    padding: 10px;
}

#sidebar-nav ul li a {
    text-decoration: none;
    padding: 6px 20px;
    display: block;
    white-space: break-spaces;
}

#sidebar-nav ul.DropDownMenu a, #mobNav .slicknav_menu a {
    font-size: 16px;
}

button#navShowHide {
    aspect-ratio: 1 / 1;
    background-color: #000000 !important;
    border: none;
    border-radius: 5px;
    color: #FFF;
    padding: 8px 10px 5px 10px;
    position: fixed;
    right: 20px;
    top: 25px;
    z-index: 1050;
    box-shadow: 2px 2px 5px #0000003d, -2px -2px 5px #0000003d;
  transition:0.3s;
}

._Template:has(nav.scrolled) button#navShowHide {
    top: 18px;
}

.nav-wrapper {
    text-align: right;
    margin-left: auto;
    margin-right: 10%;
    margin-top: 100px;
    color: #fff;
    width: 85%;
}

.nav-wrapper a {
    text-decoration: none;
    transition: 0.3s;
}

.nav-wrapper h5 {
    font-size: 25px;
    font-weight: 500;
    margin-bottom: 15px;
    margin-top: 25px;
}

.nav-wrapper p {
    font-size: 18px;
    margin-bottom: 15px;
}

.nav-wrapper a:hover, .nav-wrapper a:focus {
  color: #63CDD7;
}

#content-wrapper {
    min-height: 100vh;
    transition: all 0.3s;
}

.full-width {
  width:auto;
}

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

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

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

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

.header-image, .hero-content {
  width:50%;
  flex: 0 0 50%;
}

.hero-content {
    align-content: center;
    color: #FFFFFF;
}

.hero-contact {
    width: 100%;
}

.content-container .row {
    align-items: center;
}

.hero-content-wrapper {
  padding: 10rem 5rem 10rem 10rem;
}

#header h1 {
    font-size: 3.6rem;
    font-size: clamp(2.06rem, -0.88rem + 7.83vw, 3.6rem);
}

#header h3 {
    font-size: clamp(1.13rem, 0.38rem + 2vw, 1.88rem);
}

#header h6 {
    font-size: 1.4rem;
    font-weight: 100;
    letter-spacing: 0.2em;
}

#header a {
    text-decoration: none;
}

#header h2 {
    font-size: 3rem;
    letter-spacing: 0.05em;
}

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

/* Slider dots */

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

.slick-dots {
    bottom: 30px;
}

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

footer {
    letter-spacing: 2px;
}

footer h2 {
    font-size: 50px;
    max-width: 500px;
}

footer .text-md-right p {
    font-weight: 900;
}


#footer-nav ul.DropDownMenu {
    padding: 0;
  column-count: 2;
}
#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;
}

p:has(a.w-toplink) {
    margin: 0;
}


/* Layouts -------------------------------------------------------------- */

.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 {
  background-color: #fff;
    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 {
  background-color: rgb(255 255 255 / 90%);
  margin: 20px auto;
  max-width: 600px;
  padding: 20px;
  width: 100%;
}

.mdl-textfield {
  width:100%;
}

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

.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;
}

/* 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;
}

/* Product Range - Index Page thumbnail styling */

  table#product-index td {
    padding: 0;
  }

  #product-index ._DocumentList {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
  }

  .product-wrapper {
    background-color: #ffffff;
    flex: 0 0 32%;
    width: 32%;
    min-width: 150px;
    text-align: center;
    margin-top: 30px;
    padding: 40px 20px;
    transition: 0.4s ease all;
  }

  .product-wrapper img {
    width: auto;
    height: 250px;
    object-fit:contain;
    padding: 20px;
  }

  .product-wrapper h3 {
    text-transform: uppercase;
    color: var(--theme-primary-color);
    letter-spacing: 0.2em;
    font-size: 18px;
  }

  .product-wrapper a {
    text-decoration: none;
  }

  .product-wrapper:hover {
    background: #0093b7 !important;
  }

  .product-wrapper:hover h3 {
    color: #ffffff;
  }

  .product-wrapper:hover img {
    filter: invert(92%) sepia(77%) saturate(0%) hue-rotate(58deg) brightness(113%) contrast(101%);
  }

/* Product Index Page */

#product-list {
  margin-top: 100px;
  margin-bottom: 100px;
}

#product-list h1 {
  font-size: 40px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--theme-secondary-color);
  margin-bottom: 20px;
}

.back {
     position: relative;
     padding-left: 20px;
     text-transform: uppercase;
     text-decoration: none;
     letter-spacing: 2px;
     font-size: 16px;
  }

  .back:hover {
    color: var(--theme-secondary-color);
  }

  .back::before {
    font-family: "Material Icons";
    content: '\e5c4';
    display: inline;
    position: absolute;
    left: 0;
    transition: 0.3s;
  }

  .back:hover::before {
    left: -5px;
  }

  button.back {
      border: none;
      background: transparent;
  }

#product-list section._ProductList {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
}

#product-list section._ProductList form {
    width: 33%;
  flex:0 0 33%;
    margin-bottom:50px;
}

.item-wrapper {
    padding: 20px;
}

.item-image img {
    height: 250px;
    margin-bottom: 25px;
}

.item-wrapper h3.name {
    font-family: 'Archivo', sans-serif;
    font-weight: 900;
    font-size: 1rem !important;
    letter-spacing: 2px;
    text-transform: uppercase !important;
}

#product-list .description {
    height: 75px;
    overflow-y: hidden;
    position: relative;
    margin-bottom: 10px;
}

#product-list .description::after {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 55px;
    content: ' ';
    background: #FFFFFF;
    background: linear-gradient(360deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}

p.download {
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #6d6e71;
}


p.download a span.dl {
  display:inline-block;
  margin-top: 10px;
  position:relative;
  padding-right: 50px;
}

p.download a:hover {
  text-decoration:none;
}

p.download a span.dl::after {
    background-color: #63cdd7;
    color: #FFFFFF;
    content: '\f090';
    display: inline-block;
    font-family: "Material Icons";
    font-size: 25px;
    margin-left: 10px;
    padding: 0px 5px;
    position:absolute;
    right:0;
    top: -8px;
    transition: 0.3s;
}

p.download:hover a span.dl::after {
  top:-5px;
}

p.active:has(span.dl:empty), p.download:empty, p.active:has(span._FieldText:empty) {
    display: none;
}

.read-more-link {
  height:0;
  width:0;
  opacity:0;
  margin:0;
}

/* Layouts */


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

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

.image-col {
}

  .bg-image-col {
    padding: 0 !important;
  }

.bg-image-col img {
    width: 100%;
    object-fit: cover;
    height: 100%;
  }

  .max-width-wrapper {
    max-width: 560px;
  }

  .mw-right {
    margin-right: auto;
    margin-left: 0;
  }

  .mw-left {
    margin-right: 0;
    margin-left: auto;
  }

 

/* Back to top button */

.w-toplink:not(.w-btn) {
    border-radius: 50% !important;
}
.w-toplink:hover {
    background: #63cdd7;
}
.rounded_none .w-header-show, .rounded_none .w-toplink {
    border-radius: 0 !important;
}
.w-toplink.pos_right {
    right: 0;
}
.w-toplink:not(.w-btn) {
    text-align: center;
    border-radius: 0.3rem;
    color: #fff !important;
    line-height: 50px;
    height: 50px;
    width: 50px;
}
.w-toplink, .w-header-show {
    background: rgba(0, 0, 0, 0.3);
}
.w-toplink {
    position: fixed !important;
    z-index: 99;
    bottom: 0;
    transform: translate3d(0, 150%, 0) !important;
    margin: 15px;
}
.w-toplink:not(.w-btn) i {
    font-size: 1.5em;
    line-height: inherit;
    min-width: 1em;
}
.w-toplink.active {
    transform: translate3d(0, 0, 0) !important;
}