/* cmsms stylesheet: WEBSITE - HTML Reset modified: Friday, June 12, 2020 5:38:58 PM */
/* html5reset.css - 01/11/2011 */

/* apply a natural box layout model to all elements, but allowing components to change */
html {
  box-sizing: border-box;
}
*, *:before, *:after {
  box-sizing: inherit;
}
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

body {
    line-height: 1;
}

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

nav ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

/* change colours to suit your needs */
ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}

/* change colours to suit your needs */
mark {
    background-color: #ff9;
    color: #000; 
    font-style: italic;
    font-weight: bold;
}

del {
    text-decoration:  line-through;
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

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

/* change border colour to suit your needs */
hr {
    display: block;
    height: 1px;
    border: 0;   
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
}

input, select {
    vertical-align: middle;
}
/* cmsms stylesheet: WEBSITE - Main Stylesheet modified: Thursday, March 13, 2025 12:07:53 AM */
:root {
  --headings: rgb(0,0,0);
  --headingsinvert: rgb(255,255,255);
  --headingscolour: rgb(172,4,168);
  --text: rgb(0,0,0);
  --link: rgb(129,3,126);
  --linkhover: rgb(172,4,168);
  --backgroundbanner: rgb(0,0,0); 
  --backgroundbanner2: rgb(129,3,126); 
  --backgroundbox: rgb(234,234,234); 
  --backgroundbox2: rgb(111,115,118); 
}
/* [1] ===== FONTS ===== [1] */
*:focus-visible {
  outline: 2px solid var(--link);
}

html {
 scroll-behavior: smooth;
 scroll-padding-top: 5vh;
 -webkit-tap-highlight-color: rgba(255,255,255,.1);
}
body {
 background: rgb(255,255,255);
}
/* [2] ===== HEADINGS ===== [2] */
h1, h2, h3, h4, h5, h6, .contactform legend {
 font-family: 'Red Hat Display', Arial, Helvetica, sans-serif;
 font-weight: 700;
 font-size: 1em;
 margin-top: .5em;
 margin-bottom: .25em;
 letter-spacing: 0;
 color: var(--headings);
 width: 100%;
}
h1 {
 font-size: 2.8em;
 line-height: 1;
 margin-top:0;
}
h2, .contactform legend {
 font-size: 2.4em;
 line-height: 1;
}
h3 {
 font-size: 2.1em;
 line-height: 1;
}
h4, h5, h6 {
 font-size: 1.8em;
 line-height: 1;
}
/* END OF HEADINGS ===== */

/* [3] ===== TYPOGRAPHY ===== [3] */
p, ol, ul, dl, address {
 margin-bottom: 1.5em;
 font-size: 1.05em;
 line-height: 1.5;
 color: var(--text);
 font-family: 'Red Hat Display', sans-serif;
 font-weight: 400;
}
strong {
 font-weight: 600;
}
p {
 hyphens: none;
}
ul, ol {
 margin: 0 0 1em 20px;
 padding: 0 0 0 15px;
}
li ul, li ol {
 margin: 0;
 font-size: 100%;
}

a:link, a:visited {
 color: var(--link);
}

a:hover, a:visited:hover {
 color: var(--linkhover);
}

dl, dd {
 margin-bottom: 1.5;
}
dt {
 font-weight: normal;
}
b, strong {
 font-weight: bold;
}
hr {
 display: block;
 margin: 1.5 0;
 padding: 0;
 height: 1px;
 border: 0;
 border-top: 1px solid rgb(204,204,204);
}

blockquote {
 border: 1px solid rgb(204,204,204);
 padding: 20px 20px 0 20px;
 margin: 40px 0;
}

blockquote p {
 color: rgb(102,102,102);
 font-weight: 700;
}

sub, sup {
 font-size: 85%;
 font-style: italic;
}

button, .button, input[type='submit'],
.contactform input[type='submit'],
.conformity input[type='submit']{
  background: none;
  color: white !important;
  border: 2px solid white;
  margin: 20px 0;
  padding: 10px 20px;
  text-decoration: none;
  font-family: "Red Hat Display", sans-serif;
  font-weight: 600;
  letter-spacing: 1px;
  border-radius: 0;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  font-size: 1.05em;
}
button:hover, .button:hover, input[type='submit']:hover{
  opacity: .75;
}

div.button-container,
div.button-summary {
 width: 100%;
 text-align: center;
 padding: 25px 0;
 text-decoration: none;
}

div.button-summary {
 text-align: right;
}

table {
 font-size: 1em;
 line-height: 1.5;
 color: rgba(0,0,0,1);
 font-family: 'Red Hat Display', Arial, Helvetica, helve, sans-serif;
 font-weight: 400;
 width: 100%;
 margin-bottom: 10px;
}

tr:nth-of-type(odd) {
 background: rgba(0,0,0,.025);
}

th {
 font-weight: bold;
 border-bottom: 1px solid rgb(0,0,0);
 background: rgba(0,0,0,.05);
 vertical-align: bottom;
}

th, td {
 padding: 10px;
 text-align: left;
}

td:nth-of-type(1) {
 font-weight: bold;
}
/* END OF TYPOGRAPHY ===== */

/* [4] ===== ELEMENTS ===== [4] */
.skiptomain,
.skiptonav,
.offscreen {
 position:absolute;
 left:-10000px;
 top:auto;
 width:1px;
 height:1px;
 overflow:hidden;
}
.hidden {
 visibility: hidden;
}
section, header, footer {
 max-width: 100%;
 overflow-x: hidden;
}
section {
  content-visibility: auto;
  contain-intrinsic-size: auto 500px;
}
.content-block {
 margin: 50px 0;
}

.container_carousel,
.container_1column,
.container_news,
.container,
.flexcontainer {
 margin: 0 auto;
 width: 100vw;
 max-width: 2560px;
}

@media screen and (min-width: 800px) {
.container_1column {
 max-width: 70vw;
}
}

@media screen and (min-width: 1280px) {
.container_1column {
 max-width: 50vw;
}
}
/* END OF ELEMENTS ===== */

/* [5] ===== HEADER ===== [5] */
header {
 background: none;
 position: fixed;
 top: 0;
 z-index:10;
 width: 100vw;
 height: 60px;
} 

nav {
 z-index: 1;
 position: fixed;
 top: 0;
 left: 40vw;
 width: 60vw;
 height: 60px;
}

#logo {
 position: fixed;
 top: 5px;
 left: 5vw;
 z-index:10;
 width: 120px;
 height: auto;
 margin: 0;
 filter: brightness(0) invert(1);
}
/* END OF HEADER CONTENT ===== */

