/* VERSION: 14 JAN 2020 */
/* BASIC ---------------------------------------------- */

    html, body { height: 100%; }
    html { font-size: 62.5%; }
    * { margin: 0px; padding: 0px; }
    a img { border: none; }
    a { outline: none; }

/* FIXES ---------------------------------------------- */

    header,
    .wide-block:after,
    .clearfix:after { content: ""; display: table; clear: both; }
     /* Correct 'block' display not defined in IE Firefox 3. */
    article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
        display: block;
    }

    /* Correct 'inline-block' display not defined in IE Firefox 3. */
    audio, canvas, video {
        display: inline-block;
        *display: inline;
        *zoom: 1;
    }
    
/* COOKIES MSG ---------------------------------------- */

    .cookiemsg { width: 100%; position: fixed; left: 0; bottom: 0; padding: 15px 0; z-index: 9999;
        background: rgba(0,0,0,0.75); }
    .cookiemsg div p { color: #fff; margin-bottom: 0; font-size: 1.5rem; }
    .cookiemsg span a { color: #ccc; }
    .cookiemsg a.button { display: inline-block; margin: 10px 15px 0 0; padding: 2px 20px;
        background-color: #c3d77e; color: #000; }
    .cookiemsg a.button:hover { background-color: #b5e21a; }
    .cookiemsg span a:hover { color: #fff; }

/* HEADER --------------------------------------------- */

	header { padding: 30px 0; margin: 0; float: left; width: 100%; z-index: 999; min-height: 35px; }
    body.full-hero header { position: absolute; top: 0; left: 0; }

    .logo-wrapper { position: absolute; top: 25px; left: 50%; z-index: 999; padding: 20px; background: rgba(255,255,255,0.66); transform: translateX(-50%); }
    .logo-wrapper img { display: block; width: 500px; height: auto; margin: 0 auto 10px; }
    .logo-wrapper p { font-weight: 600; font-size: 1.8rem; text-align: center; margin: 0; }

    
/* MAIN MENU ------------------------------------------ */

    /* menu icon */
    .menuicon { position: absolute; top: -10px; right: 0; cursor: pointer; z-index: 3000; transition: all 0.33s ease; width: 21px; height: 21px; }
    .menuicon:hover { transform: scale(1.22); }
    .menuicon.circle { padding: 15px; border-radius: 50%; }
    .menuicon.square { padding: 10px; border-radius: 7px; }
    .menuicon .bar { width: 25px; height: 3px; position: relative; left: -2px;
        box-shadow: rgba(0,0,0,0.35) 1px 1px 3px;
        transition: all 0.25s linear; transform-origin: left; }
    .menuicon .bar.mid { margin-top: 6px; transition: opacity 0.2s linear; }
    .menuicon .bar.bot { margin-top: 6px; }
    .menuoverlay .menuicon { background: rgba(0,0,0,0.22) !important; }
    .menuoverlay .menuicon .bar { background: #fff; }

    .menu-container { position: fixed; transform: translateX(0); top: 0; right: -100%; width: 100%; height: 100%; margin: 0; z-index: 2000; transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1); }
    .main-menu,
    .main-menu li { text-transform: uppercase; padding: 0; list-style-type: none; margin-bottom: 0; }
    .main-menu { position: relative; left: 50%; top: 50%; transform: translate(-50%, -50%); margin: 0 auto; display: inline-block; }
    .main-menu li { display: block; text-align: left; font-size: 4.5rem; line-height: 100%; margin: 0 0 20px; position: relative; transition: transform 0.25s cubic-bezier(0.23, 1, 0.32, 1); transform: translateX(100vw); }
    .main-menu li:nth-child(1) { transition-delay: 0s; }
    .main-menu li:nth-child(2) { transition-delay: 0.10s; }
    .main-menu li:nth-child(3) { transition-delay: 0.14s; }
    .main-menu li:nth-child(4) { transition-delay: 0.18s; }
    .main-menu li:nth-child(5) { transition-delay: 0.22s; }
    .main-menu li:nth-child(6) { transition-delay: 0.26s; }
    .main-menu li:nth-child(7) { transition-delay: 0.30s; }
    .menushow .main-menu li { transform: translateX(0); }

    .main-menu li:last-child { margin-bottom: 0; }
    .main-menu li i { margin-right: 0; width: 82px; text-align: center; font-size: 70%; position: relative; top: -4px; opacity: 0.5; }
    .main-menu li a { color: inherit; }

    html.freeze,
    body.menushow { overflow: hidden; }
    body.menushow .bar { box-shadow: none; }
    body.menushow .bar.top { transform: rotate(45deg); }
    body.menushow .bar.bot { transform: rotate(-45deg); }
    body.menushow .bar.mid { opacity: 0; }
    .menushow .menuicon { background: rgba(0,0,0,0) !important; }
    .menushow .menu-container { transform: translateX(-100%); }
    .menushow .full-menu .menu-container { transform: none; transition: none; }

    /* full menu on desktop */
    .full-menu .menuicon { display: none; }
    .full-menu .menu-container { position: static; background: none; }
    .full-menu .main-menu { transform: none; position: static; float: right; }
    .full-menu.full-menu-centre .main-menu { float: none; text-align: center; display: block; position: static; transform: none; margin: 30px 0 0; }
    .menuoverlay .full-menu .main-menu li { text-shadow: 1px 1px 5px rgba(0,0,0,0.90); }
    .full-menu .main-menu li { transform: none; font-size: 1.8rem; display: inline; padding-right: 15px; }
    .full-menu .main-menu li:last-child { padding-right: 0; }
    .full-menu .main-menu li i { width: 20px; font-size: 100%; opacity: 1; position: static; text-align: right; padding-right: 10px; }

/* FOOTER --------------------------------------------- */

	footer { width: 100%; padding: 30px 0; position: relative; z-index: 999; }
    footer .logo { height: auto; display: block; clear: both; }
    footer .col { float: left; width: 50%; position: relative; }
    footer .col.right { float: right; }
    footer p { position: absolute; right: 0; bottom: 0; text-align: right; margin: 0; }
    footer .col ul.footer-links { position: absolute; left: 0; bottom: 0; padding: 0; margin: 0; }
    footer .col ul.social { float: right; padding-bottom: 0; }
    footer p,
    footer .col ul.footer-links li { font-size: 1.3rem; }
    footer .col ul.footer-links li { text-transform: uppercase; }
    footer .col ul.social li { font-size: 3.0rem; padding-bottom: 0; }
    footer .col li { list-style: none; margin: 0; }
    footer .col li { display: inline-block; margin-left: 20px; }
    footer .col li a {color: inherit; }

    footer .col li:first-child { margin-left: 0; }
    footer i { padding: 0 3px 0 0; }
    footer i.fas.fa-home { font-size: 17px; position: relative; top: 1px;}

/* CONTAINERS ----------------------------------------- */

    .page-wrapper { width: 100%; height: auto; min-height: 100%; margin: 0 auto; position: relative; }
    .inner-wrapper { box-sizing: border-box; padding: 0; margin: 0 auto; position: relative; }
    .page-content { width: 100%; padding: 0; margin: 0 auto; position: relative; overflow: hidden; }
    .content { padding: 30px 0; position: relative; z-index: 1000; overflow: hidden; }
    body.normal .content { padding-top: 0; }

    /* sections for more spaced out content */
    .inner-wrapper.sections { width: 100%; }
    section { width: 100%; clear: both; float: left; padding: 100px 0; }
    section *:last-child { margin-bottom: 0; }
    section * a.button:last-child { margin-bottom: 0; }
    section + hr { margin-bottom: 0; max-width: 800px; margin: 0 auto; }
    section * ul:last-child { padding-bottom: 0; }
    section.last { margin-bottom: -30px; }
    section h1,
    section h2,
    section h3,
    section h5 { margin-bottom: 30px; }
    body.normal .hero-wrapper-outer + .inner-wrapper.sections { margin-top: -30px; }
    body.full-hero .content .inner-wrapper.sections { margin-top: -30px; }
    
    /* hero-images */
    .hero-wrapper-outer { position: relative; width: 100%; overflow: hidden; }
    .hero-wrapper-inner { background-size: cover; background-position: center top; padding: 0; height: 100%; position: relative; opacity: 0; transition: opacity 0.75s ease-out; }
    body.normal .hero-wrapper-inner { width: 100%; }
    body.normal .hero-wrapper-outer.done img,
    .done .hero-wrapper-inner { opacity: 1; }

    /* full height hero */
    .hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
    .full-hero .hero-wrapper-outer { height: 100vh; z-index: 500; }
    .jumpstart { position: absolute; left: 50%; transform: translateX(-50%);
        border-radius: 50%; text-shadow: 1px 1px 5px rgba(0,0,0,0.85); bottom: 20px;
        font-weight: bold; padding: 0 7px; font-size: 40px; margin-top: 6px; line-height: 40px;
        background: rgba(0,0,0,0.25); border: 1px solid rgba(255,255,255,0.75);
        }
    .hero-wrapper-outer .tagline { box-sizing: border-box; clear: both; margin: 0; padding: 0;
        text-align: center; line-height: 130%;
        position: absolute; top: 100%; left: 50%; transform: translate(-50%, -100%); }
    .hero-wrapper-outer .tagline.centre { top: 50%; transform: translate(-50%, -50%); padding: 0 20px; }

    /* normal hero */
    body.normal .hero-wrapper-outer { margin-bottom: 30px; }
    .hero-wrapper-outer img { position: absolute; top: 0; left: 50%; height: auto; width: 100%; opacity: 0; transition: opacity 0.75s ease-out; transform: translateX(-50%); }

    /* wide block - full screen width, usually add a bg-colour*/
    .wide-block { width: 100%; clear: both; margin-bottom: 30px; }

    /* small para and a square picture */
    .half-half { position: relative; }
    .half-half img { width: calc(50% - 80px); }
    .half-half img.alignright { margin-left: 80px; }
    .half-half img.alignleft { margin-right: 80px; }
    .half-half div { width: 50%; transform: translateY(-50%); top: 50%; position: absolute; }
    
/* TEXT AND LISTS ------------------------------ */

    h1, h2, h3, h4, h5, h6 { font-family: "Montserrat", sans-serif; font-weight: 600; line-height: 130%;  -webkit-text-size-adjust: none; }
	h1 { font-size: 3.5rem; margin-bottom: 10px; }
	h2 { font-size: 3.0rem; margin-bottom: 5px; }
	h3 { font-size: 2.5rem; margin-bottom: 5px; }
    h4 { font-size: 1.8rem; }
    h5 { font-size: 2.25rem; font-weight: 500; }
    h6 { font-size: 3.0rem; margin-bottom: 5px; /* slider caption headlines*/ }
    .tagline { font-family: "Montserrat", sans-serif; }
    p, h4, li, th, td, label, address { font-weight: 400; line-height: 150%; margin-bottom: 30px;
    -webkit-text-size-adjust: none; }
    address { font-style: normal; }
    p.bullet { padding-left: 22px; margin-left: 8px; position: relative;  }
    .bigger { font-size: 140%; margin-right: 15px; vertical-align: top; }/* for icons */
    .ul { position: relative; padding-left: 60px; }
    .ul i { position: absolute; top: 0; left: 0; }
    
    
    ul { list-style-type: disc;	}
    ul, ol { padding-bottom: 25px; }
    li ul { margin-top: 5px; }
	li { padding-left: 5px; margin-left: 25px; margin-bottom: 5px; }
    ul.bullet { list-style: none; }
	.bullet li { list-style: none; padding-left: 22px; margin-left: 8px; position: relative; }
    .bullet li:before,
    p.bullet:before { content: ""; position: absolute; left: 0; top: 11px;
        width: 6px; height: 6px; display: block; }
    ol.modern { list-style-type: none; counter-reset: olCounter; }
    ol.modern li { margin-bottom: 20px; margin-left: 0; counter-increment: olCounter; list-style-type: none; }
    ol.modern li:before { content: counter(olCounter);
    line-height: 100%; font-size: 290%; float: left; padding-right: 10px; position: relative; top: 1px; }
    cite { font-size: 90%; margin-top: 5px; display: inline-block; }

    .text-block { width: 800px; clear: both; }
    .text-block.centred { margin: 0 auto; }
    .centre-this { text-align: center; }
    .padding { float: left; width: 100%; clear: both; padding: 15px; box-sizing: border-box; margin-bottom: 30px; }
    .padding.rounded { border-radius: 10px; }
    .padding *:last-child { margin-bottom: 0; }
    
/* ITEMS --------------------------------------- */

    .toplink { position: fixed; bottom: 60px; right: 0; padding: 0;
        text-align: center; z-index: 1500; }
    .toplink.fas { padding: 5px 0 10px; font-size: 23px; width: 40px; height: 20px; color: #fff;
    transition: transform 0.5s ease-in; transform: translateX(100px); background: rgba(0,0,0,0.3); }
    .toplink.fas.show { transform: translateX(0); }
    .jump { cursor: pointer; }

    hr { border: none; margin-bottom: 30px; clear: both; }
    hr.flourish-top,
    hr.flourish-bot { border: none; height: 25px; background-repeat: no-repeat; background-position: top center; background-image: url('../images/system/flourish-top.png'); opacity: 0.5; }
    hr.flourish-bot { background-image: url('../images/system/flourish-bot.png'); opacity: 0.5; }
    hr.flourish-top.light { background-image: url('../images/system/flourish-top-white.png'); opacity: 1; }
    hr.flourish-bot.light { background-image: url('../images/system/flourish-bot-white.png'); opacity: 1; }

    /* buttons */
    a.button { display: inline-block; margin: 0 auto 30px; padding: 5px 20px; }
    a.button + a.button { margin-left: 15px; }
    a.button.rounded { border-radius: 25px; }
    a.button.centred { display: block; max-width: 250px; text-align: center; }
    a.button.outlined { border-width: 1px; border-style: solid; }
    a.button:hover { text-decoration: none !important; }
    
    /* video-wrapper */
    .videowrapper { margin: 0 0 25px 0; clear: both; }
    .videowrapper.lightbox { position: absolute; left: 50%; top: 50%; z-index: 9999;
        transform: translate(-50%,-50%); width: 100%; max-width: 78%; height: auto; }
    .video { position: relative; padding-bottom: 56.25%; overflow: hidden; height: auto; }
    .videowrapper.lightbox .video { border: 5px solid #ccc; }
    .video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }
    #page-content .expandable[class*="bg-"],
    #page-content .videowrapper[class*="bg-"],
    figure[class*="bg-"] { box-sizing: border-box; padding: 20px; }
    .videowrapper p { font-size: 1.6rem; font-weight: bold; margin: 10px 0 0; padding: 0 10px 10px; }
    
    /* Quote */
    blockquote.quote { padding: 30px 40px 30px 80px; margin: 40px auto 35px; box-sizing: border-box;
        width: 75%; clear: both; border-radius: 7px; }
    blockquote.quote+blockquote.quote { margin-top: 0; }
    blockquote.quote p { margin-bottom: 0; padding-top: 5px; font-style: italic; position: relative; }
    blockquote.quote p:first-child:before { font-family: serif; font-weight: bold; font-size: 7rem;
        content: "\201C"; position: absolute; top: 12px; left: -48px; color: inherit; }
    blockquote.quote p:first-child:after { font-family: serif; content: "\201D"; padding-left: 4px; font-weight: bold; color: inherit; }
    blockquote.quote p span { font-family: serif; font-weight: bold; padding-left: 5px; }

    /* testimonials - 3 across */
    .testimonials { width: 100%; clear: both; float: left; }
    .testimonials { margin: 30px 0 20px; }
    .testimonials blockquote { padding: 15px; position: relative; margin-bottom: 36px; clear: none;
        box-sizing: border-box; width: 30%; margin-left: 5%; float: left; border-radius: 15px; }
    .testimonials blockquote:first-of-type { margin-left: 0; }
    .testimonials blockquote:after { content: ""; position: absolute; bottom: -26px; left: 10%; height: 0;  width: 0;
        border-left: 26px solid transparent;border-right: 2px solid transparent;
        border-top: 26px solid #000; }
    .testimonials blockquote:nth-child(odd):after { left: auto; right: 10%; border-left-width: 2px; border-right-width: 26px; }
    .testimonials blockquote p { position: relative; padding-left: 29px; margin-bottom: 10px; }
    .testimonials blockquote p,
    .testimonials blockquote cite { font-size: 95%; padding-left: 30px; }
    .testimonials blockquote p:first-child:before { font-family: serif; font-weight: bold; font-size: 3.5rem;
        content: "\201C"; position: absolute; top: 1px; left: 0; color: inherit; }
    .testimonials blockquote p:first-child:after { font-family: serif; content: "\201D"; padding-left: 4px; font-weight: bold; color: inherit; }
    
    /* accordions */
    .expandable-wrapper { margin-bottom: 25px; float: left; }
    .expandable { padding: 20px; width: 100%; box-sizing: border-box; margin-bottom: 2px; }
    .expandable .more { max-height: 0; overflow: hidden; padding-left: 25px; transition: max-height 0.5s ease; }
    .expandable-wrapper.big-gaps .expandable { margin-bottom: 25px; }
    .expandable-wrapper .expandable:last-child { margin-bottom: 0; }
    .expandable .more p,
    .single h2.explink,
    .single h3.explink { margin-bottom: 0; }
    .expandable.show .more { max-height: 1100px; }
    .expandable .more *:first-child { margin-top: 10px; }
    .explink { margin-bottom: 0; cursor: pointer; padding-left: 25px; position: relative; }
    .explink:before { position: absolute; left: 0; content: "\f078"; top: 0; font-size: 20px; font-family: "Font Awesome 5 Free"; font-weight: bold; transition: transform 0.5s ease 0.1s; }
    .expandable.show .explink:before { transform: rotate(180deg); }
    .expandable .cta { margin-top: 20px; }
 
    /* accordions alternative */
    .expandable-wrapper.alt .explink,
    .expandable-wrapper.alt .expandable .more { padding: 0 50px 0 0; }
    .expandable-wrapper.alt .explink:before { left: auto; right: 0; content: "\f057";  font-size: 40px; transform: rotate(45deg); transition: transform 0.5s ease; }
    .expandable-wrapper.alt .expandable.show .explink:before { transform: rotate(0deg); }    
    
    /* equal height cols */
    .equal-height-block { position: relative; overflow: hidden; clear: both; padding-top: 20px; margin-bottom: 30px; }
    .col-wrapper { float: left; width: 100%; margin: 20px 0 10px; }
    .col-wrapper .col { min-height: 100px; position: relative; margin: 0 1.5%; float: left; width: 31.33%; box-sizing:  border-box; padding: 0; display: inline-block; vertical-align: top; height: 100%; margin-bottom: -2000px; padding-bottom: 2000px; }
    .col-wrapper .col:first-child { margin-left: 0; }
    .col-wrapper .col:last-child { margin-right: 0; }
    .col-wrapper .col div { padding: 20px; position: relative; }
    .col-wrapper .col div p { text-align: left; font-size: 1.6rem; }
    .col-wrapper .col div p:last-child { margin-bottom: 0; }
    .col-wrapper .col.icon div > i { font-size: 70px; position: absolute; top: -30px;
        left: 50%; transform: translate(-50%,0); }
    .col-wrapper .col.icon div { padding-top: 50px; }

    /* figures */
    figure { margin-bottom: 25px; max-width: 50%; position: relative; display: table; }
    figure.videowrapper { max-width: 100%; }
    figure.alignnone { max-width: none; }
    figcaption { clear: both; padding: 10px; line-height: 140%; font-weight: 600; display: table-caption;
        caption-side: bottom; -webkit-text-size-adjust: none; }
    figcaption.overlay { position: absolute; bottom: 0; right: 0; color: #fff; background: rgba(0,0,0,0.33); font-size: 12px; padding: 4px; text-transform: uppercase; }
    figcaption.overlay.ovltop { bottom: auto; right: auto; left: 0; top: 0; }
    figcaption a { color: #fff; opacity: 0.6; padding-left: 5px; }
    figcaption i { padding: 0 5px 0 0; }
    figcaption a i { padding: 0 0 0 5px; }
    figcaption.overlay a:hover { color: #fff; opacity: 1; }
    
    figure.lightbox-show:not(.nozoom):after { position: absolute; top: 5px; right: 5px; content: "\f00e"; font-size: 30px; font-family: "Font Awesome 5 Free"; font-weight: bold; color: #fff; text-shadow: 1px 1px #000; }
    
    figure img { width: 100%; display: block; margin: 0 !important; }
    figure.padded { padding: 0; }
    figure.padded img { padding: 10px 10px 5px; box-sizing: border-box; }
    .videowrapper figcaption[class*="bg-"] { padding: 10px; }
    figure[class*="bg-"] figcaption,
    .videowrapper figcaption,
    .videowrapper[class*="bg-"] figcaption { padding: 15px 0 0; }
    figure.padded figcaption { padding: 10px; opacity: 0.66; }

    /* tables */
    table { width: 100%; float: left; margin: 5px 0 25px; border-collapse: collapse; }
    th, td { vertical-align: top; }
    th, td { padding: 5px; text-align: left; }
    th { font-weight: bold; }

    /* gallery grid */
    .grid { float: left; width: 100%; clear: both; margin: 0 0 30px; }
    .grid-item { box-sizing: border-box; float: left; box-sizing: border-box;
        margin: 0 30px 30px 0; position: relative; overflow: hidden; }
    .grid-item div { background-size: cover; background-position: top center;
        position: absolute; height: 100%; width: 100%; transition: transform 0.25s ease-in-out; }
    .grid-item.show div { opacity: 1; }

    /* 4 across on large screens */
    .grid .grid-item { width: calc(25% - 23px); padding-bottom: calc(17% - 23px); }
    .grid .grid-item:nth-child(4n) { margin-right: 0; }
    
    /* alt grid */
    .grid-alt { display: grid; grid-gap: 5px; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); }
    .grid-alt-item { width: 100%; height: 100%; object-fit: cover; padding: 10px; box-sizing: border-box; }
    .grid-alt-item *:last-child { margin-bottom: 0; }
        
    
/* SLIDER (2019) --------------------------------------- */

/* Slider Containers */
    .siema { -ms-touch-action: pan-y; touch-action: pan-y; position: relative; overflow: hidden; padding-bottom: 40px; }
    .slider-no-slide { width: 100% !important; transition: none !important; transform: none !important; }
    .aslide { height: 100%; min-height: 1px; position: relative; overflow: hidden; }
    .slider-wrapper { margin: 0 auto 30px; padding-bottom: 17px; width: 100%; position: relative; }
    .slide-img-wrap { position: relative; }
    .sldlink { margin: 0; padding: 0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 760; display: block; /* whole slide links */ }

/* Slider Dots */
    .siema .dots { position: absolute; left: 20px; padding: 0; margin: 0; bottom: -4px; width: 70%; }
    .siema .dots button { position: relative; top: -4px; margin-left: 18px; color: transparent; outline: none; padding: 0; width: 20px; height: 20px; cursor: pointer; font-size: 0; border: 3px solid #000; border-radius: 50%; transition: background 0.3s ease; }
    .siema .dots button:first-child { margin-left: 0; }

/* slider arrows */
    button.arrow i { text-align: center; width: 100%; padding: 0; font-size: 22px; text-align: center; position: relative; }
    button.arrow.prev i { left: -2px; }
    button.arrow.next i { left: 2px; }
    .siema .arrow {
        position: absolute; top: auto; bottom: -4px; right: 60px; font-size: 25px; opacity: 1;
        width: 50px; height: 20px; cursor: pointer; border-width: 0;
        transform: translate(0%, -50%); -webkit-tap-highlight-color: rgba(0,0,0,0); }
    .siema .arrow.next { right: 5px; }

/* Slider Captions */
    /* slider caption underneath image (default) */
    .slide-caption { text-align: center; padding: 15px 15px 0; }
    /* slider caption overlaid bottom of image */
    .siema.slider-caps-bottom .slide-caption { width: 100%; margin: 0 auto; padding: 15px; box-sizing: border-box;
        position: absolute; bottom: -1px; z-index: 755; }

/* slider caption text */
    .slide-caption h6,
    .slide-caption p { margin: 0 auto; }
    .slide-caption h6 { font-size: 2.75rem; }
    .siema p a { color: inherit; text-decoration: underline; }
    .siema p:empty { display: none; }

/* controls-inline option to show arrows and dots within slide (default is underneath) */
/* always use with slider-caps-bottom  on full-hero sliders */
    .controls-inline.slider-wrapper { padding-bottom: 0; }
    .controls-inline .siema { padding-bottom: 0; }
    .controls-inline .arrow { bottom: auto; top: 50%; height: 60px; right: auto; left: 0; }
    .controls-inline .arrow.next { right: 0; left: auto; }
    .controls-inline button.arrow i { font-size: 40px; color: #fff; background: rgba(0,0,0,0.3); padding: 10px 0; }
    .controls-inline .siema .dots { margin: 0 auto; width: auto; left: 50%; transform: translateX(-50%); bottom: 13px; }
    .controls-inline .siema.slider-caps-bottom .slide-caption { padding-bottom: 50px; }

/* slider as full hero */
    .full-hero .hero-wrapper-outer .slider-wrapper { height: 100%; }
    .full-hero .hero-wrapper-outer .siema { overflow: hidden; height: 100% !important; }
    .full-hero .hero-wrapper-outer .siema > div:first-child { height: 100% !important; }
    .full-hero .hero-wrapper-outer .slide-img-wrap { padding-bottom: 0 !important; height: 100%; }

/* slider images */
    .slide-img-wrap { position: relative; background-size: cover; background-repeat: no-repeat; background-position: center center; transition: opacity 0.33s ease-out; opacity: 0; }
    .aslide.done .slide-img-wrap { opacity: 1; }

/* overrides for specific sliders */
/* if changing the padding-bottom for aspect ratio, may also need to change the fixed height at 1023px */
    /*#sliderID .slide-img-wrap { padding-bottom: 56.25%; }*/
    #slider1 .slide-img-wrap { padding-bottom: 56.25%; }
    #slider2 .slide-img-wrap { padding-bottom: 56.25%; }

/* LOADING FEEDBACK ----------------------------------- */

    .spinner { position: absolute; top: 50%; left: 50%; box-sizing: border-box; transform: translate(-50%,-50%); }
    
    
    /* alternative available below*/
    .grid-item:before,
    .hero-wrapper-outer:before,
    .content .aslide:before,
    .spinner:before,
    .hero-wrapper-inner:before { content: "Loading"; font-size: 17px; color: #999; /*text-shadow: 1px 1px #fff;*/
        position: absolute; z-index: 10; top: 50%; left: 50%; transform: translate(-50%, -50%); padding-top: 80px; }
    .grid-item:after,
    .hero-wrapper-outer:after,
    .content .aslide:after,
    .spinner:after,
    .hero-wrapper-inner:after { content: "\f1ce"; font-family: "Font Awesome 5 Free"; font-size: 50px; color: #999;
        /*text-shadow: 1px 1px #fff;*/ position: absolute; top: 50%; left: 50%; font-weight: 900;
        transform: translate(-50%, -50%); animation: anim-spinner 2s infinite linear; }
    @keyframes anim-spinner {
        0% { transform: translate(-50%, -50%) rotate(0deg); }
        100% { transform: translate(-50%, -50%) rotate(359deg); }
    }
    
    
    
    /* alternative spinner1
    .grid-item:after,
    .hero-wrapper-outer:after,
    .content .aslide:after,
    .spinner:after,
    .hero-wrapper-inner:after {  { content: "\f110"; font-family: "Font Awesome 5 Free"; font-size: 50px; color: #999;
        text-shadow: 1px 1px #fff; position: absolute; top: 50%; left: 50%; font-weight: 900;
        transform: translate(-50%, -50%); animation: anim-spinner 2s infinite steps(8); }
    @keyframes anim-spinner {
        0% { transform: translate(-50%, -50%) rotate(0deg); }
        100% { transform: translate(-50%, -50%) rotate(359deg); }
    }
    */
    /* alternative spinner2
    .grid-item:after,
    .hero-wrapper-outer:after,
    .content .aslide:after,
    .spinner:after,
    .hero-wrapper-inner:after {  { content: "\f021"; font-family: "Font Awesome 5 Free"; font-size: 50px; color: #999;
        text-shadow: 1px 1px #fff; position: absolute; top: 50%; left: 50%; font-weight: 900;
        transform: translate(-50%, -50%); animation: anim-spinner 2s infinite linear; }
    @keyframes anim-spinner {
        0% { transform: translate(-50%, -50%) rotate(0deg); }
        100% { transform: translate(-50%, -50%) rotate(359deg); }
    }
    */
    
    
    
    
    .grid-item.done:before,
    .grid-item.done:after,
    .hero-wrapper-outer.done:before,
    .hero-wrapper-outer.done:after,
    .aslide.done:before,
    .aslide.done:after,
    .done .spinner:before,
    .done .spinner:after,
    .hero-wrapper-outer.done .hero-wrapper-inner:before,
    .hero-wrapper-outer.done .hero-wrapper-inner:after { content: ""; animation: none; }

/* MODAL ---------------------------------------------- */

    .modal {
        background: #fff;
        z-index: 9999; display: none; padding: 15px; overflow-y: auto; -webkit-overflow-scrolling: touch;
        position: absolute; width: 75%; min-width: 270px; max-width: 970px; top: 50%; left: 50%; max-height: 80%;
        -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
        -webkit-transform: translate(-50%,-50%); -moz-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); /* for ie9 */ transform: translate(-50%,-50%);
    }
    .modal.show { display: block; }

/* LIGHTBOX ------------------------------------------- */

/* single images */
    .lightbox-show,
    .modal-show { cursor: pointer; }
    .lightbox-inner { flex-direction: column; display: flex; justify-content: center; align-items: center; height: 100%; width: 100%; z-index: 990; position: absolute; transition: opacity 0.5s ease-in; 
    -ms-display: flex; -ms-flex-direction: column; }
    .lightbox-image { margin: 0 auto; background-color: #fff; padding: 4px; max-height: 78%; max-width: 86%; }
    .lightbox-title { color: #fff; text-align: center; margin: 2px auto 0; }
    .lightbox-inner.hide { opacity: 0; }
        
/* shared items */
    .page-overlay { display: none; background: rgba(0,0,0,0.9); position: fixed; top: 0px; left: 0; width: 100%; height: 100%; z-index: 9998; }
    .page-overlay.show { display: block; }
    .lightbox-close { float: right; padding-right: 40px; padding-top: 5px; font-weight: bold; color: #fff; cursor: pointer; position: relative; z-index: 999; }
    .lightbox-close i { position: absolute; top: 10px; right: 10px; color: #fff; font-size: 40px !important; }
    .lightbox-close i.fa { padding-right: 0; }

    /* lightbox arrows */
    .page-overlay.show .arrow { position: absolute; z-index: 9999; color: #fff;
        top: 50%; left: 50px; transform: translateY(-50%); cursor: pointer; font-size: 3rem; }
    .page-overlay.show .arrow.a-right { left: auto; right: 50px; }
        
        
/* IMAGES AND BACKGROUNDS ----------------------------- */

    img { display: block; }
    img.border { padding: 10px; box-sizing: border-box; margin-bottom: 15px; }
    .alignleft { float: left; margin-right: 20px; max-width: 50%; height: auto; }
    .alignright { float: right; margin-left: 20px; max-width: 50%; height: auto; }
    .alignnone { margin-bottom: 25px; width: 100%; }
    .actual { max-width: 100%; width: auto; }

    .crop-from-right { background-position: left top; }
    .crop-from-left { background-position: right top; }

    .hero-wrapper-outer.crop-from-left img { left: 100%; transform: translateX(-100%); }
    .hero-wrapper-outer.crop-from-right img { left: 0%; transform: translateX(0%); }

/* CONTACT FORM  -------------------------------------- */

    /* some element style shared with newsletter signup */
    #form_contact { margin: 30px 0; width: 100%; box-sizing: border-box; }
    #form_contact label { margin-bottom: 0; width: 100%; display: block; font-weight: 600; }
    #form_contact label i { font-size: 120%; width: 30px; opacity: 0.33; }
    #form_contact p { margin-bottom: 5px; float: left; clear: both; }
    #form_contact div { width: 100%; float: left; clear: both; border-radius: 7px; border-bottom: 2px solid #fff; 
        padding: 10px; box-sizing: border-box; }
    aside.newsletter form input[type="email"],
    #form_contact input[type="text"], #form_contact textarea {
        box-sizing: border-box; background: inherit;
        font-family: courier, "courier new", "lucida mono", fixed; font-size: 110%;
        width: 100%; margin: 10px 0 0; padding: 5px; border: 1px solid transparent;
    }

    aside.newsletter form button[type="submit"],
    #form_contact p#form_submit { display: block; margin-bottom: 0; padding: 5px 15px; cursor: pointer;
        padding: 5px 30px; text-transform: uppercase; text-align: center; width: 160px; margin-top: 20px; }
    #form_submit.rounded { border-radius: 25px; }
    p.check { visibility: hidden; margin: 20px 0 0; }
    p.check .fas { font-size: 120%; }
    p.check.show { visibility: visible; }
    #form_success { display: none; }

    /* contact cards */
    .contact-block { margin: 75px auto 30px; width: 100%; max-width: 580px; padding: 25px 0; position: relative; }
    .contact-block *:last-of-type { margin-bottom: 0; }
    .contact-block[class*="bg-"] p.contact { padding-left: 25px; }

    .contact-headline { position: absolute; top: -55px; left: 0; font-weight: bold; font-size: 3rem; }
    img.contact { position: absolute; bottom: 0; right: 10px; z-index: 5; width: 204px; height: auto; }
    p.contact { margin-bottom: 10px; font-size: 1.5rem; }
    p.contact i,
    p.contact i { padding: 7px 5px 5px 5px; margin-right: 15px;
        text-align: center; width: 18px; height: 16px; }
        
    .contact-group .contact-block { margin-top: 45px; float: left; margin-right: 50px; max-width: 100%; width: calc(50% - 25px); }
    .contact-group .contact-block:nth-child(2n) { float: right; margin-right: 0; }
    
    /* map */
    .contact-map { width: 100%; clear: both; margin: 0; padding: 30px 0; overflow: visible; }
    .contact-map iframe { width: 100%; height: 350px; display: block; border: 0; }
    .map-wrapper.no-gap .contact-map { padding: 0; }
    
    /* address, opening hours*/
    .address-wrapper { width: 100%; float: left; margin: 30px 0 0; position: relative; }
    .address { padding-top: 15px; }
    .address address,
    .address p { margin: 0; padding: 8px 0; line-height: 160%; }
    .address p i { font-size: 130%; vertical-align: middle; margin-right: 10px; }
    .address address { margin-top: 10px; }
    .opening-hours { width: 275px; margin-left: -275px; float: right; padding: 17px; box-sizing: border-box; }
    .opening-hours ul { list-style-type: none; margin: 10px 0 0; padding: 0; font-size: 95%; }
    .opening-hours li { list-style-type: none; margin: 0; padding: 3px 0 3px; }
    .opening-hours li span { float: right; text-align: right; width: 60%; display: inline-block; }
    .address { width: 100%; float: left; padding-right: 305px; box-sizing: border-box; box-sizing: border-box; }
    p.opening-note { margin: 12px 0 0; font-size: 95%; }
    p.address-note { height: 59px; }
    li.today { font-weight: bold; }
    
/* NEWSLETTER SIGNUP - FOOTER ------------------------- */

    aside.newsletter { position: relative; width: 100%; bottom: -22px; padding: 20px 0; float: left; }
    aside.newsletter .intro { float: left; width: 49%; }
    aside.newsletter p { margin: 0; font-size: 1.5rem; }
    aside.newsletter form { position: relative; float: right; width: 49%; }
    aside.newsletter form input[type="email"] { width: 100%; padding-right: 120px; display: inline; padding: 3px 120px 3px 5px; margin: 0; }
    aside.newsletter form button[type="submit"] { position: absolute; top: 0; right: 0; padding: 7px 10px 6px 10px; width: 110px; font-family: inherit; border: none; margin: 0; }
    aside.newsletter form p { margin: 13px 0 0; text-align: right; padding-right: 12px; }
    aside.newsletter form p a { color: inherit; }
    aside.newsletter form button[type="submit"]:hover { background: #fff; color: #000; }

    aside.newsletter.success .intro { width: 100%; }
    aside.newsletter.success form { display: none; }
    aside.newsletter p.submitok { display: none; }
    aside.newsletter.success p.submitok { display: block; }

/* NO JAVASCRIPT -------------------------------------- */

    body.nojs .siema .aslide:nth-child(1n+2) { display: none; }

/* BASIC COLOURS -------------------------------------- */

	.c-black { color: #000; }
	.c-white { color: #fff; }
    .c-darkred { color: #B40000; }
	.c-red { color: #E6000B; }
    .c-yellow { color: #FFFF00; }
    .c-lt-yellow { color: #FFFF80; }
    .c-tangerine { color: #FD9800; }
    .c-orange { color: #FF5613; }
    .c-amber { color: #FBCA3F; }
    .c-mint { color: #26B8A5; }
    .c-lt-green { color: #83C832; }
    .c-mid-green { color: #008E2B; }
    .c-dk-green { color: #006426; }
    .c-olive { color: #54692E; }
    .c-greenblue { color: #006651; }
    .c-cyan { color: #43DBD6; }
    .c-lt-blue { color: #4DBEFF; }
    .c-navy { color: #000372; }
    .c-royalblue { color: #0000C0; }
    .c-violet { color: #C285D2; }
    .c-darkviolet { color: #7B5DA7; }
    .c-indigo { color: #3C1A6E; }
    .c-brown { color: #764836; }
    .c-cutepink { color: #FFC0FF; }
    .c-hotpink { color: #FF4F91; }
    .c-magenta { color: #FF00FF; }
    .c-lt-grey { color: #f0ecef; }
    .c-mid-grey { color: #B6B6B6; }
    .c-dk-grey { color: #656565; }
    .c-slate { color: #4F4550; }

	.bg-black,
    .bull-black li:before { background-color: #000; }
	.bg-white,
    .bull-white li:before { background-color: #fff; }
	.bg-red,
    .bull-red li:before { background-color: #E6000B; }
    .bg-orange,
    p.bullet.bull-orange:before,    
    .bull-orange li:before { background-color: #FF5613; }
    .bg-amber,
   .bull-amber li:before { background-color: #FBCA3F; }
    .bg-mint,
    .bull-mint li:before { background-color: #26B8A5; }
    .bg-lt-green,
    .bull-lt-green li:before { background-color: #83C832; }
    .bg-mid-green,
    .bull-mid-green li:before { background-color: #008E2B; }
    .bg-dk-green,
    .bull-dk-green li:before { background-color: #006426; }
    .bg-greenblue,
    .bull-greenblue li:before { background-color: #006651; }
    .bg-cyan,
    .bull-cyan li:before { background-color: #43DBD6; }
    .bg-lt-blue,
    .bull-lt-blue li:before { background-color: #4DBEFF; }
    .bg-violet,
    .bull-violet li:before { background-color: #C285D2; }
    .bg-darkviolet,
    .bull-darkviolet li:before { background-color: #7B5DA7; }
    .bg-indigo,
    .bull-indigo li:before { background-color: #3C1A6E; }
    .bg-brown,
    .bull-brown li:before { background-color: #764836; }
    .bg-hotpink,
    .bull-hotpink li:before { background-color: #FF4F91; }
    .bg-lt-grey,
    .bull-lt-grey li:before { background-color: #f0ecef; }
    .bg-mid-grey,
    .bull-mid-grey li:before { background-color: #B6B6B6; }
    .bg-dk-grey,
    .bull-dk-grey li:before { background-color: #656565; }
    .bg-slate,
    .bull-slate li:before { background: #4F4550; }
    .bg-olive,
    .bull-olive li:before { background-color: #54692E; }
    .bg-cutepink,
    .bull-cutepink li:before { background-color: #FFC0FF; }
    .bg-magenta,
    .bull-magenta li:before { background-color: #FF00FF; }
    .bg-navy,
    .bull-navy li:before { background-color: #000372; }
    .bg-royalblue,
    .bull-royalblue li:before { background-color: #0000C0; }
    .bg-lt-yellow,
    .bull-lt-yellow li:before { background-color: #FFFF80; }
    .bg-yellow,
    .bull-yellow li:before { background-color: #FFFF00; }
    .bg-tangerine,
    .bull-tangerine li:before { background-color: #FD9800; }
    .bg-darkred,
    .bull-darkred li:before { background-color: #B40000; }
    
	.border-black { border-color: #000; }
	.border-white { border-color: #fff; }
	.border-red { border-color: #E6000B; }
    .border-orange { border-color: #FF5613; }
    .border-amber { border-color: #FBCA3F; }
    .border-mint { border-color: #26B8A5; }
    .border-lt-green { border-color: #83C832; }
    .border-mid-green { border-color: #008E2B; }
    .border-dk-green { border-color: #006426; }
    .border-greenblue { border-color: #006651; }
    .border-cyan { border-color: #43DBD6; }
    .border-lt-blue { border-color: #4DBEFF; }
    .border-violet { border-color: #C285D2; }
    .border-darkviolet { border-color: #7B5DA7; }
    .border-indigo { border-color: #3C1A6E; }
    .border-brown { border-color: #764836; }
    .border-hotpink { border-color: #FF4F91; }
    .border-lt-grey { border-color: #f0ecef; }
    .border-mid-grey { border-color: #B6B6B6; }
    .border-dk-grey { border-color: #656565; }
    .border-slate { border-color: #4F4550; }
    .border-olive { border-color: #54692E; }
    .border-cutepink { border-color: #FFC0FF; }
    .border-magenta { border-color: #FF00FF; }
    .border-navy { border-color: #000372; }
    .border-royalblue { border-color: #0000C0; }
    .border-lt-yellow { border-color: #FFFF80; }
    .border-yellow { border-color: #FFFF00; }
    .border-tangerine { border-color: #FD9800; }
    .border-darkred { border-color: #B40000; }


   


    
    
    
    
    
    

/* THIS SITE  ----------------------------------------- */


    footer { margin-top: -180px; /* total height of footer incl. padding */ }
    footer .col { height: 120px; }
    footer .logo { width: 250px; }

    .inner-wrapper,
    .hero-wrapper-outer .tagline { width: 1250px; }
    .hero-wrapper-outer .tagline { font-size: 5.5rem; font-weight: 600; padding-bottom: 80px; }
    /* top gradient, bottom gradient. % are start and end points*/
    .hero-overlay { background: linear-gradient(rgba(77,190,255,100) 0%, rgba(0,0,0,0) 25%), linear-gradient(rgba(0,0,0,0) 75%, rgba(255,123,15, 0.75) 100%); }
    .page-content { padding-bottom: 180px; /* same as footer height above */ }
    
    /* override for a special testimonials block */
    .special1 h2 { margin-bottom: 30px; text-align: center; }
    .special1 .testimonials blockquote { background: #fff; }
    .special1 .testimonials blockquote:after { border-top-color: #fff; }
    
    .shape1 { margin-left: -50px; margin-bottom: 20px; shape-margin: 20px; 
        shape-outside: url(/images/test/milk-bottle-mask.png); }

/* Default Body Font and Text Colour */
    html { color: #000; font-weight: 400; font-family: 'Open Sans', sans-serif; }
    body { font-size: 1.8rem; }
    a { text-decoration: none; }
    p.contact-headline { color: #4D494D; }
    
/* Menu Colours */
    .menuicon { background: none; }
    .menuicon.circle,
    .menuicon.square { background: #CED4E0; }
    .menuicon .bar { background: #57525E; }
    .menu-container { background: rgba(0,0,0,0.90); /* also set at 1023px */ }
    .full-menu .main-menu { color: #57525E; }
    .menuoverlay .full-menu .main-menu,
    .main-menu { color: #fff; /* also set at 1023px */ }
    body.menushow .bar { background-color: #fff; }


/* Footer Colours */
    footer p,
    footer .col ul.footer-links li,
    footer .col ul.social li,
    footer .col li a:hover { color: #fff; text-decoration: none; }
    footer .col li a:hover,
    footer .col li a:hover i { color: #79CEFF; }


/* Link and Related Colours (accents eg bullets) */
    /* all links and menu links */
    a,
    p.lightbox-show,
    p.modal-show,
    header li a:hover { color: #008DDE; }
    /* full menu only */
    .single-page header li:hover,
    .single-page.menushow header li a:hover,
    .menuoverlay:not(.menushow) header.full-menu li a:hover { color: #FFFF80; }
    /* numbered list colour */
    ol.modern li:before { color: #FF0000; }
    /* bullet colour
       now use bull-colour class on the element to set the bullet colour */
    /* content link hover */
    p.lightbox-show:hover,
    p.modal-show:hover,    
    .content a:hover { color: #0070B0; text-decoration: underline; }
/* Button Hover Colours */
    a.button:hover { background: #4D494D; border-color: #4D494D; color: #fff; }


/* Borders */
    hr { border-top: 1px solid #c0c0c0; }
    .expandable-wrapper.alt .expandable { border-bottom: 1px solid; }
    .expandable-wrapper.alt .expandable:first-child { border-top: 1px solid; }
    .contact-block { border-top: 1px solid #D8D1E2; border-bottom: 1px solid #D8D1E2; }
    .opening-hours li { border-bottom: 1px solid #ccc; }
    .address address,
    .address p { border-bottom: 1px solid #bbb; }
    .address address { border-top: 1px solid #bbb; }

    
/* Backgrounds */
    footer { background: #4D494D; }
    .hero-wrapper-outer { background: #f0ecef; }
    .testimonials blockquote { background: #4F4550; }
    .testimonials blockquote:after { border-top-color: #4F4550; }
    .grid-item { background: #eee; }
    p.contact i.fab, /* icons for contact block sections */
    p.contact i.fas { color: #fff; background: #4D494D; }

    
/* Contact Form Colours */
    #form_contact input[type="text"], #form_contact textarea { color: #02501a; background: none; }
    form_contact p.error,
    /*#form_contact label.error { color: #e71d36; }
    #form_contact input.error,
    #form_contact textarea.error { background: #ffdede; }*/
    #form_contact div.error { background: #ffdede; }


/* Slider Colours */
    .slider-wrapper { background: #f0ecef; }
    .siema .dots button { border-color: #2e2e2e; background: none; }
    .siema .dots button.active { background: #2e2e2e; }
    .siema .arrow { background: none; color: #2e2e2e; }
    .siema.slider-caps-bottom .slide-caption { background: linear-gradient(rgba(0,0,0,0) 0%, rgba(0,0,0,0.66) 70%); }
    .siema.slider-caps-bottom h6,
    .siema.slider-caps-bottom p { color: #fff; text-shadow: 1px 1px 1px #444; }
    .controls-inline .siema .arrow { color: #fff; text-shadow: 1px 1px 1px #444; }
    .controls-inline .siema .dots button { border-color: #fff; }
    .controls-inline .siema .dots button.active { background: #fff; }
    /* links in slider content */
    .siema.slider-caps-bottom a:hover { color: #FFFF80; }


/* Tables */
    table { border: 1px solid #777; }
    table tr:first-child td  { border-top: 1px solid #777; }
    td, th { border-left: 1px solid #ccc; }
    td { border-top: 1px solid #ccc; }
    th:first-child, td:first-child { border-left: none; }

/* END OF THIS SITE SPECIFIC -------------------------- */










/* RESPONSIVE ----------------------------------------- */

/* first breakpoint is: width of inner-wrapper + 40px */
@media only screen and (max-width : 1290px) {
    .inner-wrapper { width: 100%; padding: 0 20px; box-sizing: border-box; }
    .inner-wrapper.sections { padding: 0;}
    .menuicon,
    footer p { right: 20px; }
    body.normal .hero-wrapper-outer { padding-bottom: 0 !important; height: 425px; overflow: hidden; position: relative; left: 0; width: 100vw; }
    body.normal #content-top .hero-wrapper-outer { left: -20px; }
    body.normal .hero-wrapper-outer img { height: 100%; width: auto; }
}


    /* Settings for Optional Full Hero Big Tagline */
    @media only screen and (max-width : 1290px) {
    .hero-wrapper-outer .tagline { width: 100%; padding: 0 20px 80px; }
    }

    @media only screen and (max-height : 767px), screen and (max-width : 767px) {
        .hero-wrapper-outer .tagline { font-size: 4.0rem; /*padding-bottom: 60px;*/ }
    }

    @media only screen and (max-height : 567px), screen and (max-width : 567px) {
        .hero-wrapper-outer .tagline { font-size: 3.0rem; }
    }

    @media only screen and (max-height : 500px) {
        .hero-wrapper-outer .tagline.centre { top: 100%; transform: translate(-50%, -100%); padding-bottom: 80px; }
    }
    @media only screen and (max-height : 399px), screen and (max-width : 374px) {
        .hero-wrapper-outer .tagline { font-size: 2.5rem; }
    }

    @media only screen and (max-height : 370px) {
        .hero-wrapper-outer .tagline { font-size: 2.5rem; }
    }
    /* end of full hero tagline */


@media only screen and (max-width : 1023px) {
    .inner-wrapper { width: 100%; padding: 0 20px; box-sizing: border-box; }
    body.normal .hero-wrapper-outer { height: 350px; }
    /* reset full menu to mobile*/
    .main-menu,
    .full-menu .main-menu { color: #fff; }
    .full-menu .menuicon { display: block; }
    .full-menu .menu-container { position: fixed; background: rgba(0,0,0,0.90); }
    .menushow .full-menu .menu-container { transform: translateX(-100%); transition: transform 0.25s cubic-bezier(0.23, 1, 0.32, 1); }

    .full-menu.full-menu-centre .main-menu,
    .full-menu .main-menu { transform: translate(-50%, -50%); position: relative; float: none; margin: 0; display: inline-block; }
    .full-menu .main-menu li { transform: translateX(100vw); font-size: 4.5rem; display: block; padding: 0; }
    .menushow .full-menu .main-menu li { transform: translateX(0); }
    .full-menu .main-menu li i { width: 82px; text-align: center; font-size: 70%; position: relative;
    opacity: 0.5; padding: 0; }
    
    /* grid is now 3 across */
    .grid .grid-item:nth-child(1n) { width: calc(33.33% - 20px); padding-bottom: calc(24% - 23px); margin: 0 30px 30px 0; }
    .grid .grid-item:nth-child(3n) { margin-right: 0; }
    
    .contact-group .contact-block:nth-child(1n) { float: none; margin: 75px auto 30px; max-width: 580px; width: 100%; }
    
    .page-overlay.show .arrow { left: 20px; }
    .page-overlay.show .arrow.a-right { left: auto; right: 20px; }    
}


@media only screen and (max-width : 900px) {
    .text-block { width: 100%; clear: both; }
    .text-block.centred { margin: 0; }
    section { padding: 80px 40px; box-sizing: border-box; }
    .inner-wrapper.sections .inner-wrapper { padding: 0; }
    .half-half img { width: 100%; max-width: 100%; }
    .half-half img.alignright { margin-left: 0; }
    .half-half img.alignleft { margin-right: 0; }
    .half-half div { width: 100%; position: static; transform: none; float: left; margin-bottom: 40px; }
}


@media only screen and (max-width : 800px) {
    .address { padding-right: 0; }
    .opening-hours { width: 100%; margin: 0 0 20px; }
    p.address-note { height: auto; }
}
    
    
@media only screen and (max-width : 767px) {
    .menuicon:hover { transform: none; }
    .menuicon.circle { padding: 12px; }
    .main-menu li { font-size: 3.25rem !important; }
    .main-menu li i { width: 62px !important; }
    .page-content { padding-bottom: 290px; /* new total height of footer (as single col) */ }
    h1 { font-size: 3.25rem; }
    footer { margin-top: -290px; }
    footer .col,
    footer .col.right { float: left; width: 100%; height: auto; }
    footer .col ul.social { float: left; }
    footer p { position: static; text-align: left; width: 100%; float: left; margin: 20px 0 0; }
    footer .col ul.footer-links { position: static; margin: 20px 0; width: 100%; }
    figure.lightbox-show:not(.nozoom):after { font-size: 24px; }

    /* slider */
    .siema .dots button { width: 17px; height: 17px; }
    .controls-inline .siema .dots { bottom: 10px; }
    .controls-inline .siema.slider-caps-bottom .slide-caption { padding-bottom: 40px; }
    .siema h6 { font-size: 2.20rem; }
    .siema p { display: none; }
    
    /* testimonials/quotes */
    blockquote.quote { width: 85%; padding: 20px 30px 20px 60px; }
    .testimonials blockquote:nth-of-type(n) { width: 85%; clear: both; margin: 25px auto 50px; float: none; }
    
    /* equal height cols */
    .equal-height-block { padding-top: 0; margin-bottom: 0; }
    .equal-height-block + .equal-height-block { margin-top: -20px; margin-bottom: -20px; }
    .col-wrapper .col { width: 100%; padding-bottom: 0; margin: 0 0 40px 0; }

    /* grid is now 2 across */
    .grid .grid-item:nth-child(1n) { width: calc(50% - 13px); padding-bottom: calc(34% - 23px); margin: 0 25px 25px 0; }
    .grid .grid-item:nth-child(2n) { margin-right: 0; }
    
    /* arrows for lightbox */
    .page-overlay.show .arrow { left: 0; }
    .page-overlay.show .arrow.a-right { left: auto; right: 0; }    

    .logo-wrapper img { width: 380px; }
    
    
}

@media only screen and (max-height : 767px) {
    .main-menu li { font-size: 3.25rem !important; }
    .main-menu li i { width: 62px; }
}

@media only screen and (max-width : 600px) {
    header { padding-bottom: 20px; }
    header .tagline { font-size: 1.7rem; text-align: left; font-weight: 600; }
	h1 { font-size: 3.0rem; }
	h2 { font-size: 2.7rem; }
	h3 { font-size: 2.3rem; }
    h5 { font-size: 2.0rem; }
    p, h4, li, th, td, label { font-size: 1.7rem; }
    .ul { position: relative; padding-left: 60px; }
    body.normal .hero-wrapper-outer { height: 325px; margin-bottom: 20px; }
    section { padding: 70px 20px; }
    
    /* slider */
    .controls-inline button.arrow { height: 50px; }
    .controls-inline .siema .arrow { display: none; }
    .controls-inline.slider-wrapper:after { content: "< > SWIPE"; position: absolute; right: 2px; bottom: -17px; font-size: 10px; color: #606060; }
    .controls-inline button.arrow i { font-size: 30px; }
    .content #slider1 .slide-img-wrap { padding-bottom: 0; height: 330px; overflow: hidden; }
    .content #slider2 .slide-img-wrap { padding-bottom: 0; height: 330px; overflow: hidden; }
    
    .alignleft:not(.actual),
    .alignright:not(.actual) { width: 100%; max-width: none; margin: 0 0 30px; }

    .grid .grid-item:nth-child(1n) {
        width: calc(50% - 10px);
        padding-bottom: calc(34% - 23px);
        margin: 0 20px 20px 0;    
    }
    .grid .grid-item:nth-child(2n) { margin-right: 0; }
    .contact-block { padding: 20px 0; }
    img.contact { width: 140px; right: 0; }
    p.contact i, p.contact i { margin-right: 10px; }
    .contact-block[class*="bg-"] p.contact { padding-left: 15px; }
    
    .contact-map iframe { height: 250px; }
}

@media only screen and (max-width : 500px) {
    table,
    tbody { display: block; }
    tbody { overflow-x: scroll; }

    .grid .grid-item:nth-child(1n) {
        width: calc(100%);
        padding-bottom: calc(60%);
        margin: 0 0 20px;    
    }    
    
    .contact-block { padding: 15px 0; }
    p.contact { font-size: 1.4rem; }
    .contact-headline { top: -50px; font-size: 2.25rem; }
    img.contact { width: 130px; }
    
    .logo-wrapper { width: 100%; box-sizing: border-box; padding: 20px; top: 0; }
    .logo-wrapper img { width: 100%; max-width: 330px; }
    .logo-wrapper p { font-size: 1.6rem; }
    
}


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

}