:root {
  --nuvo-main: rgb(29 28 35);
  --nuvo-slate: rgb(171 176 178);
  --nuvo-reverse: #ffffff;
  --nuvo-slate-dark: #434842;
  --nuvo-mist: #f6f0e6;
  --nuvo-celestial: #d5d3cd;
  --nuvo-willow: #cacbbb;
  --nuvo-fern: #655c3a;
  --nuvo-forest: #434842;
  --nuvo-serenity: #cebcb8;
  --nuvo-ember: #a4601c;
  --nuvo-green: #0a351d;

  
  --nuvo-cream: #ece5d8;
}






#grid {
  width: 100%;
  float: left;
  margin: 32px 0px;
  background-color: var(--nuvo-slate);
  padding: 8px;
}

#gridthree {
  width: 100%;
  float: left;
  margin: 32px 0px;
  background-color: var(--nuvo-slate);
  padding: 8px;
}

@media screen and (max-width: 480px) {
  #grid[data-columns]::before {
    content: '1 .column.size-1of1';
}

#gridthree[data-columns]::before {
  content: '1 .column.size-1of1';
}
}

@media screen and (min-width: 481px) and (max-width: 768px) {





  
  #grid[data-columns]::before {
    content: '2 .column.size-1of2';
}

#gridthree[data-columns]::before {
  content: '2 .column.size-1of2';
}
}

@media screen and (min-width: 769px) {
  #grid[data-columns]::before {
    content: '4 .column.size-1of4';
}

#gridthree[data-columns]::before {
  content: '4 .column.size-1of4';
}
}

@media print {
  /* All your print styles go here */
  button {
      display: none !important;
  }
}

#grid .column {
  float: left;
  padding: 8px;
}

#grid .size-1of1 {
  width: 100%;
}

#grid .size-1of2 {
  width: 50%;
}

#grid .size-1of4 {
  width: 25%;
}


#gridthree .column {
  float: left;
  padding: 8px;
}

#gridthree .size-1of1 {
  width: 100%;
}

#gridthree .size-1of2 {
  width: 50%;
}

#gridthree .size-1of4 {
  width: 25%;
}

.footer {
  position: absolute;
  bottom: 10px;
  left: 0;
  width: 100%;
  text-align: center;
  font-size: 12px;
}

.pdf-hide {
  /* display: none; */
}

.remove-from-lightbox {
  position: absolute;
  top: 16px;
  right: 16px;
  padding: 2px;
  border-radius: 50%;
  font-size: 18px;
  line-height: 20px;
  width: 24px;
  border: none;
  cursor: pointer;
  background: #fff;
  color: var(--patricia-accent)
}

.genpdf {
  position: relative;
  padding: 4px;
  border-radius: 2px;
  font-size: 12px;
  line-height: 20px;
  width: auto;
  border: none;
  cursor: pointer;
  background: var(--patricia-accent);
  color: #fff;
  margin-top: 0px;
  float: right;
}

.add-to-lightbox {
  position: relative;
  padding: 4px;
  border-radius: 2px;
  font-size: 12px;
  line-height: 20px;
  width: auto;
  border: none;
  cursor: pointer;
  background: var(--patricia-accent);
  color: #fff;
  margin-top: 12px;
  float: right;
}

.projectitem {
  padding: 12px;
  background: #fff;
  margin-bottom: 12px;
  float: left;
  width: 100%;
  position: relative;
}

.popupgallery.projectitem {
  padding: 12px;
  background: #fff;
  margin-bottom: 12px;
  float: left;
  width: 100%;
  position: relative;
}

.popupgallery .projectitem:before {
  padding: 6px;
  font-size: 24px;
  content: "+";
  background: #ffffff70;
  top: 16px;
  right: 16px;
  line-height: 16px;
  position: absolute;
  pointer-events: none
}

.popupgallery .projectitem:hover:before {
  padding: 6px;
  font-size: 24px;
  content: "+";
  background: #ffffffeb;
  top: 16px;
  right: 16px;
  line-height: 16px;
  position: absolute;
  pointer-events: none
}

#lightboxCount {
  font-size: 16px;
  font-weight: bold;
  position: absolute;
  bottom: 0px;
  right: 0px;
  z-index: 920;
  background-color: var(--patricia-accent);
  color: #fff;
  padding: 8px;
}

#addMessage {
  font-size: 14px;
  color: green;
  position: fixed;
  padding: 0px;
  top: 16px;
  right: 16px;
  z-index: 10000;
  background-color: #ffa600;
  color: #fff;
}

.marquee {
  overflow: hidden;
  display: flex;
  clear: both;
  margin-bottom: 12px;
  padding: 8px;
}

.marquee h1 {
  font-size: 24;
  white-space: nowrap;
  text-transform: uppercase;
}

.marquee__group {
  flex-shrink: 0;
  display: flex;
  min-width: 100%;
  animation: scroll var(--duration) linear infinite;
}

.marquee__group {
  color: #fff;
}

.marquee--borders {
  background: var(--nuvo-pink);
}

.marquee--reverse .marquee__group {
  animation-direction: reverse;
  animation-delay: calc(var(--duration) / -2);
}



@keyframes scroll {
  0% {
      transform: translateX(0);
  }

  100% {
      transform: translateX(calc(-100% - var(--gap)));
  }
}

#cookie-bar {
  background: rgb(23, 23, 20);
  height: auto;
  line-height: 24px;
  color: rgb(238, 238, 238);
  text-align: center;
  padding: 8px;
}

#cookie-bar.fixed {
  position: fixed;
  top: 0px;
  z-index: 10;
  left: 0px;
  width: 100%;
}

#cookie-bar.fixed.bottom {
  bottom: 0px;
  top: auto;
}

#cookie-bar p {
  margin: 0px;
  padding: 0px;
}

#cookie-bar a {
  color: rgb(255, 255, 255);
  display: inline-block;
  border-radius: 3px;
  text-decoration: none;
  padding: 0px 6px;
  margin-left: 8px;
}

#cookie-bar .cb-enable {
  background: var(--nuvo-fern);
}

#cookie-bar .cb-disable {
  background: rgb(153, 0, 0);
}

#cookie-bar .cb-disable:hover {
  background: rgb(187, 0, 0);
}

#cookie-bar .cb-policy {
  background: rgb(43, 43, 43);
  color: rgb(138, 138, 138);
}

#cookie-bar .cb-policy:hover {
  background: rgb(0, 85, 52);
  color: rgb(238, 238, 238);
}

@font-face {
  font-family: nuvocons;
  src: url("/fonts/nuvocons.eot?#iefix") format("embedded-opentype"), url("/fonts/nuvocons.woff") format("woff"), url("/fonts/nuvocons.ttf") format("truetype"), url("/fonts/nuvocons.svg#nuvocons") format("svg");
  font-weight: 400;
  font-style: normal;
}

[data-icon]::before {
  content: attr(data-icon);
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  font-family: nuvocons !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
}

[class^="icon-"]::before, [class*=" icon-"]::before {
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  font-family: nuvocons !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
}

.icon-facebook:before {
  content: "\61";
}
.icon-twitter:before {
  content: "\62";
}
.icon-search:before {
  content: "\63";
}
.icon-instagram:before {
  content: "\64";
}
.icon-download:before {
  content: "\65";
}
.icon-location:before {
  content: "\66";
}
.icon-pin:before {
  content: "\67";
}
.icon-android-call:before {
  content: "\68";
}
.icon-mail:before {
  content: "\69";
}
.icon-link:before {
  content: "\6a";
}
.icon-linkedin:before {
  content: "\6b";
}
.icon-link-external:before {
  content: "\6c";
}
.icon-share:before {
  content: "\6d";
}
.icon-iphone:before {
  content: "\6e";
}
.icon-home:before {
  content: "\6f";
}
.icon-calendar:before {
  content: "\70";
}
.icon-ios-clock-outline:before {
  content: "\71";
}
.icon-docx-file-format-symbol:before {
  content: "\72";
}
.icon-pdf-file-format-symbol:before {
  content: "\73";
}
.icon-chevron-left:before {
  content: "\74";
}
.icon-chevron-right:before {
  content: "\75";
}
.icon-chevron-up:before {
  content: "\76";
}
.icon-chevron-down:before {
  content: "\77";
}
.icon-cloud-download-2:before {
  content: "\78";
}
.icon-sign-in:before {
  content: "\79";
}
.icon-sign-out:before {
  content: "\7a";
}
.icon-logistics-delivery-truck-in-movement:before {
  content: "\41";
}
.icon-shopping-cart:before {
  content: "\42";
}
.icon-question:before {
  content: "\43";
}
.icon-ios-information-outline:before {
  content: "\44";
}
.icon-arrowdownnew:before {
  content: "\45";
}
.icon-arrowleftnew:before {
  content: "\46";
}
.icon-arrowrightnew:before {
  content: "\47";
}
.icon-arrowupnew:before {
  content: "\48";
}
.icon-doc-file-format-symbol:before {
  content: "\49";
}
.icon-file:before {
  content: "\4a";
}
.icon-colston-subjects10:before {
  content: "\4b";
}
.icon-edit-pen-1:before {
  content: "\4c";
}
.icon-users:before {
  content: "\4d";
}
.icon-user:before {
  content: "\4e";
}
.icon-content-8:before {
  content: "\4f";
}
.icon-x-icon-new:before {
  content: "\50";
}
.icon-user-1:before {
  content: "\51";
}
.icon-cart:before {
  content: "\52";
}
.icon-share-1:before {
  content: "\53";
}
.icon-pin-1:before {
  content: "\54";
}
.icon-design-graphic-tablet-streamline-tablet:before {
  content: "\55";
}
.icon-newarrow:before {
  content: "\56";
}

a {
  text-decoration: none;
}

.nuvo-container .minicta a {
  width: auto;
  float: left;
  color: #333;
  margin-top: 16px;
  padding: 8px 16px;
  padding-right: 48px;
  background-color: var(--nuvo-ember);
  color: #fff;
  position: relative;
}

.nuvo-container .minicta a:before {
 
  position: absolute;
  content: "u";
  font-family: nuvocons;
  right: 0px;
  top: 0px;
  font-size: 24px;
  padding: 4px;
  line-height: 34px
}

.minilogo{
  float: left;
  width: 100%;
  margin: 8px 0px;
}

.minilogo img {
  float: left;
  width: 280px;
  padding: 8px;
  /* border: 1px solid var(--nuvo-slate); */
  /* background: #fff; */
}


.contactheadernew {
                   position: fixed;
                   display: flex;
                   background-color: var(--nuvo-fern);
                   top: 76px;
                   z-index: 30;
                   right: 8px;
                   border-radius: 2px;
                   box-shadow: rgba(0, 0, 0, 0.4) 1px 1px 1px;
                   }


.adtel {
    /* float: right; */
    padding: 0px;
    width: auto;
   padding: 0;
  line-height: 1;
    position: relative;
  padding: 4px;
  padding-top: 8px;
    padding-left: 36px;
    padding-right: 14px;
    text-shadow: rgb(0, 0, 0) .5px .5px 1px;
    }

.adtel a {color: #fff;font-size: 24px;}


.adtel::before {
    position: absolute;
    content: "h";
    left: 2px;
  top: 4px;
    font-size: 28px;
    font-family: nuvocons;
    border-radius: 4px;
    width: 24px;
    height: 24px;
    color: #fff;
    text-align: center;
    line-height: 24px;
    pointer-events: none;
}




.highlight {
  background-color: var(--nuvo-fern);
  padding: 2px 2px;
  color: #fff;
  font-style: italic;
  border-radius: 2px;
}

.nuvo-container a {
  color: inherit;
  padding: 0px;
  margin: 0px;
}

.nuvo-container section a {
  text-decoration: none;
  color: inherit;
  margin: 0px;
}

.nuvo-container section p a {
  text-decoration: underline;
  color: var(--nuvo-red);
  margin: 0px;
}

.simpletext a {
  text-decoration: underline;
  color: var(--nuvo-fern);
}

body {
  overflow-x: hidden;
  color: var(--nuvo-main);
  position: relative;
  margin: 0px;
  padding: 0px;
  -webkit-font-smoothing: antialiased;
  left: 0px;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1.5;
}

.filterarea h3 {
  padding: 0px;
  margin: 0px;
}

.filterarea {
  padding: 0px;
  margin: 0px;
  display: block;
  float: left;
  width: 100%;
}

.categories a.Sports {
  background-color: var(--nuvo-sports);
  color: rgb(255, 255, 255);
  padding: 4px;
  float: left;
  margin-bottom: 0px;
}

.categories a.Normal {
  background-color: var(--nuvo-fern);
  color: rgb(255, 255, 255);
  padding: 4px;
  float: left;
  margin-bottom: 0px;
}

.categories a.Staff {
  background-color: var(--nuvo-fern);
  color: rgb(255, 255, 255);
  padding: 4px;
  float: left;
  margin-bottom: 0px;
}

.categories a.Holiday {
  background-color: rgb(103, 111, 152);
  color: rgb(255, 255, 255);
  padding: 4px;
  float: left;
  margin-bottom: 0px;
}

h3.Sports {
  background-color: var(--nuvo-sports);
  color: rgb(255, 255, 255);
  padding: 4px;
  float: left;
  margin-bottom: 12px;
}

h3.Normal {
  background-color: var(--nuvo-fern);
  color: rgb(255, 255, 255);
  padding: 4px;
  float: left;
  margin-bottom: 12px;
}

h3.Staff {
  background-color: var(--nuvo-fern);
  color: rgb(255, 255, 255);
  padding: 4px;
  float: left;
  margin-bottom: 12px;
}

h3.Holiday {
  background-color: rgb(103, 111, 152);
  color: rgb(255, 255, 255);
  padding: 4px;
  float: left;
  margin-bottom: 12px;
}

.categories {
  display: flex;
  width: 100%;
  margin: 16px 0px;
  gap: 16px;
  background-color: rgb(229, 229, 229);
  float: left;
  padding: 8px;
}

iframe {
  position: relative;
  float: left;
}

.iframemap {
  position: relative;
  float: left;
  width: 100%;
  /* border: 16px solid rgb(255, 255, 255); */
}

.iframemap::after {
  position: absolute;
  content: "";
  width: 100%;
  bottom: 0px;
  left: 0px;
  height: 24px;
  background-color: rgb(255, 255, 255);
  z-index: 3;
}

#modal_screen {
  position: fixed;
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
  z-index: 1100;
  background-color: rgb(0, 0, 0);
}

#modal_screen.nope {
  background-color: rgb(0, 0, 0);
}

#modal_content {
  position: fixed;
  z-index: 1101;
  margin: 0px auto;
  background-color: rgb(255, 255, 255);
  border: 16px solid var(--nuvo-fern);
  width: calc(100% - 48px);
  max-width: 880px;
}

#modal_content .content_wrapper {
  padding: 16px;
  margin: 0px auto;
  text-align: center;
}

#modal_content h2 {
  font-size: 1.6em;
}

.disclaimerlogo {
  width: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
}

.disclaimerlogo img {
  width: 100%;
  text-align: center;
  align-items: center;
  align-self: center;
}

#modal_content p {
  font-size: 1.1em;
}

#modal_content div ul {
  padding: 0px;
}

#modal_content div li {
  display: inline-flex;
  width: 100%;
  padding: 5px;
}