/* END OF HEADER ===== */

/* [6] ===== NAVIGATION ===== [6] */
/* --- Main Menu --- */
#menuToggle {
 display: block;
 position: fixed;
 top: 14px;
 right: 25px;
 z-index: 1; 
 -webkit-user-select: none;
 user-select: none;
}
#menuToggle a {
 text-decoration: none; 
 color: white; 
 transition: color 0.3s ease;
}
#menuToggle a:hover {
 color: white;
}
#menuToggle input {
 display: block;
 width: 60px;
 height: 60px;
 position: absolute;
 top: -20px; 
 right: 0; 
 cursor: pointer;  
 opacity: 0; /* hide this */
 z-index: 2; /* and place it over the hamburger */  
 -webkit-touch-callout: none;
}


/* ----- Just a quick hamburger */
#menuToggle span {
 display: block;
 width: 50px;
 height: 6px;
 margin-bottom: 9px;
 position: relative;
 background: rgb(255,255,255); /* burger line color */
 border-radius: 3px;
 z-index: 1;  
 transform-origin: 0 -2px;  
 transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
 background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
 opacity 0.55s ease;
}
#menuToggle span:first-child {
 transform-origin: 0% 0%;
}
#menuToggle span:nth-last-child(2) {
 transform-origin: 0% 100%;
}

/* ----- Transform all the slices of hamburger * into a crossmark. */
#menuToggle input:checked ~ span {
 opacity: 1;
 transform: rotate(45deg) translate(-2px, -1px);
 transform: rotate(45deg) translate(0, 0);
 background:white; /* v.dark grey cross */
}
/* ----- But let's hide the middle one. */
#menuToggle input:checked ~ span:nth-last-child(3) {
 opacity: 0;
 transform: rotate(0deg) scale(0.2, 0.2);
}
/* ----- Oh yeah and the last one should go the other direction */
#menuToggle input:checked ~ span:nth-last-child(2) {
 transform: rotate(-45deg) translate(-3px, 0);
}

