html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 100%;
		font: inherit;
		vertical-align: baseline;
	}
:root {
  --main-bg-color: #fefefe;
  --font-color:#1f1f1f;
  --second-font-color:#555;
  --grey-color:#474646;
  --light-grey-color:#666;
  --red-color:#ca2838;
  --green-color:#11a838;
    --darkgreen-color:#64c29b;
     --bg-darkgreen-color:#64c29bc2;
     --bg-beige-color:#f3e2bfc2;
  --darkred-color:#6a1818;
  --second-bg-color:#f3e2bf;
  --white-bg-color:#fff;
  --white2-bg-color:#fffd;
  --white-color:#fefefe;
  --blue-bg-color:#62c7cc;
  --bluebox-bg-color:#3AB0B8;
  --marker:#111;
  --marker2:#3f4143;
  --shadow:0px 0px 14px 1px #000;
}    
*, *:before, *:after {
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
}
html{
    text-size-adjust: 100%;
}
body{
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
   background-color: var(--main-bg-color); 
   color:var(--font-color);
 font-size: 16px;
   line-height: 1.7;
    text-wrap: wrap;
    word-break: break-word; /*word-wrap: break-word;*/

}

.mobile{
    display: none;
}
.font0 {
  font-family: "Londrina Solid", sans-serif;
  font-style: normal;
}
.font1 {
  font-family: "Caveat", cursive;
  font-optical-sizing: auto;
  font-weight:700!important;
  font-style: normal;
}
a.font1, p.font1, span.font1 {
     font-size:1.7rem;
}

.font2 {
  font-family: "Smooch Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.font2 h4 {
 font-size:1.7rem;
     font-weight: 600;
}
.font2 p {
 font-size:1.5rem;
 line-height: 1;
}
.s1, .s2 {
  font-family: "Londrina Solid", sans-serif;
  font-weight: 900;
  font-style: normal;
}

p, li {
font-size: .9rem;
}


h1,h2,h3,h4,h5,h6{
 margin-bottom: 0.7rem; 
 line-height: 1.1;
}
h1,h2,h3,h4,h5,h6,strong{
font-weight:600!important;  
}

.d1 {
font-size: 2rem!important;
}
.d2 {
font-size:1.8rem!important;
}
.d3 {
font-size:1.5rem!important;
}
p {
  text-wrap: pretty;
}
ul {
    list-style: disc;
    margin: 0 0 2em 0;
    padding-left: 1rem;
}
ul li {
    padding-left: 0.5rem;
}

a{
  color: var(--font-color);
  transition: background-color 0.5s 
}
a:hover{
  color: white;  
  background-color: var(--grey-color);
}

.li {
        list-style: none;
        list-style-type: "✓";
    }
 ::marker {
     color:var(--marker);
 }
    
  /**/
.page{ 
    display:block;
    width: 100%;
    padding:0 .5rem;
    position:relative;
}
.wrapper {
    display:block;
    margin: 0 auto;
    width: 100%;
}
.wrapper2{
    display:block;
    margin: 0 auto;
    width: 100%;
}
.section {
    margin: 0 0 5rem;
}
.section1 {
    margin: 0 auto;
    padding-top: 5rem;
        background-position:center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
     z-index: 0;
}
.section0 {
    margin: 0 auto;
    position: relative;
     z-index: 0;
}
.section0bg{
   position: absolute;
    bottom: 2rem;
    left: 0px;
    width: 100%;
    height: 17rem;
   background-color: var(--second-bg-color);
    z-index: 0;
    opacity:.9;
}
/*
.section0::before {
    content: "";
    position: absolute;
    left: 10px;
    bottom: -4px;
    border-radius: 0px;
    background: #65C8CD;
    opacity: 1;
    height: 5px;
    width: 100%;
    z-index: 1;
}
*/
/* rows and columns */
.row:after, .row:before {
    content: '';
    display: block;
    clear: both;
    height: 0;
}