#modal_content a.button {
  width: 100px;
  margin: 10px auto;
  background: rgb(255, 255, 255);
  color: var(--nuvo-fern);
  padding: 12px;
  text-decoration: none;
}

#modal_content a.notEligible {
  background: rgb(0, 0, 0);
}

ol, ul {
  list-style: none;
}

.breadcrumbs {
  width: 100%;
  border-bottom: 1px dashed rgba(0, 0, 0, .3);
  padding: 8px;
  float: left;
  margin-bottom: 16px;
  position: relative;
  display: none;
}

.breadcrumbs li {
  float: left;
  padding-right: 4px;
  }

.breadcrumbs a {
  color: var(--nuvo-slate);
  padding-right: 12px;
  font-size: 13px;
  position: relative;
  line-height: 12px;
}

.breadcrumbs a:after {
  position: absolute;
  content: ">";
  right: 0px;
  top: 0px;
  color: var(--nuvo-fern);
}

.blogbanner {
  margin-bottom: 16px;
}

.multicolumn nav.prevnext {
  width: 100%;
  padding: 0px;
  background-color: var(--nuvo-slate);
  margin: 24px 0px;
  font-size: 15px;
  z-index: 3000;
  position: relative;
}

.previouslink {
  float: left;
  width: 50%;
  text-align: left;
}

.previouslink a {
  text-align: left;
  padding: 16px;
  padding-left: 32px;
  position: relative;
  float: left;
  color: var(--nuvo-slatedark);
}

.previouslink a::before {
  left: 4px;
  top: 16px;
  font-size: 24px;
  line-height: 1;
  content: "t";
  position: absolute;
  font-family: nuvocons;
  color: var(--nuvo-slatedark);
}

.nextlink {
  float: right;
  width: 50%;
  text-align: right;
}

.nextlink a {
  text-align: right;
  padding: 16px;
  padding-right: 32px;
  position: relative;
  float: right;
  color: var(--nuvo-slatedark);
}

.nextlink a::before {
  right: 4px;
  top: 16px;
  font-size: 24px;
  line-height: 1;
  content: "u";
  position: absolute;
  font-family: nuvocons;
  color: var(--nuvo-slatedark);
}

.tags {
  display: block;
  width: auto;
  float: left;
}

.tags li {
  float: left;
  margin-right: 1px;
  margin-bottom: 1px;
}

.tags a {
  padding: 4px;
  float: left;
  background: rgb(247 247 247);
  border-radius: 4px;
  font-size: 12px;
  margin: 1px;
  border-bottom: 1px solid #ccc;
}

table {
  border-collapse: collapse;
  border-spacing: 0px;
}

section ul {
  /* text-align: left; */
  /* padding: 12px 24px; */
  /* width: 100%; */
}

section li {
  position: relative;
}


.projectsgrid {
  display: grid;
  gap: 16px;
  padding: 16px;
  background-color: var(--nuvo-slate);
  grid-template-columns: repeat(4, 1fr);
  position: relative;
  z-index: 0;
  width: 100%;
  margin-top: 16px;
}

.introarea {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, 1fr);
  position: relative;
  z-index: 0;
  width: 100%;
}

.productfilter {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, 1fr);
  position: relative;
  z-index: 0;
  width: 100%;
  background-color: var(--nuvo-fern);
  padding: 16px;
}

.contact-form {
  grid-column: span 6 / auto;
  grid-template-columns: repeat(4, 1fr);
  display: grid;
}

.contact-form form {
  grid-column: span 4 / auto;
  grid-template-columns: repeat(4, 1fr);
  display: grid;
  gap: 16px;
  padding: 0px  !important;
  background: rgba(0,0,0,0) !important;
}

#projectsgrid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, 1fr);
  position: relative;
  z-index: 0;
  
  width: 100%;
}

#projectsgrid .projectitem {
  margin-bottom: 0px;
}

.features {
  display: none;
}

.twothirds {
}

.twothirds section {
  border: none;
}

.onethird {
  grid-column: 3 / span 1;
}

.halfcolumn {
  grid-column: span 6 / auto;
}

.onethirdcolumn {
  grid-column: span 4 / auto;
}

.twothirdscolumn {
  grid-column: span 8 / auto;
}

.insidewrapper section ul li p {
  padding: 0px !important;
  margin: 0px !important;
}


}

ul li p {
  padding: 0px;
  margin: 0px;
}

section ul li::before {
  background-color: var(--nuvo-main);
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  position: absolute;
  left: 8px;
  top: 8px;
}

.videoblock {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, 1fr);
  position: relative;
  z-index: 0;
  max-width: 1480px;
  width: 100%;
}

.videoblockhome {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(1, 1fr);
  position: relative;
  z-index: 0;
  max-width: 1480px;
  width: 100%;
  float: left;
}

.videoarea {
  padding: 16px;
  background-color: rgb(0, 0, 0);
  width: 100%;
  display: block;
  background-repeat: no-repeat;
  margin-top: 24px;
  border-radius: 8px;
  color: rgb(255, 255, 255);
}

.videoareainside {
  padding: 8px;
  background-color: rgb(0, 0, 0);
  width: 100%;
  display: block;
  background-repeat: no-repeat;
  float: left;
}

.videoeventarea .videoarea {
  padding: 8px;
  background-color: rgb(33, 42, 41);
  width: 100%;
  display: inline-block;
}

.videoarea h3 {
  padding: 8px;
  color: rgb(255, 255, 255);
  line-height: 1;
}

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0px;
  overflow: hidden;
  width: 100%;
  float: left;
}

.video-container embed, .video-container iframe, .video-container object {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  border: 0px;
}

#navigationarea {
  display: block;
  width: 100%;
  overflow: visible;
  background-color: #fff;
  z-index: 30;
  box-shadow: 1px 1px 4px rgba(0,0,0,0.0);
  transition: all 0.3s ease 0s;
  padding: 12px 0px;
  float: left;
}

.shrink #navigationarea {
  float: left;
  display: block;
  width: 100%;
  overflow: visible;
  z-index: 30;
  top: 0px;
  left: 0px;
  position: fixed;
  box-shadow: 1px 1px 4px rgba(0,0,0,0.3);
  transition: all 0.3s ease 0s;
}



/* SLIDE PUT SEARCH */
.searchbar {
  position: absolute;
  right: 8px;
  top: 75px;
  width: auto;
  z-index: 100;
  /* overflow: hidden; */
}

#toggleSearch {
  cursor: pointer;
  /* display: none; */
  position: relative;
  float: right;
  top: 0px;
  right: 1px;
  padding: 4px;
  background-color: var(--nuvo-fern);
  border: 0px;
  color: #fff;
  height: 38px;
  border-radius: 2px;
  font-size: 20px;
  /* box-shadow: rgba(0, 0, 0, 0.4) 1px 1px 1px; */ */
}

#toggleSearch:before {
  content: "c";
  font-family: nuvocons;
  font-size: 32px;
  padding: 0px;
  line-height: 1;
  text-shadow: rgba(0, 0, 0, 0.4) 1px 1px 1px; */
}

#searchContainer {
  position: relative;
  top: 0;
  right: 0px;
  width: 400px;
  height: 38px;
  background-color: #f1f1f1;
  overflow: hidden;
  transition: 0.3s;
  z-index: 9;
  float: right;
}

#searchContainer form {
  display: inline-flex;
}

#searchContainer.hidden {
  top: 0;
  right: -400px;
  width: 0px;
  background-color: #f1f1f1;
  overflow: hidden;
  transition: 0.3s;
}

#searchContainer.open {
  width: 250px;
}

#searchInput {
  width: 80%;
  padding: 10px;
  margin: 10px;
  border: none;
  border-radius: 5px;
}

#closeSearch {
  padding: 0px;
  background-color: #333;
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

#closeSearch:hover {
  background-color: #555;
}

/* SLIDE PUT SEARCH */
/* Dropdown Button */
.dropdown {
  position: absolute;
  right: 54px;
  top: 100px;
  width: auto;
  z-index: 1;
}

/* Style for the dropdown button */
.dropdown-button {
  background-color: var(--nuvo-fern);
  font-size: inherit;
  color: #fff;
  padding: 17px;
  border: none;
  cursor: pointer;
}

/* Style for the dropdown content (hidden by default) */
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 180px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}

/* Style for dropdown content links */
.dropdown-content a {
  color: #333;
  padding: 8px;
  text-decoration: none;
  display: block;
  font-size: 16px;
}

/* Change color of dropdown links on hover */
.dropdown-content a:hover {
  background-color: #ddd;
}

/* Show the dropdown content when hovering over the dropdown button */
.dropdown:hover .dropdown-content {
  display: block;
}

input[type="color"], input[type="date"], input[type="datetime-local"], input[type="datetime"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"], textarea {
  appearance: none;
  background-color: rgb(255 255 255);
  display: block;
  padding: 4px;
  width: 100%;
  margin-bottom: 0px;
  height: 54px;
  font-size: inherit;
  border: 0px solid var(--nuvo-fern);
}

 input.sb-search-input, 
input.sb-search-submit {
  height: 38px;
  padding: 4px !important;
  line-height: 1;
}

input[type="color"]:focus, input[type="date"]:focus, input[type="datetime-local"]:focus, input[type="datetime"]:focus, input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="week"]:focus, textarea:focus {
  background: #fff;
  border-color: rgb(153, 153, 153);
  outline: 0px;
}

input::placeholder {
  color: var(--nuvo-willow);
  opacity: 1; /* Firefox */
}

input::-ms-input-placeholder { /* Edge 12 -18 */
  color: var(--nuvo-willow);
}



input[type="submit"] {
  appearance: none;
  border-radius: 0px;
  padding: 10px;
  margin-top: 0px;
  border: 0px;
  font-size: 22px;
  color: rgb(69, 69, 69);
  background: var(--nuvo-main);
  color: var(--nuvo-slate);
}

.contentbreak {
  width: 100%;
  float: left;
  padding: 32px 0px;
  border: 1px solid var(--nuvo-fern);
}

.profilelist {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, 1fr);
  position: relative;
  z-index: 0;
  max-width: 1480px;
  width: 100%;
}

.singleprofile {
  border: 1px solid rgb(51, 51, 51);
  padding: 16px;
}

.profilename {
  padding: 16px 0px;
}

.profiledesc {
  padding: 16px 0px;
}

.profilename h3 {
  font-size: 24px;
  color: var(--nuvo-fern);
}

.profileimages {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, 1fr);
  position: relative;
  z-index: 0;
  max-width: 1480px;
  width: 100%;
}

form {
  float: left;
  width: 100%;
}

::placeholder {
  color: var(--nuvo-fern);
  opacity: 1;
}

.filterform {
  background-color: var(--nuvo-fern);
  border-radius: 4px;
  width: 100%;
  color: rgb(33, 36, 52);
  padding: 12px;
  float: left;
  text-align: left;
  margin: 16px 0px;
}

.filterform label {
  width: 100%;
  font-size: 24px;
  padding-bottom: 12px;
  float: left;
  color: rgb(255, 255, 255);
}

.filterform input {
  float: left;
  position: relative;
  color: var(--nuvo-fern);
}

.searchterm-highlight {
  background-color: var(--nuvo-fern);
}

*, html {
  box-sizing: border-box;
  margin: 0px;
  padding: 0px;
  -webkit-font-smoothing: antialiased;
}

.bookavisit {
  float: left;
  padding: 0px 0px;
  width: 100%;
}

.bookavisit a {
  float: right;
  padding: 8px 32px;
  width: auto;
  background-color: var(--nuvo-forest);
  color: #fff
}

.sb-icon-search {
  width: 44px;
  /* display: block; */
  position: absolute;
  right: 0px;
  top: 0px;
  padding: 8px;
  /* margin: 0px; */
  /* text-align: center; */
  /* cursor: pointer; */
}

.sb-search-submit {
  background: rgb(255, 255, 255);
  opacity: 1;
  color: transparent;
  border: none;
  outline: 0px;
}

.sb-icon-search {

  float: left;
}

.sb-icon-search::before {
  content: "c";
  font-family: nuvocons;
  font-size: 32px;
  color: var(--nuvo-fern);
  position: absolute;
  left: 8px;
}



.modal {
  display: none;
  position: absolute;
  right: 0px;
  width: 600px;
  max-width: 100%;
  height: auto;
  z-index: 3;
  pointer-events:none;
}



.modal form {
  margin: 0px;
  padding: 24px;
   background-color: var(--nuvo-main);
  float: left;
  width: 100%;
}

.modal form input {
  width: 70%;
  float: left;
}

.modal form input.sb-search-submit {
  float: left;
  width: 30%;
  border-bottom: none;
  color: rgb(255, 255, 255);
  background-color: var(--nuvo-main);
  padding: 16px;
}

.modalheader {
  float: right;
  width: 106px;
  line-height: 50px;
  text-align: center;
  position: relative;
  height: 66px;
  box-sizing: border-box;
  z-index: 2;
  background-color: var(--nuvo-light-grey);
}

.modalheader a {
  position: absolute;
  width: 100%;
  height: 100%;
  display: block !important;
}

.modalheader::before {

}

.modal_header a {
  position: absolute;
  top: 0px;
  right: 0px;
  text-decoration: none;
  color: rgb(255, 255, 255);
  font-weight: 500;
  display: block;
  padding: 0px 20px;
  font-size: 16px;
  background: rgb(85, 85, 85);
  height: 100%;
}


a.js-open-search-modal {
  top: 12px;
  right: 80px;
}

.modal form {
  margin: 0px;
}

.modal form input {
  width: 70%;
  float: left;
}



.modal.visible {
  display: block;
}

.modalheader {
  float: right;
  width: 44px;
  line-height: 44px;
  text-align: center;
  position: relative;
  height: 77px;
  box-sizing: border-box;
  z-index: 2;
  /* background-color: rgb(230, 237, 236); */
}

.modalheader a {
  position: absolute;
  width: 100%;
  height: 100%;
  display: block !important;
}

.modalheader::before {
 content: "c";
 font-family: nuvocons;
 font-size: 32px;
 color: var(--nuvo-fern);
  position: absolute;
  top: 10px;
  left: 8px;
}

.modal_header a {
  position: absolute;
  top: 0px;
  right: 0px;
  text-decoration: none;
  color: rgb(255, 255, 255);
  font-weight: 500;
  display: block;
  padding: 0px 20px;
  font-size: 16px;
  background: rgb(85, 85, 85);
  height: 100%;
}

a.js-open-search-modal {
  position: absolute;
  width: 44px;
  height: 44px;
  top: 0px;
  right: 0px;
  z-index: 2;
  padding: 8px;
  /* color: rgb(238, 238, 238); */
}





.honey {
  display: none;
}
.basiccaption {
  position: absolute;
  background-color: var(--nuvo-fern);
  padding: 4px;
  color: #fff;
  bottom: 0px;
  left: 0px;
  font-size: 14px;
  
}

strong {
  font-weight: 500;
}

.clientlogosouter {
  position: relative;
  z-index: 0;
  width: 100%;
  text-align: center;
  float: left;
  padding: 32px 16px;
  background: var(--nuvo-main);
  color: #fff;
}

.clientlogosouter h3 {
  text-align: center;
  width: 100%;
  float: left;
  color: #fff;
  font-size: 27px;
  text-shadow: rgba(0, 0, 0, 0.7) 1px 1px 1px;
  line-height: 1;
  /* padding-bottom: 32px; */
  font-weight: 400;
}