/* ----- Make this absolute positioned * at the top left of the screen */
#menu {
 position: absolute;
 right:0;
 width: 50vw;
 height: 100vh;
 height: calc(100vh + 100px);
 overflow-x: hidden;
 overflow-y: auto;
 margin: -100px -25px 0 0;
 padding: 125px 50px;
 background: rgba(0,0,0,.85);
 list-style-type: none;
 -webkit-font-smoothing: antialiased;
 /* to stop flickering of text in safari */  
 transform-origin: 0% 0%;
 transform: translate(200%, 0); 
 transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
}

/* ===  menu options format */

#menu .wrapper {
 height: auto;
 overflow-x: hidden;
 overflow-y: auto;
}

#menu ul li {
 font-size: 1.25rem;
 font-weight: bold;
 border: 1px solid clear;
 cursor: pointer;
 padding: 0;
 margin: 15px 5vw;
}

#menu li:hover {
 color: rgb(0,0,0);
}

#menu ul li a {
 display: block;
}

/* === end of menu options format */

/* * And let's slide it in from the left */
#menuToggle input:checked ~ div {
 transform: none;
}


#menu {
 width: 100vw;
}

#menu ul {
 margin-top: 120px;
}

#menu ul ul {
 margin-top: 0px;
}
@media screen and (min-width: 800px) {
 #menu {
  width: 60vw;
 }
 #menu ul li {
  font-size: 1.5rem;
  margin: 15px 5vw;
 }
}
/* --- Sitemap Menu --- */
#sitemap{
 text-align: left;
}

#sitemap ul {
 list-style: none;
 margin: 0;
 padding: 0;
}

#sitemap ul li {
 margin: 20px 0;
}

#sitemap ul li li {
 display: inline-block;
 margin: 2px 0;
}

#sitemap a,
#sitemap .sectionheader {
 display: inline-block;
 padding: 20px;
 margin: 5px 10px 5px 0;
 text-decoration: none;
 border: 1px solid rgb(204,204,204);
}

#sitemap a:link,
#sitemap a:visited {
 color: rgb(102,102,102);
}

#sitemap a:hover,
#sitemap a:visited:hover {
 background: rgba(0,0,0,.05);
 color: rgb(50,99,50);
 border: 1px solid rgb(50,99,50);
}
/* --- end of Sitemap Menu */

/* END OF NAVIGATION ===== */

/* [7] ===== HOMEPAGE ===== [7] */
/* -- See inline plus the Homepage css file -- */
/* end of HOMEPAGE content */

/* ===== NEWS SECTION ===== */
#news-summary .container {
 display: flex;
 flex-flow: row wrap;
 -webkit-justify-content: left;
 justify-content: left;
}
#news-summary .item {
 flex: 0 0 auto;
 padding: 0;
 background: black;
 color: black;
 text-align: center;
 width: 100%;
 height: auto;
 margin: 1%;
 overflow: hidden;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
}

@media screen and (min-width: 360px) {
 #news-summary .item {
  width: 48%;
 }
}
@media screen and (min-width: 1024px) {
 #news-summary .item {
  width: 23%;
 }
}
@media screen and (max-width: 420px) {
 #news-summary p {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
 }
}

#news-summary h4,
#news-summary p {
 padding: 0 20px;
 color: white
}
#news-summary p.itemPostDate {
 margin: 10px 0;
 color: var(--button);
}
#news-summary .button {
 margin-bottom: 20px;
}
#news-summary img {
 width: 100%;
 height: 240px;
 object-fit: cover;
}

@media screen and (min-width: 800px) {
 #news-summary img {
  /* height: 250px; */
 }
}


/* pagination */
#news-summary p.pagination {
 margin: auto;
}
.pagination span {
 color: white;
 display: inline-block;
 padding: 10px;
 margin-right: 0;
 background: var(--link);
}
.pagination span a {
 color: white;
 text-decoration: none;
}
.pagination span.NewsPaginationLink {
 margin: 1px;
}

/* NEWS DETAIL PAGE */

element.style {
}