.row{ 
    margin:0;
    width: 100%;
    
        display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    
}

.col {
    width: 100%;
}
.col-2 {
    width: 49%;
}
.col-3 {
    width: 33%;
}
.col-25,.col-33, .col-50,.col-66,.col-75,.col-20,.col-30,.col-40,.col-60 {
    width: 100%;
}
.row-responsive{
    width:100%; 
}
    
.row-responsive .col {
    width:100%;   
}
    
.row-fixed{
         display: flex;
        flex-direction: row;
        justify-content: space-evenly;   
}
.row-center{
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
}
.row-top{
    flex-direction: row;
    justify-content: space-evenly;
   align-items: flex-start;
}


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

    .row-responsive{
        display: flex;
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap; 
    }

    .col-20 {
        width: 20%;
    }
    .col-25 {
        width: 24.99%;
    }
    .col-30 {
        width: 30%;

    }  
    .col-33 {
        width: 33.333%;
    }
    .col-40 {
        width: 40%;
    }
    .col-50 {
        width: 50%;
    }
    .col-60 {
        width: 60%;

    }
    .col-66 {
        width: 66.5%;
    }
    .col-75 {
        width: 74.5%;
                margin:auto;
    }
    
    .rowbutton .button.special1 {
    top: -20px;
    position: absolute;
    }
    

}

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

.section0bg{
    bottom: 3rem;

    }  
  .row-responsive .col-66 {
        width: 66.5%;
        margin:auto;
    }

}

.rowbutton{
    display:flex;
    position:relative;
    z-index: 10;
}
.flex{
    display:flex;
}

.flexcenter{
    justify-content: center;
}
.flexstart{
    justify-content: flex-start;
}
.flexend{
    justify-content: flex-end!important;
    align-items: flex-end!important;
}
.flexmiddle{
    text-align:center;
}
.floatleft{
    float:left;
}
.floatright{
    float:right;
}
.banner{

}
.logo .grey:hover{
    color:white!important;
}


.logo {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: row; 
}
.logoimg {
display: block;
    max-height: 2.4em;
    width: auto;
    width: 100%;
    height: auto;
}

.nobanner{margin-top:3rem;}
.box{
    width: fit-content;
    margin: auto;
    /*padding: 2rem;*/
}

.box0, .box1{
padding: 0 1rem;
}

.boxrecrutement{
    width:100%
}
.box0{
    background-color: var(--white-bg-color);
    color:var(--font-color);
}

.bg1, .box1{
    background-color: var(--second-bg-color);
    color:var(--font-color);
}

.box22{
    border:2rem solid var(--bluebox-bg-color);
    background-color: var(--white2-bg-color);
    position:relative;
    color:var(--black-color);
    padding:0.5rem;
    z-index:2;
    
}
.box2{
    /*border:2rem solid var(--bluebox-bg-color);
    background-color: var(--white-bg-color);*/
    position:relative;
    color:var(--black-color);
    /*padding:0.5rem;*/
    z-index:2;
    
}
.box2 h3{
    margin:1rem 0;
}
.box3{
    background-color: var(--blue-bg-color);
    color:var(--white-color);
}
.box4{
    background-color: var(--second-bg-color);
    color:var(--black-color);
     width:100%;
}
.box5, .boxrecrutement{
    border: 1px solid var(--second-bg-color);
    color:var(--black-color);
    width:100%;
    padding:0.5rem;
}

.box6{
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: flex-end;
    padding: .5rem;
    height: 10rem;
}

.box4, .box60, .box50, .boxrecrutement{
   margin:auto;
}

.bgDarkGreen{
    background-color: var(--bg-darkgreen-color);
    color:var(--white-color);
}
.bgBeige{
    background-color: var(--bg-beige-color);
    color:var(--black-color);
}

