html {font-family: 'Open Sans', sans-serif; font-size: 16px; line-height: 1.4; color: #414042; }
html body {margin: 0;padding: 0;}
input[type=text] {font-size: 1rem; font-family: 'Open Sans', sans-serif; }
select {font-size: 1rem; font-family: 'Open Sans', sans-serif; }
textarea {font-size: 1rem; font-family: 'Open Sans', sans-serif; }
button {font-size: 1rem; font-family: 'Open Sans', sans-serif; }
input {-webkit-appearance: none; -moz-appearance: none; }
hr {position: relative; margin: 30px 0; border: none; height: 2px; background: #0089c3; }
a {color: #0089c3; text-decoration: none;}
a:hover {color: #0089c3; text-decoration: underline;}
table {width: 100%; margin: 20px 0; border: 1px solid #ccc; border-scollapse: collapse;}
table td {padding: 5px; border: 1px solid #ccc}
table tr:nth-child(even) td {background: rgba(0,0,0,0.01);}
.clear {clear:both; display: block}
.clearFix {clear:both; }

.product hr {background: #dda71a; margin: 40px 0;}
.alignL {text-align:left;}
.alignC {text-align:center;}
.alignR {text-align:right;}

.truncate {width: 250px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}


.title {font-family: 'Crimson Text', serif ; text-align:center; display: block; max-width: 700px; margin-left: auto; margin-right: auto; color:#0089c3; font-size: 2.2em; font-weight: 700}
.subTitle {font-family: 'Crimson Text', serif ; text-align:center; display: block; max-width: 700px; margin-left: auto; margin-right: auto; color:#FFFFFF; font-size: 1.3em; font-weight: 700}
.checkoutTitle {font-family: 'Crimson Text', serif ; text-align:left; display: block; max-width: 700px; margin-left: 0; color:#0089c3; font-size: 1.3em; font-weight: 700; margin-bottom: 1em;}

a.keysites-sticky {background-color: #0089c3; color: #FFFFFF; text-decoration: none; text-align: center; padding: 10px; display: block; position: sticky; bottom: -2px; border-bottom: 2px solid #FFFFFF; border-top: 2px solid #FFFFFF; font-size: 16px; font-weight: bold; transition: all ease-in-out 0.2s}
a.keysites-sticky:hover {text-decoration: none}
a.full-button {position:relative; background-color: #0089c3; color: #FFFFFF; border-radius: 10px; padding: 8px 20px 3px 20px; border:0px solid #f6841f; transition:all ease 0.1s; display: inline-block; text-align: center; font-family: 'Crimson Text', serif ; font-size: 16px; font-weight: 700; margin-top: 20px;   }
a.full-button:hover {background-color: #54585a; color: #FFF; border:0px solid #FFF; text-decoration: none}

button.full-button {position:relative; background-color: #0089c3; color: #FFFFFF; border-radius: 10px; padding: 8px 20px 3px 20px; border:0px solid #f6841f; transition:all ease 0.1s; display: inline-block; text-align: center; font-family: 'Crimson Text', serif ; font-size: 16px; font-weight: 700; margin-top: 20px; cursor: pointer;   }
button.full-button:hover {background-color: #54585a; color: #FFF; border:0px solid #FFF; text-decoration: none}

.full-button {position:relative; background-color: #0089c3; color: #FFFFFF; border-radius: 10px; padding: 8px 20px 3px 20px; border:0px solid #f6841f; transition:all ease 0.1s; display: inline-block; text-align: center; font-family: 'Crimson Text', serif ; font-size: 16px; font-weight: 700; margin-top: 20px; cursor: pointer;   }
.full-button:hover {background-color: #54585a; color: #FFF; border:0px solid #FFF; text-decoration: none}



a.buttonAlt_483 {background-color: #35914a; color: #FFFFFF;}
a.buttonAlt_484 {background-color: #f49638; color: #FFFFFF}
a.buttonAlt_485 {background-color: #febf30; color: #FFFFFF}
a.buttonAlt_486 {background-color: #734f91; color: #FFFFFF}
a.buttonAlt_487 {background-color: #d31920; color: #FFFFFF}
a.buttonAlt_507 {background-color: #0089c3; color: #FFFFFF}
a.buttonAlt_500 {background-color: #414042; color: #FFFFFF}
a.buttonAlt_ {background-color: #414042; color: #FFFFFF}

.titleAlt_483 {color: #35914a; }
.titleAlt_484 {color: #f49638; }
.titleAlt_485 {color: #febf30; }
.titleAlt_486 {color: #734f91;}
.titleAlt_487 {color: #d31920;}
.titleAlt_507 {color: #0089c3;}
.titleAlt_500 {color: #414042;}



.bgWhite {background-color:#FFFFFF;}
.bgWhite a.full-button {background-color: #0089c3; color: #FFF; }
.bgWhite a.full-button:hover {background-color: #54585a; color: #FFF; }

.bgBlue {background-color:#0089c3; color: #FFF}
.bgBlue a.full-button {background-color: #FFFFFF; color: #0089c3; }
.bgBlue a.full-button {background-color: #FFFFFF; color: #0089c3; }
.bgBlue a.full-button:hover {background-color: #54585a; color: #FFF; }
.bgBlue .title { color:#FFFFFF; } 

.bgGrey {background-color:#545759; color: #FFF}
.bgGrey a.full-button {background-color: #FFFFFF; color: #0089c3; }
.bgGrey a.full-button:hover {background-color: #0089c3; color: #FFF; }

.bgLight {background-color: #e6e6e7}

.container {position:relative; width:100%; max-width: 1200px; margin: 0px auto; padding: 0px 30px; box-sizing: border-box}
.container img {max-width: 100%!important; height: auto!important}
.pb:before {content: ""; position: relative; display: block; padding-top: 1px; margin-bottom: 50px; }
.pa:after {content: ""; position: relative; display: block; padding-bottom: 1px; margin-top: 50px; }

.width70 {width:70%; display: block}
.width50 {width:50%; display: block}

@media screen and (max-width:900px) {
    .width50 {width:100%; display: block}
}


h1 {font-family: 'Crimson Text', serif ; font-size: 2em; font-weight: 700; line-height: 1.2em; margin-top: 0px;}
h2 {font-family: 'Crimson Text', serif ; font-size: 1.3em; font-weight: 700}
h3 {font-family: 'Crimson Text', serif ; font-size: 1.3em; font-weight: 700}
h4 {font-family: 'Crimson Text', serif ; font-size: 1.1em; font-weight: 700}

.main > h1 {font-family: 'Crimson Text', serif ; text-align:center; max-width: 900px; margin-left: auto; margin-right: auto; color:#0089c3; font-size: 2.2em; font-weight: 700}
.main > h2 {font-family: 'Crimson Text', serif ; text-align:center; max-width: 900px; margin-left: auto; margin-right: auto; color:#0089c3; font-size: 1.3em; font-weight: 700}
.main > h3 {font-family: 'Crimson Text', serif ; text-align:center; max-width: 900px; margin-left: auto; margin-right: auto;}
.main > h4 {text-align:center; max-width:900px; margin-left: auto; margin-right: auto;}
.main > p {text-align:center; max-width: 900px; margin-left: auto; margin-right: auto; padding: 0px 30px;}
.main > img {width:100%!important; height: auto!important; max-width: 500px; }
.main > div > img {width:100%!important; height: auto!mportant; max-width:500px; }

@media screen and (max-width:600px) {
    .container {padding: 0px 20px;}
    .pb:before {margin-bottom: 20px; }
    .pa:after {margin-top: 20px; } 
    .main > p { padding: 0px 20px;}
}

header {position:relative;   background-color:#0089c3; height: 18vh; max-height: 130px; min-height: 50px; z-index: 1000; border-bottom: 2px solid #FFFFFF; transition: ease all 0.2s }
header .navContainer {position:relative; width:100%; max-width: 1200px; margin: 0px auto; padding: 0px 30px; height: 18vh; max-height: 130px; min-height: 50px; box-sizing: border-box; transition: ease all 0.2s }

a.topLogo {position: absolute; left: calc(50% - 75px); width: 150px; height: 100%; max-height: 100px; display: block; top: 50%; transform: translateY(-50%); text-align: center; padding: 10px;; box-sizing: border-box}
a.topLogo img {width:auto!important; height: 100%!important}

a.menuText {display:block; position: absolute; top: 62%; transform: translateY(-50%); right: 33px; width: 70px; height: 16px; color: #FFFFFF; text-transform: uppercase; font-size: 12px; transition:all ease 0.2s;   }
a.menuText:hover {text-decoration: none; }

.searchBar {display:block; position: absolute; top: calc(55% - 30px); transform: translateY(-50%); right: 29px; }
.searchBar input[type="text"] {border: 2px solid #7ec8eb; width: 100px; border-radius: 10px; background: #0089c3; transition:all ease 0.2s; outline: none; padding: 4px 10px; color: #FFF; font-size: 13px;}
.searchBar input[type="text"]:focus {width: 200px; border: 2px solid #FFFFFF;   color: #FFFFFF; padding-left: 10px;}
.searchBar button {position:absolute; right: 5px; width: 30px; height: 30px; background-color: transparent; border: 0px; cursor: pointer; outline: none; color: #FFFFFF}

.searchMobile {display: none; position:relative; box-sizing: border-box; padding: 20px; }
.searchMobile input[type="text"] {border: 2px solid #7ec8eb; width: 100%; border-radius: 10px; background: #0089c3; transition:all ease 0.2s; outline: none; padding: 4px 10px; color: #FFF; font-size: 13px; box-sizing: border-box}
.searchMobile input[type="text"]:focus {background: #017aad; color: #FFFFFF; border: 2px solid #FFFFFF; }
.searchMobile button {position:absolute; right: 25px; width: 30px; height: 30px; background-color: transparent; border: 0px; cursor: pointer; outline: none; color: #FFFFFF}

::-webkit-input-placeholder {color: #FFFFFF; font-size: 11px; }
::-moz-placeholder { color: #FFFFFF; font-size: 11px;}
:-ms-input-placeholder { color: #FFFFFF; font-size: 11px;}
:-moz-placeholder {color: #FFFFFF; font-size: 11px;}

a.mobileNavButton {display:block; position: absolute; top: 62%; transform: translateY(-50%); right: 24px; width: 44px; height: 44px;  border-radius: 50%; transition:all ease 0.1s; }
a.mobileNavButton i {position: absolute; width: 28px; height: 4px; left: 50%; border-radius: 0px; margin-left: -12px; background: #FFFFFF; transition:all ease 0.1s;}
a.mobileNavButton:hover i {background: #FFFFFF;}
a.mobileNavButton i:nth-child(1){top: 12px; }
a.mobileNavButton i:nth-child(2){top: 50%; margin-top: -2px; }
a.mobileNavButton i:nth-child(3){bottom: 12px;}

@media screen and (max-width:600px) {
    header { height: 50px; max-height: 50px; min-height: 50px; }
    header .navContainer { height: 50px; max-height: 50px; min-height: 50px;  }
    
}

@media screen and (max-width:1200px) {
.searchDesktop {display: none;}
    a.mobileNavButton {top: 52%;  }
    a.menuText {top: 52%;   }
    .searchMobile {display: block;  }

}

@media screen and (max-height:800px) {
.searchDesktop {display: none;}
     a.mobileNavButton {top: 52%;  }
    a.menuText {top: 52%;   }
     .searchMobile {display: block;  }
}

.nav {display:none; }
.nav.active {position: fixed; display: block; left: 0; top: 0; width: 100%; height: 100%; cursor:pointer; background: none; }
.nav.active > a {display:block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; }
.nav > div {position: absolute; right: 0; top: 0; width: 300px; height: 100%; background: #0089c3; background-image: url("../images/gs-cropped.png"); background-position: bottom; background-repeat: no-repeat;  box-shadow: 60px 0px 40px 40px #000; z-index: 100;  box-sizing: border-box; }
.nav .containerNav {position: absolute; left: 0; top: 0; width: 300px; height: 100%;  padding: 50px 0 70px 0;z-index: 101; box-sizing: border-box; overflow: auto; }

.nav .containerNav a.close {display:block; position: absolute; top: 5px; right: 10px; width: 44px; height: 44px;  border-radius: 50%; }
.nav .containerNav a.close i {position: absolute; width: 24px; height: 4px; left: 50%; top: 50%; margin-top: -2px; border-radius: 0px; margin-left: -12px; background: #FFF;}
.nav .containerNav a.close i:nth-child(1){transform: rotate(45deg);}
.nav .containerNav a.close i:nth-child(2){transform: rotate(-45deg);}
.nav .containerNav > ul {display:block; width: 100%; margin: 0;  box-sizing: border-box; max-width: 280px; }
.nav .containerNav > ul > li {display:block; border-top: 1px solid rgba(255,255,255,0.1); margin-left: -40px;}
.nav .containerNav > ul > li:first-child {border-top: 0; }
.nav .containerNav > ul > li > a {color: #FFF; padding: 10px 20px 10px 20px; font-size: 22px; display: block; font-family: 'Crimson Text', serif ; transition:ease all 0.1s  }
.nav .containerNav > ul > li > a:hover {padding: 10px 20px 10px 25px; text-decoration: none}	
.nav .containerNav > ul > li > div {position: relative; width: 100%; }
.nav .containerNav > ul > li > div > div {padding: 0;}
.nav .containerNav > ul > li > div > div > ul { padding: 0px 10px 10px 30px ; box-sizing: border-box  }
.nav .containerNav > ul > li > div > div > ul > li {list-style: none; }
.nav .containerNav > ul > li > div > div > ul > li a {color: #FFFFFF; display: block;  padding-left: 0px; padding: 3px 0px 3px 10px;;  font-size: 16px; transition:ease all 0.1s }
.nav .containerNav > ul > li > div > div > ul > li a:hover {text-decoration: none; padding-left: 5px; }


.blogWrapper {margin: 30px 0 0px 0; width: 100%; box-sizing: border-box; height: auto; display: grid; grid-gap: 20px; grid-template-columns: 1fr 1fr 1fr; justify-content: space-between; align-content: center; grid-row: auto; }
.blogWrapper a.box {position:relative; background: #FFF; color: #414042; padding: 4px; border-radius: 2px; text-align: center; box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.20);  display: block ; height: 100%; box-sizing: border-box }
.blogWrapper a.box:hover {text-decoration: none}
.blogWrapper a.box .text {position:relative;  text-align: left; box-sizing: border-box; display: block;  } 
.blogWrapper a.box .text .blogTitle {min-height: 40px; height: 100%; font-size: 15px; line-height: 17px; font-weight: 700; padding-left: 10px; padding-top: 10px; padding-bottom: 35px; display: block}
.blogWrapper a.box .text .shortLink {display: block; font-size: 14px; font-weight: 400; margin-top: 10px; position: absolute; bottom:10px; color: #414042 }
.blogWrapper a.box:hover  .text .shortLink{text-decoration: none}
.blogWrapper a.box .text .shortLink i {margin-left: 0px; line-height: 10px; font-size: 11px; transition: ease all 0.05s}
.blogWrapper a.box:hover .text .shortLink i {margin-left: 2px; }

.blogWrapper a.box .description .longLink {display: block; font-size: 16px; font-weight: 400; margin-top: 30px;  color: #414042 }
.blogWrapper a.box:hover .description .longLink {text-decoration: none}
.blogWrapper a.box .description .longLink i {margin-left: 0px; line-height: 10px; font-size: 11px; transition: ease all 0.05s}
.blogWrapper a.box:hover .description .longLink i {margin-left: 2px; }

.blogWrapper a.box .description {display: none;}
.blogWrapper a.box .image {position: relative; width: 100%; height: auto; display: block; overflow: hidden; margin-bottom: 4px; }
.blogWrapper a.box .image .imageInner{display: block; position:relative; width: 100%; padding-bottom: 57%; background-size: cover;  transition: ease-in-out all .4s;}
.blogWrapper a.box:hover .image .imageInner {margin-left: 2px; transform: scale(1.1); }
.blogWrapper a.box .image img {width:100%!important; height: auto!important; display: block; margin-bottom: 4px;}
.blogWrapper a.box:nth-child(1) .text {position:relative;  text-align: left; width: 40%; float: right; padding: 30px; box-sizing: border-box; height: 100%; } 

.blogWrapper a.box:nth-child(1) .text .blogTitle {min-height: 22px; font-size: 22px; font-weight: 700; padding-left: 10px; padding-top: 0px; line-height: 1.1em; padding-bottom: 0px;}
.blogWrapper a.box:nth-child(1) .image { width: 60%; float: left; margin-bottom: 0px;} 
.blogWrapper a.box:nth-child(1) .description {display: block; margin-top: 30px; padding-left: 0px; font-size: 16px!important; font-weight: 400!important}
.blogWrapper a.box:nth-child(1) .shortLink {display: none;}
.blogWrapper a.box:nth-child(1) {grid-column: 1 / 4;grid-row: 1 / 1; }
.blogWrapper a.box:nth-child(1) .image img {margin-bottom: 0px;}

@media screen and (max-width:1100px) {
    .blogWrapper a.box:nth-child(1) .image { width: 60%; } 
    .blogWrapper a.box:nth-child(1) .text { width: 40%; } 
}



@media screen and (max-width:900px) {
    .blogWrapper a.box:nth-child(1) .image { width: 100%; } 
    .blogWrapper a.box:nth-child(1) .text { width: 100%;   }
    .blogWrapper a.box .text .blogTitle {min-height: 40px; height: auto!important; }
   
}

@media screen and (max-width:900px) {
    .blogWrapper {grid-template-columns: 1fr 1fr; }
    .blogWrapper a.box:nth-child(1) {grid-column: 1 / 3;grid-row: 1 / 1; }
}

@media screen and (max-width:600px) {
    .blogWrapper {grid-template-columns: 1fr ; }
    .blogWrapper a.box:nth-child(1) {grid-column: auto;grid-row: auto; }
}


.blogWrapperMini {margin: 30px 0 0px 0;width: 100%; box-sizing: border-box; height: auto; display: grid; grid-gap: 20px; grid-template-columns: 1fr 1fr 1fr 1fr 1fr; justify-content: space-between; align-content: center; grid-row: auto; }
.blogWrapperMini a.box {position:relative; background: #FFF; color: #414042; padding: 4px; border-radius: 2px; text-align: center; box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.20); overflow: hidden; display: block  }
.blogWrapperMini a.box:hover {text-decoration: none}
.blogWrapperMini a.box .text {position:relative;  text-align: left; box-sizing: border-box; display: block} 
.blogWrapperMini a.box .text .blogTitle {min-height: 35px; font-size: 14px; line-height: 16px; font-weight: 700; padding-left: 10px; padding-top: 10px; padding-bottom: 35px; display: block}
.blogWrapperMini a.box .text .shortLink {display: block; font-size: 14px; font-weight: 400; margin-top: 10px; position: absolute; bottom:10px; color: #414042 }
.blogWrapperMini a.box:hover  .text .shortLink{text-decoration: none}
.blogWrapperMini a.box .text .shortLink i {margin-left: 0px; line-height: 10px; font-size: 11px; transition: ease all 0.05s}
.blogWrapperMini a.box:hover .text .shortLink i {margin-left: 2px; }

.blogWrapperMini a.box .description .longLink {display: block; font-size: 16px; font-weight: 400; margin-top: 30px;  color: #414042 }
.blogWrapperMini a.box:hover .description .longLink {text-decoration: none}
.blogWrapperMini a.box .description .longLink i {margin-left: 0px; line-height: 10px; font-size: 11px; transition: ease all 0.05s}
.blogWrapperMini a.box:hover .description .longLink i {margin-left: 2px; }

.blogWrapperMini a.box .description {display: none;}
.blogWrapperMini a.box .image {}
.blogWrapperMini a.box .image img {width:100%!important; height: auto!important; display: block; margin-bottom: 4px;}


@media screen and (max-width:900px) {
    .blogWrapperMini {grid-template-columns: 1fr 1fr; }
   
}

@media screen and (max-width:600px) {
    .blogWrapperMini {grid-template-columns: 1fr ; }
    
}

.categoriesBanner {position:relative; border-top:0px solid #FFFFFF;}
.categoriesBannerBG { background-image: url("../images/gs-cropped.png"); background-position: 95% 100%; background-repeat: no-repeat;  }
.blogCatIntro p {display:block; margin: 0px; margin-bottom: 14px; padding: 0px;}
.blogCatIntro .blogCatIntro50 {width: 50%; display: inline-block; margin: 0px; padding: 0px}
.tab input[type=checkbox] {position: absolute;  z-index: -1; opacity: 0;   left: -9999px; height: 0px; width: 0px; }


.tab-label {cursor: pointer;  display: inline-block; margin-top: 10px; }
.tab-label .labelShow {color: #FFFFFF; transition: all ease 0.1s}
.tab-label:hover .labelShow {color: #414042;}
.tab-label .labelHide {display: none; color: #FFFFFF; transition: all ease 0.1s; margin-top: 10px;}
.tab-label:hover .labelHide {color: #414042;}
.tab-content {max-height: 0px; overflow: hidden; opacity: 0; transition: all ease 0.7s;  }
input:checked ~ .tab-label .labelShow {display: none;}
input:checked ~ .tab-label .labelHide {display: block;}
input:checked ~ .tab-content {  max-height: 100vh;padding: 0em; padding-top: 20px; opacity: 1;}

@media screen and (max-width:900px) {
    .categoriesBanner::after {display: none;}
    .blogCatIntro .blogCatIntro50 {width: 100%;}
}

.tagID_483 {border-left: 8px solid #35914a}
.tagID_484 {border-left: 8px solid #f49638}
.tagID_485 {border-left: 8px solid #febf30}
.tagID_486 {border-left: 8px solid #734f91}
.tagID_487 {border-left: 8px solid #d31920}
.tagID_507 {border-left: 8px solid #0089c3}
.tagID_500 {border-left: 8px solid #414042}
.tagID_ {border-left: 8px solid #414042}

.tagIDBG_483 {background-color: #35914a; color: #FFFFFF;}
.tagIDBG_484 {background-color: #f49638; color: #FFFFFF}
.tagIDBG_485 {background-color: #febf30; color: #FFFFFF}
.tagIDBG_486 {background-color: #734f91; color: #FFFFFF}
.tagIDBG_487 {background-color: #d31920; color: #FFFFFF}
.tagIDBG_507 {background-color: #0089c3; color: #FFFFFF}
.tagIDBG_500 {background-color: #414042; color: #FFFFFF}
.tagIDBG_ {background-color: #414042; color: #FFFFFF}

.blogBanner {position:relative; height: 60vh; max-height: 500px; max-width: 1140px; background-size: cover; background-position: center top; margin: 0px auto;}
.blogOffset {position:relative; width:100%; max-width: 1000px; margin: 0px auto; margin-top: -10vh; padding: 50px 30px; box-sizing: border-box; background-color: #FFFFFF}
.blogOffset .blogTitle {width: 70%; padding-left: 12px;}
.blogOffset span {padding-left: 20px; display: block}

.offsetOverride {margin-top: 0vh!important;}

@media screen and (max-width:1076px) {
   
    .blogOffset .blogTitle {width: 100%;}
    .blogOffset { padding: 50px 0px;  margin-top: 0vh;}
    .blogOffset span {padding-left: 0px; display: block}
    .blogBanner {position:relative; height: 30vh; max-height: 500px; max-width: 1140px; background-size: cover; background-position: center top; margin: 0px auto;}
}
.inPageSocials {position:relative;  margin: 40px 0 30px 0; }
.inPageSocials span {display: block; margin-bottom: 10px; padding-left: 0px; font-weight: 700;  }
.inPageSocials ul {margin: 0; padding: 0; list-style: none;color: #6f8e40; }
.inPageSocials ul li {display: inline-block; margin-right: 5px;}
.inPageSocials ul li a {display:inline-block; width: 35px; height: 35px; background-position: center; background-size: contain; background-repeat: no-repeat; background-color: #3c3c3a; border-radius: 50%; transition: transform .2s; }
.inPageSocials ul li a:hover {transform: scale(1.1);} 
.inPageSocials ul li a.facebook {background-image: url(../images/socials/social_fb.svg)}
.inPageSocials ul li a.instagram {background-image: url(../images/socials/social_inst.svg)}
.inPageSocials ul li a.twitter {background-image: url(../images/socials/social_tw.svg)}
.inPageSocials ul li a.youtube {background-image: url(../images/socials/social_yt.svg)}
.inPageSocials ul li a.contact {background-image: url(../images/socials/social_contact.svg)}

.assetWrapper {margin: 30px 0 0px 0;width: 100%; box-sizing: border-box; height: auto; display: grid; grid-gap: 20px; grid-template-columns: 1fr 1fr 1fr 1fr; justify-content: space-between; align-content: center; grid-row: auto; }
.assetWrapper a.box {position:relative; background: #FFF; color: #414042; padding: 4px; border-radius: 2px; text-align: center; box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.20); overflow: hidden; text-decoration: none  }
.assetWrapper a.box .text {position:relative;  text-align: left; box-sizing: border-box;} 
.assetWrapper a.box .text .assetTitle {min-height: 20px; font-size: 16px; font-weight: 700; padding-left: 10px; padding-top: 10px; padding-bottom: 35px; border-left:8px solid #333333}
.assetWrapper a.box .image {}
.assetWrapper a.box .image img {width:100%!important; height: auto!important; max-height: 225px; max-width: 400px;  display: block; margin-bottom: 4px;}
.assetWrapper a.box .text .shortLink {display: block; font-size: 14px; font-weight: 400; margin-top: 10px; position: absolute; bottom:10px; color: #414042 }
.assetWrapper a.box:hover .text .shortLink {text-decoration: none}
.assetWrapper a.box .text .shortLink i {margin-left: 0px; line-height: 10px; font-size: 11px; transition: ease all 0.05s}
.assetWrapper a.box:hover .text .shortLink i {margin-left: 2px; }


@media screen and (max-width:1000px) {
    .assetWrapper {grid-template-columns: 1fr 1fr 1fr ;  }
}

@media screen and (max-width:700px) {
    .assetWrapper {grid-template-columns: 1fr 1fr  ;  }
    .assetWrapper .box .image img {display: none;}
}

@media screen and (max-width:450px) {
    .assetWrapper {grid-template-columns: 1fr;  }
}
.imageWrapper {margin: 30px 0 0px 0;width: 100%; box-sizing: border-box; height: auto; display: grid; grid-gap: 20px; grid-template-columns: 1fr 1fr 1fr 1fr; justify-content: space-between; align-content: center; grid-row: auto; }
.imageWrapper a {position:relative; display: block; background: #FFF; padding: 4px; border-radius: 2px; text-align: center; box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.20); overflow: hidden;  }
.imageWrapper a span {position:relative; background-size: cover; background-repeat: no-repeat; background-position: center;  background-color: #ccc; box-sizing: border-box; height: 0;  padding-bottom: 75%;} 

@media screen and (max-width:1000px) {
    .imageWrapper {grid-template-columns: 1fr 1fr 1fr; }
}
@media screen and (max-width:700px) {
    .imageWrapper {grid-template-columns: 1fr 1fr; }
}
@media screen and (max-width:450px) {
    .imageWrapper {grid-template-columns: 1fr; }
	.imageWrapper a {pointer-events: none;}
}

.categoriesWrapper {margin: 30px 0 0px 0;width: 100%; box-sizing: border-box; height: auto; display: grid; grid-gap: 20px; grid-template-columns: 1fr 1fr 1fr 1fr 1fr; justify-content: space-between; align-content: center; grid-row: auto; }
.categoriesWrapper .box {position:relative; background: #FFF; color: #414042; padding: 4px; border-radius: 2px; text-align: center; box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.20); overflow: hidden  }
.categoriesWrapper .box:hover {text-decoration: none }
.categoriesWrapper .box .text {position:relative;  text-align: left; box-sizing: border-box; display: block} 
.categoriesWrapper .box .text .catTitle {min-height: 20px; display: block; font-size: 16px; font-weight: 700; padding-left: 10px; padding-top: 10px; padding-bottom: 35px;}
.categoriesWrapper .box .image {display: block; padding-bottom: 100px; background-image: url("../images/gs-logo-nt.svg"); background-size: 70px 70px; background-repeat: no-repeat; background-position: center; transition:all ease-in 0.2s; box-shadow: 0px 0px 0px 0px rgba(0,0,0,0);}
.categoriesWrapper .box:hover .image { background-size: 80px 80px;}
.categoriesWrapper .box .shortLink {display: block; font-size: 14px; font-weight: 400; margin-top: 10px; position: absolute; left: 15px; text-align: left; bottom:15px; color: #414042; text-decoration: none;}
.categoriesWrapper .box  .shortLink i {margin-left: 0px; line-height: 10px; font-size: 11px; transition: ease all 0.05s}
.categoriesWrapper .box:hover .shortLink i {margin-left: 2px; }

@media screen and (max-width:800px) {
    .categoriesWrapper { grid-template-columns: 1fr 1fr 1fr; }
}

@media screen and (max-width:500px) {
    .categoriesWrapper { grid-template-columns: 1fr 1fr ; }
}

@media screen and (max-width:400px) {
    .categoriesWrapper { grid-template-columns: 1fr ; }
}

/* Forms */

.choices-2-col {  -webkit-columns: 2 ;-moz-columns: 2 ;columns: 2 ;-webkit-column-gap: 4em;-moz-column-gap: 4em;column-gap: 4em;}



.formContainer {position: relative; margin: 0px auto; width: 100%; max-width: 1200px; box-sizing: border-box; padding: 0px; margin-top: 30px; } 
.formContainer .field {position: relative; margin: 15px 0; box-sizing: border-box; display: 
block}
.formContainer .field input[type=text] {display: block; width: 100%; box-sizing: border-box; color: #555; background: none; padding: 12px 12px 6px 12px; border: 1px solid rgba(0,0,0,0.4); outline: none; border-radius: 14px; transition: all 0.2s ease; background-color: #FFFFFF  }
.formContainer .field textarea {display: block; width: 100%; box-sizing: border-box; color: #555; background: none; padding: 16px 16px 6px 16px; border: 1px solid rgba(0,0,0,0.4); outline: none; border-radius: 14px; transition: all 0.2s ease; height: 150px; background-color: #FFFFFF  }
.formContainer .field select {display: block; width: 100%; box-sizing: border-box; color: #555; background: none; padding: 11px 16px 11px 16px; border: 1px solid rgba(0,0,0,0.4); outline: none; border-radius: 14px; transition: all 0.2s ease; background-color: #FFFFFF   }
.formContainer .field a.checkbox {position: relative; display:block; color: inherit; text-decoration:none; padding: 1px 0 0 35px;  }
.formContainer .field a.checkbox i {position: absolute; left: 0; top: 0; width: 20px; padding: 10px 0; line-height: 0; border: 1px solid rgba(0,0,0,0.4); color: #f7f7f7; text-align: center; border-radius: 13px; font-size: 12px;}
.formContainer .field a.checkbox.checked i {color: #0089c3; }
.formContainer .field a.radio {position: relative; display: block; color: inherit; text-decoration:none; padding: 4px 0 0 35px;  }
.formContainer .field a.radio input {position: absolute; top: 0; left: 0;opacity: 0;}
.formContainer .field a.radio i {position: absolute; left: 0; top: 3px; width: 20px; padding: 10px 0; line-height: 0; border: 1px solid rgba(0,0,0,0.4); color: #f7f7f7; text-align: center; border-radius: 13px; font-size: 12px;}
.formContainer .field a.radio.checked i {color: #0089c3; }

.radioContainer{}

.formContainer .field.fieldError input {border-color: #b50000; }
.formContainer .field.fieldError textarea {border-color: #b50000;}
.formContainer .field.fieldError select {border-color: #b50000;}
.formContainer .error {color: #b50000;}
.formContainer div.error {margin-top: 5px;}
.formContainer .field .label {color: #555; margin-bottom: 4px; padding-left: 13px;}
.formContainer .field.floatingLabel {position: relative; }
.formContainer .field.floatingLabel select {padding: 16px 16px 6px 16px; }
.formContainer .field.floatingLabel .label {position: absolute; top: 13px; line-height: 1; left: 0; z-index: 1; transition: all 0.2s ease; margin: 0; pointer-events: none;}
.formContainer .field.floatingLabel.active .label {top: 6px; line-height: 1; font-size: 0.6em; opacity: 0.6; }
.formContainer .title {margin: 30px 0 0px 0; font-family: 'Open Sans', sans-serif; font-weight: bold; font-size: 1em; padding: 0 0px; clear:both;  text-align: left  }
.formContainer .selectContainer {position: relative;   }
.formContainer .selectContainer i {position: absolute; top: 50%; right: 16px; pointer-events: none; line-height: 0; font-size: 20px; ;}
.formContainer .fieldError .selectContainer i {border-color: #b50000; }
.formContainer .selectContainer select {-webkit-appearance: none; -moz-appearance: none;}
.formContainer .selectContainer select::-ms-expand { display: none;}
.formContainer .date {position: relative; margin-left: -2px; margin-right: -2px; }
.formContainer .date .selectContainer {float: left; width: 33.3%; padding: 0 2px; box-sizing: border-box;  }
.formContainer .dateTime {position: relative; margin-left: -2px; margin-right: -2px; }
.formContainer .dateTime .selectContainer {float: left; width: 20%; padding: 0 2px; box-sizing: border-box;  }
.formContainer .dateTime .selectContainer select {padding-left: 10px; padding-right: 10px;}
.formContainer .dateTime .selectContainer i {right: 10px; }

.formContainer .submit {margin: 15px 0;}


.formContainer .submit button {position:relative; background-color: #0089c3; color: #FFFFFF; border-radius: 10px; padding: 8px 20px 3px 20px; border:0px solid #f6841f; transition:all ease 0.1s; display: inline-block; text-align: center; font-family: 'Crimson Text', serif ; font-size: 16px; font-weight: 700; margin-top: 20px; cursor: pointer}
.formContainer .submit button:hover {background-color: #54585a; color: #FFF; border:0px solid #FFF; text-decoration: none}

.field_1051 {margin-top: 0px!important;}
.field_1053 .label{display: none}


.field_1035 {margin: 30px 0px 0px 0!important; }

.field_1056 {display: none;}
.info_1056 {font-size: 10px; line-height: 13px; display: block; margin-top: 30px; margin-bottom: 30px;}

.field_1058 .label{display: none;}
.info_1057 {font-size: 10px; line-height: 13px; display: block; margin-top: 30px; margin-bottom: 30px;}

.field_1077 .label{display: none;}
.info_1076 {font-size: 10px; line-height: 13px; display: block; margin-top: 30px; margin-bottom: 30px;}

.cols {position:relative; margin: 0 -20px 0 -20px}
.cols .col {position:relative; float: left; width: 50%; box-sizing: border-box; padding: 0px 20px;}


form.waiting .formContainer:after {content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255,255,255,0.05);}

@media screen and (max-width:1000px) {
    .cols {position:relative; margin: 0 0px 0 0px}
   .cols .col { width: 100%; padding: 0px 0px;} 
}

.prevNextContainer {background: #0089c3; padding: 20px;}
.prevNext {position: relative; width: 100%; max-width: 920px; margin: 0px auto; display: flex; flex-wrap: nowrap; justify-content: space-between}
.prevNext a {color: #FFFFFF; text-decoration: none}
.prevNext a:hover { text-decoration: underline}

.map {position:relative; margin: 20px 0; }
.map > div {position:relative; height: 0; padding-bottom: 56%; border: 1px solid #ddd; }
.mapInfoBox {position:relative; display:block; border: 1px solid #fff; width: 240px; padding: 15px; color: #555; background:#fff; font-size: 14px; box-sizing: border-box; box-shadow: 0px 0px 6px 3px rgba(0,0,0,0.3);}
.mapInfoBox .markerContent {padding: 0 15px;}
.mapInfoBox .markerContent:before {content: ""; display: block; padding-top: 1px; margin-bottom: 10px;}
.mapInfoBox .markerContent:after {content: ""; display: block; padding-bottom: 1px; margin-top: 10px;}
.mapInfoBox .markerContent .title {text-align: left; font-size: 20px; margin: 5px 0; }
.mapInfoBox .markerContent .description {margin: 5px 0; }
.mapInfoBox .markerContent .link { display: block; margin: 5px 0; }

.mapInfoBox .closeButton { position: absolute; top: -15px; right: -15px; width: 30px; height: 30px; background: #0089c3; border-radius: 50%; box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.4); }
.mapInfoBox .closeButton:before { content: ""; position: absolute; background: #fff; width: 20px; height: 3px; top: 50%; left: 50%; margin-top: -1.5px; margin-left: -10px; transform: rotate(45deg);  border-radius: 2px; }
.mapInfoBox .closeButton:after { content: ""; position: absolute; background: #fff; width: 20px; height: 3px; top: 50%; left: 50%; margin-top: -1.5px; margin-left: -10px; transform: rotate(-45deg); border-radius: 2px; }
.mapInfoBox .closeButton:hover { -webkit-transform: scale(1.05); transform: scale(1.05); }

@media screen and (max-width:600px) {
    .map > div {position:relative; height: 0; padding-bottom: 0%; height: 80vh; margin-left: -20px; margin-right: -20px;  border: 1px solid #ddd; }
}

.carousel {position:relative; margin: 0px auto; height: 60vh; min-height: 400px; max-width: 1140px; width:100%; max-height: 550px;  background-size: cover; background-position: center; }
.carousel .slide {position: absolute; display:none;  left: 0; top: 0; width: 100%; height: 60vh; min-height: 400px; max-height: 550px; background-position: center; background-size: cover;}
.carousel .slide .content {position:relative; align-items: center; height: 60vh; min-height: 400px; max-height: 550px;  display: flex; align-items: center;justify-content: center; background-color: rgba(0,0,0,0.3) }
.carousel .slide .content .content-align {width: 100%; display: block; padding: 30px; box-sizing: border-box; text-align: center  }
.carousel .slide .content .content-align .slideTitle {position:relative; font-family: 'Crimson Text', serif ; text-align:center;  color:#FFFFFF;  font-size: 3.5em; font-weight: 700; margin: 0px; box-sizing: border-box; line-height: 1em;  text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);  }
.carousel .slide .content .content-align .slideStrap {font-family: 'Crimson Text', serif ; text-align:center; color:#FFFFFF; font-size: 2.0em; font-weight: 400;  margin: 0px; padding: 0px; box-sizing: border-box ; line-height: 1em; text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);   }
.carousel .slide .content .content-align .slideButton {position:relative; display: block; width: 100%; text-align: center}


.carousel .slide .contentBlog {position:relative;  height: 60vh; min-height: 400px; max-height: 550px;  display: flex; justify-content: flex-end; align-items: flex-end; background-color: rgba(0,0,0,0.05) }
.carousel .slide .contentBlog .content-align {width: 100%; display: block; padding: 30px; box-sizing: border-box; text-align: left; }
.carousel .slide .contentBlog .content-align .slideTitle {position:relative; display: block;  text-align:left;  color:#FFFFFF;  font-size: 0.8em; font-weight: 400; margin: 0px; box-sizing: border-box;   text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.9); width: 45%; }

.carousel .slide .contentBlog .content-align .slideTitle_offset {margin-bottom: 100px; padding-left: 90px;}

@media screen and (max-width:1000px) {
    .carousel .slide .contentBlog .content-align .slideTitle { text-align:center;   width: 100%;  margin-bottom: 30px; }
    .carousel .slide .contentBlog .content-align .slideTitle_offset {margin-bottom: 0px; padding-left: 0px;}
}


.carousel .slide.active {display:block;}
.carousel ul.buttons {position: absolute;  width: 100%; text-align: center; bottom: 20px;  padding: 0px; list-style: none; z-index: 2;}
.carousel ul.buttons li {display: inline-block; margin-left: 2px; margin-right: 2px;}
.carousel ul.buttons li a {position: relative; box-sizing: border-box; display: inline-block; width: 13px;height: 13px; border: 2px solid #fff; border-radius: 50%; background-color: #FFF; }
.carousel ul.buttons li a:hover {background-color: #0089c3;}
.carousel ul.buttons li a.active {background-color: #0089c3; }

.carousel .slide .content .content-align a.full-button {position:relative; background-color: #FFF; color: #0089c3; border-radius: 10px; padding: 8px 20px 3px 20px; border:0px solid #f6841f; transition:all ease 0.1s; display: inline-block; text-align: center; font-family: 'Crimson Text', serif ; font-size: 16px; font-weight: 700; margin-top: 20px; margin: 0px auto;}
.carousel .slide .content .content-align a.full-button:hover {background-color: #54585a; color: #FFF; border:0px solid #FFF; text-decoration: none}	

@media screen and (max-width:1000px) {
    .carousel ul.buttons {bottom: 10px;}
    .carousel .slide .content .content-align .slideTitle { font-size: 2em;  }
	.carousel .slide .content .content-align .slideStrap { font-size: 1em;  }
}

.searchResult {position:relative;  margin-bottom: 10px;  border-bottom: 1px solid #e6e6e7; background-color: #FFFFFF;}
.searchResult .inner { padding: 10px 0px; font-size: 13px;}
.searchResult .inner a {display: inline-block; background-color: #f1f1f2; margin-right: 10px; padding: 5px 10px; font-size: 14px; border-radius: 3px;}
.searchResult:last-child {border-bottom: 0px solid #e6e6e7;}

footer {font-size: 16px;}
footer strong {font-size: 22px; font-family: 'Crimson Text', serif ; font-weight: 400 }

.newsletterFooter {position:relative; float: left; width: 40%;}
.socialFooter {position:relative; float: right; width: 43%;}
.legalFooter {text-align: center; margin-top: 30px; font-size: 11px;}
.legalFooter a{color:#FFFFFF;}


@media screen and (max-width:1000px) {
    .newsletterFooter { width: 100%; margin-bottom: 30px; text-align: center}
    .socialFooter { width: 100%; text-align: center}
}
.socialFooter ul {margin: 20px 0; padding: 0; list-style: none;}
.socialFooter ul li {display: inline-block; margin: 0 5px 0 0 ;}
.socialFooter ul li a {display:inline-block; width: 30px; height: 30px; background-position: center; background-size: contain; background-repeat: no-repeat; background-color: #FFFFFF; border-radius: 50%; transition: transform .2s; }
.socialFooter ul li a:hover {transform: scale(1.1);} 
.socialFooter ul li a.facebook {background-image: url(../images/socials/social_fb_grey.svg)}
.socialFooter ul li a.instagram {background-image: url(../images/socials/social_inst_grey.svg)}
.socialFooter ul li a.twitter {background-image: url(../images/socials/social_tw_grey.svg)}
.socialFooter ul li a.youtube {background-image: url(../images/socials/social_yt_grey.svg)}