#news-header img {
    display: block;
    width: 100%;
    height: 50vh;
    min-height: 240px;
    max-height: 500px;
    object-fit: cover;
    object-position: 50% 40%;
    background: black;
}

@media screen and (min-width: 800px) {
#news-header img {
    max-height: 500px;
}
}
/* end of News section */


footer {
 background: black;
 color: white;
 padding: 25px 0;
 border-top: 1px solid #333;
}
footer .container {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 flex-direction: row;
 padding: 0 5vw;
}
footer .item {
 width: 100%;
 height: auto;
 margin-bottom: 2%;
}
footer .item:nth-child(2),
footer .item:nth-child(3),
footer .item:nth-child(4) {
 text-align: center;
}
footer .item:nth-child(5) {
 width: 100%;
 text-align: left;
 border-top: 1px solid #333;
 padding-top: 25px;
}
footer h4 {
 color: white;
 margin: 0;
 padding: 20px 0;
 font-size: 97%;
}
footer img.footer-logo {
 width: 100%;
 max-width: 200px;
 height: auto;
 filter: brightness(0) invert(1);
 margin-bottom: 25px;
}
footer a i:hover {
  color: silver;
}
footer p,
footer p.smallprint {
color: white;
font-size: 1em;
}
footer p.smallprint {
 font-size: 0.75em;
}
footer a:link, footer a:visited {
 color: white;
 display: inline-block;
}
footer a:hover, footer a:visited:hover {
 color: silver;
}
footer ul {
 list-style: none;
 margin: 0 10px;
 padding: 0;
}
footer li {
 margin: 2px 0;
}
footer li a:link,
footer li a:visited {
 display: block;
 padding: 10px 5px;
 color: white;
 text-decoration: none;
 background: rgba(255,255,255,.1);
}
footer li a:hover,
footer li a:visited:hover {
 display: block;
 color: white;
 background: rgba(255,255,255,.25);
}
@media screen and (max-width: 640px) {
 footer .item {
  justify-content: space-evenly;
 }
 footer p,
 footer li {
 text-align: left;
 }
 footer img {
 max-width: 150px;
 }
}
@media screen and (min-width: 640px) {
 footer .item {
  width: 48%;
 }
}
@media screen and (min-width: 1280px) {
 footer .item {
  width: 24%;
 }
}
/* END OF HOMEPAGE ===== */

/* [8] ===== SECTION CONTENT ===== [8] */
/* breadcrumb navigation */
.breadcrumb .container {
 padding: 10px 5vw;
}

#sectionsplash {
 display: flex;
 position: relative;
 top: 0;
 left: 0;
 width: 100%;
 height: 70vh;
 min-height: 300px;
 background: #999;
 overflow: hidden;
}
#sectionsplash {
 /* background-image: url('{$header_image}');  set inline on template pages */
 background-position: 55% 60%;
 background-blend-mode: multiply;
}
#sectionsplash .flexcontainer {
 display: flex;
 flex-flow: row wrap;
 align-items: flex-end;
 margin: 15px auto 30px auto;
 max-width: 90vw;
}
#sectionsplash h1,
#sectionsplash h2,
#sectionsplash p {
 color: white;
}
#sectionsplash h1 {

}
#sectionsplash h2 {

 font-weight: 400;
}
@media screen and (min-width: 800px) {
 #sectionsplash .flexcontainer {
  margin-bottom: 15px;
 }
 #sectionsplash h1,
 #sectionsplash h2 {
  max-width: 50vw;
 }
}
@media screen and (min-width: 1600px) {
 #sectionsplash h1,
 #sectionsplash h2 {
  max-width: 30vw;
 }
}
.general-content-page,
.projects-page {
 display: flex;
}
.general-content-page .flexcontainer,
.projects-page .flexcontainer {
 display: flex;
 flex-flow: row wrap;
 flex-wrap: wrap;
 justify-content: space-between;
 padding: 50px 5vw;
}
.general-content-page:nth-of-type(odd) .flexcontainer,
.projects-page:nth-of-type(odd) .flexcontainer {
 flex-direction: column;
 background: #eee;
}
.general-content-page h1,
.general-content-page h2,
.projects-page h1,
.projects-page h2 {
 margin-top: 0;
}
.general-content-page img {
 width: 100%;
 height: 25vh;
 min-height: 200px;
 object-fit: cover;
}
.projects-page img {
 width: 100%;
 height: auto;
 margin: 5px 0 25px 0;
}