.z2{position:relative;z-index:2 }
.z10{position:relative;z-index:10 }


 .socialbar{
height: 5rem;;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
 }
 .socialbar2 {
display: flex;
    flex-direction: column;
justify-content: space-between;
    align-items: center;
    width: 4rem;
    height: 10rem;
}
 .socialbar2 a{ margin:0 .5rem}
 .address{
     padding:1rem;
 }
 
.addressblock{
        display: flex;
    flex-direction: row;
align-items: flex-end;
    justify-content: center;
    flex-wrap: nowrap;
    padding-bottom: 2rem;
} 
 
/* form */
input[type="text"], input[type="email"]{
    height: 2.75rem;
}
input[type="text"], input[type="email"], textarea {
    background: #ffffff;
    color: rgba(67, 75, 86, 0.75);
    border-color: rgba(255, 255, 255, 0.25);
}


input[type="text"], input[type="password"], input[type="email"], select, textarea {
    font-family: Arial, Helvetica, sans-serif!important;
    -moz-appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    appearance: none;
    border-radius: 4px;
    border: none;
    border: #bbb solid 1px;
    color: inherit;
    display: block;
    outline: 0;
    padding: 0 .5em;
    text-decoration: none;
    width: 100%;
    font-size: 1.1rem;
}

input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, select:focus, textarea:focus {
    border-color: var(--red-color);
    box-shadow: inset 0 0 0 1px #fed586;
}

textarea {
    width: 100%;
    margin: auto;
    padding: 0.5rem;
}

form .row{
    margin-bottom: 0.5rem;
}

.validateTips{
    text-align:center;
    color:var(--red-color);
}
/* custom apperence */
/*** font stuff */

.black{
    color:black;
}
.s1{

position: relative;
text-transform: uppercase;
font-size:1.5rem;
color: white;
font-weight: 800;
display: inline-block;
z-index: 10;
top:0px;
left:0px;
}

.s1::before{
content: "";
position: absolute;
left: 10px;
bottom: 0;
border-radius: 0px;
background: #313653;
opacity: 0.5;
height: 5px;
width: 100%;
z-index: -1;
}

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

.box4, .box60, .box50{
    width:80%;
}
    
    .s1{
      font-size:2rem;  
    }
    .s1::before{
        left: 10px;
        height: 10px;
    }  
    
.addressblock{
        display: flex;
    flex-direction: row;
align-items: flex-end;
    justify-content: flex-end;
    flex-wrap: nowrap;
    padding-bottom: 2rem;
} 
    
}
@media only screen and (min-width: 1024px) {
    
       .box4{
            width:60%;
            margin: auto;
        } 
                  .box60{
            width:60%;
            margin-right: 0;
        }  
                  .box50{
            width:60%;
           margin-right: 2rem;
        } 
.box5{
     width:75%;
}
    .s1{
      font-size:3rem;  
    }
    .s1::before{
        left: 20px;
        height: 20px;
    }  
}
.s2{
position: relative;
text-transform: uppercase;
font-weight:400;
display: inline-block;
z-index: 10;
top:0px;
left:0px;
color:#000;
}

.s2::before{
content: "";
position: absolute;
left: 10px;
bottom: -4px;
border-radius: 0px;
background: #65C8CD;
opacity: 1;
height: 5px;
width: 100%;
z-index: -1;
}

.s3{
position: relative;
text-transform: uppercase;
font-weight:400;
display: inline-block;
z-index: 10;
color:#000;
}

.s3::before{
content: "";
    position: absolute;
    left: 5px;
    bottom: 4px;
    border-radius: 0px;
    background: #65C8CD;
    opacity: 1;
    height: 7px;
    width: 100%;
    z-index: -1;
}
@media only screen and (min-width: 768px) {

    .s2{
      font-size:1.8rem;  
    }
    .s2::before{
        left: 10px;
        height: 10px;
    }  
}
@media only screen and (min-width: 1024px) {
 
    .s2{
      font-size:2rem;  
    }
    .s2::before{
        left: 20px;
        height: 20px;
    }  
}


