/**************************** GLOBAL ****************************/
body {
  /*  -webkit-text-size-adjust: none;*/
  margin: 0px;
  color: #333333;
  font-family: 'Roboto', sans-serif;
  font-style: normal;
  font-size: 16px;
  line-height: 1.4em;
  font-weight: 300;
  padding-bottom: 0px;
}
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: sans-serif;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
img {
  border: 0;
}
.scalable {
  max-width: 100% !important;
  height: auto !important;
}
a:link, a:active, a:visited {
  outline: none;
  color: #8429b7;
  text-decoration: none;
  /*
  -webkit-transition: all .2s ease-out;
  transition: all .2s ease-out;
*/
}
a:hover {
  text-decoration: underline;
  color: #8429b7;
  outline: none;
}
*:focus, a:focus {
  outline: #3d9cfc auto 2px;
}
.imgover {
  cursor: pointer
}
.imagefit img {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
}
.clearfix {
  clear: both;
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
.table {
  display: table;
  border-collapse: collapse;
  padding: 0px;
  margin: 0px auto 0px auto;
  border: 0px;
}
.row {
  display: table-row;
  margin: 0px;
  padding: 0px;
}
.cell {
  display: table-cell;
  vertical-align: middle;
}
.column {
  display: table-cell;
  vertical-align: middle;
}
h1 {
  font-size: 45px;
  line-height: 1.3em;
  font-weight: 300;
  margin: 0px;
  letter-spacing: -.01em;
  color: #ffffff;
}
h2 {
  font-size: 30px;
  line-height: 1.1em;
  font-weight: 700;
  color: #000000;
  letter-spacing: -.01em;
  margin: 20px auto 40px;
}
input[type="button"], input[type="submit"], input[type="reset"] {
  /* remove for standard buttons */
  -webkit-appearance: none;
  -webkit-border-radius: 0px;
  border-radius: 0px;
  -moz-appearance: none;
  appearance: none;
}
.mobile-only {
  display: none;
}
/* global compliance styles */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.skip-to-content a {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  line-height: 14px;
  letter-spacing: 0.15rem;
  font-weight: 900;
  text-align: center;
  padding: 14px 0px 12px;
  background: #1c6194;
  color: #ffffff !important;
  text-transform: uppercase;
  position: fixed;
  z-index: 500;
  top: 0px;
  left: 0;
  width: 100%;
  transition: all 0.2s ease;
  outline: none !important;
}
.skip-to-content a:focus, .skip-to-content a:hover {
  color: #ffffff !important;
  top: 125px;
  outline: none !important;
}
input.submit {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px !important;
  line-height: 14px !important;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: capitalize !important;
  text-align: left;
  padding: 10px 30px;
  margin: 0px auto;
  color: #ffffff !important;
  border: none;
  background-color: #0074b8;
  overflow: hidden;
  text-decoration: none !important;
  transition: .25s all ease-in-out;
}
input.submit:hover, input.submit:focus, input.submit:active {
  color: #ffffff !important;
  border: none;
  background-color: #204d74;
  transition: .25s all ease-in-out;
}
main {
  width: 100%;
  margin: 84px auto 0px;
}
/**************************** HEADER ****************************/
header {
  display: block;
  position: fixed;
  background-color: #FFFFFF;
  top: 0px;
  width: 100%;
  z-index: 550;
  padding: 20px 0px 20px;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, .1);
}
header ul {
  list-style: none;
  margin: 0px;
  padding: 0px;
}
header li {
  display: inline-block;
  vertical: middle;
}
.header-inside {
  width: 90%;
  max-width: 1500px;
  margin: 0 auto;
  padding: 2% 0 2%;
  padding: 0;
  display: flex;
  display: -webkit-flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.header-inside .header-logo {
  width: 250px;
}
.header-inside .ocln-logo {
  width: 250px;
}
.nav-top {
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
}
.nav-top li {
  padding: 0;
}
.nav-top a {
  text-decoration: none;
  font-size: 12px;
  line-height: 14px;
  font-weight: 500;
  color: #696a6c;
  padding: 0;
  position: relative;
  z-index: 1;
  /*  transition: .2s all ease-in-out;*/
}
.nav-top a:hover, .nav-top a:focus, .nav-top a:active {
  color: #696a6c;
  text-decoration: underline;
}
#google_translate_element {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 600;
}
html.translated-ltr body {
  top: 0 !important;
}
html.translated-ltr main {
  width: 100%;
  margin: 124px auto 0px;
}
.bannersub {
  margin: auto 0px;
  background-color: #dadada;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 40vw;
  max-height: 600px;
  overflow: hidden;
  background-image: url("../images/main/banner-desktop.webp");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat
}
.bannersub .inner {
  width: 85%;
  max-width: 1450px;
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.bannersub .inner a {
  color: #ffffff;
  font-weight: 600;
  font-size: 20px;
  margin-top: 20px;
  padding: 3%;
  display: inline-block;
  border: 1px solid #ffffff;
  background-color: rgba(5, 99, 120, .7);
}
.bannersub .inner a:hover, .bannersub .inner a:focus, .bannersub .inner a:active {
  color: #ffffff;
  text-decoration: none;
  background-color: rgba(5, 99, 120, 1);
}
.bannersub .inner .copy {
  width: 50%;
  max-width: 650px;
  padding: 4%;
  right: 0px;
  float: left;
}
.bannersub .inner .copy h2 {
  font-size: 75px;
  line-height: 1.1em;
  font-weight: 600;
  margin: 0px;
  letter-spacing: -.02em;
  color: #ffffff;
  text-transform: none;
  position: relative;
  /*   text-shadow: 1px 1px 3px rgba(0,0,0,0.76);
   text-shadow: 1px 1px 6px rgb(0 0 0 / 96%);*/
  text-shadow: 1px 2px 7px rgb(0 0 0) !important;
}
.bannersub .inner .copy h2::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0px;
  top: 50%;
  transform: translate(-50%, -50%);
  background-image: url("../images/global/marker.svg"
    );
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  width: 30%;
  padding-bottom: 30%;
}
.bannersub .inner .copy h3 {
  font-size: 25px;
  line-height: 1.1em;
  font-weight: 300;
  color: #ffffff;
  margin: .25em auto 0px;
  text-transform: none;
  letter-spacing: -0.03em;
}
.bannersub .inner .copy span {
  display: block;
  margin: .5em 0px;
}
.bannersub .inner .copy span + a {
  margin: .5em 0px 0px;
}
#librarylist {
  scroll-margin-top: 190px;
}
#librarylist.inner2 h3 {
  font-size: 35px;
}
/*-- ---- ---- ---- FOOTER ---- ---- ---- --*/
footer {
  width: 100%;
  padding: 20px 0px;
  background-color: #ffffff;
  display: block;
}
footer .inner {
  width: 90%;
  max-width: 1500px;
  margin: 0px auto;
}
footer .footer-txt {
  text-align: center !important;
  color: #000000;
  font-size: 13px;
  line-height: 21px;
  font-weight: 400;
  padding: 0 0 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #333;
}
footer .bottom {
  padding: 0;
  display: flex;
  display: -webkit-flex;
  flex-direction: row;
  justify-content: space-between;
  /*  align-items: stretch;*/
  align-items: center;
}
footer .footer-logos {
  display: flex;
  display: -webkit-flex;
  align-items: center;
}
.footer-logo-01 {
  width: 200px;
  margin-right: 30px;
}
.footer-logo-02 {
  width: 200px;
}
footer .footer-social {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  flex-direction: row;
}
footer .footer-txt a {
  color: #8429b7 !important;
  text-decoration: none;
  transition: .2s all ease-in-out;
}
footer .footer-txt a:hover, footer .footer-txt a:focus, footer .footer-txt a:active {
  color: #8429b7 !important;
  text-decoration: underline;
}
footer .footer-row2 {
  padding: 1.5em 20px 2em;
}
.footer-social ul {
  list-style: none;
  margin: 0px;
  padding: 0px;
  display: inline-flex;
}
.footer-social ul li {
  display: inline-block;
  vertical-align: middle;
  margin: 0px 3px;
}
.footer-social ul li a {
  display: inline-block;
  width: 32px;
  height: 32px;
  background-color: #00000;
  border-radius: 50%;
  position: relative;
  z-index: 1;
}
.footer-social ul li a::before, .footer-social ul li a::after {
  content: "";
  position: absolute;
}
.footer-social ul li a::before {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 70%;
  height: 70%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.footer-social ul li a.facebook::before {
  background-image: url("../images/sn-icons/facebook.png");
  transform: translate(-53%, -50%);
}
.footer-social ul li a.instagram::before {
  background-image: url("../images/sn-icons/instagram.png");
}
.footer-social ul li a.pinterest::before {
  background-image: url("../images/sn-icons/pinterest.png");
}
.footer-social ul li a.twitter::before {
  background-image: url("../images/sn-icons/twitter.png");
}
.footer-social ul li a.youtube::before {
  background-image: url("../images/sn-icons/youtube.png");
}
.footer-social ul li a::after {
  z-index: 1;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
 background-image: radial-gradient(rgb(228, 210, 253) 0%, rgb(115, 88, 155) 90%);
  border-radius: 50%;
  transform: scale(0);
  transition: all .3s ease-in-out;
}
.footer-social ul li a:hover::after, .footer-social ul li a:focus::after, .footer-social ul li a:active::after {
  transform: scale(1);
}
/*--SHARE THIS--*/
.shareThis-holder-main-pg {
    text-align: center;
	width: 100%;
background-color: #f1efef;
padding: 1em 0px 1em;
    display: block;
}
.share-this-icons {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-content: center !important;
}
.share-this-icons > div {
  display: flex;
  /*! vertical-align: top; */
  margin-right: 7px;
  color: rgba(60,60,67,1);
  font-size: 12px;
  line-height: 12px;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: .05em;
  /*! margin-top: 5px; */
  align-self: center;
}
.share-this-icons ul {
  padding: 0;
  margin: 0;
  line-height: 1;
  display: flex;
  vertical-align: top;
}
.share-this-icons ul li {
  display: inline-flex;
  margin: 0 1px;
  height: 20px;
  width: 20px;
  position: relative;
  border-radius: 100%;
}
.share-this-icons ul li a {
  background-color: rgb(244 244 245);
  display: inline-block;
  height: 18px;
  width: 18px;
  padding: 0;
  text-indent: -9999px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 70%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: none;
  border-radius: 100%;
  border: 1px solid #696a6c;
}
.share-this-icons ul li a:hover {
  background-color: #696a6c !important;
}
.share-this-icons ul li a.share-facebook {
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg  xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 50 50'%3E%3Cpath d='M35.8,16.26h-7.64v-5.01c0-1.88,1.25-2.32,2.13-2.32h5.39V.65l-7.43-.03c-8.25,0-10.12,6.17-10.12,10.12v5.52h-4.77v8.53h4.77v24.14h10.03V24.79h6.77l.88-8.53Z' fill='%23000'/%3E%3C/svg%3E");
}
.share-this-icons ul li a.share-twitter {
  background-image: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 1200 1227' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z' fill='%23000'/%3E%3C/svg%3E%0A");
}
.share-this-icons ul li a.share-linkedin {
background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 50' style='enable-background:new 0 0 50 50;' xml:space='preserve' fill='%23000'%3E%3Cg%3E%3Cpath d='M4.9,18h8.3v26.4H4.9V18z'/%3E%3Cpath d='M8.9,5.6c-3,0-5,2-5,4.6c0,2.6,1.9,4.6,4.9,4.6h0.1c3.1,0,5-2,5-4.6C13.8,7.5,11.9,5.6,8.9,5.6L8.9,5.6z'/%3E%3Cpath d='M35.7,17.8c-4.7,0-7.7,2.6-8.2,4.4V18h-9.3c0.1,2.2,0,26.4,0,26.4h9.3V30.2c0-0.8,0-1.6,0.2-2.2c0.6-1.6,2-3.2,4.5-3.2 c3.2,0,4.7,2.4,4.7,6v13.7h9.4V29.8C46.2,21.6,41.6,17.8,35.7,17.8L35.7,17.8z'/%3E%3C/g%3E%3C/svg%3E%0A");
}
.share-this-icons ul li a.share-email {
  background-image: url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='%23000'%3E%3Cpath d='M24 24.2l21.2-13.8C44.5 9 43 8 41.3 8H6.7c-1.8 0-3.3 1-4 2.4L24 24.2z'/%3E%3Cpath d='M24.9 27.2c-.3.2-.6.3-.9.3s-.6-.1-.9-.3L2.4 13.8V36c0 2.2 1.9 4 4.3 4h34.5c2.4 0 4.3-1.8 4.3-4V13.8L24.9 27.2z'/%3E%3C/svg%3E%0A");
}
.share-this-icons ul li a.share-facebook:hover {
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg  xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 50 50'%3E%3Cpath d='M35.8,16.26h-7.64v-5.01c0-1.88,1.25-2.32,2.13-2.32h5.39V.65l-7.43-.03c-8.25,0-10.12,6.17-10.12,10.12v5.52h-4.77v8.53h4.77v24.14h10.03V24.79h6.77l.88-8.53Z' fill='%23fff'/%3E%3C/svg%3E");
}

.share-this-icons ul li a.share-twitter:hover {
 background-image: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 1200 1227' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z' fill='white'/%3E%3C/svg%3E%0A");
}
.share-this-icons ul li a.share-linkedin:hover {
background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 50' style='enable-background:new 0 0 50 50;' xml:space='preserve' fill='%23fff'%3E%3Cg%3E%3Cpath d='M4.9,18h8.3v26.4H4.9V18z'/%3E%3Cpath d='M8.9,5.6c-3,0-5,2-5,4.6c0,2.6,1.9,4.6,4.9,4.6h0.1c3.1,0,5-2,5-4.6C13.8,7.5,11.9,5.6,8.9,5.6L8.9,5.6z'/%3E%3Cpath d='M35.7,17.8c-4.7,0-7.7,2.6-8.2,4.4V18h-9.3c0.1,2.2,0,26.4,0,26.4h9.3V30.2c0-0.8,0-1.6,0.2-2.2c0.6-1.6,2-3.2,4.5-3.2 c3.2,0,4.7,2.4,4.7,6v13.7h9.4V29.8C46.2,21.6,41.6,17.8,35.7,17.8L35.7,17.8z'/%3E%3C/g%3E%3C/svg%3E%0A");
}
.share-this-icons ul li a.share-email:hover {
  background-image: url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='%23fff'%3E%3Cpath d='M24 24.2l21.2-13.8C44.5 9 43 8 41.3 8H6.7c-1.8 0-3.3 1-4 2.4L24 24.2z'/%3E%3Cpath d='M24.9 27.2c-.3.2-.6.3-.9.3s-.6-.1-.9-.3L2.4 13.8V36c0 2.2 1.9 4 4.3 4h34.5c2.4 0 4.3-1.8 4.3-4V13.8L24.9 27.2z'/%3E%3C/svg%3E%0A");
}
/*-- ---- Hamburger Style and Animation ---- --*/
.burger {
  padding: 0px 15px;
  cursor: pointer;
  transition: all 0.15s linear;
  text-transform: none;
  overflow: visible;
  margin: 0px !important;
  position: fixed;
  z-index: -1;
  top: 70px;
  right: 5%;
  display: none;
}
.burger:hover {
  opacity: 0.75;
}
.burger-box {
  width: 32px;
  height: 34px;
  display: inline-block;
  position: relative;
}
.all-the-fixins {
  display: block;
  top: -35%;
  margin-top: -2px;
}
.all-the-fixins, .all-the-fixins::before, .all-the-fixins::after {
  background-color: #00643c;
  width: 30px;
  height: 3px;
  border-radius: 1px;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}
.all-the-fixins::before, .all-the-fixins::after {
  content: "";
  display: block;
}
.all-the-fixins::before {
  top: -12px;
}
.all-the-fixins::after {
  bottom: -12px;
}
.mmmmmm .all-the-fixins {
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.mmmmmm .all-the-fixins::before {
  top: 8px;
  transition: opacity 0.125s 0.275s ease;
}
.mmmmmm .all-the-fixins::after {
  top: 16px;
  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.hamburger-title.active ~ .mmmmmm .all-the-fixins {
  transform: translate3d(0, 10px, 0) rotate(135deg);
  transition-delay: 0.075s;
}
.hamburger-title.active ~ .mmmmmm .all-the-fixins::before {
  transition-delay: 0s;
  opacity: 0;
}
.hamburger-title.active ~ .mmmmmm .all-the-fixins::after {
  transform: translate3d(0, -16px, 0) rotate(-270deg);
  transition-delay: 0.075s;
}
.hamburger-title:hover ~ .mmmmmm .all-the-fixins, .hamburger-title:focus ~ .mmmmmm .all-the-fixins, .hamburger-title:hover ~ .mmmmmm .all-the-fixins::before, .hamburger-title:focus ~ .mmmmmm .all-the-fixins::before, .hamburger-title:hover ~ .mmmmmm .all-the-fixins::after, .hamburger-title:focus ~ .mmmmmm .all-the-fixins::after {
  background-color: #de641f;
}
.hamburger-title {
  display: none;
}
.mobile-search-holder {
  display: none;
}
.lower-nav li a.hamburger-title-2 {
  padding: 15px 30px;
}
.hamburger-content-2 {
  position: absolute;
  z-index: 1;
  width: 100%;
  background-color: #ffffff;
  display: none;
}
.hamburger-content-2 li {
  display: block;
  text-align: left;
  position: static;
}
.hamburger-content-2 a {
  box-sizing: border-box;
  width: 100%;
}
.hamburger-content-2 li a {
  color: #00643c;
  border-bottom: 1px solid #00643c;
}
.banner-full-header {
  width: 100%;
  margin: 0;
  padding: 30px 0;
  display: block;
  background: #066 !important;
}
.banner-full-header .inner {
  width: 100%;
  display: flex;
  display: -webkit-flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
}
.banner-full-header .inner h1 {
  font-size: 55px;
  line-height: 1.1em;
  font-weight: 600;
  padding-left: 15px;
  margin: 0px;
  letter-spacing: -.02em;
  color: #ffffff;
  text-transform: none;
  position: relative;
  text-shadow: 1px 2px 7px rgb(0 0 0) !important;
}
.banner-full-header .inner h1::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0px;
  top: 50%;
  transform: translate(-50%, -50%);
  background-image: url("../images/global/marker-green.svg"
    );
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  width: 10%;
  padding-bottom: 10%;
}
.global-dual {
  width: 100%;
  margin: 0;
  display: block;
  text-align: left;
  border-bottom: 10px solid #ffffff;
}
.global-dual .inner {
  width: 100%;
  display: flex;
  display: -webkit-flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
}
.global-dual .inner div {
  margin: 0px;
  flex: 1;
  display: flex;
  display: -webkit-flex;
  flex-direction: column;
  background-color: #006666;
}
.global-dual-copy {
  padding: 8% 20% 8% 20% !important;
  width: 60% !important;
  color: #000000;
}
#topintro .global-dual-copy {
  padding: 12% 20% 12% 20% !important;
  background-color: #540680;
}
.global-dual-copy ul {
  width: 100%;
  margin: 3% 0 6%;
  padding: 0;
  display: flex;
  display: -webkit-flex;
  flex-direction: row;
  justify-content: flex-start;
}
.global-dual-copy li {
  /*  flex: 1;*/
  width: 16.666%;
  display: flex;
  display: -webkit-flex;
  margin: 0 2%;
}
.global-dual-copy li:first-of-type {
  margin: 0 2% 0 0;
}
.global-dual-copy h2 {
  font-size: 35px;
  line-height: 1.1em;
  margin: 0;
  color: #ffffff;
  font-weight: 700;
  letter-spacing: -.02em;
}
.global-dual-copy p {
  font-size: 20px;
  line-height: 1.3em;
  font-weight: 400;
  color: #ffffff;
  margin: 0 0 15px;
  padding: 0;
}
.global-dual-copy a:link, .global-dual-copy a:active, .global-dual-copy a:visited {
  color: #f7bd94;
}
.global-dual-copy a:hover {
  text-decoration: underline;
}
#libraryphoto01 {
  background-image: url("../images/main/intro-photo.jpg");
  background-position: 90% 10%;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}