section.clientlogos {
  display: inline-grid;
  padding: 0px 0px;
  gap: 16px;
  grid-template-columns: repeat(8, 1fr);
  position: relative;
  z-index: 0;
  max-width: 1480px;
  width: 100%;
  /* background-image: linear-gradient(-185deg, #426d50, #000000); */
}

section.clientlogos img {
  float: left;
  width: 100%;
  opacity: 0.5
}

.clientlogo {
  padding: 12px;
}

.clientlogos .clientlogo {
  padding: 2px;
  border: 1px solid #b4b4b447;
}

.ctainsert {
  margin: 64px 0px;
  padding: 16px;
  width: 100%;
  float: left;
  border-radius: 8px;
  text-align: center;
  position: relative;
   color: var(--nuvo-cream);
}

.ctainsert:before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: calc(100% + 64px);
  top: -32px;
  right: 0;
  bottom: 0;
  transform-origin: 50% 0;
  outline: 1px solid transparent;
  backface-visibility: hidden;
  background: var(--nuvo-willow);
}


.ctainsert:after {
  margin-top: -48px;
  content: "";
  position: absolute;
  padding: 80px 16px;
  z-index: 1;
  background-position:center center;
  -webkit-background-size:cover;
  -moz-background-size:cover;
  -o-background-size:cover;
  background-size:cover;
  background-attachment: fixed;
  background-color: #7f7654;
  background-image: url(/assets/icons/pattern2.svg);
  height: calc(100%);
  top: 0px;
  width: 150vw;
  left: -50vw;
}





.ctamessage {
  float: left;
  width: 100%;
  clear: both;
  margin-bottom: 4px;
 
  position: relative;
  z-index: 3;
}

.ctamessage h3 {
  float: left;
  width: 100%;
  clear: both;
  font-size: 24px;
  margin-bottom: 4px;
  position: relative;
  z-index: 3;
  color: var(--nuvo-cream);
}

.contactline {
  float: left;
  width: 100%;
  clear: both;
  display: flex;
  margin-bottom: 4px;
  justify-content: center;
  position: relative;
  z-index: 3;
}

.quote {
  float: left;
  width: 100%;
  clear: both;
  font-size: 20px;
  margin-bottom: 4px;
  position: relative;
  z-index: 2;
}

h3.keymessage, .emailline {
  float: left;
  width: 100%;
  clear: both;
  font-size: 24px;
  padding-bottom: 12px;
}

.telicon {
position: relative;
  padding: 16px 12px 16px 48px;
  clear: both;
  font-size: 24px;
  background:  var(--nuvo-ember);
  border-radius: 2px;
  color: var(--nuvo-cream);
  margin: 0px 8px;
  border-bottom: 2px solid rgba(0,0,0,0.6);
 
}

.quoteline {
position: relative;
  padding: 16px 12px 16px 48px;
  clear: both;
  font-size: 24px;
  background:  var(--nuvo-main);
  margin: 0px 8px;
  color: var(--nuvo-cream);
  border-bottom: 2px solid rgba(0,0,0,0.6);
}

.quoteline::before {
  content: "L";
  font-family: nuvocons;
  top: 8px;
  font-size: 30px;
  position: absolute;
  left: 4px;
  padding: 4px;
  line-height: 1;
  border-radius: 50%;
}

.telicon::before {
  content: "n";
  font-family: nuvocons;
  top: 12px;
  font-size: 36px;
  position: absolute;
  left: 6px;
  padding: 0px;
  line-height: 32px;
  border-radius: 50%;
}

.emailicon {
position: relative;
  padding: 16px 12px 16px 48px;
  clear: both;
  font-size: 24px;
  background:  var(--nuvo-fern);
    margin: 0px 8px;
  color: var(--nuvo-cream);
  border-bottom: 2px solid rgba(0,0,0,0.6);
}

.emailicon::before {
  content: "i";
  font-family: nuvocons;
  top: 16px;
  font-size: 24px;
  position: absolute;
  left: 12px;

  line-height: 1;
  border-radius: 50%;
}

.emailicon a {
  float: left;
  width: 100%;
  clear: both;
  font-size: 18px;
}

.quoteline a {
  float: left;
  width: 100%;
  clear: both;
  font-size: 18px;
}

.telicon a {
  float: left;
  width: 100%;
  clear: both;
  font-size: 20px;
}

#picturenav {
  display: inline-grid;
  grid-gap: 24px;
  row-gap: 24px;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-flow: row;
  padding: 40px 0;
  text-align: left;
  width: 100%;
  position: relative
}



.imagelink {
  background-color: var(--nuvo-slate);
  padding-bottom: 0px;
  position: relative;
  padding-bottom: 48px;
}

.imagelink a {
  float: left;
  width: 100%;
}


.testimonialsingleinternal h3 {
  padding: 8px 0px;
  font-weight: 500;
  font-family: "Roboto", sans-serif;
  color: var(--nuvo-main);
}





.alltestimonials {
  display: inline-grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
  border-bottom: 1px solid rgb(0 0 0 / 67%);
  /* padding: 16px; */
}





.testimonialsingleinternal {
  grid-column: span 12 / auto;
  display: inline-grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
  position: relative;
  max-width: 1480px;
  background-color: rgb(255 255 255 / 30%);
  padding: 16px;
  padding-bottom:48px;
  /* box-shadow: 0px 1px 1px rgba(0,0,0,0.5); */
}

.testimonialdesc {
  grid-column: span 8 / auto;
  order: 1;
  padding-top: 32px;
  
  
}

.testimonialdesc.fullwidth {
  grid-column: span 12 / auto;
  order: 1;
  padding-top: 32px;
  
  
}

.testphoto {
  grid-column: span 4 / auto;
  order: 1;

  
}

.testphoto img {
  padding: 8px;
  background: #fff;
  box-shadow: 1px 1px 1px rgba(0,0,0,0.2);
  
}



.slickperson {
  float: left;
  color: var(--nuvo-slate);
}

.testdate {
  float: left;
  color: var(--nuvo-slate);
}

.testimonialsingleinternal p {
  font-size: 16px;
  padding: 8px 0px;
}



.testimonialsingleinternal:after {
  position: absolute;
  content: "\201D";
  right: 8px;
  bottom: -8px;
  padding: 0px;
  font-size: 60px;
  height: 48px;
  line-height: 1;
  color: var(--nuvo-fern);
  font-family: 'Unna', serif;
  font-weight: normal;
  font-style: normal;
}
.testimonialsingleinternal:before {
  position: absolute;
  content: "\201C";
  left: 8px;
  top: 8px;
  padding: 0px;
  font-size: 60px;
  height: 80px;
  line-height: 1;
  color: var(--nuvo-fern);
  font-family: 'Unna', serif;
  font-weight: normal;
  font-style: normal;
}





.slickperson {
  float: left;
  color: var(--nuvo-ember);
}

.testdate {
  float: left;
  color: var(--nuvo-slate);
}

.testimonialsingleinternal p {
  font-size: 16px;
  padding: 8px 0px;
}

.picturenavimagearea {
  float: left;
  width: 100%
}

.picturenavtext {
  position: relative;
  pointer-events: none;
  width: 100%;
}

.picturenavtextnew {
  width: 100%;
  position: absolute;
  bottom: 0px;
  padding: 12px;
  text-align: center;
  color: #fff;
  font-size: 24px;
  text-transform: uppercase;
  left: 0px;
  text-shadow: 1px 1px 1px rgb(0,0,0);
}

.learnmore {
  float: left;
  padding: 8px;
  font-weight: 600;
  color: #fff;
}

.imagelink:after {
  position: absolute;
  bottom: 0px;
  content: "G";
  right: 16px;
  font-family: nuvocons;
  font-size: 32px;
  color: #fff;
  pointer-events: none;
}

.products .imagelink:after {
  color: var(--nuvo-fern);
}

.picturenavtext span {
  padding-top: 8px;
  font-weight: 400;
  width: 100%;
  height: auto;
  font-size: 20px;
  color: #ffffff;
  float: left;
  position: relative;
  z-index: 0;
  text-align: center;
  color: var(--nuvo-fern);
  line-height: 1;
  background: rgb(29 28 35);
  /* pointer-events: none; */
}
.picturenavtext span.location {
  padding-bottom: 8px;
  font-size: 12px;
  color: #ffffff;
  /* text-transform: uppercase; */
  pointer-events: none;
}



.picturenavimagearea {
  float: left;
  width: 100%
}

.picturenavdesc {
  width: 100%;
  float: left;
  padding: 16px 64px;
  padding-bottom: 0px;
  color: #fff;
}

.bannershallowest {
  height: 300px;
  background-size: cover;
}

.blogdetails {
  font-size: 16px;
  float: left;
  width: 100%;
  padding: 0px;
  background-color: var(--nuvo-slate);
  margin-bottom: 8px;
}

.note-date {
  float: left;
  padding: 4px;
  color: var(--nuvo-fern);
  font-weight: 600;
}

.bloglistinghome .note-date {
  float: left;
  padding: 0px;
  color: var(--nuvo-slate-dark);
  font-weight: 600;
  position: relative;
  margin-top: 8px;
  left: 0px;
  text-align: center;
  width: 100%;
}

.blogdetails .note-date {
  float: left;
  padding: 4px;
  color: var(--nuvo-main);
  font-weight: 400;
}

.blog-excerpt-text {
  float: left;
  padding-top: 12px;
}

.readmore {
  margin-top: 24px;
  
}
.readmore span {
  padding: 4px 16px;;
  background: var(--nuvo-fern);
  color: var(--nuvo-main)
  
}

.author {
  float: left;
  padding: 4px;
}

.posttags {
  float: left;
  padding: 4px;
  color: var(--nuvo-slate);
}

.highlighttag {
  background-color: var(--nuvo-fern);
  padding: 4px 5px;
  border-radius: 12px;
  margin: 0px 10px;
  font-size: 28px;
  color: rgb(255, 255, 255);
}

.strapline {
  text-align: center;
  width: 100%;
  float: left;
  color: var(--nuvo-cream);
  font-size: 27px;
  text-shadow: rgba(0, 0, 0, 0.7) 1px 1px 1px;
  line-height: 1;
  padding: 16px 0px;
  font-weight: 400;
}

.sitemaphtml .submenu {
  padding-left: 0px;
}

.sitemaphtml .submenu .submenu {
  padding-left: 32px;
}

.div1, .div2, .div3, .div4, .div5, .div2, .div6, .div7 {
  position: absolute;
  opacity: 0;
  width: calc(100% - 0px);
  height: calc(100% - 0px);
  left: 0px;
  top: 0%;
  padding: 16px;
  background-color: rgba(0, 0, 0, 0.95);
  color: rgb(255, 255, 255);
  z-index: 40;
  pointer-events: none;
}

.popuptext {
  position: absolute;
  top: 100%;
  padding-top: 16px;
}

.singleteacher.showdetails .popuptext {
  top: 0%;
}

.singleteacher.showdetails .div1, .singleteacher.showdetails .div2, .singleteacher.showdetails .div3, .singleteacher.showdetails .div4, .singleteacher.showdetails .div5, .singleteacher.showdetails .div6, .singleteacher.showdetails .div7 {
  position: absolute;
  opacity: 1;
  top: 0%;
  pointer-events: none;
}

.sitemapleft, .sitemapright {
  width: 100%;
  float: left;
}

.sitemapright .sitemaphtml a {
  width: 100%;
  color: rgb(54, 169, 170);
  margin: 0px;
  padding: 0px;
}

.sitemapright .sitemaphtml li {
  margin: 0px;
  padding: 0px;
}

.sitemaphtml li {
  margin-left: 0px;
  list-style: none;
  color: rgb(37, 7, 37);
  margin-top: 4px;
  font-weight: 400;
  width: 100%;
  float: left;
}

.sitemaphtml ul li {
  /* color: rgb(237, 22, 80); */
  font-weight: 400;
  width: 100%;
  border-bottom: none;
}

.sitemaphtml li ul li {
  margin-left: 0px;
  list-style: none;
  margin-top: 0px;
}

.sitemaphtml li ul li a {
  color: var(--nuvo-fern);
  padding-left: 12px;
}

.sitemaphtml li ul li ul li a {
  color: rgb(76, 141, 195);
  background-color: rgb(245, 245, 245);
  border-bottom: 1px solid rgb(255, 255, 255);
}

.teacherlist {
  display: inline-grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  width: 100%;
  padding: 16px;
  border-bottom: 1px solid rgb(221, 228, 225);
  margin-bottom: 24px;
  border-radius: 4px;
  background-color: var(--nuvo-slate);
}

.governorlist {
  display: inline-grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  width: 100%;
  padding-bottom: 24px;
}

.singleteacher {
  padding: 8px;
  text-align: center;
  grid-template-columns: repeat(4, 1fr);
  background-color: #fff;
  position: relative;
  align-items: start;
}

.singleteacher h3, .singleteacher p {
  padding: 0px !important;
}

.singleteacher h3 {
  font-weight: normal;
  font-family: 'Alkatra', cursive;
  font-size: 28px;
  margin: 12px 0px;
}

.teacherimage {
  width: 100%;
  float: left;
}

.teacherdetails {
  width: 100%;
  float: left;
  font-size: 14px;
}

.checmicalelement {
  position: absolute;
  bottom: 0px;
  right: 0px;
  font-size: 20px;
  color: var(--nuvo-slate-dark);
  height: 48px;
  width: 48px;
  z-index: -1;
  background-color: rgb(255, 255, 255);
  padding: 4px;
  text-align: center;
  border-radius: 4px;
}

.atomic {
  font-size: 14px;
  width: 100%;
  line-height: 1;
}

.initials {
  font-size: 24px;
  width: 100%;
  font-weight: 600;
  line-height: 1;
}

.personemail a {
  padding: 8px;
  color: rgb(255, 255, 255);
  background: var(--nuvo-red);
  margin-top: 12px;
  float: left;
  border-radius: 4px;
}

.govdetails {
  display: grid;
  gap: 8px;
  padding: 2px 0px;
  grid-template-columns: repeat(2, 1fr);
}

.goveheading {
  font-weight: 600;
  color: var(--nuvo-fern);
}

video, .video {
  max-width: 100% !important;
}

.videoblockhome video {
  max-width: 100% !important;
  aspect-ratio: 16/9;
}

.lightgallerygrid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 4px;
  margin: 24px 0px;
}

.gallerythumb {
  padding: 0.5px;
  position: relative;
}

.gallerythumb a {
  display: flex;
  padding: 0px;
  margin: 0px;
}

.gallerythumb::after {
  content: "+";
  position: absolute;
  right: 8px;
  bottom: 8px;
  font-size: 24px;
  width: 24px;
  height: 24px;
  text-align: center;
  line-height: 24px;
  color: rgb(255, 255, 255);
  border-radius: 50%;
  text-shadow: rgba(0, 0, 0, 0.7) 1px 1px 1px;
}
.headercontacts {
  float: right;
  padding: 16px 1px;
}
.emaillineheader, .tellineheader {
  float: left;
  border-radius: 12px;
  margin-right: 0px;
}







.contactpagetel, .contactpagefax, .contactpageemail, .contactpageopening {
  font-size: 24px;
}

.emaillineheader a, .tellineheader a {
  padding: 8px 12px 8px 32px;
  border-radius: 20px;
  position: relative;
}