@media only screen and (min-width:768px) {
    
 .nobanner{margin-top:4rem;}
    .wrapper {
        width: 100%;
        margin: 0  auto;
    }
 
    .box1{ padding: 2rem 3rem; }
    
 .socialbar{
     float: right;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
 }
    
  .flexmiddle{
         display: flex;
    flex-direction: column;
    justify-content: center;
   /* align-items: center;*/
 }
 
}

/* Large devices such as laptops (1024px and up) */
@media only screen and (min-width: 1024px) {
     .nobanner{margin-top:8rem;}
    .wrapper {
        margin: 0 auto 2rem;
        width: 900px;
    }
    .banner{
 
    }
.box1{
    padding: 2rem 6rem;
    }

}

/* Largest devices such as desktops (1280px and up) */
@media only screen and (min-width: 1280px) {
    


    .wrapper {
   margin: 0 auto 2rem;
    }
    .wrapper2 {
        margin: 0 auto 2rem;
        width: 1200px;
    }
.box1{
    padding: 2rem 6rem;
    }
      .box4{
            width:50%;
            margin: auto;
        } 
      .box60{
            width:70%;
             margin-right: 0;
        }  
      .box50{
            width:50%;
        }  
}


.img-responsive{
    display: block;
    width:100%;
    height:auto; 
}

.fx1{
position: relative;
display: block;
background-color: transparent;
}

.fx1::before{
content: "";
position: absolute;
left: 0;
bottom: 0;
 background-color: var(--second-bg-color);
height:60%;
width: 100%;
z-index:-1;
}

.fx2{
display: block;
max-width:120px;
height:auto;
}

.fx3{
display: block;
max-width:170px;
height:auto;
}

.fade{
transition: opacity 0.5s;
}
.fade:hover{
opacity:.7;
}

.spacer,.spacer2{
    height:1rem;
 }
@media only screen and (min-width: 1024px) {
 .fx2{max-width:180px; } 
.fx3{ max-width:210px;}
.spacer{  height:4rem; }
.spacer2{
    height:8rem;
}
}



.flexcol{
        display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    align-items: center;
}

/* colours*/
.grey{
color:var(--grey-color); 
}  
.lightgrey{
    color:var(--light-grey-color);  
}
.red{
color:var(--red-color); 
}
.green{
color:var(--green-color); 
}

.contact{
    background-color:#4b976ad1;
    padding: 2rem 1rem;
}
/* buttons*/

input[type="submit"], input[type="reset"], input[type="button"], button, .button,special2, .special3  {
    -moz-appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    appearance: none;
    -moz-transition: background-color 0.5s ease-in-out, color 0.5s ease-in-out;
    -webkit-transition: background-color 0.5s, color 0.5s ease-in-out; 
    transition: background-color 0.5s ease-in-out,  color 0.5s ease-in-out;
    /* border-radius: 3.92857em; */
    border: 0;
    cursor: pointer !important;
    display: inline-block;
    font-weight: 400;
    /*height: 3.92857rem;
    line-height: 3.92857rem*/;
    padding:.4rem .6rem;
    text-align: center;
    text-decoration: none;
   word-break: auto-phrase;
  /*text-transform: uppercase;*/

}

.button{
    transition: 0.3s;
}
.button:hover, .dropotron {
    box-shadow: 0 0 11px 0px #000000ad;
}

input[type="submit"].special, input[type="reset"].special, input[type="button"].special, button.special, .button.special {
    background-color:var(--red-color);
    color: #000 !important;
    height: 3rem;
    border-radius: .25rem;
    font-weight: 900;
}

.button.special{
    background-color:var(--darkgreen-color)!important;
}

.button.special1 {
    background-color:var(--darkgreen-color);
        font-size: 1.7rem;
}