.library-facts {
  width: 100%;
  padding: 3% 0;
  margin: 0;
  display: block;
  background-image: url("../images/global/leaves-bcgrd.jpg");
  background-position: center center;
  background-repeat: repeat;
}
.library-facts .inner {
  width: 90%;
  max-width: 1500px;
  margin: 0 auto 15px;
  display: flex;
  display: -webkit-flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  background-color: #ffffff;
  -webkit-box-shadow: 3px 5px 6px 0px rgba(0, 0, 0, 0.37);
  box-shadow: 3px 5px 6px 0px rgba(0, 0, 0, 0.37);
}
.library-facts .inner#googlemap {
  flex-direction: column;
  padding-top: 30px;
}
.library-facts .inner h2 {
  font-size: 45px;
  line-height: 1.1em;
  margin: 0 auto 20px;
  color: #333333;
  font-weight: 400;
  letter-spacing: -.02em;
  text-align: center;
}
.library-facts .inner#literarytrail h2, .library-facts .inner#events h2 {
  font-size: 35px;
  line-height: 1.1em;
  margin: 0 auto 20px;
  color: #333333;
  font-weight: 400;
  letter-spacing: -.02em;
  text-align: center;
}
.library-facts .inner#literarytrail, .library-facts .inner#FAQs, .library-facts .inner#events {
  margin: 15px auto;
}
.library-facts .inner#FAQs h2 {
  font-size: 40px;
  line-height: 1em;
  font-weight: 700;
  color: #ffffff;
  background-color: #c46500;
  padding: 2%;
  width: 96%;
  margin: 0 0 25px;
}
.library-facts .inner#FAQs h3 {
  font-size: 25px;
  line-height: 1.1em;
  font-weight: 700;
  width: 96%;
  margin: 0 0 10px;
  text-align: left;
  padding-top: 15px;
  border-top: 1px dotted #000;
}
.library-facts .inner#FAQs h3:first-of-type {
  padding: 0;
  border-top: none;
}
.library-facts .inner#FAQs p {
  font-size: 18px;
  line-height: 1.3em;
  width: 96%;
  margin: 0 0 15px;
  text-align: left;
}
.inner#FAQs .library-facts-text {
  display: flex;
  padding: 2%;
  display: -webkit-flex;
  flex: 1;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