.tellineheader a::before {
  content: "h";
  font-family: nuvocons;
  border-radius: 20px;
  position: absolute;
  left: 4px;
  top: 0px;
  font-size: 24px;
}

.emaillineheader a::before {
  content: "i";
  font-family: nuvocons;
  border-radius: 20px;
  position: absolute;
  left: 4px;
  top: 0px;
  font-size: 20px;
}

.externallink, .internallink {
  display: block;
  clear: both;
  padding: 0px;
  float: left;
  width: 100%;
}

.externallink a {
  display: block;
  clear: both;
  padding: 8px;
  float: left;
  width: 100%;
  background-color: var(--nuvo-slate);
  position: relative;
  border-bottom: 1px solid rgb(197, 201, 204);
}

.internallink a {
  display: block;
  clear: both;
  padding: 8px;
  float: left;
  width: 100%;
  background-color: var(--nuvo-slate);
  position: relative;
  border-bottom: 2px solid rgb(33, 36, 52);
}

.internallink a:hover {
  background-color: rgb(205, 205, 205);
}

.externallink a:hover {
  background-color: rgb(211, 222, 239);
}

.externallink a::after {
  position: absolute;
  top: -3px;
  right: 4px;
  font-family: nuvocons;
  content: ")";
  padding: 4px 9px 8px 3px;
  font-size: 28px;
  border-radius: 50%;
  height: 20px;
  width: 20px;
  color: var(--nuvo-main);
  z-index: 0;
}

.internallink a::after {
  position: absolute;
  top: -3px;
  right: 4px;
  font-family: nuvocons;
  content: "c";
  padding: 4px 9px 8px 3px;
  font-size: 28px;
  border-radius: 50%;
  height: 20px;
  width: 20px;
  color: rgb(255, 255, 255);
  z-index: 0;
}

.insetbanner {
  height: 100%;
  background-size: cover;
  position: absolute;
  bottom: 32px;
  right: 0px;
  z-index: 1;
  width: 30%;
  display: none;
}

.textinner {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1280px;
  position: relative;
  z-index: 1;
}

.captioncontainer .textinner {
  padding: 16px;
}

h1, h2, h3, h4 {
  font-weight: 500;
  padding-bottom: 12px;
  line-height: 1.3;
  font-family:"gelica", sans-serif;
  text-wrap: pretty;
}

.casestudy h4 {
  margin-top: 24px;
  padding: 0px;
}

p {
  padding-bottom: 12px;
}

h1 {
  font-size: 48px;
}

h2 {
  font-size: 32px;
  /* color: var(--nuvo-ember); */
}

.reversed h1,
.reversed h2,
.reversed h3{
  font-size: 28px;
  color: var(--nuvo-fern)
}

h3 {
  font-size: 25px;
}

h4 {
  font-size: 20px;
  color: var(--nuvo-ember)
}


h5 {
  font-size: 22px;
  letter-spacing: 2px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--nuvo-fern);
}

#footercolumns h3 {
  margin-bottom: 8px;
  font-size: 20px;
  letter-spacing: 0px;
}

.gallerytitle h3 {
  font-size: 24px;
  color: #fff;
  width: 100%;
  padding: 24px;
}

.gallerydate span {
  font-size: 24px;
  color: #fff;
  width: auto;
  padding: 0px;
  background-color: #fff;
  color: #333;
}

#calendar {
  z-index: 1;
  float: left;
  width: 100%;
  position: relative;
  min-height: 100px;
  margin-top: 36px;
}

#calendar table, #calendar tr, #calendar td {
  margin: 0px;
  padding: 0px;
}

#calendar table {
  margin: 0px;
  padding: 0px;
  float: left;
}

section {
  width: 100%;
  float: left;
  border: none;
  position: relative;
}


  section.hometwocolumn {
      gap: 16px;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      width: 100%;
      padding: 78px 0px;
  }

.homeintroleft {

grid-column: span 1 / auto;
  display: flex;
  flex-wrap: wrap;
  
  
}


.hometwocolumn h1 {
  font-size: 36px;
}

.insetimageleft

{

  display: flex;
  flex-wrap: wrap;
  justify-content: left
  
}

.insetimageleft img

{

max-width: 200px;
  border-radius: 50%;
  
}


.homeintroright {

grid-column: span 2 / auto;

}

section.eventlist {
  display: flex;
}

.archive {
  padding: 12px;
  background-color: var(--nuvo-slate);
  margin-bottom: 12px;
  border-radius: 4px;
  line-height: 2;
}

.archive h3 {
  padding: 0px;
  /* background-color: #e8edf4; */
  margin-bottom: 12px;
  border-radius: 4px;
  margin: 0px;
}

.newsouterwrapper {
  padding: 32px 0px;
  margin-bottom: 32px;
  float: left;
  width: 100%;
  background-color: var(--nuvo-darkslate)
}

.newsouterwrapper .textinner {
  position: relative;
  display: flex;
}

.newsouterwrapper .textinner:before {
  position: absolute;
  width: 60px;
  left: 0px;
  top: 0px;
  height: 100%;
  content: "";
  z-index: 1;
}

.newsouterwrapper .textinner:after {
  position: absolute;
  width: 60px;
  right: -0px;
  top: 0px;
  height: 100%;
  content: "";
  z-index: 1;
}

.newsareahome {
  float: left;
  background-color: var(--nuvo-slate)
}

.newswrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 1280px;
  width: 100%;
  padding: 0px;
  position: relative;
}



.bloglistinghome {
  grid-column: span 12 / auto;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 8px;
  padding: 16px;
}



.newswrapper h3 {
  text-align: center;
  width: 100%;
  float: left;
  color: #fff;
  font-size: 27px;
  text-shadow: rgba(0, 0, 0, 0.7) 1px 1px 1px;
  line-height: 1;
  padding-top: 32px;
  font-weight: 400;
}



.bloglistingimage {
  grid-column: span 3 / auto;
}

.bloglistingtext h4 {
  padding: 0px;
  margin: 0px;
  font-weight: 600;
  color : #fff;
  font-size: 22px;
}

.bloglistingimage img {
  background: #ffffff;
  padding: 8px;
  margin-bottom: 16px;
}

.bloglistingtext {
  grid-column: span 9 / auto;
}

.newshome .bloglistingtext a {
  color: #fff
}

.eventlistitem {
  position: relative;
  width: 100%;
  padding: 8px;
  display: flex;
  gap: 16px;
  margin-bottom: 8px;
  border-bottom: 1px solid rgb(234, 237, 242);
  box-shadow: rgba(0, 0, 0, 0.1) 0.5px 0.5px 0.5px 1px;
}

.shortdate {
  background-color: var(--nuvo-red);
  grid-column: span 1 / auto;
  width: 80px;
  order: 0;
  padding: 8px;
  display: grid;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
}

.multidate {
  width: 80px;
  order: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: start;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
}

.multistart {
  background-color: var(--nuvo-red);
  padding: 4px;
  display: grid;
  align-self: start;
}

.multiend {
  background-color: rgb(33, 36, 52);
  padding: 4px;
  display: grid;
  align-self: start;
}

.datenumber {
  font-size: 48px;
  font-weight: 700;
  text-align: center;
  line-height: 48px;
  color: rgb(255, 255, 255);
  align-self: end;
}

.datemonth {
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  line-height: 16px;
  color: rgb(255, 255, 255);
  text-transform: uppercase;
  align-self: start;
}

.multidate .datenumber {
  font-size: 24px;
  font-weight: 400;
  text-align: center;
  line-height: 24px;
  color: rgb(255, 255, 255);
  align-self: start;
}

.multidate .datemonth {
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  padding: 0px;
  margin: 0px;
  color: rgb(255, 255, 255);
  text-transform: uppercase;
  align-self: start;
}

.eventlistiteminfo {
  grid-column: span 3 / auto;
  order: 1;
}

.startdatetime, .enddatetime {
  float: left;
  padding-right: 16px;
}

.timeitem {
  display: none;
}

.eventlistiteminfo h3 {
  padding: 0px;
  margin: 0px;
  color: var(--nuvo-red);
}

.eventlistitem .accordion {
  width: auto;
  text-align: left;
  cursor: pointer;
  padding: 0px;
  background-color: rgb(255, 255, 255);
  margin: 0px;
  border-bottom: none;
  float: left;
  font-size: 20px;
}

.eventlistitem .accordion.active {
  width: auto;
  text-align: left;
  cursor: pointer;
  padding: 0px;
  background-color: rgb(255, 255, 255);
  margin: 0px;
  border-bottom: none;
  font-size: 20px;
}

.eventlistitem .accordion:hover {
  width: auto;
  cursor: pointer;
  padding: 0px;
  background-color: rgb(255, 255, 255);
  margin: 0px;
  border-bottom: none;
  font-size: 20px;
}

.eventlistitem .accordion span {
  width: auto;
  position: absolute;
  top: 8px;
  right: 8px;
  text-align: left;
  cursor: pointer;
  padding: 4px 32px;
  background-color: var(--nuvo-red);
  margin: 0px;
  border-bottom: none;
  font-size: 16px;
  color: rgb(255, 255, 255);
}

.insidewrapper section {
  width: 100%;
  float: left;
}



.businesscardcontact {
  width: 100%;
  max-width: 100%;
  float: left;
  padding: 24px 38px;
  background-color: var(--nuvo-main);
  color: #fff;
  border-radius: 4px;
  transform: rotate(0deg);
  display: inline-block;
  font-size: 24px;
}

.contactaddressline p {
  margin: 0px !important;
  padding: 0px !important;
}

.contactaddressline, .contactmobile, .contactfacebook, .contacttwitter, .contactemail, .contactinstagram {
  position: relative;
  padding-left: 48px;
  line-height: 2.4
}

.contactaddressline:before, .contactmobile:before, .contactfacebook:before, .contacttwitter:before, .contactemail:before, .contactinstagram:before {
  position: absolute;
  left: -14px;
  border: 4px solid var(--nuvo-fern);
  border-radius: 50%;
  width: 44px;
  height: 44px;
  text-align: center;
  font-size: 28px;
  line-height: 44px;
  color: #FFF;
  ; font-family: nuvocons;
}

.contactaddressline:before {
  content: "T";
}

.contactmobile:before {
  content: "h";
}

.contactemail:before {
  content: "a";
}

.contactfacebook:before {
  content: "a";
}

.contacttwitter:before {
  content: "P";
}

.contactinstagram:before {
  content: "d";
}

section ul {
  margin-bottom: 16px;
  width: auto;
}

section ul li {
  margin-bottom: 1px;
  background-color: #ffffff12;
  /* padding: 6px; */
  width: auto;
  padding-left: 24px;
  position: relative;
  color: var(--nuvo-main);
}

section ul li p {
  margin: 0px;
  padding: 0px
 
}



section.casestudieslinks {
  display: grid;
  padding: 80px 0px;
  gap: 32px;
  grid-template-columns: repeat(3, 1fr);
  position: relative;
  z-index: 0;
  max-width: 1480px;
  width: 100%;
}

.casestudylink {
  padding-bottom: calc(66.6667%);
  position: relative;
  overflow: hidden;
  background-size: 100%;
  background-position: center center;
  transition: all 0.3s ease 0s;
}

.casestudytitle {
  position: absolute;
  top: 40%;
  text-align: center;
  width: 100%;
  color: #fff !important;
  z-index: 32;
  transition: all 0.3s ease 0s;
  /* display: none; */
}

.casestudylogo {
  position: absolute;
  top: 0%;
  text-align: center;
  width: 100%;
  height: 100%;
  z-index: 12;
  transition: all 0.3s ease 0s;
  display: grid;
  place-items: center;
}

.casestudylogo img {
  max-width: 300px;
  width: 100%;
  justify-self: center;
}

.casestudytitle h3 {
  color: #fff !important;
  font-size: 24px;
  padding: 0px;
  margin: 0px;
  float: none;
  display: inline-block;
}

.casestudylink:hover .casestudytitle {
  position: absolute;
  text-align: center;
  width: 100%;
  color: #fff !important;
  transform: scale(1.3);
  transition: all 0.3s ease 0s;
}

.casestudylink:hover .casestudylogo {
  position: absolute;
  text-align: center;
  width: 100%;
  color: #fff !important;
}

.casestudylink:hover {
  padding-bottom: calc(66.6667%);
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
  opacity: 1.0;
  transition: all 0.3s ease 0s;
  background-size: 120%;
  overflow: hidden;
}

.casestudylink:before {
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgb(27 27 27 /50%);
  position: absolute;
  transition: all 0.3s ease 0s;
  z-index: 1;
}

.casestudylink:hover:before {
  background-color: rgba(38, 38, 38, 0.1);
  transition: all 0.3s ease 0s;
}

section.classbuttons {
  display: grid;
  padding: 0px 0px;
  gap: 8px;
  grid-template-columns: repeat(6, 1fr);
  position: relative;
  z-index: 0;
  max-width: 1480px;
  width: 100%;
}

.classbuttons a {
  /* display: flex; */
  justify-items: center;
  align-items: center;
}

.calendardownload {
  width: 100%;
  float: left;
}

.calendardownload iframe {
  width: 100%;
  float: left;
}

.h_iframe {
  position: relative;
  width: 100%;
  height: auto;
  float: left;
  background-color: rgb(7, 84, 53);
  margin-top: 12px;
  padding: 16px;
}

.h_iframe iframe {
  position: relative;
  width: calc(100%);
  height: 100vh;
  float: left;
  padding: 4px;
  background-color: rgb(255, 255, 255);
}

.document_list {
  margin-bottom: 24px;
  float: left;
  width: 100%;
}

.document_list.classpage {
  padding: 12px;
  background: var(--nuvo-main);
  border-radius: 4px;
  font-size: 16px;
}

.document_list.classpage a {
  padding: 8px;
}

.document_list.classpage a .docname {
  padding: 0px;
}

.document_list.classpage h3 {
  color: #fff;
}

.newslinks {
  margin-bottom: 24px;
  float: left;
  width: 100%;
}

.linkslist {
  margin-bottom: 16px;
}

.videogallery {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, 1fr);
  position: relative;
  z-index: 0;
  max-width: 1480px;
  width: 100%;
}

.singlevideo {
  float: left;
  color: rgb(255, 255, 255);
  width: 100%;
  padding: 8px;
  background-color: rgb(0, 0, 0);
}

.videoheading {
  text-align: center;
  color: rgb(255, 255, 255);
  width: 100%;
  padding: 16px;
}

section.imagelinks {
  width: 100%;
  float: left;
  gap: 12px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 12px;
  padding: 16px 0px;
   align-items: start;
  justify-content: start;
}

section.internallinkslist, section.linkslist {
  width: 100%;
  float: left;
  background-color: rgb(234, 237, 242);
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  margin-bottom: 12px;
}

.imagelink {
  background-color: var(--nuvo-slate-dark);
  padding-bottom: 0px;
  position: relative;
  padding-bottom: calc(66.6667%);
  overflow: hidden;
}

.imagelink:hover .backgroundimage {
  opacity: 1.0;
  transition: all 0.3s ease 0s;
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
}

.imagelink:before {
  width: 100%;
  height: 100%;
  content: "";
  background: rgb(113 125 137);
  position: absolute;
}

.products .imagelink:before {
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgb(89 140 191 / 0%);
  position: absolute;
}