@media screen and (min-width: 640px) {
 .general-content-page,
 .projects-page {
  display: flex;
 }
 .general-content-page .flexcontainer,
 .projects-page .flexcontainer {
  flex-wrap: nowrap;
  padding: 75px 5vw;
 }
 .general-content-page .item,
 .projects-page .item {
  width: 48%;
 }
 .general-content-page:nth-of-type(odd) .flexcontainer,
 .projects-page:nth-of-type(odd) .flexcontainer {
   flex-direction: row-reverse;
 }
 .general-content-page img {
  width: 100%;
  min-height: 500px;
  object-fit: cover;
 }
 .projects-page img {
  width: 75%;
 }
}

/* --- accreditations page --- */
#accreditations-page .item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 25px;
  margin-bottom: 25px;
  border-bottom: 1px solid rgb(204,204,204);
}
#accreditations-page img {
 width: 90vw;
 height: auto;
}
@media screen and (min-width: 640px) {
#accreditations-page .item{
  display: flex;
  flex-direction: row;
  align-items: center;
}
#accreditations-page img {
 width: 30vw;
 max-width: 200px;
 height: auto;
 margin-right: 25px;
}
}
/* end of accreditations page ---*/

/* --- testimonials page --- */
.reviewer,
.reviewer-detail {
 margin: 5px 0;
 padding: 0;
 line-height: 14px;
}
.reviewer {
 font-weight: bold;
}
.reviewer-detail {
 font-style: italic;
 color: rgb(102,102,102);
 color: rgb(50,99,50);
}
/* end of testimonials page --- */

/*  FAQ SECTION ===== */
/* accordion */
#faqs .ui-accordion .ui-accordion-header {
 padding: 10px 0;
}
#faqs .ui-accordion .ui-accordion-header {
 padding: 20px 0;
 border-top: 1px solid #bbb;
}
#faqs .ui-corner-all,
#faqs .ui-corner-top,
#faqs .ui-corner-bottom {
 border-radius: 0;
}
#faqs .ui-state-default {
 border :0;
 background: none;
 color: unset;
}
#faqs .ui-state-active {
 border :0;
 background: none;
 color: var(--link);
}
#faqs .ui-widget-content {
 border: 0;
 background: none;
}
#faqs .ui-accordion .ui-accordion-content {
 padding: 20px;
}
#faqs #accordion h2 {
 line-height: 25px;
 padding-left: 20px !important;
 text-transform: capitalize;
}
#faqs #accordion span {
 position: absolute;
 left: 0;
 top: 28px;
}
/* End of FAQ SECTION ===== */

/* ===== CONTACT PAGE SECTION ===== */
.websitecheck {
 display: none;
}
#contact-page .container {
 display: flex;
 flex-flow: row wrap;
 -webkit-justify-content: left;
 justify-content: left;
}

#contact-page .item {
  flex: 1;
  padding:0;
  margin: 1%;
}
#contact-page .double-item {
  flex: 2;
  margin: 1%;
}
.contactform input, .contactform textarea, .contactform select, .contactform select option, input[type='password'] {
  border: 0;
  background: rgba(240,240,240,.5);
  padding: 25px;
  margin: 10px 0;
  width: 100%;
  display: block;
  font-family: 'Poppins', sans-serif;
}
.contactform input[type='submit'] {
  color: black !important;
  border: 2px solid black;
  width: auto;
}
.contactform select{
 width: 50%;
}
.contactform span,
.contactform label,
.form-headings {
 font-family: 'Poppins', sans-serif;
 font-size: 1em;
 font-weight: bold;
}
.form-headings {
 margin-top: 1.5em;
}
.contactform span {
 display:inline-block;
 color: red;
 padding-bottom: 25px;
}
.contactform label {
 display: block;
 margin-top: 20px;
}
.contactform .smallprint {
 font-family: 'Poppins', sans-serif;
 font-size: .85em;
 line-height: 1.5em;
 margin: 1em 0;
}
.contactform .smallprint-checkbox label {
 font-size: .9em;
}
.contactform .smallprint-checkbox input,
.contactform .radiobutton input{
 max-width: 20px;
 display: inline; 
}
.contactform .smallprint-checkbox label,
.contactform .radiobutton label{
 font-weight: normal;
 display: inline;
}
.contactform .radiobutton label {
 font-weight: bold;
}
.contactform .radiobutton div label{
 font-weight: normal;
 font-size: .85em;
}
.contact-details h2 {
 text-align: left;
 margin: 0 0 10px 0;
}
.contact-details h3 {
 font-size: 18px;
 margin: 25px 0 5px 0;
 padding:0;
}
.contact-details p {
 margin-bottom: 10px;
}
.contact-details table {
 width: 100%;
 text-align: left;
}
.contact-social-media,
.social-media {
 width: 40px;
 height: 40px;
 display: inline;
}
img.social-media:hover {
 filter: grayscale(90%) brightness(5);
}
.contact-social-media img:hover {
 filter: grayscale(90%) brightness(0);
}
.contact-social-media a:link,
.contact-social-media a:visited {
 margin-right: 2px;
}
.contact-social-media a:hover,
.contact-social-media a:visited:hover {
 color: filter();
}
.fb_invalid {
 color: red;
}
.error_message {
 display: none;
}