#literarytrail .library-facts-text, #events .library-facts-text {
  display: flex;
  padding: 3% 3%;
  display: -webkit-flex;
  flex: 1;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 64%;
}
#literarytrail a, #events a {
  color: #ffffff;
  font-weight: 600;
  font-size: 20px;
  margin-top: 0;
  padding: 2% 3%;
  display: block;
  border: 1px solid #ffffff;
  background-color: rgb(84, 6, 128);
}
#literarytrail a:hover, #literarytrail a:focus, #literarytrail a:active {
  color: #ffffff;
  text-decoration: none;
  background-color: rgba(84, 6, 128, 0.7);
}
#events a:hover, #events a:focus, #events a:active {
  color: #ffffff;
  text-decoration: none;
  background-color: rgba(8, 118, 171, 1.00) !important;
}
.library-facts .inner p {
  font-size: 20px;
  line-height: 1.3em;
  margin: 0 auto 25px;
  color: #333333;
  font-weight: 300;
  letter-spacing: -.01em;
  text-align: center;
}
#FAQs.library-facts-text {
  display: flex;
  padding: 5%;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: left !important;
}
.library-facts-text {
  display: flex;
  padding: 5%;
  display: -webkit-flex;
  flex: 1;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.library-facts-text img {
  width: 30%;
  margin: 0 auto;
  padding: 0;
}
.library-facts-map {
  display: flex;
  display: -webkit-flex;
  width: 50%;
}
.library-facts-text a {
  color: #ffffff;
  font-weight: 600;
  font-size: 20px;
  margin-top: 20px;
  padding: 3%;
  display: inline-block;
  border: 1px solid #ffffff;
  background-color: rgba(5, 99, 120, .7);
}
.library-facts-text a:hover, .library-facts-text a:focus, .library-facts-text a:active {
  color: #ffffff;
  text-decoration: none;
  background-color: rgba(5, 99, 120, 1);
}
#literarytrail .library-facts-map {
  display: flex;
  display: -webkit-flex;
  width: 26%;
  padding: 2%;
  background-image: url(../images/main/trail.jpg);
  background-repeat: no-repeat;
  background-size: 80%;
  background-position: center center;
}
#events .library-facts-map {
  display: flex;
  display: -webkit-flex;
  width: 26%;
  padding: 2%;
  background-image: url(../images/main/calendar.jpg);
  background-repeat: no-repeat;
  background-size: 70%;
  background-position: center center;
}
.library-facts .inner2 {
  width: 90%;
  max-width: 1500px;
  padding: 2.5em 0 1.5em;
  margin: 0 auto;
  background-color: #ffffff;
  -webkit-box-shadow: 3px 5px 6px 0px rgb(0 0 0 / 37%);
  box-shadow: 3px 5px 6px 0px rgb(0 0 0 / 37%);
}
.library-dropdowns {
  width: 96%;
  margin: 0 auto;
  /*  column-count: 2;*/
}
.faq-content ul {
  margin: 15px 0 0px 0px !important;
  padding: 0;
}
#librarylist .faq-content ul {
  margin: 10px 0 15px 0px !important;
  padding: 0;
}
#librarylist .faq-content ul:last-of-type {
  margin: 10px 0 0px 0px !important;
  padding: 0;
}
.faq-content li {
  margin: 0px 0 5px 15px !important;
  padding: 0 !important;
  font-weight: 300;
  font-size: 18px;
  line-height: 1.2em;
  color: #333333;
  list-style-type: disc;
}
.faq-bottom {
  padding: 0px 0px 4em;
  background-image: linear-gradient(-5deg, rgba(235, 235, 235, .85) 0%, rgba(255, 255, 255, 1) 15vw);
}
.faq-container .inner {
  max-width: 1000px !important;
}
.inner2 h3 {
  display: block;
  font-size: 40px;
  line-height: 1em;
  font-weight: 700;
  margin: 0px auto 20px;
  padding: 0px;
  text-align: center;
}
.inner2 h4 {
  display: block;
  width: calc(100% - 4%);
  font-size: 18px;
  line-height: 1.2em;
  font-weight: 400;
  margin: 0px auto 0;
  padding: 10px 2%;
  text-align: left;
  background-color: #660066;
  color: #ffffff;
}
.inner2 p {
  font-size: 18px;
  line-height: 1.3em;
  font-weight: 300;
  margin: 0px auto 20px;
  padding: 0px;
  width: 100%;
  text-align: left;
}
.inner2 p strong {
  font-weight: 700;
}
.center {
  width: 90% !important;
  text-align: center !important;
  margin: 0 auto 15px !important;
}
.inner2 p:last-of-type {
  margin: 0px auto 0px;
}
#librarylist.inner2 p:last-of-type {
  margin: 0px auto 15px !important;
}
#librarylist.inner2 ul {
  list-style: none;
  margin: 0px 0;
  padding: 0px;
  width: 100%;
  display: block;
}
.inner2 ul {
  list-style: none;
  margin: 0px 0;
  padding: 0px;
  width: 100%;
  display: block;
}
.inner2 li {
  padding: 5px 0px;
  background-color: #f5f5f5;
  ;
  margin: 0 0 1%;
  -webkit-column-break-inside: avoid; /* Chrome, Safari, Opera */
  page-break-inside: avoid; /* Firefox */
  break-inside: avoid; /* IE 10+ */
}
.faq-headers {
  display: inline-block;
  position: relative;
  z-index: 1;
  padding: 20px 20px 0 20px;
  width: calc(100% - 40px);
}
.faq-headers .plus-minus {
  top: 60%;
  right: 25px;
  transform: translateY(-50%);
}
.faq-title.active + .plus-minus::after {
  transform: rotate(0deg);
}
.faq-headers .plus-minus, .faq-headers .plus-minus::after {
  background-color: rgba(60, 60, 67, 1);
  width: 12px;
  height: 2px;
}
.faq-headers:hover .plus-minus, .faq-headers:active .plus-minus, .faq-headers:focus .plus-minus, .faq-headers:hover .plus-minus::after, .faq-headers:focus .plus-minus::after, .faq-headers:active .plus-minus::after {
  background-color: #660066;
}
.faq-title {
  font-size: 25px;
  line-height: 1.2em;
  display: inline-block;
  padding: 0 10% 15px 0px;
  width: 90%;
  color: rgba(60, 60, 67, 1) !important;
  position: relative;
  z-index: 1;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}