.imagelinknew {
  padding: 8px;
  border-bottom: 1px solid #ccc;
  background-color: rgba(256,256,256,0.1);
  /* padding-bottom: 0px; */
  /* position: relative; */
  /* padding: 0px; */
  /* margin-bottom: 12px; */
  order: 1;
  display: grid;
  flex-wrap: wrap;
  /* height: 100%; */
}

.imagelink a {
  float: left;
  width: 100%;
}

.imagelinkimage {
  order: 1;
  float: left;
}

.imagelinkimage img {
  background-color: var(--nuvo-slate-dark);
}

.imagelinkname {
  order: 2;
    float: left;
  padding: 12px;
  

}

.imagelinkdesc {
  grid-column: span 6;
  order: 3;
  align-self: start;
}

section.randomslider {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, 1fr);
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  max-width: 1280px;
  text-align: center;
  float: none;
  z-index: 3;
  padding: 32px 0px;
}

section.randomslider img {
  border: 12px solid #eaeaea;
}

section.randomslider div {
  position: relative;
}

section.randomslider div:after {
  /* border-radius: 50%; */
  box-shadow: inset 0 0 16px #c3c3c3;
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
}

section.threeimages {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, 1fr);
  position: relative;
  z-index: 0;
  max-width: 1480px;
  width: 100%;
  margin: 24px 0px;
  padding: 8px 0px;
}

section.threeimages.circular {
  display: flex;
  gap: 16px;
  position: relative;
  z-index: 0;
  max-width: 1480px;
  width: 100%;
  margin: 24px 0px;
  padding: 8px;
  justify-content: center;
}

.threeimage {
  position: relative;
}


section.threeimages.circular .threeimage {
  position: relative;
  /* max-width: 200px; */
}

section.threeimages.circular .threeimage img {
  position: relative;
  border-radius: 50%;
  max-width: 300px;
  border: 8px solid var(--nuvo-willow);
}



.threeimage img{
  float: left;
}

section.twoimages {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, 1fr);
  position: relative;
  z-index: 0;
  max-width: 1480px;
  width: 100%;
  margin-bottom: 24px;
  border-top: 2px solid #d6d6d6;
  border-bottom: 2px solid #d6d6d6;
  padding: 8px 0px;
}

section.singleimage {
  margin-bottom: 24px;
  border-top: 2px solid #d6d6d6;
  border-bottom: 2px solid #d6d6d6;
  padding: 8px 0px;
}

section.videoblock {
  margin-bottom: 24px;
}

section.mainlinks {
  display: grid;
  padding: 0px;
  gap: 16px;
  grid-template-columns: repeat(4, 1fr);
  position: relative;
  z-index: 0;
  margin-top: 32px;
}

.eventshome {
  background-color: rgb(255, 255, 255);
  /* padding: 8px; */
}

.newshome {
  background-color: rgb(255, 255, 255);
  padding: 16px;
}

.classeslinks {
  background-color: rgb(255, 255, 255);
  padding: 16px;
  text-align: center;
}

.newsarea {
  background-color: rgb(255, 255, 255);
  padding: 16px;
}

.graphmain {
  float: left;
  padding: 16px;
  width: 100%;
  max-width: 480px;
}

.graphtitle {
  float: left;
  width: 100%;
  font-size: 22px;
  padding-bottom: 8px;
  font-family: roboto_slablight, serif;
}

.rowarea {
  float: left;
  width: 100%;
  font-size: 24px;
}

.newsandeventshome {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, 1fr);
  position: relative;
  z-index: 0;
  max-width: 1280px;
  width: 100%;
  background-color: var(--nuvo-slate);
  padding: 16px;
  margin: 40px 0px;
  float: left;
}

.headerlinks {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, 1fr);
  position: relative;
  z-index: 0;
  max-width: 1280px;
  width: 30%;
  padding: 16px;
  margin: 0px 0px;
  float: right;
}

.backgroundimage {
  background-size: cover;
  opacity: 0.9;
  background-position: center center;
  transition: all 0.3s ease 0s;
  overflow: hidden;
  aspect-ratio: 16 / 16;
  top: 0px;
  left: 0px;
}



.homelink {
  position: relative;
  width: 100%;
 
  overflow: hidden;
}

.homelink:hover .backgroundimage {
  opacity: 1.0;
  transition: all 0.3s ease 0s;
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
}

.homelink:before {
  width: 100%;
  height: 100%;
  content: "";
  position: absolute;
}

.homelink:hover:before {
  background-color: rgba(38, 38, 38, 0.1);
  transition: all 0.3s ease 0s;
}

.homelink:after {
  width: 100%;
  height: 4px;
  content: "";
  bottom: 0px;
  background: rgba(0, 0, 0, 0.4);
  /* position: absolute; */
  z-index: 0;
}



.linktext {
  position: absolute;
  width: 100%;
  height: auto;
  transition: all 0.3s ease 0s;
  z-index: 2;
  padding: 12px;
  background-color: var(--nuvo-main);
}


.linktext:before {
 position: absolute;
 content: "V";
 font-family: nuvocons;
 right: 8px;
 top: 8px;
 font-size: 20px;
 padding: 4px;
 line-height: 34px;
 color: #fff
}

.homelink:nth-child(1) .linktext {
  background-color: var(--nuvo-green);
  
}

.homelink:nth-child(2) .linktext {
  background-color: var(--nuvo-ember);
  
}

.homelink:nth-child(3) .linktext {
  background-color: var(--nuvo-fern);
  
}

.homelink:nth-child(4) .linktext {
  background-color: var(--nuvo-green);
  
}

.homelink:nth-child(5) .linktext {
  background-color: var(--nuvo-willow);
  
}

.homelink:nth-child(6) .linktext {
  background-color: var(--nuvo-serenity);
  
}


.linktitle h3 {
  padding: 0px;
  position: relative;
  font-family: inherit;
  transform: scale(1);
  z-index: 3;
  width: 100%;
  display: block;
  transition: all 0.3s ease 0s;
  color: #fff;
  font-size: 24px;
  font-weight: normal;
  text-shadow: 0.5px 0.5px 0.5px #333;
}

.linkdesc {
  color: rgb(255, 255, 255);
  position: relative;
  transition: all 0.3s ease 0s;
  opacity: 1;
  font-size: 14px;
}

.linkinsetpic {
  position: absolute;
  top: 16px;
  transition: all 0.3s ease 0s;
  opacity: 1;
  height: auto;
  width: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.linkinsetpic img {
  transition: all 0.3s ease 0s;
  opacity: 1;
  height: 172px;
  width: 172px;
  align-self: center;
  /* border-radius: 50%; */
  border: 4px solid #ffF;
}

.imagelink:hover .linkinsetpic img {
  transition: all 0.3s ease 0s;
  opacity: 0;
}

.homelink:hover .linkdesc {
  color: rgb(255, 255, 255);
  position: relative;
  /* height: 50px; */
  opacity: 0;
  overflow: visible;
  transition: all 0.3s ease 0s;
}

section.documentslist {
  display: grid;
  gap: 4px;
  grid-template-columns: repeat(1, 1fr);
  position: relative;
  z-index: 0;
  max-width: 1480px;
  width: 100%;
}

.singledoc {
  border-bottom: 1px solid rgb(193, 202, 198);
  background-color: var(--nuvo-slate);
  position: relative;
}

.active {
  color: var(--nuvo-willow);
}

.accordion .active {
  color: var(--nuvo-willow);
}

[class*="nuvoicon-"] {
  position: absolute;
  padding: 16px;
  left: 4px;
  top: 4px;
}

[class*="nuvoicon-"]::before {
  font-family: nuvocons;
  position: absolute;
  right: 44px;
  top: 4px;
  content: "6";
  font-size: 24px;
  color: var(--nuvo-fern);
  padding: 4px;
}

.singledoc::before {
  font-family: nuvocons;
  position: absolute;
  right: 4px;
  top: 4px;
  padding: 4px;
}

.singledoc a {
  padding: 14px 14px 14px 48px;
  display: flex;
  text-decoration: none !important;
  font-weight: 400 !important;
  color: rgb(51, 51, 51) !important;
}

.singledoc a::after {
  position: absolute;
  top: 0px;
  right: 0px;
  content: "H";
  font-family: nuvocons;
  font-size: 24px;
  height: 32px;
  width: 32px;
  padding: 8px;
  color: rgb(51, 51, 51);
  line-height: 32px;
}

.docname {
  padding: 0px 12px;
  width: auto;
  overflow: hidden;
}

.docsize {
  padding: 0px;
  color: rgba(0, 0, 0, 0.2);
  position: absolute;
  right: 48px;
  font-size: 14px;
}

.doctype {
  padding: 0px 12px;
  position: absolute;
  left: 0px;
}

.nuvoicon-doc, .nuvoicon-doc::before, .nuvoicon-docx, .nuvoicon-jpg::before, .nuvoicon-png::before, .nuvoicon-jpeg::before, .nuvoicon-docx::before, nuvoicon-pdf, .nuvoicon-pdf::before, .nuvoicon-xls, .nuvoicon-xls::before, .nuvoicon-xlsx, .nuvoicon-xlsx::before, .nuvoicon-pptx, .nuvoicon-pptx::before {
  position: absolute;
  font-size: 32px;
  background-color: rgba(255, 255, 255, 0.86);
  color: rgb(51, 51, 51);
  line-height: 1;
  top: 0px;
  font-family: nuvocons;
  height: 32px;
  width: 32px;
  padding: 8px;
  left: 4px;
}

.nuvoicon-doc, .nuvoicon-docx, .nuvoicon-pdf, .nuvoicon-xls, .nuvoicon-xlsx, .nuvoicon-pptx, .nuvoicon-pptx {
  position: absolute;
  left: 0px;
}

.nuvoicon-doc::before {
  content: "M";
}

.nuvoicon-xls::before, .nuvoicon-xlsx::before {
  content: "K";
}

.nuvoicon-docx::before {
  content: "L";
}

.nuvoicon-pdf::before {
  content: "J";
}

.nuvoicon-jpg::before {
  content: "G";
}

.nuvoicon-jpeg::before {
  content: "G";
}

.nuvoicon-png::before {
  content: "G";
}

.nuvoicon-pptx::before {
  content: "M";
}

section.textandimage {
  display: inline-grid;
  gap: 48px;
  grid-template-columns: repeat(2, 1fr);
  position: relative;
  z-index: 0;
  max-width: 1480px;
  width: 100%;
  padding: 54px 0px;
}

section.textandimage.smallerimage {
  display: inline-grid;
  gap: 48px;
  grid-template-columns: repeat(4, 1fr);
  position: relative;
  z-index: 0;
  max-width: 1480px;
  width: 100%;
  padding: 12px 0px;
}

.textandimage .handdrawnlogo {
  position: absolute;
  top: -32px;
  right: -8px;
  width: 90px;
}


.textandimage.right .handdrawnlogo {
  position: absolute;
  top: -32px;
  right: -8px;
  width: 90px;
}

.textandimage.left .handdrawnlogo {
  position: absolute;
  top: -16px;
  right: -16px;
  width: 90px;
}



.textandimage.smallerimage .textblock {
  grid-column: span 3 / auto;
  order: 1;
   align-self: center;
  justify-self: center;
  width: 100%;
}



.insetimage iframe {

  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
  filter: gray; /* IE 6-9 */
  width: 100%;

}

.textandimage.left .textblock {
  grid-column: span 1 / auto;
  order: 2;
   align-self: center;
  justify-self: center;
}

.textandimage.right .textblock {
  grid-column: span 1 / auto;
  order: 1;
   align-self: center;
  justify-self: center;
  width: 100%;
}

.textblock p {
}

.textandimage.left .textblock {
  grid-column: span 1 / auto;
  order: 2;
  align-self: start;
  justify-self: end;
  margin-top: 32px;
}

.textandimage.right .textblock {
  grid-column: span 1 / auto;
  margin-top: 48px;
  order: 1;
  align-self: start;
  justify-self: left;
  width: 100%;
  position: relative;
  z-index: 1;
}


.textandimage.right .textblock:before {
  position: absolute;
  content: "";
  background-color: var(--nuvo-cream,);
  width: calc(100% + 32px);
  height: calc(100% + 32px);
  z-index: -1;
  left: -16px;
  top: -16px;
  
}


.textandimage .textblock:before {
  position: absolute;
  content: "";
  background-color: var(--nuvo-cream,);
  width: calc(100% + 32px);
  height: calc(100% + 64px);
  z-index: -1;
  left: -16px;
  top: -16px;
}



.textandimage.right.smallerimage .textblock {
  grid-column: span 3 / auto;
  order: 1;
   align-self: center;
  justify-self: center;
  width: 100%;
}

section.textandimage.casestudy .textblock{
  grid-column: span 1 / auto;
  order: 1;
   align-self: start;
  justify-self: start;
  width: 100%;
}

.textblock p {
  /* margin-bottom: 16px; */
}

.textandimage.left .insetimage {
  grid-column: span 1 / auto;
  order: 1;
}

.textandimage .insetimage {
  grid-column: span 1 / auto;
  order: 2;
 
}



.insetimage img {
 /* padding: 8px; */
 background: #fff;
}

.insetimage.square {
}

.insetimage.square img {
  /* border-radius: 8px; */
}
.insetimage.square img {
  /* border-radius: 8px; */
}

.insetimage.circular img {
  border-radius: 50%;
}

.archive {
  padding: 12px;
  background-color: var(--nuvo-slate);
  margin-bottom: 12px;
  border-radius: 4px;
  float: left;
  width: 100%;
  color: var(--nuvo-main) !important;
}

.archive h3 {

  color: var(--nuvo-main) !important;
}



.backtoprojects {
  float: left;
  width: 100%;
  padding: 4px;
  background-color: #eee
}

.backtoprojects a {
  float: left;
  width: auto;
  padding: 8px;
  border: 2px solid var(--nuvo-fern);
  background:  var(--nuvo-fern);
  border-radius: 4px;
  color: #fff;
  padding-left: 32px;
  position: relative;
  
}

.backtoprojects a:before {
content: "t";
  position: absolute;
  left: -4px;
  top: 12px;
  font-size: 34px;
  line-height: 12px;
  font-family: nuvocons;
  
}



.archive h3 {
  padding: 0px;
  border-radius: 4px;
  margin: 0px;
}

.bloggrid {
  grid-column: span 6 / auto;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
  border-bottom: 1px solid rgb(0 0 0 / 67%);
  padding: 16px 0px;
}

.bloglisting {
  grid-column: span 4 / auto;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
  border-bottom: 1px solid rgb(0 0 0 / 67%);
  background: rgba(256,256,256,0.1);
  padding: 16px;
}

.bloglistinghome {
  grid-column: span 12 / auto;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 8px;
  padding: 32px 16px;
  text-align: center;
  position: relative;
}

.bloglistinghome h4 {
  padding: 0px;
  margin: 0px;
  font-size: 20px;
  text-shadow: 0.5px 0.5px 1px rgba(0,0,0,1.0);
}

.bloglistingimage {
  grid-column: span 12 / auto;
}

.blogmain .bloglistingimage {
  grid-column: span 6 / auto;
  order: 2;
}

.blogmain .bloglistingtext {
  grid-column: span 6 / auto;
}


.bloglistingimage img {
  /* border: 2px solid #eee; */
  padding: 8px;
}

.bloglistingtext {
  grid-column: span 12 / auto;
}



.bloglistingtext h3 {
    font-weight: normal;
    font-size: 40px;
    font-weight: 300;
}

.bloggrid .bloglistingtext h3 {font-size: 32px;}

#strapline {
  float: right;
  padding: 18px 48px;
  height: 64px;
  background-color: rgb(43, 43, 44);
  color: #eee;
  font-size: 19px;
}