button.special2, .button.special2  {
    background-color:#ffffff;
    color: #202020 !important;
}
button.special3, .button.special3 {
    background-color:var(--green-color);
    color: #fff !important;
}
.button.special:hover, .button.special2:hover,.button:hover {
    background-color: var(--grey-color);
    color: #fff !important;
}

/* text*/
 

 
 .text-center{text-align:center;}
 .text-left{text-align:left;}
 .text-right{text-align:right;}
 /**/


 
 .image-fullwidth {
    display: block;
    width: 100%;
    height: auto;
}
 .img-responsive{
    display: block;
    width: 100%;
    max-width: 100%;
    margin:auto;
 }


  /**/
h1,  .d1{
font-size:1.9rem;
    font-weight: 400;
    letter-spacing: -1px
 }
 
h2, .d2{
font-size:1.7rem;
 font-weight: 400; 
 letter-spacing: -1px
 } 
h3,.d3{
font-size: 1.6rem;
    font-weight:  400; 
 }
 
h4,.d4{
font-size: 1.3rem;
    font-weight: 200; 
 }
 .strong{
font-weight:  600;
 }
.em{
font-style:italic;
 }
 .style1{
     font-weight:  600;
    font-style: italic;
    color:var(--second-font-color);
 }
 .style2 li{
   font-size: 1.3rem;
 }
 /* stuff*/
 .reduction{
     position: absolute;
    right: 0;
    top: -3rem;
    width: 8rem;
 }
 


 .social{
     margin: auto;
    display: block;
    max-width:3rem;
    height: auto;
    width: 100%;
 }
 .smaller p{font-size:0.8rem;
 color:var(--second-font-color);
 }
 .footer a{
     font-size:0.9rem;
 }
.footer .contact-icons {
    display: inline-block;
}

ul.contact-icons {
    list-style: none;
    padding-left: 0;
}
.contact-icons li {
    display: inline-block;
    margin-left: 2rem;
}


.card{
    position:relative;
    margin:0.2rem;
    padding:0.5rem;
    border:1px solid #aaa;
   overflow:hidden; 
}
.card div{ position:relative;
overflow:hidden;}
.card div h3{
    font-weight:200;
    font-size: 1.3rem;

    line-height:1.7rem;
    position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
background-color: #414141b8;
    color: #fff;
    right: 0;
    padding: 1rem 1rem 1rem 2rem;
    text-align:center;
    overflow:hidden;
}

.card p{
    padding:0.5rem;
    font-size: 1rem;
}

.card img{
    display: block;
    width: 100%;
    max-width: 100%;
    margin:auto;
 }
 
 
.redline{
    width:100%;
    text-align:center;    
     position: relative;
  
}
.redline h1{
  
        letter-spacing: 2px;
         color:var(--grey-color);
         background-color: white;
   position: relative;
    width: fit-content;
    margin: auto;
    padding: 0 0.5rem
}
.redline h2{
    font-size:20pt;
        letter-spacing: 2px;
         color:var(--grey-color);
         background-color: white;
   position: relative;
    width: fit-content;
    margin: auto;
    padding: 0 0.5rem
}

.redline:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  border-top: 3px solid var(--red-color);
  background: black;
  width: 100%;
  transform: translateY(-50%);
}

.big{
    font-size:1.75rem;
}
 .todo{
   background-color: orange; 
   color:#000;   
 }
 

.sb1{
background-color:#ca2838;
color:#fff;
opacity:1;
}

.sb2{
    display: block;
color:#fff;
}
a{
text-decoration:none;
}


 /**/
.position-relative{position:relative}
.p-05{
padding:.5rem;
}
.p-1{
padding:1rem;
}
.p-2{
padding:2rem;
}
.py-2{
padding-top:2rem;
padding-bottom:2rem;
}
.pb-1{
padding-bottom:1rem;
}
.my-1{
margin-bottom:1rem;
margin-top:1rem;
}
.my-2{
margin-bottom:2rem;
margin-top:2rem;
}
.mb-0{margin-bottom:0!important}
.mt-1{margin-top:1rem;}
.mb-05{margin-bottom:.5rem;}
.mb-1{margin-bottom:1rem;}
.mt-2{margin-top:2rem;}
.mb-2{margin-bottom:2rem;}
.mb-3{margin-bottom:3rem;}
.mauto{margin:auto;display: block;}