@media screen and (min-width: 799px) {
#contact-page .item {
 flex: 1;
}
.contactform input, .contactform textarea {
  width: 100%;
}
}
}
/* END OF CONTACT PAGE SECTION ===== */

/* Create a custom checkbox */
input.cms_checkbox {
  height: 35px;
  width: 35px;
}

/* END OF ENQUIRY FORM ===== */

#registrations {
 border-top: 150px solid black;
}

/* [100] ===== SCREEN SIZE TWEAKS ===== [100] */

@media screen and (orientation: portrait) {

#section-header img {
 height: 40vh;
 max-height: 40vh;
}

}

@media screen and (min-width: 480px) {

}

@media screen and (min-width: 640px) {

}

@media screen and (min-width: 768px) {
#enquiryform {
  margin: 100px 20vw;
 }
}

@media screen and (min-width: 1024px) {

}

@media screen and (min-width: 1600px) {

}
/* cmsms stylesheet: WEBSITE - Products CSS modified: Monday, May 13, 2024 4:37:16 PM */
/* ----- Services Block ----- */
#products-text .flexcontainer {
 display: flex;
 flex-flow: row wrap;
 flex-wrap: nowrap;
 justify-content: space-between;
 padding: 75px 5vw;
 background: #111;
}
#products-list .flexcontainer {
 display: flex;
 flex-flow: row wrap;
 margin: 0;
 background: rgb(40,40,40);
}
#products-list .item {
 width: 100vw;
 padding: 2.5vh 5vw;
 display: flex;
 align-items: flex-start;
 flex-direction: column;
 justify-content: flex-end;
 opacity: 95%;
 transition: .5s;
}
#products-list img{
 width: 90vw;
 height: auto;
 transition: .25s;
}
#products-list a:hover img{
 filter: brightness(75%) grayscale(85%);
 transition: .25s;
}

#products-list h2,
#products-list p,
#products-text h2,
#products-text p {
color: white;
margin-top: 0;
}
#products-list h2 {
 font-size: 1.75em;
}
#products-list a {
 text-decoration: none;
 background: rgb(10,10,10);
 transition: .5s;
}
#products-list a:nth-of-type(3n-1) {
 background: rgb(30,30,30); 
}
#products-list a:nth-of-type(3n) {
 background: rgb(20,20,20); 
}
#products-list a:hover {
 background: rgb(40,40,40);
 transition: .5s;
}

@media screen and (min-width: 640px) {
 #products-list .item {
  width: 50vw;
 }
 #products-list img{
  width: 40vw;
 }
}