.insidewrapper form {
  background-color: var(--nuvo-fern);
  padding: 4px;
}


.insidewrapper .modal form {
  background-color: #655c3a;
  padding: 4px;
  pointer-events: all
}




.socialmedia {
  position: relative;
  float: right;
  text-align: center;
  padding: 16px 0px;
  background-color: var(--nuvo-main);
  height: 64px;
  width: 106px;
}

.socialmedia i {
  width: 28px;
  height: 28px;
  display: inline-block;
  font-size: 28px;
  top: 0;
  /* padding: 2px; */
  text-align: center;
  cursor: pointer;
  color: #fff;
}

footer .socialmedia i {
  width: 100%;
  text-align: center;
}

.socialmedia i {
  color: #bdbdbd
}

.socialmedia i:hover {
  color: #eee
}

.hi-icon {
  display: inline-block;
  font-size: 0px;
  cursor: pointer;
  margin: 8px;
  width: 54px;
  height: 54px;
  position: relative;
  z-index: 1;
  color: rgb(255, 255, 255);
}

.hi-icon::after {
  pointer-events: none;
  position: absolute;
  width: 100%;
  height: 100%;
  content: "";
  box-sizing: content-box;
}

.hi-icon::before {
  speak: none;
  font-size: 32px;
  line-height: 54px;
  font-variant: normal;
  text-transform: none;
  display: block;
  -webkit-font-smoothing: antialiased;
}

.hi-icon-effect-1 .hi-icon {
  background: rgba(255, 255, 255, 0.1);
  margin: 0px;
  transition: background 0.2s ease 0s, color 0.2s ease 0s;
}

.hi-icon-effect-1 .hi-icon::after {
  top: -7px;
  left: -7px;
  padding: 7px;
  box-shadow: rgb(255, 255, 255) 0px 0px 0px 4px;
  transition: transform 0.2s ease 0s, opacity 0.2s ease 0s;
  transform: scale(0.8);
  opacity: 0;
}

.hi-icon-effect-1a .hi-icon:hover {
  background: rgb(255, 255, 255);
  color: rgb(51, 51, 51);
}

.hi-icon-effect-1a .hi-icon:hover::after {
  transform: scale(1);
  opacity: 1;
}

.hi-icon, .hi-icon::after, .nuvo_imagearea.circularpic img {
  border-radius: 50%;
}

.nuvocolumn1, .nuvocolumn2, .nuvocolumn3, .nuvocolumn4, .nuvocolumn5, .nuvocolumn6, .nuvocolumn7, .nuvocolumn8, .nuvocolumn9, .nuvocolumn10, .nuvocolumn11, .nuvocolumn12 {
}

.nuvocolumn1 {
  grid-column: span 1 / auto;
}

.nuvocolumn2 {
  grid-column: span 2 / auto;
}

.nuvocolumn3 {
  grid-column: span 3 / auto;
}

.nuvocolumn4 {
  grid-column: span 4 / auto;
}

.nuvocolumn5 {
  grid-column: span 5 / auto;
}

.nuvocolumn6 {
  grid-column: span 6 / auto;
}

.nuvocolumn7 {
  grid-column: span 7 / auto;
}

.nuvocolumn8 {
  grid-column: span 8 / auto;
}

.nuvocolumn9 {
  grid-column: span 9 / auto;
}

.nuvocolumn10 {
  grid-column: span 10 / auto;
}

.nuvocolumn11 {
  grid-column: span 11 / auto;
}

.nuvocolumn12 {
  grid-column: span 12 / auto;
}

table {
  display: table;
  clear: both;
  float: none;
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 24px;
  max-width: 100%;
  overflow: scroll;
}

table td, table th {
  padding: 12px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  vertical-align: top;
  border-collapse: collapse;
  text-align: left;
}

table tr, table p {
  padding: 0px !important;
  margin: 0px !important;
}

table tr:nth-child(2n+1) {
  padding: 0px;
  background-color: rgb(238, 238, 238);
}

#socialmedia i {
  width: 28px;
  height: 28px;
  display: inline-block;
  font-size: 28px;
  top: 0px;
  text-align: center;
  cursor: pointer;
  color: rgb(255, 255, 255);
}

#socialmedia i {
  color: rgb(189, 189, 189);
}

#socialmedia i:hover {
  color: rgb(238, 238, 238);
}

footer .socialmedia {
  width: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0,0,0,0);
  margin-bottom: 32px;
}

footer .socialheader {
  position: relative;
  z-index: 1;
  width: 100%;
  float: left;
  text-align: center;
  padding: 24px;
}

footer .socialmedia i {
  display: block;
  font-size: 44px;
  top: 0px;
  padding: 0px;
  text-align: center;
  cursor: pointer;
}

img {
  width: 100%;
  height: auto;
}

body {
  box-sizing: border-box;
  font-family: "Roboto", sans-serif;
  background: var(--nuvo-cream);
  font-weight: 400;
  font-size: 18px;
  background-position: center top -32px;
  background-repeat: no-repeat;
  background-size: 100%;
  display: block;
  position: relative;
}


#socialmedia {
  margin-top: 0px;
  padding: 16px;
  color: rgb(0, 0, 0);
  position: relative;
  text-align: center;
  width: 100%;
  float: left;
  clear: both;
  display: none;
}


body.grey {
  background: var(--nuvo-main);
}


body.grey .bloglistingtext {
  color: #fff;
}


body.green {
  background: var(--nuvo-fern);
}

body.grey h1, body.grey h2, body.grey h3,  body.grey h4, body.grey p {
  color: #fff;
  padding-bottom: 0px;
  letter-spacing: 0;
}

body.grey .negativeblock {
  background: var(--nuvo-main);
}

body.green .negativeblock {
  background: var(--nuvo-fern);
}


#logoarea {
  position: absolute;
  width: auto;
  z-index: 100;
  top: 16px;
 }

.companylogonew {
  position: absolute;
  width: auto;
  z-index: 100;
  top: -4px;
 }

.shrink .companylogonew {

  opacity: 1;
 }





.bannershallow {
  height: 480px;
  width: 100%;
  max-width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  background-position: calc(50% - 0px) calc(0% + 0px);
}

.bannershallow::after {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0.9;
  background-color: rgba(0,0,0,0.5);
  background-size: cover;
  top: 0px;
  left: 0px;
  z-index: 0;
  content: "";
  background-position: right bottom;
}

.companylogo img {
  float: left;
  width: 220px;
  padding: 0px;
  transition: all .4s ease-in-out;
}

.companylogonew img {
  float: left;
  width: 220px;
  padding: 0px;
  opacity: 1;
  transition: all .4s ease-in-out;
}





.companylogo {
  pointer-events: all;
  opacity: 1;
  transition: opacity 0.3s ease;
  padding: 0px;
  align-self: center;
  justify-content: center;
}



#strapline {
  float: right;
  padding: 18px 48px;
  height: 64px;
  background-color: rgb(43, 43, 44);
  color: #eee;
  font-size: 19px;
  text-transform: uppercase;
}

.memberlinks {
  float: right;
  padding: 22px;
  height: 64px;
  color: #eee;
  font-size: 16px;
  text-transform: uppercase;
}

header {
  width: 100%;
  float: left;
  /* position: relative; */
  z-index: 4;
  background-color: #fff;
  padding: 0px 0px;
  /* padding-top: 32px; */
  height: 148px;
  transition: all .4s ease-in-out;
}


.accordionblock {
  margin-bottom: 24px;
}

.accordion {
  width: 100%;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  padding: 4px;
  background-color: rgb(234, 237, 242);
  margin: 0px;
  border-bottom: 1px solid rgb(193, 202, 198);
  display: flex;
  font-size: 17px;
  line-height: 2;
}

.singleteacher .accordion {
  width: auto;
  text-align: left;
  cursor: pointer;
  padding: 4px;
  font-size: 18px;
  margin-top: 12px;
  float: left;
}

.indexnumber {
  padding: 0px;
  font-weight: 700;
  background-color: rgb(255, 255, 255);
  color: #333;
  line-height: 40px;
  border-radius: 50%;
  width: 40px;
  min-width: 40px;
  height: 40px;
  text-align: center;
  margin-right: 12px;
}

.accordion.active {
  background-color: var(--nuvo-fern);
  color: #fff;
}

.accordion:hover {
  background-color: var(--nuvo-fern);
  color: #fff;
}

.panel {
  overflow: hidden;
  opacity: 0;
  transition: all 0.3s ease 0s;
  height: 0px;
  padding: 16px;
  display: none;
  float: left;
  width: 100%;
}

.panel.show {
  opacity: 1;
  padding: 16px 0px;
  height: auto;
  transition: all 0.3s ease 0s;
  display: grid;
}

.basicsearch {
  float: left;
  left: 0px;
  /* background-color: var(--nuvo-slate); */
  width: 100%;
  height: auto;
  margin-top: 32px;
  margin-bottom: 32px;
  position: relative;
  padding: 0px;
}

.insidewrapper .basicsearch form input {
  /* color: rgb(79, 79, 79) !important; */
}

.basicsearch form {
  margin: 0px;
}

.basicsearch form input {
  width: 85%;
  float: left;
  color: rgb(51, 51, 51);
}

.basicsearch form input::-webkit-input-placeholder {
  color: rgb(255, 255, 255);
}

.basicsearch form input::placeholder {
  color: rgb(83, 83, 83);
}

.basicsearch form input.sb-search-submit {
  float: left;
  width: 15%;
  border-bottom: none;
  color: rgb(255, 255, 255);
  background-color: var(--nuvo-main);
  font-family: nuvocons;
  cursor: pointer;
  font-size: 32px;
}

.logoicon {
  position: relative;
  float: left;
  opacity: 1;
  z-index: 1;
  padding: 16px 0px;
}

.logotext {
  /* position: relative; */
  /* float: left; */
  opacity: 1;
  z-index: 1;
  padding: 0px;
  color: #fff;
  line-height: 1.2
}

.schoolname {
  /* font-size: 48px; */
  /* text-shadow: rgba(0, 0, 0, 0.7) 1px 1px 1px; */
}

.schoolsecondname {
  font-size: 28px;
  text-shadow: rgba(0, 0, 0, 0.7) 1px 1px 1px;
}

.schoolstrapline {
  width: 100%;
  float: left;
  color: var(--nuvo-fern);
  font-size: 36px;
  padding-top: 16px;
  text-shadow: rgba(0, 0, 0, 0.7) 1px 1px 1px;
  line-height: 1;
  font-weight: normal;
}

.logoicon img {
  float: left;
  width: 134px;
}

.nuvo-container {
  display: block;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  float: left;
  position: relative;
  float: left;
  width: 100%;
  /* margin-top: -152px; */
  z-index: 1;
}

.nuvo-container.homevideoouter {
  margin-top: 74px;
  display: block;
  width: 100%;
  padding: 80px 0px;
  margin-left: auto;
  margin-right: auto;
  float: left;
  position: relative;
  float: left;
  width: 100%;
  z-index: 1;
  background-position:center center;
  -webkit-background-size:cover;
  -moz-background-size:cover;
  -o-background-size:cover;
  background-size:cover;
  background-attachment: fixed;
  background-color: #434842;
  background-image: url(/assets/icons/pattern1.svg);
}
.homevideoouter h3 {
  color: #fff;
  text-align: center;
  font-size: 32px;
  padding-bottom: 32px;
  
}

.homevideoinner {
  background-color: rgba(0,0,0,0.3);
  padding: 16px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 800px;
  /* min-height: 400px; */
  position: relative;
  background-color: rgb(255 255 255 / 10%);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  display: flex;
}

.nuvo-container.accent {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  margin-top: 0px;
  background: var(--nuvo-fern);
  padding: 32px 0px;
  color: #fff
}

.nuvo-container.accent.inside {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  margin-top: 0px;
  background: var(--nuvo-cream);
  padding: 48px 0px;
  text-align: center;
  color: inherit;
  border-top: 1.4px solid var(--nuvo-willow);
  border-bottom: 1.4px solid var(--nuvo-willow);
}

.nuvo-container.accent  h1 {
  color:  var(--nuvo-main);
  
  
}

.nuvo-container.accent h2 {
  /* text-align: center; */
  /* color: #fff; */
}

.nuvo-container.accent.inside h2 {
  /* color: inherit; */
}

.footerlogosouter {
  display: flex;
  padding: 20px;
  width: 100%;
  position: relative;
  /* display: none; */
  z-index: 1;
}

.footerlogos {
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 8px;
  padding: 8px;
  width: 100%;
  /* display: none; */
}

.footerlogo {
  border-radius: 2px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: transform 0.3s ease;
  background: #fff;
  opacity: 0.5;
  border: 1px solid #fff;
 
}

.footerlogo a {
  border-radius: 2px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  opacity: 0.5;
 
}

.footerlogo img {
  width: auto;
  height: 100px;
}

footer {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 0px;
  padding-top: 0px;
  float: left;
  background: var(--nuvo-fern);
  margin-top: 100px;
}

footer:before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  /* height: 170px; */
  /* top: -170px; */
  right: 0;
  transform-origin: 50% 0;
  z-index: 3;
  background-repeat: no-repeat;
  background-position: center center;
  /* background-image: url(/assets/icons/just-lighthouse.svg); */
  background-size: auto 100%;
}

footer:after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 74px;
  bottom: 30px;
  right: 0;
  transform-origin: 50% 0;
  z-index: 3;
  background-repeat: no-repeat;
  background-position: bottom 16px right 16px;
  /* background-image: url(/assets/icons/navthumb.jpg); */
  background-size: 60px 60px;
}


hr {
  position: relative;
  width: 100%;
  height: 2px;
  overflow: visible;
  display: block;
  background-color: var(--nuvo-willow);
  float: left;
  margin: 16px 0px;
  border-top: 2px solid var(--nuvo-willow);
}

hr:before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 48px;
  top: -24px;
  background-size: auto 100%;
  z-index: 80000;
  background-repeat: no-repeat;
  background-position: center center;
}




.footertop {
  position: relative;
  float: left;
  width: 100%;
  padding: 16px;
}

.colourblocks {
  position: relative;
  float: left;
  width: 100%;
  padding: 0px 0px;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  /* border: 1px  solid rgb(0 0 0 / 50%); */
}

.colourblockone {
  padding: 4px;
  background: var(--nuvo-mist);
}


.colourblocktwo {
  padding: 4px;
  background: var(--nuvo-celestial);
}

.colourblockthree {
  padding: 4px;
  background: var(--nuvo-willow);
}

.colourblockfour {
  padding: 4px;
  background: #7f7654;
}

.colourblockfive {
  padding: 4px;
  background: var(--nuvo-forest);
}

.colourblocksix {
  padding: 4px;
  background: var(--nuvo-serenity);
}

.colourblockseven {
  padding: 4px;
  background: var(--nuvo-ember);
}

.footerbottom {
  position: relative;
  float: left;
  width: 100%;
  padding: 24px 0px;
}

.insidewrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 1280px;
  width: 100%;
  padding: 0px 16px;
  /* display: inline-flex; */
  /* position: relative; */
  display: block;
}


.navwrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 1280px;
  width: 100%;
  padding-right: 40px;
  position: relative;
  display: block;
}

.headerinner {
  float: left;
  width: 100%;
}

.houselinkarea {
  width: 100%;
  padding: 0px;
  background-color: var(--nuvo-slate);
  float: left;
  margin: 48px 0px;
}

.prospectus {
  margin-left: auto;
  margin-right: auto;
  max-width: 1480px;
  width: 100%;
  padding: 24px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.multicolumn {
  margin-left: auto;
  margin-right: auto;
  max-width: 1280px;
  width: 100%;
  float: left;
  padding: 0px;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
  position: relative;
}

.multicolumn #masterbannerarea {
    grid-column: span 12 / auto;
  order: 1;
  margin: 16px 0px;
}

.homebannerwrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  width: 100%;
  display: grid;
  max-width: 1280px;
}

.homecontentwrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 1280px;
  width: 100%;
  padding: 0px;
  /* display: grid; */
  position: relative;
}

.negativeblock {
  float: left;
  margin-top: 0px;
  background-color: var(--nuvo-cream);
  z-index: 3;
  padding: 32px 0px;
  width: 100%;
  position: relative;
}


.negativeblock.twincolumns {
  display: grid;
  padding: 0px;
  gap: 32px;
  grid-template-columns: repeat(2, 1fr);
  position: relative;
  z-index: 0;
  padding: 64px 0px;
}

.subjectdetails {
  background: rgb(234, 237, 242);
  padding: 8px;
  display: inline-grid;
  width: 100%;
  margin-bottom: 16px;
}

.miniteacher {
  background: rgb(234, 237, 242);
  padding: 8px;
  display: inline-grid;
  width: 100%;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
}

.teachericon {
  grid-column: span 1 / auto;
  max-width: 48px;
  width: 48px;
}

.contactname {
  grid-column: span 5 / auto;
}

.contactemail {
  grid-column: span 6 / auto;
}

.multicolumn nav {
  width: 100%;
  padding: 8px 8px;
  background-color: var(--nuvo-fern);
  float: left;
  text-align: center;
  position: relative;
}

.multicolumn nav:before {
  display: block;
  position: absolute;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% 40px;
  width: 100%;
  height: 40px;
  content: " ";
  position: absolute;
  top: 0px;
  left: 0px;
}

.multicolumn nav:after {
  display: block;
  position: absolute;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% 20px;
  width: 100%;
  height: 20px;
  content: " ";
  position: absolute;
  bottom: 0px;
  left: 0px;
}

.bh-sl-container .bh-sl-map {
  width: 100% !important;
}

.subpagesarea {
  margin-left: auto;
  margin-right: auto;
  max-width: 1280px;
  width: 100%;
  padding: 24px;
  display: flex;
  margin-bottom: 24px;
  background-color: var(--nuvo-slate);
}

.subpagesarea h3 {
  color: #fff;
  text-align: center;
}

.subpages {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, 1fr);
}

.subpagessimple .sublink a.active {
  background-color: rgba(255, 255, 255, 0.2);
  position: relative;
}

.subpagessimple .sublink a.active::before {
  content: "q";
  left: 0px;
  top: 0px;
  position: absolute;
  padding: 8px;
  font-family: nuvocons;
}

.sublink {
  float: left;
  width: 100%;
  position: relative;
}

.subsublink {
  float: left;
  width: 100%;
  position: relative;
}

.sublink a {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(12, 1fr);
  background-color: rgb(254, 254, 254);
  padding: 8px;
  align-items: center;
  position: relative;
}

.subpagessimple .sublink a {
  text-align: center;
  display: block;
  width: 100%;
  float: left;
  padding: 8px;
  color: #ffffff;
  /* font-size: 15px; */
  background-color: rgba(0,0,0,0);
  border-bottom: 1px solid rgba(256,256,256,0.4);
}

.subpagessimple .subsublink a {
  display: grid;
  gap: 4px;
  grid-template-columns: repeat(4, 1fr);
  padding: 8px;
  padding-left: 32px;
  align-items: center;
  position: relative;
  color: #c1cac6;
}

.subpagessimple .sublink a:hover {
  background-color: rgba(256,256,256,0.3);
}

.subpagessimple .sublink a.active::after {
  content: "";
  width: 100px;
  height: 30px;
  z-index: 0;
  background-image: url(/assets/icons/swirl_grey.png);
  position: absolute;
  bottom: 0px;
  right: 0px;
  background-size: 100%;
  background-repeat: no-repeat;
}

.subnavimage {
  grid-column: span 3 / auto;
  order: 1;
  background: #d7dee5;
  border: 1px solid #7e8a95;
  /* border-radius: 50%; */
}

.subnavtext {
  grid-column: span 9 / auto;
  order: 2;
  font-weight: 700;
}

.testimarea {
  margin-left: auto;
  margin-right: auto;
  max-width: 1480px;
  width: 100%;
  padding: 0px 24px;
  margin-bottom: 32px;
}

.testimpages {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, 1fr);
  color: rgb(255, 255, 255);
}

aside {
  background-color: rgb(53, 57, 65);
  display: block;
  padding: 16px;
  width: 100%;
  margin-top: 16px;
  float: left;
}

aside h3 {
  width: 100%;
  float: left;
  clear: both;
}

.numbering {
  position: absolute;
  top: 0px;
  right: 0px;
  z-index: 3;
  padding: 0px;
  background-color: rgb(5, 7, 10);
  line-height: 32px;
  width: 32px;
  height: 32px;
  text-align: center;
}

.insidewrapper p {
  padding-bottom: 16px;
  text-wrap: pretty;
}

.telcontact {
  padding-left: 28px;
  position: relative;
}

.telcontact::before {
  position: absolute;
  content: "h";
  font-family: nuvocons;
  left: 0px;
  font-size: 24px;
  line-height: 1;
  pointer-events: none;
}

.emailcontact {
  padding-left: 28px;
  position: relative;
}

.emailcontact::before {
  position: absolute;
  content: "i";
  font-family: nuvocons;
  left: 0px;
  font-size: 24px;
  line-height: 1;
  pointer-events: none;
}

.insidewrapper.homemain {
  max-width: 800px;
}

.twocolumns {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(12, 1fr);
}

.multicolumn .fullwidthcolumn {
  grid-column: span 12 / auto;
  order: 1;
}

.multicolumn .columnleft {
  grid-column: span 8 / auto;
  order: 1;
}

.multicolumn .columnright {
  grid-column: span 4 / auto;
  order: 1;
}

.learningzonearea {
  padding: 16px;
  margin-top: 16px;
  float: left;
}

.columnright {
  grid-column: span 4 / auto;
  order: 2;
}

.columnleft {
  grid-column: span 2 / auto;
  order: 1;
}

.columnright {
  grid-column: span 4 / auto;
  order: 2;
}

.testimonialsingle .insidewrapper {
  width: 100%;
  margin-top: 0px;
  text-align: right;
}

.nuvo-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(12, 1fr);
  position: relative;
  z-index: 0;
  max-width: 1480px;
  width: 100%;
}

.nuvo-grid.classnews {
  padding: 16px;
  background-color: var(--nuvo-fern);
}

.grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(12, 1fr);
  position: relative;
  z-index: 0;
  max-width: 1480px;
  width: 100%;
}

.nuvo-grid img {
  width: 100%;
}

.searchresults {
  display: grid;
  grid-template-columns: repeat(1, 5fr);
  position: relative;
  z-index: 0;
  max-width: 1480px;
  width: 100%;
  gap: 4px;
  margin: 8px 0px;
}

.searchresultsingle {
  grid-template-rows: auto;
  text-align: left;
  gap: 1.5rem;
  border: 1px solid rgb(204, 204, 204);
  padding: 16px;
}

.searchresulttext {
  float: left;
  width: 90%;
}

.searchimage {
  float: left;
  width: 10%;
}

.pageurlresult {
  color: var(--nuvo-fern);
  text-decoration: none;
}

.searchresultsingle a {
  grid-column: span 1 / auto;
}

.searchtext {
  grid-column: span 1 / auto;
}

#footercolumns {
  color: rgb(238, 238, 238);
  display: inline-grid;
  gap: 1.5rem;
  grid-template-columns: repeat(3, 1fr);
  position: relative;
  z-index: 0;
  width: 100%;
  /* text-align: center; */
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
}

#footercolumns a {
  float: left;
  width: 100%;
}


.footernavigation {
  float: Left;
  padding: 16px 0px;
  width: 100%;
  text-align: right;
  grid-column: span 2 / auto;
}


.footercolumntwo {

  grid-column: span 2 / auto;
}




.footernavigation .menu-item {
  display: inline-block;
  padding-top: 16px;
  padding-bottom: 16px;

  
}


.footernavigation li:nth-child(2) a:before {
  content: none;
  
}

.footernavigation li:nth-child(2) a {
  padding-left: 0px;
  
}

.footernavigation  li{
  list-style: none;
  font-size: 16px;
  padding-left: 16px;
}


.footernavigation .menu-item a {
  
  padding-left: 24px;
  position: relative;

  
}



.footernavigation .menu-item a:before {
  position: absolute;
  content: "\2022";
  left: 0px;
  font-size: 24px;
  line-height: 1;
  pointer-events: none;
}

.tellinefooter a{
    padding-left: 28px;
    position: relative;

}



.tellinefooter a:before {
  position: absolute;
  content: "h";
  font-family: nuvocons;
  left: 0px;
  font-size: 24px;
  line-height: 1;
  pointer-events: none;
}




.emaillinefooter a{
    padding-left: 28px;
    position: relative;

}



.emaillinefooter a:before {
  position: absolute;
  content: "i";
  font-family: nuvocons;
  left: 0px;
  top: 0px;
  font-size: 20px;
  line-height: 0.8;
  pointer-events: none;
}



#bannerarea {
  position: relative;
  float: left;
  width: 100%;
  z-index: 1;
}

#masterbannerarea {
  position: relative;
  float: left;
  width: 100%;
  z-index: 1;
  background-color: #333;
}

#masterbannerarea .masterbanner:before {
  height: 100%;
  width: 100%;
  position: absolute;
  content: "";
  background-color: rgba(0,0,0,0.3);
}

#masterbannerarea .masterbanner:after {
  /* content: ""; */
  position: absolute;
  width: 50%;
  height: calc(100%);
  top: 0px;
  right: -25%;
  transform: skewX(16deg);
  /* transform-origin: 50% 0; */
  outline: 1px solid transparent;
  backface-visibility: hidden;
  /* background: #fd000080; */
  background-image: url(/assets/icons/background-tint-2.svg);
  background-size: 120%;
  background-position: bottom 0px center;
  background-repeat: no-repeat;
  pointer-events: none;
}

.captionarea {
  margin-left: auto;
  margin-right: auto;
  max-width: 1080px;
  height: 100%;
  width: 100%;
}

.captionblock {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  top: 80px;
}


#masterbannerarea .masterbanner

.captionblock {font-size: 32px !important;bottom: 40px;}

#masterbannerarea .textinner

 {
  display: flex;
   align-content: center;
   align-items: center;
   justify-content: center;
   width: 100%;
}

#masterbannerarea .masterbanner

.captionone span {
font-size: 39px !important;
  padding: 0px !important;
  padding-bottom: 12px !important;
  float: left;
}

#masterbannerarea .masterbanner

.captionone, 
#masterbannerarea .masterbanner
.captiontwo {
  width: auto;
  padding-right: 4px !important;
}

#masterbannerarea .masterbanner

.captiontwo span {
  
  font-size: 39px !important;
  padding: 0px;
  padding-bottom: 12px !important;
  float: left;
  padding-left: 8px !important;
                 
                 }


.captioncontainer {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  height: 100%;
  align-items: baseline;
  display: inline-grid;
  grid-gap: 24px;
  grid-template-columns: repeat(1, 1fr);
}

.bannerlinkbutton {
  width: 100%;
  float: left;
 
}

.bannerlinkbutton a {
  width: auto;
  float: left;
  color: #333;
  margin-top: 32px;
  padding: 8px 16px;
  padding-right: 48px;
  background-color: var(--nuvo-ember);
  color: #fff;
  /* font-weight: 600; */
  position: relative;
}

.bannerlinkbutton a:before {
 position: absolute;
 content: "V";
 font-family: nuvocons;
 right: 4px;
 top: 0px;
 font-size: 20px;
 padding: 4px;
 line-height: 34px
}

.caption1 {
  width: 100%;
}

.caption1 span {
  font-size: 24px;
}

.pagecaptions {
  margin-top: -172px;
  width: 100vw;
}

.aboutus .pagecaptions {
  margin-top: -110px;
  float: left;
}

.captionone, .captiontwo, .captionthree {
  position: relative;
  display: block;
  float: left;
  clear: both;
  width: 40%;
  min-width: 300px;
  text-align: left;
}

.captionone span {
  color: #fff;
  font-weight: 500;
  font-style: normal;
  /* text-shadow: rgb(0, 0, 0) .5px .5px 1px; */
  font-size: 58px !important;
  letter-spacing: -1px;
  line-height: 1.2;
  padding-top: 8px;
  padding-bottom: 16px;
  font-family: "gelica", serif;
}

.dark .captionone span {
  color: var(--nuvo-main);
  text-shadow: rgb(0, 0, 0) 0px 0px 0px;
}

.captiontwo span {
    color: var(--nuvo-cream);
    font-weight: 400;
    font-style: normal;
    text-shadow: rgb(0, 0, 0) .5px .5px 1px;
    font-size: 14px !important;
    line-height: 1.2;
    padding-top: 8px;
    padding-bottom: 16px;
}



.rightcaptions span {
  float: left;
  font-size: 22px;
  z-index: 2;
  color: #fff;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, .9);
  padding-right: 88px;
}

.rslides li:first-child {
  position: relative;
  display: block;
  float: left
}

.bannerwrapper {
  position: relative;
  float: left;
  width: 100%;
  background-color: #454545;
  margin-top: -144px;
  z-index: 1;
}

.rslides {
  position: relative;
  width: 100%;
  padding: 0;
  margin: 0 auto;
  z-index: 0;
  float: left;
  width: 100%
}

.rslides ul {
  padding: 0;
  margin: 0;
  float: left;
  width: 100%
}

.rslides li {
  position: absolute;
  display: none;
  width: 100%;
  left: 0;
  top: 0;
  float: left;
  width: 100%
}

.rslides li:first-child {
  position: relative;
  display: block;
  float: left
}

.rslides img {
  display: block;
  height: auto;
  float: left;
  width: 100%;
  border: 0
}

.bannerwrapper {
  position: relative;
  float: left;
  width: 100%;
  background-color: var(--nuvo-main);
  margin-top: -144px;
  z-index: 1;
}

#bannerarea .banner {
  position: relative;
  height: 800px;
  width: 100%;
  float: left;
  max-width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  position: relative;
  background-position: calc(50% - 0px) calc(0% + 0px);
}

.banner::after {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0.9;
  background-color: rgb(67 72 66 / 30%);
  top: 0px;
  left: 0px;
  z-index: 0;
  content: "";
}

#masterbannerarea .masterbanner {
  height: 600px;
  width: 100%;
  float: left;
  background-size: cover;
}