.h100{height:100%;}
.w100{ width: 100%;}
.w80{ width:80%;}

.mxauto{
    margin-left:auto;
     margin-right:auto;
}
 .middle{
     vertical-align: middle;
 }
 
 .overflowhidden{
  overflow:hidden;   
 } 
 .z3{
     position:relative;
         z-index: 3;
 }
 

.fa{
   padding-right: 5px; 
}
.clearfix::after {
  content: "";
  clear: both;
  display: table;
}

.shadow{
    box-shadow:  4px 4px 10px 3px #000000;
}

/* banner 2 */
.banner-2{
margin: 0;
padding: 0; 
width:100%; 
position:relative;
background: #fff;
display: flex;
overflow:hidden;
justify-content: flex-start;
align-items: flex-start;
flex-wrap: wrap;
background-repeat: no-repeat;
    background-size: cover;
}
.banner-2 .wrapper{
    margin-bottom:0!important;
}
    .banner-2 .layer{
        display: block;
        position:absolute;
         /*max-width:100%;
         height: 100%;*/
         width:auto;
    }

    .banner-21{
     /*width: 100%;
   object-fit: scale-down;*/
    }

@media only screen and (min-width:1024px) {
    .banner-2 .layer{
     width: 100%;
     height:auto;
    }  
  }
  
  /* banner 4 */
.banner-4{
margin: 0;
padding:0; 
width:100%; 
position:relative;
}
.banner-2 .wrapper{
    margin-bottom:0!important;
}
 
 

@media only screen and (min-width: 768px) {
    .banner-4{
       /* height:500px; */
    }  
  }
  
  .img10rem{
      display: inline-block;
      width:10rem;
      height:auto;
      margin:0 2rem;
  }
  
  
  #menu2 {
    display: flex;
    position: fixed;
    width: 8em;
    right: 2em;
    top: 45%;
    font-size: 0.9em;
    text-align: center;
    font-weight: normal;
    color: #6c6c6e;
    z-index: 100;
    border: 1px solid #aaa;
    border-radius: 0.5rem;
    overflow: hidden;
    flex-direction: column;
    justify-content: center;
    background-color: #65C8CD;
    height: 4rem;
    transition: background-color 0.5s;
    box-shadow: 0 0 8px 1px #1a1a1a;
}
.sb2 {
    display: block;
    color: #fff;
}
.articles article{
padding:0.5rem;
position: relative;
}
.articles .thumb{
        position: relative;
    margin: auto;
    max-width: 100%;
    display: block;
    height: auto;
    border-radius: 50%;
    transition:0.5s 
}

.articles .thumb:hover{
    box-shadow: var(--shadow) ; 
}

.articles h2, .articles p {
    margin:0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    line-height: 1;
        font-size: 1.6rem;
            width: 90%;
            background-color: #00000061;
}
/*
.articles p {
    text-align: center;
    font-family: "Caveat", cursive;
    font-size: 1.6rem;
}
*/
.articles a, .articles p {
    text-decoration: none;
    color: #fff;
    text-shadow: 1px 1px 2px #000;
    word-break: auto-phrase;
}

/**/
  
   .bottomright{
display: block;
    position: absolute; 
bottom: 3rem;
    left: 40%;
       z-index:1;
   }
     .bottomleft{
display: block;
    position: absolute;
bottom: 3rem;
    right: 40%;
       z-index:1;
   }
     .topleft{
display: block;
    position: absolute;
top: 3rem;
    right: 40%;
       z-index:1;
   } 