#product .flexcontainer {
 display: flex;
 flex-flow: row wrap;
 padding: 0;
 background: #efefef;
}
#product .product-image {
 display: flex;
 width: 100vw;
 align-items: center;
 justify-content: center;
 background: #333;
 padding: 75px 0; 
}
#product .product-description {
 display: flex;
 width: 100vw;
 padding: 5vw;
 flex-direction: column;
 justify-content: center;
 background: #ddd;
}
#product .product-downloads {
 display: flex;
 width: 100vw;
 align-items: center;
 justify-content: center;
 padding: 75px 0;
 background: rgb(204,255,0);
}
#product .product-downloads::before {
 content: " ";
 background: url(/uploads/images/icons/icon-datasheet.svg) no-repeat 50% 50%;
 height: 50px;
 width: 50px;
 color: blue;
 border: 1px solid black;
 margin: 5px 10px 0 0;
}
#product img{
 width: 75vw;
 height: auto;
}
.product-downloads a {
 text-decoration: none;
}
#product .product-highlights {
 display: flex;
 width: 100vw;
 padding: 5vw;
 flex-direction: column;
 justify-content: center;
 background: #ccc;
}
#product .product-highlights ul {
 margin: 0 0 0 20px;
 padding: 0;
}
#product .product-highlights li {
 padding: 10px 0;
}
#product .product-table {
 display: flex;
 width: 100vw;
 padding: 0;
 flex-direction: row;
 flex-wrap: wrap;
 justify-content: center;
 background: black;
}

#product .product-table h2{
 text-align: center;
 padding: 50px;
 background: black;
 color: white;
 margin: 0;
} 
#product table {
 width: 100vw;
 margin: 0;
}
#product table:nth-of-type(4n+1) {
 background: rgba(255,255,255,.1);
}
#product table:nth-of-type(4n+2) {
 background: rgba(255,255,255,.15);
}
#product table:nth-of-type(4n+3) {
 background: rgba(255,255,255,.2);
}
#product table:nth-of-type(4n+4) {
 background: rgba(255,255,255,.25);
}
#product table tr:nth-of-type(odd) {
 background: rgba(255,255,255,.05);
}
#product table tr:nth-of-type(1) {
 font-size: 1.25em;
 background: rgba(0,0,0,.9);
 border-top: 1px solid #222;
}
#product table td {
 color: white;
 padding: 20px;
}
@media screen and (min-width: 640px) {
 #product table {
  width: 50vw;
 }
}


#product button,
#product .button {
 color: black !important;
 border: 2px solid black;
}
@media screen and (min-width: 640px) {
 #product .product-image {
  width: 50vw;
 }
 #product .product-description {
  width: 50vw;
 }
 #product .product-downloads {
  width: 50vw;
 }
#product img{
 width: 25vw;
}
#product .product-highlights {
 width: 50vw;
}
}
/* cmsms stylesheet: WEBSITE - Slick Theme modified: Monday, July 17, 2023 12:34:15 AM */
/* ===== SLICK THEME LAYOUT CSS ===== */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
 -webkit-user-select: none;
 -moz-user-select: none;
 -ms-user-select: none;
 user-select: none;
 -webkit-touch-callout: none;
 -khtml-user-select: none;
 -ms-touch-action: pan-y;
 touch-action: pan-y;
 -webkit-tap-highlight-color: transparent;
}
.slick-list {
 position: relative;
 display: block;
 overflow: hidden;
 margin: 0;
 padding: 0;
}
.slick-list:focus {
 outline: none;
}
.slick-list.dragging {
 cursor: pointer;
 cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
 -webkit-transform: translate3d(0, 0, 0);
 -moz-transform: translate3d(0, 0, 0);
 -ms-transform: translate3d(0, 0, 0);
 -o-transform: translate3d(0, 0, 0);
 transform: translate3d(0, 0, 0);
}
.slick-track {
 position: relative;
 top: 0;
 left: 0;
 display: block;
 margin-left: auto;
 margin-right: auto;
}
.slick-track:before,
.slick-track:after {
 display: table;
 content: '';
}
.slick-track:after {
 clear: both;
}
.slick-loading .slick-track {
 visibility: hidden;
}
.slick-slide {
 display: none;
 float: left;
 /* height: 100%; */ /* knocked this out to allow my own css to size the images */
 min-height: 1px;
}
[dir='rtl'] .slick-slide {
 float: right;
}
.slick-slide img {
 display: block;
}
.slick-slide.slick-loading img {
 display: none;
}
.slick-slide.dragging img {
 pointer-events: none;
}
.slick-initialized .slick-slide {
 display: block;
}
.slick-loading .slick-slide {
 visibility: hidden;
}
.slick-vertical .slick-slide {
 display: block;
 height: auto;
 border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
 display: none;
}