#masterbannerarea .masterbanner.newspost {
  height: 240px;
  width: 100%;
  float: left;
  background-size: cover;
}

#bannerarea .banner:before {
  height: 200px;
  width: 100%;
  position: absolute;
  bottom: 148px;
  content: "";

  /* border: 1px solid #fff; */
}

.rslides1_nav.next::before, .rslides1_nav.prev::before, .rslides2_nav.next::before, .rslides2_nav.prev::before {
  font-size: 20px;
  width: 40px;
  line-height: 30px;
  font-family: nuvocons !important;
}

.rslides1_nav:active {
  opacity: 1;
}

.rslides1_nav.next {
  left: auto;
  background-position: right top;
  right: 0px;
}

.rslides2_nav {
  position: absolute;
  top: 0px;
  left: 0px;
  display: block;
  background: rgb(255, 255, 255);
  opacity: 0;
  width: auto;
  text-indent: -9999px;
  height: 91%;
}

.rslides2_nav.next {
  left: auto;
  right: 0px;
}

.rslides3_nav {
  position: absolute;
  opacity: 0.6;
  text-indent: -9999px;
  top: 0px;
  bottom: 0px;
  left: 0px;
  background: url("themes.gif") left 50% no-repeat rgb(0, 0, 0);
  width: 38px;
}

.rslides3_nav:active {
  opacity: 1;
}

.rslides3_nav.next {
  left: auto;
  background-position: right 50%;
  right: 0px;
}

.rslides_tabs {
  position: absolute;
  width: 100%;
  bottom: -32px;
  text-align: center;
}

.rslides_tabs li {
  display: inline;
  float: none;
  /* margin-right: 5px; */
  z-index: 3;
  position: relative;
}

.rslides1_nav.next, .rslides2_nav.next {
  left: auto;
  background-position: right top ;
  right: 16px;
  width: 30px;
  height: 30px;
  display: block;
  position: absolute;
  margin: 0px;
  color: rgba(255, 255, 255, 0);
  background-color: var(--nuvo-fern);
  border-radius: 50%;
}

.rslides_tabs {
  position: absolute;
  width: auto;
  bottom: 8px;
  text-align: center;
  right: 8px;
}

.rslides_tabs li {
  display: inline;
  float: none;
  /* margin-right: 4px; */
  position: relative;
}

.rslides_tabs a {
  display: inline-block;
  height: 14px;
  /* border-radius: 50%; */
}

.rslides1_nav, .rslides2_nav {
  position: absolute;
  bottom: 14px;
  left: 0px;
  z-index: 1;
  height: 40px;
  width: 40px;
}

.rslides1_nav.next:hover, .rslides2_nav.next:hover {
  background-color: rgba(255, 255, 255, 0.7);
}

.rslides1_nav.next:active, .rslides2_nav.next:active {
  background-color: rgba(0, 0, 0, 0.3);
}

.rslides1_nav.prev, .rslides2_nav.prev {
  background-position: right top;
  left: 16px;
  background-color: var(--nuvo-fern);
  border-radius: 50%;
  width: 30px;
  height: 30px;
  display: block;
  position: absolute;
  margin: 0px;
  color: rgba(255, 255, 255, 0);
}

.rslides1_nav.prev:hover, .rslides2_nav.prev:hover {
  background-color: rgba(255, 255, 255, 0.7);
}

.rslides1_nav.next::before, .rslides2_nav.next::before {
  position: absolute;
  content: "u";
  left: -4px;
  text-align: center;
  color: rgba(255, 255, 255, 0.8);
}

.rslides1_nav.prev::before, .rslides2_nav.prev::before {
  position: absolute;
  content: "t";
  right: -4px;
  text-align: center;
  color: rgba(255, 255, 255, 0.8);
}

.rslides_tabs {
  width: 100%;
  position: absolute;
  bottom: 10px;
  text-align: center;
  display: flex;
  align-items: center;
  align-items: center;
  justify-content: center;
}

.rslides_tabs li {
  float: none;
  position: relative;
}

.rslides_tabs a {
  background: rgb(255, 255, 255);
  margin-right: 1px;
  width: 12px;
  height: 12px;
  padding: 5px;
  border-radius: 50%;
  margin: 4px
}

.rslides_tabs a {
  text-indent: -9999px;
  background-color: var(--nuvo-cream);
  display: inline-block;
}

.rslides_tabs .rslides_here a {
  background-color: var(--nuvo-fern);
}

.bannershallow {
  height: 400px;
}

@media screen and (max-width: 1280px) {


.modal.visible {
  display: none;
}


  #logoarea {
  position: absolute;
  width: auto;
  z-index: 100;
  top: -16px;
    left: 16px;
 }

  


  
header {
 height: 94px;
}

  .contactheadernew {
                   top: 16px;
                  
                   right: auto;
    left: 16px;
                   }

  
 
  

  .rslides1_nav.prev, .rslides2_nav.prev {
      bottom: 32px;
  }

  .rslides1_nav.next, .rslides2_nav.next {
      bottom: 32px;
  }

  .companyicon img {
      float: left;
      width: 88px;
      padding: 10px;
      transition: all .4s ease-in-out;
      /* filter: drop-shadow(1px 1px 2px rgb(0 0 0 / 1.0)); */
  }

  a.js-open-search-modal {
      display: none;
  }

  .newsandeventshome {
      grid-template-columns: repeat(2, 1fr);
  }

  #navigationarea {
      float: right;
      display: block;
      width: 100%;
      position: fixed;
      overflow: visible;
      z-index: 30;
      top: 0px;
      bottom: auto;
      margin-top: 0px;
      /* padding: 16px 0px; */
  }

  section.mainlinks {
      gap: 16px;
      grid-template-columns: repeat(2, 1fr);
      width: 100%;
  }

  #logoareatwo {
      float: left;
      opacity: 1;
      z-index: 3;
      padding: 8px;
      position: fixed;
      width: 100%;
      background: rgb(111, 170, 220);
  }

  .topbar {
      display: none;
  }
}

@media screen and (max-width: 1080px) {



  .backgroundimage {
  background-size: cover;
  opacity: 0.9;
  background-position: center center;
  transition: all 0.3s ease 0s;
  overflow: hidden;
  aspect-ratio: 14 / 9;
  top: 0px;
  left: 0px;
}


  #bannerarea .banner {
      /* height: 500px; */
      width: 100%;
      float: left;
      background-size: cover;
  }

  #picturenav {
      display: inline-grid;
      grid-gap: 24px;
      row-gap: 24px;
      grid-template-columns: repeat(2, 1fr);
      grid-auto-flow: row;
      padding: 40px 0;
      text-align: left;
  }
}



.contactline {
  float: left;
  width: 100%;
  clear: both;
  display: flex;
flex-wrap: wrap;
}
  
@media screen and (max-width: 768px) {


  .minilogo img {
  width: 140px;
  padding: 0px;
 
}


  .textandimage.right .handdrawnlogo {


  width: 72px;
}

  


  .negativeblock.twincolumns {
  display: grid;
  padding: 0px;
  gap: 16px;
  grid-template-columns: repeat(1, 1fr);
  position: relative;
  z-index: 0;
  margin-top: 32px;
}


  .footertop {
  position: relative;
  float: left;
  width: 100%;
  padding: 3px;
}


  .companylogo img {
  float: none;
  width: 220px;
  padding: 0px;
  transition: all .4s ease-in-out;
}


  .footernavigation {
  float: Left;
  padding: 0px 0px;
  width: 100%;
  text-align: center;
}


  #footercolumns {

  grid-template-columns: repeat(1, 1fr);
  text-align: center !important;

}


  .insetimageleft

{

  display: flex;
  flex-wrap: wrap;
  justify-content: center
  
}


  .textandimage.left .textblock {
  order: 1;
}

.homeintroleft
  {

  grid-column: span 1 / auto;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center;
  align-content: center;
  align-items: center;
  
  
}


  section.textandimage {
  padding: 0px 0px;
}



    section.hometwocolumn {
      grid-template-columns: repeat(1, 1fr);
     gap: 16px 0px;
    padding:12px 0px;
  }

  



  .textandimage .insetimage {

  margin-top: 0px !important;
}

  

  .textandimage.left .textblock {
    width: 100% !important;
    order: 1;
    margin-top: !important;
  
}

.textandimage.right .textblock 
   {
    width: 100% !important;
     margin-top:  0px !important;
  
}



  #masterbannerarea .masterbanner

.captionblock {
               bottom: 8px;}


  section.textandimage {
    gap: 16px;
    grid-template-columns: repeat(1, 1fr);
  }


  .textandimage.left .textblock  {
    padding: 0px;
    margin: 0px;
  }


  
  


   #masterbannerarea .masterbanner .captiontwo span,
  .captiontwo span{

  font-size: 30px !important;
  line-height: 1.2;

}
#masterbannerarea .masterbanner .captionone span,
  .captionone span{font-size: 32px !important;line-height: 1.2;}

  
  .blogmain .bloglistingimage {
  grid-column: span 12 / auto;
  order: 2;
}

.blogmain .bloglistingtext {
  grid-column: span 12 / auto;
}

  

.allprofiles {
      align-items: start;
  justify-content: start;
  align-content: start;
  
}
  .profiledesc {
  grid-column: span 6 / auto;
  order: 1;
    

}


.profilephoto {
  grid-column: span 6 / auto;
  order: 1;
}


  
.profilessingleinternal {
  grid-column: span 12 / auto;
 }

  

  .bloglisting {
  grid-column: span 6 / auto;
  gap: 16px;
}


  
  

  #masterbannerarea .masterbanner {
  height: 300px;

}








.testimonialsingleinternal:nth-child(1) .testphoto {
  grid-column: span 6 / auto;
  order: 1;

  
}

 .testimonialdesc {
  grid-column: span 12 / auto;
  order: 1;
  padding-top: 32px;
  
  
}


 .testphoto {
  grid-column: span 12 / auto;
  order: 1;

  
}


  
  .businesscardcontact {
      padding: 12px 20px;
      font-size: 18px;
  }


  .quoteline, .telicon, .emailicon {

  margin: 2px 8px;
  width: 100%;
}


  section.randomslider {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, 1fr);
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  max-width: 1280px;
  text-align: center;
  float: none;
  z-index: 3;
  padding: 16px ;
}


  section.clientlogos {

  grid-template-columns: repeat(4, 1fr);
    gap: 8px;

}


  #bannerarea .banner:before {
  height: 140px;
  bottom: 40px;
}


    .captionblock {
      top: 40px;
  }





  .rslides_tabs {bottom: 0px;padding: 0px;}
  
  

  .contactaddressline, .contactmobile, .contactfacebook, .contacttwitter, .contactemail, .contactinstagram {
      padding-left: 32px;
      line-height: 2
  }

  .contactaddressline:before, .contactmobile:before, .contactfacebook:before, .contacttwitter:before, .contactemail:before, .contactinstagram:before {
      position: absolute;
      left: -10px;
      border: 2px solid var(--nuvo-fern);
      border-radius: 50%;
      width: 32px;
      height: 32px;
      text-align: center;
      font-size: 24px;
      line-height: 32px;
      color: #FFF;
      ; font-family: nuvocons;
  }


  #bannerarea .banner {
      height: 400px;
      width: 100%;
      float: left;
      background-size: cover;
  }

  #picturenav {
      display: inline-grid;
      grid-gap: 32px;
      row-gap: 32px;
      grid-template-columns: repeat(1, 1fr);
      grid-auto-flow: row;
      padding: 40px 0;
      text-align: left;
  }

  .schoolstrapline {
      font-size: 32px;
  }

  .schoolname {
      font-size: 28px;
  }

  .logoicon img {
      float: left;
      width: 100px;
  }

  .rslides1_nav.prev, .rslides1_nav.next, .rslides2_nav.prev, .rslides2_nav.next {
      display: none;
  }

  .headerlinks {
      display: none;
  }

  .subnavimage {
      grid-column: span 2 / auto;
  }

  .subnavtext {
      grid-column: span 10 / auto;
  }

  h1 {
      font-size: 32px;
  }

    h2 {
      font-size: 25px;
  }

  section.classbuttons {
  }

  .newsandeventshome {
      display: grid;
      gap: 16px;
      grid-template-columns: repeat(2, 1fr);
      position: relative;
      z-index: 0;
      max-width: 1480px;
      width: 100%;
  }

  .banner {
      height: 280px;
  }

  #calendar {
      display: none;
  }

  .onethirdcolumn {
      grid-column: span 12 / auto;
  }

  .twothirdscolumn {
      grid-column: span 12 / auto;
  }

  .prospectus {
      grid-template-columns: repeat(1, 1fr);
  }

  .halfcolumn {
      grid-column: span 12 / auto;
  }

  section.mainlinks {
      gap: 16px;
      grid-template-columns: repeat(1, 1fr);
  }

  .teacherlist {
      grid-template-columns: repeat(2, 1fr);
  }

  .subpages {
      display: grid;
      gap: 8px;
      grid-template-columns: repeat(2, 1fr);
  }

  .multicolumn .columnleft {
      grid-column: span 12 / auto;
      order: 1;
  }

  .multicolumn .columnright {
      grid-column: span 12 / auto;
      order: 1;
      display: none;
  }

  .videogallery {
      display: grid;
      gap: 16px;
      grid-template-columns: repeat(2, 1fr);
      position: relative;
      z-index: 0;
      max-width: 1480px;
      width: 100%;
  }

  .introarea {
      display: grid;
      gap: 16px;
      grid-template-columns: repeat(1, 1fr);
      position: relative;
      z-index: 0;
      width: 100%;
  }

  .twothirds {
      grid-column: 1 / span 1;
  }

  .onethird {
      grid-column: 1 / span 1;
  }
}

@media screen and (max-width: 540px) {


    .captiontwo span {

  font-size: 24px !important;

  line-height: 1.2;

}

.captionone  {
                  width: 80%;
                  }

  .captionone span {
                  font-size: 24px !important;
                  }


    section.clientlogos {

  grid-template-columns: repeat(2, 1fr);
    gap: 16px;

}

  
  .linkinsetpic img {
      height: 132px;
      width: 132px;
      ; }

  .captionone span {
      font-size: 14px;
  }

  .captiontwo span {
      font-size: 24px;
  }

  .captioncontainer {
      width: 100%;
      position: absolute;
      top: 0px;
      left: 0px;
      z-index: 6;
      height: 100%;
      /* display: flex; */
      align-items: end;
      justify-content: end;
      padding-bottom: 12px;
  }

  .caption1 span {
      padding-top: 8px;
      font-size: 30px !important;
  }

  .caption2 {
      width: 100%;
      float: left;
  }

  .caption2 span {
      color: rgb(255, 255, 255);
      float: left;
      font-weight: 600;
      text-shadow: rgb(0, 0, 0) 1px 1px 1px;
      line-height: 1;
      padding-top: 8px;
      border-bottom: 4px solid var(--nuvo-red);
      padding-bottom: 12px;
      font-size: 24px !important;
  }

  .docsize {
      display: none;
  }

  .previouslink {
      float: left;
      width: 100%;
      text-align: left;
  }

  .nextlink {
      float: left;
      width: 100%;
      text-align: right;
  }

  .subpages {
      display: grid;
      grid-template-columns: repeat(1, 1fr);
  }

}