.faq-title:hover, .faq-title:focus, .faq-title:active, .faq-title.active {
  text-decoration: none;
  font-weight: 700;
}
.faq-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  height: 3px;
  background-color: rgba(235, 235, 235, 1);
  transform-origin: left;
  transform: scaleX(0);
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}
.faq-title:hover::after, .faq-title:focus::after, .faq-title:active::after, .faq-title.active::after {
  transform: scaleX(1);
  background-color: #660066;
}
.faq-title.active::after {
  background-color: #660066;
}
.faq-content {
  display: none;
}
.faq-content h3 {
  font-size: 20px;
  line-height: 1.1em;
  font-weight: 700;
  margin: 0 0 0;
  text-align: left;
  color: #02687e;
}
.faq-content .inner-accordion {
  padding: 20px 20px 20px 20px;
  width: calc(100% - 40px);
  font-size: 16px;
  line-height: 25px;
  letter-spacing: 0em;
  font-weight: 300;
  margin: 0px 0px 0px 0px;
  border-bottom: 0px solid rgba(235, 235, 235, 0);
  -webkit-transition: all .2s ease-out;
  transition: all .2s ease-out;
}
.inner-left-text {
  display: flex;
  width: 65%;
  flex-direction: column;
}
.inner-right-photo {
  display: flex;
  width: 35%;
  background-image: url("../images/main/library-photos/hingham.jpeg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
/*
.faq-content.open .inner-accordion {
	margin: 0px 0px 10px 0px;
	border-bottom: 3px solid rgba(235,235,235,1);
	-webkit-transition:  all .2s ease-out .15s;
	transition: all .2s ease-out .15s;
}
*/
.faq-content .inner-accordion span {
  display: block;
  transform: translateX(-40px);
  opacity: 0;
  -webkit-transition: all .5s ease-out .3s;
  transition: all .5s ease-out .3s;
}
.faq-content.open .inner-accordion span {
  display: block;
  transform: translateX(0px);
  opacity: 1;
  -webkit-transition: transform .5s ease-out .3s, opacity .5s ease-in .3s;
  transition: transform .5s ease-out .3s, opacity .5s ease-in .3s;
}
.faq-content .inner-accordion a {
  font-weight: 400;
}
.plus-minus {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 2px;
  background-color: #ffffff;
  z-index: 1;
  -webkit-transition: all .2s ease-out;
  transition: all .2s ease-out;
}
.plus-minus::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  transform: rotateZ(90deg);
  background-color: #ffffff;
  -webkit-transition: all .2s ease-out;
  transition: all .2s ease-out;
}
.events-holder {
  width: 100%;
  background-color: #d8eeee;
  padding: 0;
  margin: 20px 0 0;
  text-align: left;
}
.events-holder h3 {
  font-size: 20px;
  line-height: 1.1em;
  color: #ffffff;
  font-weight: 300;
  padding: 1% 3%;
  background-color: #066;
  margin: 0 0 10px;
}
.events-holder ul {
  list-style: none;
  margin: 0px auto 0 !important;
  padding: 0px 0 20px !important;
  width: 96%;
}
.events-holder li {
  display: block;
  margin: 8px 0 8px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px dashed #000000;
  background-color: #d8eeee;
}
.events-holder li:last-child {
  padding-bottom: 0 !important;
  border-bottom: none;
  margin: 10px 0 0px !important;
}
.google-map-holder {
  width: 96%;
  margin: 0 auto 2%;
  display: flex;
  display: -webkit-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.google-map-responsive {
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
  height: 0;
  width: 100%;
}
.google-map-responsive iframe {
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  position: absolute;
}
#FAQs .library-facts-text a:link, #FAQs .library-facts-text a:active, #FAQs .library-facts-text a:visited {
  color: #8429b7;
  background-color: #ffffff;
  padding: 0;
  margin-top: 0px;
  /*    display: block;*/
  font-weight: 400;
  border: 0;
}
#FAQs .library-facts-text a:hover {
  text-decoration: underline;
  outline: none;
}
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-slider .slick-track, .slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  display: table;
  content: "";
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}
.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
  display: none;
}
.hero-banner {
  height: 34vw;
  overflow: hidden;
  position: relative;
  background-color: #ffffff;
}
.hero-banner .hero-slide {
  display: block;
  height: 34vw;
  position: relative;
  width: 100%;
  background-color: #000000;
}
.hero-banner .quote {
  width: 50%;
  height: 100%;
  display: flex;
}
.hero-banner .quote .inner-wrap {
  padding: 0 100px;
  margin: auto;
  position: relative;
  z-index: 2;
}
.hero-banner .quote blockquote {
  font-size: 55px;
  position: relative;
  line-height: 1.2;
  margin: 0 0 15px;
  color: #fff;
  quotes: "“""”""'""'";
}
.hero-banner .quote blockquote:before {
  content: open-quote;
  position: absolute;
  right: 100%;
  font-size: 115px;
  top: 0;
  line-height: 1;
  color: #aedfe8;
}
.hero-banner .quote blockquote:after {
  content: close-quote;
  font-size: 105px;
  position: absolute;
  line-height: 1;
  color: #aedfe8;
}
.hero-banner .quote blockquote strong {
  color: #78bd50;
}
.hero-banner .quote .author {
  font-family: "shelby", sans-serif;
  font-size: 52px;
  line-height: 1.1;
  letter-spacing: 0.01em;
  color: #fff;
}
.hero-banner h2 {
  font-family: 'Roboto', sans-serif;
  font-style: normal;
  font-size: 55px;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: #ffffff;
  margin: 0;
	text-shadow: 2px 2px 4px rgba(0,0,0,0.63);
}
.hero-banner h3 {
  font-family: 'Roboto', sans-serif;
  font-style: normal;
  font-size: 30px;
  line-height: 1;
  letter-spacing: -0.01em;
  color: #ffffff;
  font-weight: 600;
  margin: 15px 0;
	text-shadow: 2px 2px 4px rgba(0,0,0,0.63);
}
.hero-banner h4 {
  font-family: 'Roboto', sans-serif;
  font-style: normal;
  font-size: 20px;
  line-height: 1;
  letter-spacing: -0.01em;
  color: #ffffff;
  font-weight: 300;
  margin: 15px 0;
	text-shadow: 2px 2px 4px rgba(0,0,0,0.63);
}
.banner-btn a {
  font-family: 'Roboto', sans-serif;
  font-style: normal;
  font-size: 20px;
  letter-spacing: normal;
  line-height: 22px;
  min-width: 7.15em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: .75em 1.5em;
  text-align: center;
  text-decoration: none;
  font-weight: 600;
  border: 1px solid #ffffff;
  border-radius: 30px;
  background: #5825a2;
  color: #ffffff;
  margin: 20px auto 0;
  display: inline-block;
}
.banner-btn a:hover {
  cursor: pointer;
  background-color: #31086c !important;
  border: 1px solid #ffffff !important;
  outline: none;
}
.banner-btn a:focus, .banner-btn a:active, .banner-btn a.is-active {
  background-color: #5825a2 !important;
  border: 1px solid #ffffff !important;
  outline: none;
}
.hero-banner .hero-banner-full-image {
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  position: absolute;
  background-position: center center;
  background-image: url("../images/main/slider/banner-01.webp");
}
.hero-banner .hero-banner-full-image.no-show {
  display: none;
}
.hero-banner .hero-banner-full-image.v1 {
  background-image: url("../images/main/slider/banner-01.webp");
}
.hero-banner .hero-banner-full-image.v2 {
  background-image: url("../images/main/slider/banner-02.webp");
}
.hero-banner .hero-banner-full-image.v3 {
  background-image: url("../images/main/slider/banner-03.webp");
}
.hero-banner .hero-banner-full-image.v4 {
  background-image: url("../images/main/slider/banner-04.webp");
}
.alert-bar {
  width: 100%;
  margin: 0;
  padding: 20px 0;
  display: block;
  text-align: left;
  border-top: 10px solid #ffffff;
  border-bottom: 10px solid #ffffff;
  background-color: red;
}
.alert-bar .inner {
  width: 90%;
	 margin: 0 auto;
	max-width: 1500px;
  display: flex;
  display: -webkit-flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
	text-align: center;
}
.alert-bar .inner h2 {
  font-size: 35px;
  line-height: 1.1em;
  margin: 0;
  color: #ffffff;
  font-weight: 700;
  letter-spacing: -.02em;
}