/* ===== SLICK THEME CONTROLS CSS ===== */
@charset 'UTF-8';
/* Slider */
.slick-loading .slick-list{
 background: #fff url('https://aktrading.uk/uploads/images/slick/ajax-loader.gif') center center no-repeat;
}

/* Arrows */
.slick-prev,
.slick-next{
 font-size: 0;
 line-height: 0;
 position: absolute;
 display: block;
 width: 50px;
 height: 50px;
 padding: 0;
 -webkit-transform: translate(0, -50%);
 -ms-transform: translate(0, -50%);
 transform: translate(0, -50%);
 cursor: pointer;
 color: transparent;
 border: none;
 outline: none;
 background: transparent;
 z-index: 1;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus{
 color: transparent;
 outline: none;
 background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before{
 color: rgba(153,153,153,.6);
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before{
 color: rgba(153,153,153,.1);
}

.slick-prev:before,
.slick-next:before{
 font-family: 'slick';
 font-size: 48px;
 line-height: 1;
 color: rgba(153,153,153,.3);
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
} 

.slick-prev{   
 left: 25px;
}
[dir='rtl'] .slick-prev{
 left: auto;    
 right: 25px;
}
.slick-prev:before{
 content: '←'; /* using slick font */
 font-family: "Font Awesome 5 Pro";
 font-weight: 900;
 content: "\f0a8"; /* arrow-circle-left */
}
[dir='rtl'] .slick-prev:before{
 content: '→';
 font-family: "Font Awesome 5 Pro";
 font-weight: 900;
 content: "\f0a9"; /* arrow-circle-right */
}

.slick-next{
 right: 25px;
}
[dir='rtl'] .slick-next{
 right: auto;
 left: 25px;
}
.slick-next:before{
 content: '→';
 font-family: "Font Awesome 5 Pro";
 font-weight: 900;
 content: "\f0a9"; /* arrow-circle-right */
}
[dir='rtl'] .slick-next:before{
 content: '←';
 font-family: "Font Awesome 5 Pro";
 font-weight: 900;
 content: "\f0a8"; /* arrow-circle-left */
}

/* Dots */
.slick-dotted.slick-slider{
 margin-bottom: 60px;
}

.slick-dots{
 position: absolute;
 display: block;
 width: 100%;
 padding: 0;
 margin: 0;
 list-style: none;
 text-align: center;
 z-index:0;
}
.slick-dots li{
 position: relative;
 display: inline-block;
 /* width: 50px;
 height: 50px;*/
 margin: 0 25px;
 padding: 0;
 cursor: pointer;
}
.slick-dots li button{
 font-size: 0;
 line-height: 0;
 display: block;
 width: 20px;
 height: 20px;
 padding: 5px;
 cursor: pointer;
 color: transparent;
 border: 0;
 outline: none;
 background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus{
 outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before{
 opacity: 1;
}
.slick-dots li button:before{
 font-family: 'slick';
 font-size: 12px;
 line-height: 20px;
 position: absolute;
 top: 0;
 left: 0;
 width: 20px;
 height: 20px;
 content: '•';
 font-family: "Font Awesome 5 Pro";
 font-weight: 900;
 content: "\f111"; /* solid circle */
 text-align: center;
 opacity: .25;
 color: black;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before{
 opacity: .75;
 color: black;
}

/* SLICK SLIDESHOW AMENDS */
#slideshow .slick-prev{   
 left: 10px;
 top: 50vh;
}
#slideshow .slick-next{   
 right: 10px;
 top: 50vh;
}
#slideshow .slick-dots{
 z-index:10;
 margin-top: -5vh;
}

/* SLICK CAROUSEL AMENDS */
#carousel .slick-prev{   
 left: 0;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
}
#carousel .slick-next{   
 position: absolute;
 right: 0;
 top: 50%;
 transform: translateY(-50%);
}
#carousel .slick-dots{
 margin-top: 35px;
}
/* cmsms stylesheet: WEBSITE - Print Stylesheet modified: Friday, June 12, 2020 5:43:59 PM */
@media only print{
body {padding:0;margin:0;color: #000;background-color: #fff;}

img#logo {filter: invert(100%) hue-rotate(180deg) brightness(120%) contrast(150%);} /* reverses a white logo to black for printing on pages */
}
