html{color:#222;font-size:1em;line-height:1.4}::-moz-selection{background:var(--main);text-shadow:none;color:#fff;}::selection{background:var(--main);text-shadow:none;color:#fff;}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.browserupgrade{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
:root {

  --grey: #303030;

    --main: #0292D8;

}
@font-face {
    font-family: 'm_1mbold';
    src: url('mplus-1m-bold-webfont.eot');
    src: url('mplus-1m-bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('mplus-1m-bold-webfont.woff2') format('woff2'),
         url('mplus-1m-bold-webfont.woff') format('woff'),
         url('mplus-1m-bold-webfont.ttf') format('truetype'),
         url('mplus-1m-bold-webfont.svg#m_1mbold') format('svg');
    font-weight: normal;
    font-style: normal;

}



body::-webkit-scrollbar {
    width: 0.5rem;
}

body::-webkit-scrollbar-thumb {
    background-color: var(--main);
    border-radius: 0.7rem;
}

body::-webkit-scrollbar-track {
    background-color: var(--grey);
    border-radius: 0.7rem;
}

/* Browsers without `::-webkit-scrollbar-*` support */
@supports not selector(::-webkit-scrollbar) {
    html {
        scrollbar-width: thin;
        scrollbar-color: var(--grey) var(--main);
    }
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */


html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; }
a{-webkit-transition:all 1s ease;
         -moz-transition:all 1s ease;
               -o-transition:all 1s ease;
                     transition:all 1s ease;
text-decoration: none;
color: #1a1a1a; font-weight: 600;}
a img{-webkit-transition:all 1s ease;
         -moz-transition:all 1s ease;
               -o-transition:all 1s ease;
                     transition:all 1s ease;}
a:hover{opacity: 0.5;}
.smoothie{-webkit-transition:all 1s ease;
         -moz-transition:all 1s ease;
               -o-transition:all 1s ease;
                     transition:all 1s ease;}
h1,h2,h3,h4,h5,h6{margin: 0 0 10px 0; color: #1a1a1a; font-weight: 300; letter-spacing: 0px; font-family: 'Lato', sans-serif; }

p{margin: 0 0 10px 0;}
strong{font-weight: 800;}
img, iframe{max-width: 100%;}



.container{width: 100%; max-width: 1920px; margin: 0 auto; font-family: 'Lato', sans-serif; font-weight: 300; box-shadow: 0 30px 90px rgba(0,0,0,0.25), 0 7px 20px rgba(0,0,0,0.05); overflow: hidden;}
body{background: #f6f6f6;}
.header{width: 100%; margin: 0 auto; padding: 20px 5%; display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; position: fixed; top: 0; left: 0;   background: #fff;  z-index: 125; box-shadow: 0 30px 90px rgba(0,0,0,0.25), 0 7px 20px rgba(0,0,0,0.05);}
.logo{width: 140px; }
.logo:hover{opacity: 1;}
.sticky{background: rgba(0,0,0,0.5); border-bottom: 1px solid rgba(255,255,255,0.0);}
.sticky .logo{width: 100px;}
.navlink{color: #1a1a1a;font-weight: 400; margin-left: 40px; font-size: 16px; font-weight: 300; text-transform: uppercase; position: relative;}
.current{font-weight: 900;}

.navfoot{position: absolute; width: 100%; height: 1px; bottom: -5px; left: 0; opacity: 0; background: #1a1a1a; transition: all 0.2s ease;}
.navlink:hover .navfoot{opacity: 0.5;}

.navlink.current .navfoot{opacity: 1;}
.navlink.current:hover .navfoot{opacity: 0.5;}

.hero{width: 100%; padding: 0; height: 100vh; overflow: hidden; position: relative; z-index: 5;}

.herocover{position: absolute; top: 0; left: 0; width: 100%; height: 100%;  z-index: 5;display: flex; justify-content: center; flex-direction: column; align-items: center;}
.hero img{width: 100%; height: 100%; object-fit: cover; object-position: top center; position: relative; z-index: 4;}

.heroh1{font-size: 48px; color: #fff; margin-bottom: 30px;}
.herolink{padding: 10px 20px; border: 1px solid #fff; font-size: 16px; color: #fff;}
.herolink:hover{background: #fff; color: #1a1a1a; opacity: 1;}



.content{width: 100%; padding: 40px 5%; position: relative; z-index: 10;}
.homebannertext{width: 100%; padding: 40px 5%; position: relative; z-index: 10; background: #fff; text-align: center;}
.blindsbannertext{width: 100%; padding: 160px 5% 40px; position: relative; z-index: 10; background: #fff; text-align: center;}
.blindsbannertext h1{font-weight: 600;}
.homebannertext p{font-weight: 600; }


.homelinks{width: 100%; height: 600px; position: relative; overflow: hidden;}
.homelinks img{width: 100%; height: 100%; object-fit: cover; z-index: 5; position: relative;}
.homelinkscover{position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 6; display: flex; justify-content: center; flex-direction: column; align-items: flex-start; padding: 0 5%;}

.homelinker{padding: 10px 20px; font-size: 16px;}
.homelinkscover h2{font-size: 42px;}
.homelinkscover p{font-weight: 400; max-width: 50%; margin-bottom: 20px;}


.homelinkscoverlight{background: rgba(26,26,26,0.5);}
.homelinkscoverlight h2{color: #fff;}
.homelinkscoverlight p{color: #fff;}
.homelinkscoverlight .homelinker{border: 1px solid #fff; color: #fff;}
.homelinkscoverlightlink .homelinker:hover{background: #fff; color: #1a1a1a; opacity: 1;}

.homelinkscoverdark{background: rgba(255,255,255,0.5);}
.homelinkscoverdark h2{color: #1a1a1a;}
.homelinkscoverdark p{color: #1a1a1a;}
.homelinkscoverdark .homelinker{ border: 1px solid #1a1a1a; color: #1a1a1a;}
.homelinkscoverdark .homelinker:hover{background: #1a1a1a; color: #fff; opacity: 1;}


.centerdivider{width: 100px; margin: 20px auto; height: 1px;}
.centerdividerdark{background: #1a1a1a;}
.centerdividerlight{background: #ccc;}

.homequotetext{background: #323232; padding: 120px 5%; text-align: center;}
.homequotetext p{color: #ccc;}
.homequote{font-style: italic; font-weight: 700; font-size: 22px;}
.homequoter{text-transform: uppercase; letter-spacing: 4px; font-size: 16px; font-weight: 700;}

.homesocial a{margin: 0 10px;}
.footleft{width: calc(100% - 120px);}
.footright{width: 70px;}
.footright svg{width: 100%;}

.footer{width: 100%; background: #1a1a1a; padding: 20px 5%; font-size: 12px;  display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; color: #fff;}
.footleft{width: calc(100% - 120px);}
.infinity{width: 100px;}
.footnav{width: 100%; display: flex; justify-content: flex-start; flex-wrap: wrap; margin-bottom: 10px;}
.footnav span{margin: 0 5px;}
.footnavlink{color: #fff;}
.footerdetails{margin-bottom: 10px;}
.footerdetails span{margin: 0 5px;}
.copy span{margin: 0 5px;}
.copy a{color: #fff; font-weight: 700;}
.footerdetails a{color: #fff; font-weight: 700;}


/* ==========================================================================
   ABOUT
   ========================================================================== */


.shallowhero{width: 100%; padding: 0; height: 80vh; overflow: hidden; position: relative; z-index: 5;}
.shallowhero img{width: 100%; height: 100%; object-fit: cover; object-position: top center; position: relative; z-index: 4;}
.shallowheroh1{font-size: 48px; color: #fff; margin-bottom: 30px;margin-top: 80px; }
.abouttext{width: 100%; padding: 40px 20% 40px; background: #fff; text-align: left;}

.abouticons{width: 100%; display: flex; justify-content: space-between; flex-wrap: wrap; padding: 40px 0;}
.eachicon{width: 30%; background: rgba(0,0,0,0.01); text-align: center; padding: 20px;}
.eachiconimage{font-size: 48px; margin-bottom: 10px;}
.eachiconheader{text-transform: uppercase; font-weight: 900; margin-bottom: 10px; font-size: 18px;}

.quoteholder{background: #323232 url(../img/testimonials-rainbow.jpg) center center no-repeat; background-size: cover; text-align: center;}

.slidequote{display: flex; justify-content: center; flex-wrap: wrap; align-content: center; margin: 0 auto; position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding: 120px 25%; }
.slidequotetext{color: #ccc;font-style: italic; font-weight: 700; font-size: 22px;}
.slidequoter{text-transform: uppercase; letter-spacing: 4px; font-size: 16px; font-weight: 700; color: #ccc;}

.darkh1{color: #1a1a1a;}

.mapholder{background: #323232; width: 100%; height: 400px;}


.blindslinkscover{position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 6; display: flex; justify-content: center; flex-direction: column; align-items: center; padding: 0 5%; text-align: center;}
.blindslinkscover h2{font-size: 42px;}
.blindslinkscover p{font-weight: 400; max-width: 50%; margin-bottom: 20px;}

.newsgrid{width: 100%;}
.eachnewsgrid{width: 100%; position: relative; margin-bottom: 20px; display: block; height: 200px; overflow: hidden;}
.eachnewstitle{position: absolute; top: 0; left: 0; background: rgba(255,255,255,0.7); padding: 20px; color: #1a1a1a; text-transform: uppercase; z-index: 4; font-weight: 700; transition: all 0.3s ease;}
.eachnewsdate{position: absolute; bottom: 0; right: 0; background:rgba(255,255,255,0.7);; padding: 20px; color: #1a1a1a; text-transform: uppercase; z-index: 4; font-size: 10px;transition: all 0.3s ease;}
.eachnewsimage{position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 3;transition: all 0.3s ease;}
.eachnewsgrid:hover{opacity: 1;}
.eachnewsgrid:hover .eachnewstitle{background: rgba(255,255,255,1);}
.eachnewsgrid:hover .eachnewsdate{background: rgba(255,255,255,1);}
.eachnewsgrid:hover .eachnewsimage{transform: scale(1.05,1.05);}
.eachnewsimage img{object-fit: cover; width: 100%; height: 100%;}
/*
.footer{background: rgba(0,0,0,0.7);}
.footnavlink{color: #DCCF73}
.copy{color: #fff;}
.copy a{color: #fff; font-weight: 700;}
/* ==========================================================================
   FORM
   ========================================================================== */

.contactdetails i{width: 20px; margin-right: 10px;}

.theform{width:100%; margin: 0 auto; display: flex; justify-content: space-between; flex-wrap: wrap; padding: 0;}
.halfinput{width:  49%; position: relative;}
.fullinput{width: 100%; position: relative;}
.theform label{font-size: 12px;}
.textinput{width: 100%; border:1px solid #f9f9f9; padding: 10px; font-size: 0.8rem; background: rgba(0,0,0,0.05); background: #fff; outline: 1px solid #aaa; color: #0C0C0B; margin-bottom: 20px;}
.textinput:focus{outline: 1px solid #0f0f0f; background: #f6f6f6;}
.submitbutton{width: 100%; border:1px solid #1a1a1a; border-radius: 2px; color: #fff; padding: 15px; transition: 0.4s; cursor: pointer; margin-bottom: 20px; text-transform: uppercase; letter-spacing: 1px; background: #1a1a1a}
.submitbutton:hover{background: #fff; color: #1a1a1a;}
textarea{height: 200px; text-align: left;}

/* ==========================================================================
   GDPR
   ========================================================================== */

.ptable{margin: 20px 0;}
.ptable tr td{padding: 20px; border: 1px solid #ccc;}
.ptable thead th{padding: 20px; background: #1a1a1a; }
.ptable thead th p strong{font-weight: 700; color: #fff;}
.smallprint{font-size: 12px !important;}
.smallprint p{font-size: 12px !important; line-height: 20px;}




.has-tooltip:hover + .tooltip,
.has-tooltip:focus + .tooltip,
.has-tooltip.hover + .tooltip {
  opacity: 1;
  transform: translate(-50%, -100%) scale(1) rotate(0deg);
  pointer-events: inherit;
}
.has-tooltip:hover + .textinput { background-color: yellow;}
.has-tooltip{color: #1a1a1a;}
.tooltip {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.75) rotate(5deg);
  transform-origin: bottom center;
  padding: 10px 30px;
  border-radius: 5px;
  background: rgba(0, 0, 0, 0.75);
  text-align: center;
  color: #fff;
  transition: 0.15s ease-in-out;
  opacity: 0;
  width: 100%;
  max-width: 100%;
  pointer-events: none;
  z-index: 5;
}
.tooltip.blue {
  background: rgba(26,26,26, 0.75);
}
.tooltip.blue:after {
  border-top: 5px solid rgba(26,26,26, 0.75);
}

.tooltip:hover {
  opacity: 1;
  transform: translate(-50%, -100%) scale(1) rotate(0deg);
  pointer-events: inherit;
}
.tooltip img {
  max-width: 100%;
}
.tooltip:after {
  content: "";
  display: block;
  margin: 0 auto;
  widtH: 0;
  height: 0;
  border: 5px solid transparent;
  border-top: 5px solid rgba(0, 0, 0, 0.75);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 100%);
}



.privacylinks{width: 100%; padding: 40px 40px 20px; background: #0091D7; display: flex; justify-content: space-between; flex-wrap: wrap; }
.privacylink{width: calc(50% - 10px); margin-bottom: 20px; padding: 10px; background: #fff;color: #003E4A; transition: all 0.3s cubic-bezier(.25,.8,.25,1); box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); text-transform: uppercase; font-weight: 300; font-size: 14px;}
.privacylink:hover{background: #efefef; }

.subfooter{width: 100%; color: #1a1a1a; font-size: 10px; padding: 20px 5%; background: #efefef;}

/* ==========================================================================
   LINKS
   ========================================================================== */
.eachuseful{width:100%; background:#f7f7f7; padding:20px 20px 40px 20px; margin-bottom:20px; position:relative;}
.usefullink{position:absolute; bottom:0; right:0; padding:10px; background: #fff; color: #062244;}

.usefullink:hover{position:absolute; bottom:0; right:0; padding:10px; color: #fff; background: #062244;}


.smallchevron{font-size:0.7rem;}

.sitemapul{list-style-type: none; margin: 0; padding: 0;}
.sitemapul li{margin-bottom:5px; padding: 10px; background: rgba(255,255,255,0.2);}
.sitemapul li ul li{margin-bottom:0px; background:none;}
.sitemapul li ul{list-style-type: none;}


/* ==========================================================================
   BLINDS
   ========================================================================== */
.servicesgridholder{padding: 40px 5%;}
.servicesgrid{width: 100%; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; grid-gap: 40px;grid-auto-rows: 300px;}
/*.servicesgrid{width: 100%; 

    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    grid-auto-rows: minmax(300px, auto);
    grid-gap: 40px;
}
*/
.eachhomegrid{background: #fff; box-shadow: 0 15px 45px rgba(0,0,0,0.25), 0 7px 10px rgba(0,0,0,0.05);transition: all 300ms ease;  overflow: hidden; position: relative; display: flex; justify-content: flex-start; align-items: center;}
.eachhomegrid:hover{box-shadow:  0rem 0.875rem 1.5rem 0rem rgba(32,46,66,0.059);}
.eachgridcover{width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 5; background: rgba(26,26,26,0.4); transition: all 0.3s ease;}
.eachgridimage{width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 4; transition: all 0.3s ease;}
.eachgridimage img{object-fit: cover; width: 100%; height: 100%;}
.eachhomegrid:hover .eachgridimage{transform: scale(1.1,1.1);}
.eachgridtitle{width: 100%; font-weight: 400; text-transform: uppercase; z-index: 10; font-size: 28px; line-height: 36px; padding: 0 20px; color: #fff;}
.eachhomegrid:hover .eachgridcover{background: rgba(0,0,0,0.8);}
/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */
@media only screen and (min-width: 1220px) {.navigation{display: flex!important;}.ham{display: none;}}
@media only screen and (max-width: 1220px) {
    
    .header{align-items: center; z-index: 501;}
    .ham{display: block;}
    .navigation{display: none; width: 100%; height: auto; text-align: right; padding-top: 40px;}
    .navigation a{display: block; width: 100%; margin: 0; font-size: 24px; margin-bottom: 10px;}
    .navfoot{display: none;}
    .servicesgrid{width: 100%; display: grid; grid-template-columns: 1fr 1fr; grid-gap: 40px;grid-auto-rows: 300px;}
}


@media only screen and (max-width: 800px) {
    .logo{width: 100px;}
    .welcome{margin: 0; max-width: 100%; background: rgba(255,255,255,0.5);}
    .homecontent{max-width: 100%;}
    .fullcontent{padding: 0 3%;}
    .content{padding: 40px 5%;}
    .homelinkimage{width: 100%; height: 300px;}
    .homelinktext{width: 100%; padding: 20px; background: #fff;}
    .homelinkbutton{position: relative; left: 0; background: #efefef; padding: 10px 40px;}
    .eachtestimonial{width: 100%; padding: 40px 10%;}
    .testimonial{font-size: 22px;}
    .footer{margin-top: 40px;}
    .hero{padding: 0; height: 80vh;}
    .shallowhero{padding: 0; height: 80vh;}
    .heroh1{font-size: 32px; max-width: 80%; text-align: center;}
    .shallowheroh1{font-size: 32px; max-width: 80%; text-align: center;}
    .herocover{background: rgba(26,26,26,0.4);}
    .header{padding: 20px 5%;}
    .footer{padding: 20px 5%; text-align: center;}
    .footnav{justify-content: center;}
    .latestnews{padding: 0 3%; margin-top: 40px;}
    .eachlatestnews{width: 100%;}
    .eachlatestnews:first-of-type{margin-bottom: 20px;}
    .footleft{width: 100%; margin-bottom: 20px;}
    .footright{width: 80px; margin: 0 auto;}
    .homelinkscover p{ max-width: 80%;}
    .homelinkscover{padding: 0 5%;}
    
    .blindslinkscover p{ max-width: 80%;}
    .blindslinkscover{padding: 0 5%;}
    
    .abouttext{width: 100%; padding: 40px; background: #fff; text-align: left;}
    .eachicon{width: 100%; margin-bottom: 20px;}
    .slidequote{padding: 80px 5%; }
    .slidequotetext{font-size: 18px;}
    
}

@media only screen and (max-width: 600px) {
    .servicesgrid{width: 100%; display: grid; grid-template-columns: 1fr; grid-gap: 40px;grid-auto-rows: 300px;}
}

@media print,
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 1.25dppx),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}
/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden {
    display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap; /* 1 */
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
    white-space: inherit;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}



/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important; /* Black prints faster */
        -webkit-box-shadow: none !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre {
        white-space: pre-wrap !important;
    }
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
