
/* ===== colours =======
purple       #3a3389    rgb(58,51,137)
grey:        #ececec     
green:     #8d8513    
orange: #eb6209
darkGrey: #333
=============================*/

/* variables */

:root {
  --acPurple: #3a3389;
  --acOrange: #eb6209;
  --acGreen: #8d8513;
  --acGrey: #ececec;
}
/* - reset --- */

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,font,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{border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;margin:0;padding:0;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';}:focus{outline:0;}ins{text-decoration:none;}del{text-decoration:line-through;}table{border-collapse:collapse;border-spacing:0;}article,aside,details,figcaption,figure,dialog,footer,header,hgroup,menu,nav,section{display:block;}a img{border:none;}
* { box-sizing: border-box; }

html,body { height:100%; color: #333; font-family: 'Montserrat', sans-serif; font-size: 16px; font-weight: 300; }

.callout { background:var(--acGrey); padding:30px 20px; border-radius:3px; margin:0 0 30px; }
.callout h3 { margin:0; }

.flexLogos { display:flex; align-items:center; justify-content:center;}
.flexLogos img { padding:10px; max-width:200px; margin:20px 0 20px 0; width:50%; height:auto; }

@media screen and (min-width:768px) {
    .flexLogos img { width:100%;  }

}

/* === awards ====== */
.awardsLogos { width:100%;display:flex; flex-direction:column;align-items:center; justify-content:center;position:absolute; bottom:-50px; left:0; z-index:20;}
.awardsLogos img { width:100%; max-width:240px;margin:5px; box-shadow:0 0 10px rgba(0,0,0,0.2);  }
.footerAwardLogo { width:100%; max-width:280px; display:block; margin:20px auto;  }

@media screen and (min-width:768px) {
    .awardsLogos { flex-direction:row;}
   .awardsLogos img {  width:100%; max-width:300px; }
}
@media screen and (min-width:1200px) {
    .awardsLogos { flex-direction:row;}
   .awardsLogos img {  width:100%; max-width:400px; }
}

/* ===== videos ===== */
        video { width:100%; height:100%; position: absolute; object-fit: cover; z-index:-10; }
        .slide {  width:100%; height:100%; position: absolute; transition: all 2s linear;   }
        #slide1 { opacity:1; }
        #slide2 { opacity:0; }
        #slide3 { opacity:0; }
        #slide4 { opacity:0; }
        #slide5 { opacity:0; }
        .videoSlides { width:100%; height:400px; position:relative; margin-top:100px;}
        .slideText { text-align: center; top:30%; left:50%; position: absolute; transform: translate(-50%, -50%); font-size:35px; color:#fff; width:100%; }
       /* not working on IOS .slide:before { content: ""; display:block;width: 100%; height:100%; left:0; top:0; z-index: -1; background-color:rgba(58,51,137,0.7); position: absolute;} */
        .slideTint { display:block;width: 100%; height:100%; left:0; top:0; background-color:rgba(58,51,137,0.7); position: absolute;}

.videoSlides h2 { max-width:100%;  text-align:center;text-shadow:0 0 20px rgba(0,0,0,0.4); z-index:10; font-size:36px; margin:0 ; color:#fff;}
.videoSlides h3 { text-align:center;text-shadow:0 0 20px rgba(0,0,0,0.4); font-weight:700; z-index:10; font-size:22px; letter-spacing:12px; text-transform:uppercase;margin:0 0 0 0 ; color:#fff;}
@media screen and (min-width:500px) {
     .slideText {  top:50%; }
}
@media screen and (min-width:980px) {
    .videoSlides h2 { font-size:80px; }

    .videoSlides { height:600px;  }
}

/* carousel ===== */
    
    .slider {        width: 100%;    }
    .slick-slide { padding:20px 50px 0 50px;  text-align: center;  transition: all ease-in-out .5s; opacity: 0.5;   }
.slider blockquote { max-width:700px; margin:0 auto; }

    .slick-prev:before,    .slick-next:before {   font-size:40px; opacity:0.2;    color: #fff; font-family : "FontAwesome";  }
    .white .slick-prev:before,    .white .slick-next:before {  color: #666; }

    .slick-prev:before { content:"\f053"}
    .slick-next:before { content:"\f054"}
      .slick-prev { left:20px; }
      .slick-next { right:20px; }

      .slick-arrow { z-index: 10;}
    .slick-active {      opacity: 1;    }
    .slick-current {      opacity: 1;    }
  
  .slick-dots li button:before { color:#fff; font-size:16px; }
  .white .slick-dots li button:before { color:#333; }

  .slick-dots li.slick-active button:before { color:gold; }
  .white .slick-dots li.slick-active button:before { color:var(--acPurple); }

@media screen and (min-width:500px) {
        .slick-slide { margin: 0px 20px; }


}
/* ====== cards ============== */

.content ul.cards { display:flex; flex-wrap:wrap; list-style-type:none; padding:30px 0;  }
.content ul.cards li { width:100%; margin:0 0 30px 0; position:relative;background:#fff; box-shadow:0 0 10px rgba(0,0,0,0.2); border-radius:5px;  padding-bottom:80px;}
.content ul.cards li:nth-child(3n) { margin-right:0; }
.cards img { width:100%; height:200px; object-fit:cover; display:block;  }
.cards h3 { color:var(--bgPurple); font-size:18px; text-align:left; margin-bottom:10px; }
.cards p { text-align:left; font-size:14px; }
.cards .btn { position:absolute; bottom:0; left:20px; }
.cardContent { padding:20px 20px 0 20px; }

.content ul.cards li.ctaCard { background:var(--acPurple); color:#fff; display:flex; align-items:center; justify-content:center; text-align:center;}
.content ul.cards li.ctaCard h2 { line-height:130%; }
.content ul.cards li.ctaCard p { text-align:center; }

.content ul.simpleCards li {padding-bottom:0;}

@media screen and (min-width:768px) {
    .content ul.cards li { width:32%;margin:0 2% 30px 0; }
    
}
/* --- gallery ==== 
.content ul.gallery { display:flex; flex-wrap:wrap; list-style-type:none; padding:30px 0 30px 0;}
.content ul.gallery li { width:48%;margin:0 2% 20px 0;}
.gallery img { width:100%; height:100px; object-fit:cover;  }

@media screen and (mx-width:767px) {
.content ul.gallery li:nth-child(2n) { margin-right:0;}
}
@media screen and (min-width:500px) {
.gallery img { height:200px;  }

}
@media screen and (min-width:768px) {
    .content ul.gallery li { width:23.44444%;margin:0 2% 20px 0;}
.content ul.gallery li:nth-child(4n) { margin-right:0;}


}
*/
/* == projects ==== */

.infoPanel { background:#efefef; padding:20px; border-radius:10px; }

/* === structure ==== */

section {position:relative; background:#fff; }
section.noPadding { padding:30px 0; }
section,footer,header { padding:30px; }
section:after { background:#fff;content:""; width:10px; height:10px; transform:rotate(45deg); position:absolute; left:50%; margin-left:-5px; bottom:-5px; z-index:10;}

section.black,section.black:after { background:#000;}
section.grey,section.grey:after { background:var(--acGrey);}
section.purple,section.purple:after { background:var(--acPurple); color:#fff;}
.content { max-width: 1200px; margin:0 auto; position:relative;}

@media screen and (min-width:980px) {
    section,footer,header { padding:40px; }
section:after { width:20px; height:20px; margin-left:-10px; bottom:-10px;}

}

/* === header ========== */

header { top:0;transition: all 0.3s; background: #fff; height:100px; position:fixed; z-index: 300; width: 100%; box-shadow:0 0 10px rgba(0,0,0,0.2);   }
header nav { transition:right 0.3s ease; width:100%; height:calc(100% - 100px); background:var(--acPurple); position:fixed; top:100px; right:-100%; z-index:200; padding:40px;  }
header nav ul { text-align:center; }

header nav a { position:relative;font-size:22px; color:#fff; display:block;text-decoration:none; padding:12px 0;}
header nav .active a { color:gold; }
header nav .active a:after  {content:"";width:100%; position:absolute; height:2px; background: var(--acPurple); left:0; bottom:0; }

.showMenu header nav { right:0; }
#burger {  right:20px;   }
#btnClose {right:-100px; }
#burger, #btnClose {  transition:right 0.3s ease; color:var(--acPurple);position:absolute;top:30px; font-size:40px;cursor:pointer; }

.showMenu #burger { right:-100px;   }
.showMenu #btnClose { right:20px; }
.avatar { width:80px; height:80px; border-radius:90px; font-size:30px; text-align:center; line-height:70px; margin:0 auto; display:block; border:5px solid #fff; color:var(--acPurple);}

.logo { position:absolute; left:20px; top:20px; z-index:10; text-decoration:none; width:200px;  }

@media screen and (min-width:980px) {
    header nav .active a { color:var(--acPurple);}
.logo {left:40px; top:20px;  }
    header { }
#burger, #btnClose {  display:none; }
header nav { height:auto; background:none; width:70%; position:absolute; top:0; right:40px;  padding:0;   }
header nav ul { height:100px; display:flex; justify-content:flex-end;width:100%; max-width:100%; align-items:center;  }
header nav li { padding:0 10px;}
header nav a { color:#333; text-decoration:none; font-size:14px;}
header nav a:hover { color:var(--acGreen); }
}


/* === pageHero = */

.pageHero { background:#000; padding-top:100px;  height:400px; width:100%; position:relative; }
.pageHero.heroSmall { height:400px;background:#000; display:flex; align-items:center; justify-content:center; color:#fff; overflow:hidden; }
.pageHero.heroSmall img { object-fit:cover; object-position:center; position:absolute; width:100%; height:100%; opacity:0.7; } 
.pageHero.heroSmall h1 { padding:0 20px; text-align:center; z-index:10; font-size:48px; margin: 50px 0 0 0; text-shadow:0 0 20px rgba(0,0,0,0.5);} 


.cycle-slideshow {width:100%; height:100%;position:absolute; left:0; top:0; }
.cycle-slideshow div {display:flex!important; align-items:center; justify-content:center; flex-direction:column;width:100%; height:100%;position:absolute; left:0; top:0; }
.cycle-slideshow img { opacity:1; position:absolute; top:0; left:0;width:100%; height:100%; object-fit:cover; object-position:center;   }
.cycle-slideshow div:after { content:""; width:100%; height:100%; background:rgba(0,0,0,0.4); position:absolute; left:0; top:0; z-index:1; }
.cycle-slideshow div h2 { max-width:100%;  text-align:center;text-shadow:0 0 20px rgba(0,0,0,0.4); z-index:10; font-size:36px; margin:0 ; color:#fff;}
.cycle-slideshow div h3 { text-align:center;text-shadow:0 0 20px rgba(0,0,0,0.4); font-weight:700; z-index:10; font-size:22px; letter-spacing:12px; text-transform:uppercase;margin:100px 0 0 0 ; color:#fff;}

@media screen and (min-width:768px) {
    
    .pageHero.heroSmall h1 { } 

}

/* ==== accordion ===== */
.content ul.accordionSection { list-style:none; padding:0 0 40px 0; max-width: 800px; margin:0 auto;}
.accordionSection li {  margin:0;  text-align:left; }
.accordionSection li ul { padding-left:20px; }
.accordionSection li li { list-style:disc;  }
/* Style the buttons that are used to open and close the accordion panel */
.accordion {  cursor: pointer; background:#efefef;  width: 100%;  transition: 0.4s;  padding:10px; position:relative; }
.accordion:hover { background:#ddd; }
.accordion:after { transition:all 0.3s ease;content:""; width:10px; height:10px; transform:rotate(45deg); border-right:4px solid var(--acPurple);border-bottom:4px solid var(--acPurple);  position:absolute; right:20px; top:10px; }
.accordionActive:after { transform:rotate(225deg); top:15px;}
.accordion h3 { margin:0;}

/* Style the accordion panel. Note: hidden by default */
.panel { max-height: 0;  overflow: hidden;  transition: max-height 0.2s ease-out;}
.panel p { text-align:left; }
.panel p:first-child { padding-top:30px;}
.panel p:last-child { padding-bottom:30px;}

/* === contact form === */

#ContactForm {text-align:left;}
#ContactForm > div { display:flex;  flex-direction:column;flex-wrap:wrap; justify-content:space-between; padding:10px 0; }
#ContactForm label { width:100%; padding-bottom:10px;}
#ContactForm input[type="text"],
#ContactForm textarea { width:100%;  background:#efefef; padding:7px; border-radius:3px; border:1px solid var(--acPurple);}
#ContactForm textarea { height:130px; }

.error {  width:100%; display:block; color:red; text-align:right; padding:5px;}
#ContactForm input[type="text"].error,
#ContactForm textarea.error{ background:pink; color:#000; }

#favorite_color_wrap { justify-content:flex-start; }
#favorite_color_wrap label { width:90%; }
#GDPR_Consent_wrap > label {  margin-bottom:10px; font-weight:bold;}
#favorite_color_wrap input { width:30px; margin-bottom:10px; }
.boolDiv { display:flex;}
#ContactForm .boolDiv label { width:95%; padding-left:10px; }


@media screen and (min-width:980px) {
#ContactForm > div { flex-direction:row; }
#ContactForm label { width:30%;}
#ContactForm input[type="text"],
#ContactForm textarea { width:70%;}
    
}


/* =============== grid ================ */
.row { width:100%; clear:both; display:flex; flex-direction:column; padding-top:30px;}
    
.col { position:relative; width:100%;margin:0 0 20px 0; }
.col:first-of-type { margin-left: 0; }
.template-3 .col { text-align:center;  }


@media screen and (min-width:980px) {
    .cycle-slideshow div h2 { font-size:80px; padding-top:0;}

    .pageHero { height:600px;  }


    .row { padding-top:30px;flex-direction:row;justify-content: space-between; }

.twelve {    width: 100%;  }
.eleven {     width: 91.3333333333%; }
.ten     {     width: 82.6666666667%;}
.nine     {     width: 74.0%; }
.eight    {     width: 65.3333333333%;}
.seven     {      width: 56.6666666667%;}
.six     {      width: 48.0%; }
.five     {      width: 39.3333333333%; }
.four     {     width: 30.6666666667%; }
.three     {     width: 22.0%; }
.two     {    width: 13.3333333333%; }
.one     {    width: 4.66666666667%; }
}


@media screen and (max-height:650px) and (min-width:980px)  {
.pageHero { height:440px; }
}

/* === type ========== */

h1 { font-size:28px; font-weight:300; margin:0 0 30px 0;  }
.template-3 h1 { text-align:center; }
.template-4 .pageHero.heroSmall h1 { font-size:28px; }

h2 { font-size:18px; font-weight:300; margin:0 0 20px 0;   }
.template-3 h2 { margin:0 auto 20px auto;max-width:600px;}

h3 { font-size:18px; font-weight:600; margin:0 0 20px 0; color:var(--acPurple); }
p { font-size:16px; line-height:140%;font-weight:300; margin:0 0 10px 0; text-align:left; }
.content ul { padding-left:20px; }
.content ul li { font-size:16px; line-height:140%;font-weight:300; margin:0 0 10px 0; text-align:left; }
.template-3 p {  text-align:center;}

h4 { font-size:16px; font-weight:400; margin:0; color:#333; }

.col p { text-align:left; }
a { color:var(--acGreen);  }


@media screen and (min-width:980px) {
h1 { font-size:32px; max-width:700px;margin:0 auto 30px auto; }
h2 { font-size:26px; margin:0 0 30px 0; }

}

/* === general ========== */
.fa-star {  font-size:20px; padding:0 3px;color:gold; }

.btn, .submit  { border:none; cursor:pointer;transition:all 0.3s; background:#000; font-size:16px; color:#fff; display:inline-block; border-radius:50px; padding:12px 18px; text-decoration:none; margin:10px 0 30px 0; }
.btn:hover, .submit:hover  { background:var(--acGreen);}
.icon { border-radius:100px; width:140px; height:140px; border:8px solid #efefef; margin-bottom:20px; object-fit:cover; }


.flexCol { display:flex; flex-direction:column; align-items:center; }
.flexCol p {text-align:center;flex-grow:1; }

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

.fa-star {  font-size:30px;  }
}
/* === quotes ==== */

blockquote { text-align:center; font-family:georgia, serif; font-size:16px; padding:20px 0; line-height:140%;font-style:italic; max-width:700px; margin:0 auto; }
.col blockquote { text-align:left; }

.purple blockquote { color:#fff;  }
.grey blockquote { color:#666;  }



@media screen and (min-width:980px) {
blockquote { font-size:20px;  }
.btn { font-size:14px;  }

}


/* === footer ====== */

footer { background:#000; color:#fff;  }
footer p { text-align:center;}
.logoFooter {width:200px; display:block; margin:0 auto 40px auto; }
    