  @charset "utf-8";



/* CSS Document */

/* || General styles */

html {font-family: 'Ubuntu', sans-serif; font-size: 16px; line-height: 1.4; color: #000000; box-sizing: border-box; -webkit-tap-highlight-color:  rgba(255, 255, 255, 0);  }
button, textarea, select {font-family: 'Ubuntu', sans-serif; font-size: 16px;}

body {margin: 0;padding: 0; background-color: #FFFFFF;}
input[type=text] {-webkit-appearance: none; -moz-appearance: none; appearance: none;}

*, *:before, *:after { box-sizing: inherit;}

.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; }

.pb-small:before {content: ""; position: relative; display: block; padding-top: 1px; margin-bottom: 25px; }
.pa-small:after {content: ""; position: relative; display: block; padding-bottom: 1px; margin-top: 25px; }

.pb-vsmall:before {content: ""; position: relative; display: block; padding-top: 1px; margin-bottom: 10px; }
.pa-vsmall:after {content: ""; position: relative; display: block; padding-bottom: 1px; margin-top: 10px; }

.pb-breadcrumb:before {content: ""; position: relative; display: block; padding-top: 1px; margin-bottom: 6px; }
.pa-breadcrumb:after {content: ""; position: relative; display: block; padding-bottom: 1px; margin-top: 6px; }

.clear {clear:both; display: block}

@media screen and (max-width:1130px) {
    html {font-size: 14px; }
    .pb:before {content: ""; position: relative; display: block; padding-top: 1px; margin-bottom: 25px; }
    .pa:after {content: ""; position: relative; display: block; padding-bottom: 1px; margin-top: 25px; }
}

a.video-link {position: relative; display: block; }
a.video-link {display: block; }
a.video-link:after {content: ""; position: absolute; top: 50%; left: 50%; width: 80px; height: 80px; margin-top: -40px; margin-left: -40px; background-image: url("/CDN/R3/godalming/images/icons/play-button.svg"); box-sizing: border-box;; opacity: 0.5; transition: all linear 0.1s;}
a.video-link:hover:after {opacity: 1;}





.header-wrapper_v2 {position:relative;background: rgb(30,54,100); background: linear-gradient(90deg, rgba(30,54,100,1) 50%, rgba(59,184,182,1) 50%); width: 100%; padding: 0 50px;  }
.header-wrapper_v2 .header-container {position:relative; display: flex; justify-content: space-between; align-items: center; gap: 10px; width:100%; max-width: 1240px; margin: 0 auto; padding: 25px 0; background: rgb(30,54,100); background: linear-gradient(90deg, rgba(30,54,100,1) 10%, rgba(59,184,182,1) 90%); }
.header-wrapper_v2 .header-container a.header-logo {position:relative; width: 242px; height: 72px; display: block; background-image: url("/CDN/R3/godalming/images/logos/gc-logo-wht.svg"); background-size: contain; background-repeat: no-repeat; background-position: left;}
.header-wrapper_v2 .header-container > div {display: flex; flex-direction: column; gap: 10px; }
.header-wrapper_v2 .header-portal {font-size: 14px; color: #fff;text-align: right; }
.header-wrapper_v2 .header-portal p {margin: 0; display: flex; gap: 20px; justify-content: flex-end; }
.header-wrapper_v2 .header-portal a {color: #fff; text-decoration: none;}
.header-wrapper_v2 .header-portal a:hover {text-decoration: underline}
.header-wrapper_v2 .header-navigation {display: flex; justify-content: flex-end; align-items: center; gap: 20px; }
.header-wrapper_v2 .header-navigation a.top-link {position:relative; display: block; border-radius: 25px; border: 2px solid #fff; border: 2px solid rgba(255, 255, 255, 0.9); color: #fff; text-decoration: none; transition: all linear 0.1s; background-size: 25px auto; background-repeat: no-repeat; background-position: center; }
.header-wrapper_v2 .header-navigation a.top-link:hover { background-color: rgba(255,255,255,0.15)}
.header-wrapper_v2 .header-navigation a.top-link span {position:absolute; right: -8px; top:-8px; color: #fff; background: rgb(233,32,120); background: linear-gradient(25deg, rgba(233,32,120,1) 10%, rgba(253,0,0,1) 90%); width: 22px; height: 22px; border-radius: 50%; text-align: center; font-weight: 700; font-size: 13px; padding-top: 1px; transition: background linear 0.1s}
.header-wrapper_v2 .header-navigation a.top-link-circle {width: 50px; height: 50px;}
.header-wrapper_v2 .header-navigation a.top-link-button {padding: 10px 50px; font-size: 18px; font-weight: 700; text-align:center; }
.header-wrapper_v2 .header-navigation a.link-cart {background-image: url("/CDN/R3/godalming/images/icons/gc-icons-cart-2.svg"); }
.header-wrapper_v2 .header-navigation a.link-account {background-image: url("/CDN/R3/godalming/images/icons/gc-icons-account.svg");}
.header-wrapper_v2 .header-navigation a.link-notification {background-image: url("/CDN/R3/godalming/images/icons/gc-icons-bell.svg");}
.header-wrapper_v2 .header-navigation a.link-burger {background-image: url("/CDN/R3/godalming/images/icons/gc-nav-menu.svg");}
.header-wrapper_v2 .header-navigation form {display: inline-block; position: relative; float: left;}
.header-wrapper_v2 .header-navigation input.link-search {background-image: url("/CDN/R3/godalming/images/icons/gc-icons-search.svg"); background-size: 25px 26px; background-repeat: no-repeat; background-position: top 50% right 11px; transition:width ease-in-out 0.2s, background-color linear 0.1s;  position:relative; display: block; border-radius: 25px; border: 2px solid #fff; border: 2px solid rgba(255, 255, 255, 0.9); color: #fff; text-decoration: none; width: 50px; height: 50px; background-color: transparent; outline: 0; cursor: pointer; font-family: 'Ubuntu', sans-serif; font-size: 1rem }
.header-wrapper_v2 .header-navigation input.link-search:hover {background-color: rgba(255,255,255,0.15);}
.header-wrapper_v2 .header-navigation input.link-search:focus {width: 300px; background-color: rgba(255,255,255,0.15); color: rgba(255, 255, 255, 1); padding-left: 20px; cursor:text}
.header-wrapper_v2 .header-navigation form button.searchButton {position: absolute; right:0px; width: 50px; height: 50px; background-color: aqua; cursor:pointer; }
@media screen and (max-width:1130px) {
	.header-wrapper_v2 {padding: 0 25px; }
	.header-wrapper_v2 .header-portal {font-size: 12px; }
	.header-wrapper_v2 .header-navigation {gap: 12px; }
	.header-wrapper_v2 .header-container a.header-logo {width: 206px; height: 50px;}
	.header-wrapper_v2 .header-navigation input.link-search {display: none;}
}
@media screen and (max-width:750px) {
	.header-wrapper_v2 .header-portal {display: none;}
	.header-wrapper_v2 .header-navigation a.link-account {display:none;}
	.header-wrapper_v2 .header-navigation a.link-notification {display:none;}
	.header-wrapper_v2 .header-navigation a.top-link-button {padding: 10px 20px; }
}
@media screen and (max-width:600px) {
	.header-wrapper_v2 .header-portal {display: none; }
	.header-wrapper_v2 .header-navigation a.top-link-button {display: none; }
}

.nav {position: fixed; display: block; top: 0; height: 100%; width: 100%; z-index: 10; pointer-events: none; background: rgba(0,0,0,0); transition: all 0.3s;}
.nav.open > div {width: 500px;} 
.nav.open { pointer-events: all; cursor: pointer; background: rgba(0,0,0,0.3); }
.nav > div {position: absolute; top: 0; right: 0; width: 0; height: 100%; overflow: hidden; transition: all 0.3s; }			
.nav > div > div {position: absolute; left: 0; top: 0; width: 500px; height: 100%; padding-top: 90px; background: #1e3664; box-sizing: border-box;}
.nav > div > div:after {content: ""; position: absolute; right: -60px; bottom: -70px; width: 250px; height: 310px; background: url("/CDN/R3/godalming/images/logos/gc-logo-shield-trans.svg") center no-repeat; background-size: contain;}
.nav > div > div .nav-container {position: absolute; top: 0; width: 100%; height: 100%; overflow: auto; padding: 70px 30px 20px 30px; }
.nav > div > div .nav-container > a {position:absolute; display: block; top: 30px; right: 30px; border-radius: 25px; width: 50px; height: 50px; border: 2px solid #fff; border: 2px solid rgba(255, 255, 255, 0.9); -webkit-background-clip: padding-box; /* for Safari */background-clip: padding-box; /* for IE9+, Firefox 4+, Opera, Chrome */; color: #FFFFFF; text-decoration: none; background-image: url("/CDN/R3/godalming/images/icons/gc-close.svg"); background-size: 20px 20px; background-repeat: no-repeat; background-position: center;}
.nav > div > div .nav-container > a:hover { background-color: rgba(255,255,255,0.15);} 
.nav > div > div .nav-container ul {padding: 0; margin: 0; width: 100%; list-style: none; }
.nav > div > div .nav-container ul li {position: relative; padding: 0; margin: 0; }
.nav > div > div .nav-container ul li a {position: relative; display: block; color: #fff; color: rgba(255,255,255,0.9); text-decoration: none; font-size: 1.1em; padding: 10px 0; font-weight: 400;  }
.nav > div > div .nav-container ul li a:hover {color: #fff;}
.nav > div > div .nav-container > ul > li {border-bottom: 1px solid rgba(255,255,255,0.3); padding: 10px 0;}
.nav > div > div .nav-container > ul > li > a {font-weight: 700; font-size: 1.3em;  }	
.nav > div > div .nav-container > ul > li > a b {position: absolute; top: 0; right: 0; width: 50px; height: 100%;  }
.nav > div > div .nav-container > ul > li > a b::after {content: ""; position: absolute; top: 50%; left: 50%; width: 16px; height: 16px; margin-top: -10px; margin-left: -8px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg) }
.nav > div > div .nav-container > ul > li > div {position: relative; height: 0; overflow: hidden;}
.nav > div > div .nav-container > ul > li > div ul {position: absolute; bottom: 0; width: 100%;}
.nav > div > div .nav-container > ul > li.open > div {height: auto; }
.nav > div > div .nav-container > ul > li.open > div ul {position: relative;}
.nav > div > div .nav-container > ul > li.open > a b::after{transform: rotate(-135deg); margin-top: -5px; }
.nav > div > div .nav-container input.link-search-menu {display: none;}
.nav > div > div .nav-container .header-portal-nav {display: none;}


@media screen and (max-width:1130px) {
    .nav > div > div .nav-container { padding: 100px 30px 20px 30px; }
	.nav > div > div .nav-container input.link-search-menu {display:block; position:absolute; top: 29px; left: 0px; background-image: url("/CDN/R3/godalming/images/icons/gc-icons-search.svg"); background-size: 25px 26px; background-repeat: no-repeat; background-position: top 50% right 11px;  border-radius: 25px; float: none; border: 2px solid #fff; border: 2px solid rgba(255, 255, 255, 0.9); -webkit-background-clip: padding-box; /* for Safari */background-clip: padding-box; /* for IE9+, Firefox 4+, Opera, Chrome */; margin-left: 25px; color: #FFFFFF; text-decoration: none; width: 69%; height: 50px; background-color: transparent; outline: 0; font-family: 'Ubuntu', sans-serif; font-size: 1rem;padding-left: 20px;  }
	.nav > div > div .nav-container input.link-search-menu:hover {background-color: rgba(255,255,255,0.15);}
	.nav > div > div .nav-container input.link-search-menu:focus {background-color: rgba(255,255,255,0.15); text-indent: 0px;  cursor:text;}
}
@media screen and (max-width: 750px) {
	.nav > div > div .nav-container .header-portal-nav {display: block; padding: 20px 0; font-size: 14px; color: #fff; width: 100%; text-align: left; border-bottom: 1px solid rgba(255,255,255,0.3);}
	.nav > div > div .nav-container .header-portal-nav p {margin: 0; display: flex; justify-content: space-between; gap: 10px; align-items: center;  }
	.nav > div > div .nav-container .header-portal-nav a {display: block; color: #fff; text-decoration: none; text-align: center;}
	.nav > div > div .nav-container .header-portal-nav a:hover {text-decoration: underline}
}
@media screen and (max-width: 600px) {
	.nav.open > div {width: 90vw;} 
	.nav > div > div {width: 90vw;}	
}

/* || User Content */

.user-content { display: block}
.user-content ul {list-style-position: outside; padding: 0 0 0 20px ;}
.user-content ul li::marker {color: #1e3664; ;}
.user-content p {/* || remove */ max-width: 900px; /* || remove  dxxxisplay: inline-block;*/ margin: 0em auto 1em auto;}
.user-content img {width: 100%!important; height: auto!important; max-width: 900px;}
.user-content blockquote { margin: 25px 0px; color: #1e3664; font-size: 1.1em; line-height: 1.6em; font-weight: 700; font-style: italic;  }
.user-content blockquote::after {content: "”"; margin-left: 5px; }
.user-content blockquote::before {content: "“"; margin-right: 5px; }

.user-content .quote-area {margin: 25px 0px; color: #1e3664; font-size: 1.1em; line-height: 1.6em; font-weight: 700; font-style: italic;}
.user-content .quote-area strong {color: #000000; font-weight: 400; font-style: normal;}

.user-content table {border-collapse: collapse; border: #1e3664; margin: 25px 0px; width: 100%!important; max-width: 900px;}
.user-content table th {background-color: #1e3664; color: #FFFFFF; font-weight: 700; border: 1px solid #1e3664; padding: 0.5rem;  text-align: left}
.user-content table td {border: 1px solid #1e3664; padding: 0.5rem;}

.user-content h1, .user-content h2, .user-content h3, .user-content h4, .user-content h5 {color:#1e3664; margin: 1em 0 0.5em 0;}
.user-content h2 {margin: 1em 0 0.5em 0;}
.user-content h3 {font-size:20px; margin: 1em 0 0.5em 0;}
.user-content h4 {margin: 1em 0 0.5em 0;}

.user-content  a {color:#1e3664;}
.user-content a:hover {color:#1e3664; text-decoration: none}

h2.equiv-margin {margin-top: -20px; }

.content-text { margin:50px 25px;  max-width: 1200px;}
.content-text a {color:#1e3664;}
.content-text a:hover {color:#1e3664; text-decoration: none}
.user-content .content-text {margin-left: 0; margin-right: 0;}

.gradient-inner .content-text { margin:0px 25px;}


.map-container {position:relative;  border: 1px solid #aaaaaa; border-radius: 0px; overflow: hidden }
.map-container .map {height: 0; padding-bottom: 56%; }

/* || Content-text overides */

.main-left-50 .content-text {margin: 0px; text-align: left}
.main-right-50 .content-text {margin: 0px; text-align: left }
.main-full-width .content-text {margin: 0px; text-align: left }
.standard-2-col .content-text {margin: 0px auto; text-align: left; }
.main-container .content-text p {display: block; width: 100%; margin: 0em auto 1em auto; }

.content-image {max-width: 1240px; margin:0px auto; margin-top: 25px; margin-bottom: 25px;}
.content-image img {width: 100%!important; height: auto!important; display: block }
.content-image img a {}

.main-right .content-image {max-width: 1200px; margin:0px auto; margin-top: 0px; margin-bottom: 25px;}


.button-container {position: relative; display: flex; gap: 10px; width: 100%; margin: 25px 0; justify-content: space-between;}
table .button-container {margin: 0;}
.button-container.alignL {justify-content: flex-start;}
.button-container.alignC {justify-content: center;}
.button-container.alignR {justify-content: flex-end;}
.button-container .button {position:relative; display: block; border-radius: 25px; border: 2px solid rgb(30, 54, 100) ; color: #1e3664; background: none; text-decoration: none; text-align:center; padding: 12px 50px; line-height: 20px; font-size: 18px; font-weight: 700; transition: all linear 0.1s; cursor: pointer;}
.button-container .button:hover { background-color: rgb(30, 54, 100); color: #FFF}
.button-container .button.disabled {color: #ccc; border-color: #ccc; pointer-events: none; }
.button-container .button.grey {color: #ccc; border-color: #ccc;  }
.button-container .button.grey:hover {background: #ccc;}
.button-container .button.white {color: #fff; border-color: #fff;  }
.button-container .button.white:hover {background: rgba(255,255,255,0.25);}
.grad-bg .button-container .button {color: #fff; border-color: #fff;  }
.grad-bg .button-container .button:hover {background: rgba(255,255,255,0.25);}
.button-container .button.blue {color: #fff; border-color: rgb(30, 54, 100); background: rgb(30, 54, 100);  }

.button .inActive {display: none;}
.button.inActive .inActive {display: inline;}
.button.inActive .active {display: none;}




@media screen and (max-width: 750px) {
    .button-container {margin: 20px 0;}
	.button-container .button {padding: 10px 25px; font-size: 16px; } 
}

.outer-wrapper {position:relative;}
.inner-wrapper {position:relative; width: 100%; padding: 0px 50px;  }
.main-container {position:relative; width: 100%; max-width: 1240px; margin:0px auto;}

.align-c {text-align: center}

@media screen and (max-width:1130px) {
    .inner-wrapper {width: 100%; padding: 0px 25px; }
}

.zeroStock {color: red;}
.button-left {text-align: left}

/* || Products */

.product-price-container {margin: 20px 0; color: #1e3664; line-height: 1.05;}
.product-price-container .product-price {font-size: 32px; font-weight: 700;}


/* || Breadcrumb */

.breadcrumb-container {font-size:12px;}
.breadcrumb-container a {color:#FFFFFF; text-decoration: none; margin-left: 10px; padding-right: 0px;}
.breadcrumb-container a span:hover {text-decoration: underline}
.breadcrumb-container a:first-child {margin-left: 0px;}
.breadcrumb-container a::after {content: ">"; margin-left: 10px;}
.breadcrumb-container a:last-child::after {content: "";}

@media screen and (max-width:900px) {
    .breadcrumb-container a {display:none;}
    .breadcrumb-container a:first-child {display: inline-block;}
    .breadcrumb-container a:nth-last-child(2) {display: inline-block;}
    .breadcrumb-container a:nth-last-child(2)::after {content: "";}
}


/* || Left / Right areas */

.main-container .main-left {position:relative; width:calc(100% - 390px); float: left; padding: 0px 0px 0px 0px; }
.main-container .main-right  {position:relative; width:350px; float: right; }

.main-container .main-left-50 {position:relative; width:calc(50% - 12.5px); float: left; padding: 0px 0px 0px 0px;  }
.main-container .main-right-50 {position:relative; width:calc(50% - 12.5px); float: right; padding: 0px 0px 0px 0px; }

.main-container .main-left-50 .user-content h1 {margin-top: 0px; }
.main-container .main-right-50 .user-content h1 {margin-top: 0px; }

.tethered {position:sticky!important; top: 0;}
@media screen and (max-width:1000px) {
    
    .main-container .main-left   {width:calc(100% - 0px); float: left; padding: 0px 0px 0px 0px;}
    .main-container .main-right  {position:relative; width:100%; float: right; margin-top: 25px;}
    
    .main-container .main-left-50 {position:relative; width:calc(100% - 0px); float: left; padding: 0px 0px 0px 0px;  }
    .main-container .main-right-50 {position:relative; width:calc(100% - 0px); float: right; padding: 0px 0px 0px 0px; }
    
    .main-container .main-right-50 img {margin-top: 20px;}
    .main-container .main-left-50 img {margin-top: 20px;}
	
	.tethered {position:relative!important; top: 0;}
}



/* || Gradients */

.grad-orange-yellow {background: rgb(233,121,32); background: linear-gradient(90deg, rgba(233,121,32,1) 50%, rgba(253,197,0,1) 50%);}
.grad-orange-yellow .gradient-inner {background: rgb(233,121,32); background: linear-gradient(90deg, rgba(233,121,32,1) 10%, rgba(253,197,0,1) 90%); color: #FFFFFF}
.grad-orange-yellow .gradient-inner .user-content h1, .gradient-inner .user-content h2, .gradient-inner .user-content h3, .gradient-inner .user-content h4, .gradient-inner .user-content h5 {color:#FFFFFF}

.grad-blue-green {background: rgb(30,54,100); background: linear-gradient(90deg, rgba(30,54,100,1) 50%, rgba(59,184,182,1) 50%);}
.grad-blue-green .gradient-inner {background: rgb(30,54,100); background: linear-gradient(90deg, rgba(30,54,100,1) 10%, rgba(59,184,182,1) 90%); color: #FFFFFF}
.grad-blue-green .gradient-inner .user-content h1, .gradient-inner .user-content h2, .gradient-inner .user-content h3, .gradient-inner .user-content h4, .gradient-inner .user-content h5 {color:#FFFFFF}


.grad-purple-pink {background: rgb(117,36,113); background: linear-gradient(90deg, rgba(117,36,113,1) 50%, rgba(203,71,147,1) 50%);}
.grad-purple-pink .gradient-inner {background: rgb(117,36,113); background: linear-gradient(90deg, rgba(117,36,113,1) 10%, rgba(203,71,147,1) 90%); color: #FFFFFF}
.grad-purple-pink .gradient-inner .user-content h1, .gradient-inner .user-content h2, .gradient-inner .user-content h3, .gradient-inner .user-content h4, .gradient-inner .user-content h5 {color:#FFFFFF}



/* || Courses */

.course-hero-container {}

.concertinas {text-align: left; margin: 20px auto; border-top: 1px solid #1e3664 ;  }
.concertinas .concertina {margin: 15px 0; border-bottom: 1px solid #1e3664 ; padding-bottom: 15px; }

.concertinas-inpage {text-align: left; margin: 0px auto; margin-bottom: -1px;  border-bottom: 1px solid #1e3664 ; }
.concertinas-inpage .concertina { border-bottom: 0px solid #1e3664!important ; padding-bottom: 0px;}

.concertinas .concertina > a {display:block; position: relative;  padding: 12px 60px 12px 0px; color: #1e3664; text-decoration: none; font-weight: 700; font-size: 20px; }
.concertinas .concertina > a span {position: absolute; right: 0px; top: calc(50% - 25px); display: block; width: 50px; height: 50px; background-color:#1e3664; border-radius: 50%; transition: all linear 0.1s  }
.concertinas .concertina > a span::after {content: ""; position: absolute; top: 50%; left: 50%; width: 16px; height: 16px; margin-top: -10px; margin-left: -8px; border-right: 3px solid #fff; border-bottom: 3px solid #fff; transform: rotate(45deg); transition: all ease-in-out 0.0s}
.concertinas .concertina > a:hover span {background-color:#3bb8b6; }
.concertinas .concertina > a p {margin: 0px;}

.concertinas .concertina > div {position: relative; height: 0; overflow: hidden;}
.concertinas .concertina > div > div {position: absolute; left: 0; bottom: 0; width: 100%; padding: 0 0px;  }

.concertinas .concertina > div > div h4 {margin: 24px 0px 5px 0px;}

.concertinas .concertina > div > div:before {content: ""; display:block; padding-top: 1px; margin-bottom: 20px; }
.concertinas .concertina > div > div:after {content: ""; display:block; padding-bottom: 1px; margin-top: 30px; }
.concertinas .concertina.open > div {height: auto; }
.concertinas .concertina.open > div > div {position: relative;}	 
.concertinas .concertina.open > a span {background-color:#3bb8b6; }
.concertinas .concertina.open > a span::after {content: ""; position: absolute; top: 50%; left: 50%; width: 16px; height: 16px; margin-top: -4px; margin-left: -8px; border-right: 3px solid #fff; border-bottom: 3px solid #fff;  transform: rotate(-135deg) }

@media screen and (max-width:600px) {
    .concertinas .concertina > a {font-size: 18px; }
    .concertinas .concertina > a span {position: absolute; right: 0px; top: calc(50% - 25px); display: block; width: 50px; height: 50px; background-color:#1e3664; border-radius: 50%; transition: all linear 0.1s  }
}
.course-cta {display: flex; justify-content: center; align-items: center; min-height: 205px; margin:25px 0px; }
.course-cta .cta-content {font-size: 28px; font-weight: 700; text-align: center; line-height: 33px; padding: 0px 25px}
.course-cta .cta-content p {margin:0px!important}
.course-cta .cta-content .button-container:last-child {margin-bottom: 0;}

@media screen and (max-width:600px) {
    .course-cta .cta-content {font-size: 22px; line-height: 28px; }
}
.course-grad-orange-yellow {background: rgb(233,121,32); background: linear-gradient(25deg, rgba(233,121,32,1) 10%, rgba(253,197,0,1) 90%); color: #FFFFFF}
.course-grad-blue-green {background: rgb(30,54,100); background: linear-gradient(25deg, rgba(30,54,100,1) 10%, rgba(59,184,182,1) 90%); color: #FFFFFF}
.course-grad-purple-pink {background: rgb(117,36,113); background: linear-gradient(25deg, rgba(117,36,113,1) 10%, rgba(203,71,147,1) 90%); color: #FFFFFF}


.post-sliders {}
.post-sliders .title {color: #1e3664; font-weight: 700; font-size: 24px;}

@media screen and (max-width:600px) {
    .post-sliders .title { font-size: 22px;}
}

/* || Galleries */

.gallery {background: #FFFFFF; margin: 25px 0;}
@media screen and (max-width:1300px) {
	.header-wrapper + .gallery {margin-top: 0;}
	.breadcrumb + .gallery {margin-top: 0;}
}
.gallery-cell {position: relative; width: 100%; max-width: 1240px; height: 600px; margin-right: 25px; background: #efefef; background-size: cover!important; background-position: center center!important; }

.gallery-cell-products {position: relative; width: 100%; max-width: 1240px; height: 698px; margin-right: 25px; background: #efefef; background-size: cover!important; background-position: center center!important; }

.gallery-cell-courses {position: relative; width: 100%; max-width: 1240px; height: 520px; margin-right: 25px; background: #efefef; background-size: cover!important; background-position: center center!important; }

.gallery-cell-small {position: relative; width: 100%; max-width: 600px; height: 340px; margin-right: 25px; background: #efefef; background-size: cover!important; background-position: center center!important; }

.gallery-cell-case-studies {position: relative; width: 100%; max-width: 670px; height: 340px; margin-right: 50px; background: #efefef; background-size: cover!important; background-position: center center!important; }

.gallery-cell-news {position: relative; width: 100%; max-width: 340px; height: 380px; margin-right: 25px; background: #efefef; background-size: cover!important; background-position: center center!important; }

.gallery-cell-courses-mini {position: relative; width: 100%; height: 380px; margin-right: 25px; background: #efefef; background-size: cover!important; background-position: center center!important; }
.gallery-cell-courses-mini img {height: auto!important; width: 100%!important; display: none}


.gallery-cell-inPage {position: relative; width: 100%; height: 420px; margin-right: 25px; background-color: #eee; background-repeat: no-repeat; background-size: contain!important; background-position: center center!important; }
.is-fullscreen .gallery-cell-inPage {background-color: transparent!important;}
.gallery.is-fullscreen {padding: 35px 0!important}
.gallery-cell-inPage img {height: auto!important; width: 100%!important; display: none; max-width: 1200px;}

.gallery-cell-thumb {position: relative; width: 100%; max-width: 100px; height: 70px; margin-right: 5px; background: #efefef; background-size: cover!important; background-position: center center!important; }

.gallery-cell-thumb.is-nav-selected .thumb-overlay {position: absolute; top: 0px; left: 0px; width: 100%; height: 100%!important; background: linear-gradient(
    to top,  rgba(0, 0, 0, 0),rgba(0, 0, 0, 0)); outline: 2px solid #3bb8b6; outline-offset: -2px;}
.thumb-overlay {position: absolute; top: 0px; left: 0px; width: 100%; height: 100%!important; background: linear-gradient(
    to top,  rgba(0, 0, 0, 0.2),rgba(0, 0, 0, 0.2)) }

.overlay {position: absolute; top: 0px; left: 0px; width: 100%; height: 100%!important; background: linear-gradient(
    to top,  rgba(0, 0, 0, 0.7),rgba(0, 0, 0, 0))}
.shield {position: absolute; top: 0px; left: 0px; width: 100%; height: 100%!important; background-image: url("/CDN/R3/godalming/images/logos/gc-logo-shield-trans.svg"); background-position: top -40px right -50px ; background-repeat: no-repeat; }

.gallery-cell .gallery-text {position:absolute; width: 100%; bottom: 50px;  text-align: center; color: #FFFFFF; font-size: 45px; font-weight: 700; line-height: 55px; padding: 0px 25px; }

@media screen and (max-width:900px) {
    
    .gallery-cell { height: 420px;  }
    .gallery-cell-products { max-width: 1240px; height: 420px;  }
    .gallery-cell-courses { max-width: 1240px; height: 420px;  }
    .gallery-cell .gallery-text { bottom: 25px;  font-size: 35px; font-weight: 700; line-height: 40px; padding: 0px 25px; }
    
}


.gallery-cell-small .gallery-text {position:absolute; width: 100%; bottom: -100px;  text-align: center; color: #FFFFFF; font-size: 20px; font-weight: 700; line-height: 30px; padding: 25px 25px 50px 25px; transition: all ease-in-out 0.2s;}
.gallery-cell-small:hover .gallery-text {bottom: 0px;}

@media screen and (max-width:800px) {
    
}

.gallery-cell-case-studies .gallery-text {position:absolute; width: 100%; bottom: -50px;  text-align: left; color: #FFFFFF; font-size: 24px; font-weight: 700; line-height: 25px; padding: 0px 25px; transition: all ease-in-out 0.2s }
.gallery-cell-case-studies:hover .gallery-text {bottom: 20px;}

.gallery-cell-news .gallery-text {position:absolute; width: 100%; bottom: -50px;  text-align: left; color: #FFFFFF; font-size: 20px; font-weight: 700; line-height: 25px; padding: 0px 25px; transition: all ease-in-out 0.2s }
.gallery-cell-news:hover .gallery-text {bottom: 20px;}

.final-slide {background: rgb(30,54,100); background: linear-gradient(90deg, rgba(30,54,100,1) 10%, rgba(59,184,182,1) 90%); }
.final-slide .gallery-text {position:absolute; width: 100%; bottom: 15px!important;  text-align: left; color: #FFFFFF; font-size: 20px; font-weight: 400; line-height: 25px; padding: 0px 25px; transition: all ease-in-out 0.2s }
.final-slide .gallery-text:hover { bottom: 15px!important;  }

.final-slide .gallery-text .gallery-final-text {position:absolute; left: 0px; bottom: 150px;  font-size:28px;   text-align: center; line-height: 39px; font-weight: 700; padding: 0 90px;}
.final-slide .gallery-text .gallery-final-text P {margin:0px;}

.is-fullscreen .gallery-cell-inPage {height: 100%; width: 100%;  display: flex;align-items: center;justify-content: center; background-image: none!important   }
.is-fullscreen .gallery-cell-inPage img {width: 100%!important; height: auto!important; display: block}

.is-fullscreen .gallery-cell-courses-mini {height: 100%; width: 100%;  display: flex;align-items: center;justify-content: center; background-image: none!important   ;background-color: transparent}
.is-fullscreen .gallery-cell-courses-mini img {width: 100%!important; max-width: 1000px; height: auto!important; display: block}


.gallery-cell-courses a.video-link {position: relative; display: block; height: 100%; width: 100% }
.gallery-cell-courses a.video-link {display: block; }
.gallery-cell-courses a.video-link:after {content: ""; position: absolute; top: 50%; left: 50%; width: 80px; height: 80px; margin-top: -40px; margin-left: -40px; background-image: url("/CDN/R3/godalming/images/icons/play-button.svg"); box-sizing: border-box;; opacity: 0.5; transition: all linear 0.1s;}
.gallery-cell-courses a.video-link:hover:after {opacity: 1;}

a.xvideo-link {position:absolute; display: block; left: 0px; top: 0px; height: 100%; width: 100%;}
a.xvideo-link:hover {}
a.xvideo-link .video-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 95px; height: 95px; background-image:url("/CDN/R3/godalming/images/icons/play-button.svg"); background-size: contain; background-repeat: no-repeat; opacity: 0.6; transition: all 0.2s linear;}
a.xvideo-link:hover .video-icon {opacity: 1;}

.inpage-video-link {position:relative}
.inpage-video-link a {position:absolute; display: block; left: 0px; top: 0px; height: 100%; width: 100%;}
.inpage-video-link a .video-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 95px; height: 95px; background-image:url("/CDN/R3/godalming/images/icons/play-button.svg"); background-size: contain; background-repeat: no-repeat; opacity: 0.6; transition: all 0.2s linear;}
.inpage-video-link a:hover .video-icon {opacity: 1;}

a.info-link {display: inline-block; width: 1.2em; height: 1.2em; vertical-align: -0.125em; background: url("/CDN/R3/godalming/images/icons/gc-icons-info.svg") center no-repeat; background-size: contain;  }
.floating-label a.info-link {display: none;}

@media screen and (max-width:1300px) {
    .gallery-cell-case-studies .gallery-text { padding: 0px 70px;  }
}

@media screen and (max-width:700px) {
    .final-slide .gallery-text .gallery-final-text { bottom: 120px;  }
}

@media screen and (max-width:600px) {
    .gallery-cell-case-studies .gallery-text { padding: 0px 25px;  }
    .final-slide .gallery-text .gallery-final-text {position:absolute; left: 0px; bottom: 120px;  font-size:24px;   text-align: center; line-height: 29px; font-weight: 700; padding: 0 50px;}
}

.link-container-gallery {position: relative; width: 100%;  margin:25px 0px 0px 0px;  text-align: left}
.link-container-gallery a.button {color: #FFFFFF; display: block; text-decoration: none; font-weight: 400; padding: 10px 0px 10px 40px; ; font-size: 18px;  transition: all linear 0.1s; }
.link-container-gallery a.button:hover {}
.link-container-gallery a.button span {position: absolute; left: 0px; top: 8px; display: block; width: 30px; height: 30px;  border-radius: 50%; border: 1px solid #FFFFFF; background-color: rgba(255, 255, 255, 0.0); transition:background-color linear 0.1s; }
.link-container-gallery a.button span::after {content: ""; position: absolute; top: 50%; left: 50%; width: 10px; height: 10px; margin-top: -5px; margin-left: -7px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg); transition: all ease-in-out 0.0s;}

.link-container-gallery a.button:hover span { background-color: rgba(255, 255, 255, 0.15); }

/* || Search Containers */

.search-container { display: block;}
.search-container .search-count {position:relative; width: 33px; height: 33px; display: inline-block; background-color:#1e3664; color:#3bb8b6; border-radius: 50%; text-align: center;  }
.search-container .search-item {display:flex; margin: 5px 0px;  }
.search-container .search-item .flex {max-width: 50%;}

.search-container .search-item .flex:first-child {margin-right: 20px; padding-right: 20px; }
.search-container .search-item .flex a.title {color: #1e3664; text-decoration: none; font-weight: 700;} 
.search-container .search-item .flex:hover a.title {color:#3bb8b6}
.search-container .search-item .flex .text {color:#000000; font-size: 13px;}


/* || Footers + Socials */

.course-follow-social {position:relative;}
.course-follow-social .title {font-size: 19px; line-height: 26px; color: #1e3664; font-weight: 700; margin-bottom: 10px;}
.course-follow-social a {display: inline-block; width:50px; height: 50px; border-radius: 50%; margin-right: 10px;}
.course-follow-social a.social-youtube {background-image: url("/CDN/R3/godalming/images/social/gc-social-youtube-orange.svg"); background-size: cover;}
.course-follow-social a.social-twitter {background-image: url("/CDN/R3/godalming/images/social/gc-social-twitter-orange.svg"); background-size: cover;}
.course-follow-social a.social-instagram {background-image: url("/CDN/R3/godalming/images/social/gc-social-instagram-orange.svg"); background-size: cover;}
.course-follow-social a.social-facebook {background-image: url("/CDN/R3/godalming/images/social/gc-social-facebook-orange.svg"); background-size: cover;}

.course-share-social {position:relative;}
.course-share-social .title {font-size: 19px; line-height: 26px; color: #1e3664; font-weight: 700; margin-bottom: 10px;}
.course-share-social a {display: inline-block; width:50px; height: 50px; border-radius: 50%; margin-right: 10px;}
.course-share-social a.social-youtube {background-image: url("/CDN/R3/godalming/images/social/gc-social-youtube-blue.svg"); background-size: cover;}
.course-share-social a.social-twitter {background-image: url("/CDN/R3/godalming/images/social/gc-social-twitter-blue.svg"); background-size: cover;}
.course-share-social a.social-facebook {background-image: url("/CDN/R3/godalming/images/social/gc-social-facebook-blue.svg"); background-size: cover;}
.course-share-social a.social-mail {background-image: url("/CDN/R3/godalming/images/social/gc-social-mail-blue.svg"); background-size: cover;}
.course-share-social a.social-print {background-image: url("/CDN/R3/godalming/images/social/gc-social-print-blue.svg"); background-size: cover;}

.footer-wrapper {position:relative; width: 100%; }

.footer-social {color:#FFFFFF}
.footer-social .social-title {display: block; font-size: 24px; margin-bottom: 12px; line-height: 34px; font-weight: 700; }
.footer-social a {position: relative; display: inline-block; width: 50px; height: 50px; margin: 12px; border-radius: 25px; transition:background-color linear 0.1s; }
.footer-social a:hover {background-color: #1e3664}
.footer-social a.social-youtube {background-image: url("/CDN/R3/godalming/images/social/gc-social-youtube-wht.svg"); background-size: cover;}
.footer-social a.social-twitter {background-image: url("/CDN/R3/godalming/images/social/gc-social-twitter-wht.svg"); background-size: cover;}
.footer-social a.social-facebook {background-image: url("/CDN/R3/godalming/images/social/gc-social-facebook-wht.svg"); background-size: cover;}
.footer-social a.social-instagram {background-image: url("/CDN/R3/godalming/images/social/gc-social-instagram-wht.svg"); background-size: cover;}
.footer-social .newsletterArea {display: block; margin-bottom: 20px 0}
.footer-social .newsletterArea a {color: #fff; text-decoration: none; width: auto; height: auto; margin: 0;}
.footer-social .newsletterArea a:hover {color: #fff; text-decoration: underline; background: none;}



@media screen and (max-width:900px) {
    .footer-social .social-title {display: block; font-size: 1.5em; margin-bottom: 12px; }
    .footer-social  a {position: relative; display: inline-block; width: 35px; height: 35px; margin: 8px; border-radius: 50%;}
}

.footer-wrapper .footer-links {background-color:#3c3c3b; color: #FFFFFF; padding: 0px 20px; }
.footer-wrapper .footer-links a {color:#FFFFFF; text-decoration: none; display: inline-block; margin: 0px 12px 25px 12px;}
.footer-wrapper .footer-links a:hover {text-decoration: underline}
.footer-wrapper .footer-links hr {margin-bottom: 25px; width;100%; max-width: 565px;  border: 0; height: 1px; background: #FFFFFF;}
.footer-wrapper .footer-links .legal {}
.footer-wrapper .footer-links .legal a{margin: 0;}

.footer-sponsors {position: relative;  }
.footer-sponsors .images {position: relative; display: flex; align-items: center; justify-content: center; gap: 50px; padding: 0 20px}
a.sponsors-link {position:relative; background-size: contain; background-repeat: no-repeat; background-position: center}
a.logo-edu {background-image: url("/CDN/R3/godalming/images/logos/edu-icon.png");  width: 184px; height: 67px; }
a.logo-offsted {background-image: url("/CDN/R3/godalming/images/logos/offstead-icon.png"); width: 67px; height: 67px;  }
a.logo-sfc {background-image: url("/CDN/R3/godalming/images/logos/sfc-icon.png"); width: 184px; height: 67px;  }
a.logo-artsmark {background-image: url("/CDN/R3/godalming/images/logos/artsmark-award.jpg");  width: 249px; height: 60px;  }
a.logo-top10 {background-image: url("/CDN/R3/godalming/images/logos/ALevel-PlatinumAward-Top10.png");  width: 88px; height: 100px;  }
@media screen and (max-width:900px) {
	.footer-sponsors .images {gap: 20px; flex-wrap: wrap}
	a.logo-edu { width: 138px; height: 50px; }
	a.logo-offsted {width: 50px; height: 50px;  }
	a.logo-sfc {width: 138px; height: 50px;  }
	a.logo-artsmark { width: 187px; height: 45px;  }
	a.logo-top10 { width: 66px; height: 75px;  }	
	a.sponsors-link {flex-shrink: 0; }
}

.shield-background { background-image: url("/CDN/R3/godalming/images/logos/gc-logo-shield-trans.svg"), url("/CDN/R3/godalming/images/logos/gc-logo-shield-trans.svg"); background-position:top 20px left 0px, bottom 20px right 0px; background-repeat: no-repeat; background-size: 250px 310px }

@media screen and (max-width:900px) {
    .shield-background { background-image: url("/CDN/R3/godalming/images/logos/gc-logo-shield-trans.svg"); background-position: bottom 20px right 0px; background-repeat: no-repeat; background-size: 250px 310px }
}

/* || Iframe Aspect Ratios */

.intrinsic-container {position: relative;  height: calc(100vh - 155px); overflow: hidden; min-height: 500px; }
.intrinsic-container iframe {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}

@media screen and (max-width:1130px) {
    .intrinsic-container {position: relative;  height: calc(100vh - 130px); overflow: hidden; margin-left: -25px; margin-right: -25px; }
}

/* || Sitemap */

.sitemap {}
.sitemap ul {}
.sitemap ul li {}
.sitemap ul li ul {}
.sitemap ul li ul li {}


.alignL {text-align: left;}
.alignC {text-align: center;}
.alignR {text-align: right;}


.tabContainer {margin: 40px 0}
.tabContainer .tabs {display: flex; position: relative; align-items: center; justify-content: flex-start; gap: 10px; }
.tabContainer .tabs:before {content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 2px; background: #1e3664;}
.tabContainer .tabs a {position: relative; box-sizing: border-box; padding: 7px 25px; border: 2px solid #1e3664; border-top-left-radius: 15px; border-top-right-radius: 15px; text-decoration: none; font-weight: 700; color: #fff; background: #1e3664; }
.tabContainer .tabs a.active {border-bottom-color: #fff; background: #fff; color: #1e3664; pointer-events: none; }
.tabContainer .tabContent {display:none}
.tabContainer .tabContent.active {display:block;}
.tabContainer .tabContent .empty {text-align:center; padding: 40px 0;}

.casAppointmentsContainer {margin: 20px 0; }
.casAppointmentsContainer .user-content h2 {margin: 0;}
.casAppointmentsContainer .teamsLink {margin: 10px 0 20px 0;}
.casAppointmentsContainer .teamsLink a {display:inline-block; box-sizing: border-box; padding: 5px 25px; color: #fff; background: #1e3664; border: 2px solid #1e3664; text-decoration: none; font-size: 16px; font-weight: 700; border-radius: 20px; }
.casAppointmentsContainer .teamsLink a:hover{color: #1e3664; background: #fff; }
.casAppointmentsContainer h4 {margin: 0;}
.casAppointmentsContainer table {border: 1px solid #ddd; border-collapse: collapse; width: 100%; margin: 10px 0; }
.casAppointmentsContainer table thead {font-size: 0.8em; color: #555; }
.casAppointmentsContainer table td {border: 1px solid #ddd; border-spacing: 0; padding: 10px 10px; }
.casAppointmentsContainer table td .empty {text-align:center; padding: 30px 0;}
.casAppointmentsContainer table td a {display:inline-block; padding: 5px 20px; color: #fff; background: #1e3664; border: 2px solid #1e3664; text-decoration: none; font-size: 16px; font-weight: 700; border-radius: 20px; }
.casAppointmentsContainer table td a:hover{color: #1e3664; background: #fff; }
.casAppointmentsContainer .tick {position: relative; display: inline-block; width: 24px; height: 24px; }
.casAppointmentsContainer .tick:after  {content: ""; position: absolute; top: 50%; left: 50%; box-sizing: border-box; margin-top: -8px; margin-left: -10px; width: 20px; height: 10px; border-left: 4px solid #1e3664; border-bottom: 4px solid #1e3664; transform: rotate(-45deg);}
.casAppointmentsContainer .cross {position: relative; display: inline-block; width: 20px; height: 20px; }
.casAppointmentsContainer .cross:before  {content: ""; position: absolute; top: 50%; left: 50%; box-sizing: border-box; margin-top: -2px; margin-left: -10px; width: 18px; height: 4px; background: #bf0000; transform: rotate(-45deg);}
.casAppointmentsContainer .cross:after  {content: ""; position: absolute; top: 50%; left: 50%; box-sizing: border-box; margin-top: -2px; margin-left: -10px; width: 18px; height: 4px; background: #bf0000; transform: rotate(45deg);}
.casAppointmentsContainer .alert {display: inline-block; margin: 0 2px; width: 20px; height: 20px; background:url("/CDN/R3/godalming/images/icons/gc-alert.svg") center no-repeat; background-size: contain;}

.casSearchContainer .searchForm {position: relative; display: flex; align-items: center; gap: 10px; width: 100%; padding-right: 5px;  max-width: 400px; font-size: inherit;  margin: 10px auto; border: 2px solid #1e3664; border-radius: 27px;  }
.casSearchContainer .searchForm input[type=text] {border: none; flex-grow: 1; background: none; box-sizing: border-box; padding: 15px; outline: none; font-size: inherit}
.casSearchContainer .searchForm select {border: none; background: none; box-sizing: border-box; padding: 15px; outline: none;}
.casSearchContainer .searchForm button {border: none; outline: none; cursor:pointer; background:url("/CDN/R3/godalming/images/icons/gc-icons-search.svg") center no-repeat #1e3664; background-size: 20px auto; color: transparent; width: 40px; height: 40px; border-radius: 50%; }
.casSearchContainer .searchResults {position: relative; min-height: 80px; margin: 30px 0;}
.casSearchContainer.loading .searchResults {opacity: 0.5;}
.casSearchContainer.loading .searchResults:after {content: ""; display:block; position: absolute; top: 50%; left: 50%; margin-top: -20px; margin-left: -20px; border: 6px solid #1e3664; border-top: 6px solid transparent; border-radius: 50%; width: 40px; height: 40px; animation: spin 2s linear infinite; box-sizing: border-box;}

.casSearchContainer .searchResults table {border: 1px solid #ddd; border-collapse: collapse; width: 100%; margin: 10px 0; }
.casSearchContainer .searchResults table thead {font-size: 0.8em; color: #555; }
.casSearchContainer .searchResults table td {border: 1px solid #ddd; border-spacing: 0; padding: 5px 10px; }
.casSearchContainer .searchResults table td .empty {text-align:center; padding: 30px 0;}
.casSearchContainer .searchResults table td a {display:inline-block; padding: 5px 20px; color: #fff; background: #1e3664; border: 2px solid #1e3664; text-decoration: none; font-size: 16px; font-weight: 700; border-radius: 20px; }
.casSearchContainer .searchResults table td a:hover{color: #1e3664; background: #fff; }

.casSearchContainer .searchResults .pager {text-align:right; font-weight:normal; font-size: 11px; color: #555;}
.casSearchContainer .searchResults .pager ul {padding: 0; margin: 0 0 3px 0; border-collapse:collapse; list-style:none; font-size: 15px; color: #333;}
.casSearchContainer .searchResults .pager ul li {display: inline-block; position: relative; line-height: 1.2em; vertical-align:middle; }
.casSearchContainer .searchResults .pager ul li:first-child a, .pager ul li:first-child i {border-top-left-radius: 4px; border-bottom-left-radius:4px; border-left: 1px solid #ccc;}
.casSearchContainer .searchResults .pager ul li:first-child a:after, .pager ul li:first-child i:after {content: ""; position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; margin-top: -4px; margin-left: -3px; border-left-style: solid; border-left-width: 2px; border-bottom-style: solid; border-bottom-width: 2px; box-sizing: border-box; transform: rotate(45deg); }
.casSearchContainer .searchResults .pager ul li:first-child i:after {border-color: #ccc;}
.casSearchContainer .searchResults .pager ul li:first-child a:after {border-color: #000;}
.casSearchContainer .searchResults .pager ul li:first-child a:hover:after {border-color: #fff;}

.casSearchContainer .searchResults .pager ul li:last-child a, .pager ul li:last-child i {border-top-right-radius: 4px; border-bottom-right-radius:4px;}
.casSearchContainer .searchResults .pager ul li:last-child a:after, .pager ul li:last-child i:after {content: ""; position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; margin-top: -4px; margin-left: -6px; border-right-style: solid; border-right-width: 2px; border-bottom-style: solid; border-bottom-width: 2px; box-sizing: border-box; transform: rotate(-45deg); }
.casSearchContainer .searchResults .pager ul li:last-child i:after {border-color: #ccc;}
.casSearchContainer .searchResults .pager ul li:last-child a:after {border-color: #000;}
.casSearchContainer .searchResults .pager ul li:last-child a:hover:after {border-color: #fff;}

.casSearchContainer .searchResults .pager b, .pager a, .pager i {border-top:1px solid #ccc; border-bottom:1px solid #ccc; display: inline-block; padding: 4px 2px; text-align: center; min-width: 24px; text-decoration:none; line-height: 1.2em; font-weight:normal;font-style:normal; border-right: 1px solid #ccc; }
.casSearchContainer .searchResults .pager b, .pager a, .pager i {padding: 4px 2px;}

.casSearchContainer .searchResults .pager ul li b {background-color:#1e3664; color:#fff; border-color: #1e3664 }
.casSearchContainer .searchResults .pager ul li i {background-color:rgba(255,255,255,0.5); color:#ccc; }
.casSearchContainer .searchResults .pager ul li a {background-color:rgba(255,255,255,0.5); color:#333;}
.casSearchContainer .searchResults .pager ul li em {padding-left: 2px; padding-right: 2px; }
.casSearchContainer .searchResults .pager ul li a:hover {color:#fff; background-color:#1e3664; border-color: #666; }

.casMenu {margin: 50px 0;}
.casMenu .title {position: relative; font-size: 24px; font-weight: 700; color: #1e3664;  }
.casMenu .title a {position: absolute; top: 0; right: 0; padding: 5px 20px; color: #fff; background: #1e3664; border: 2px solid #1e3664; text-decoration: none; font-size: 18px; font-weight: 700; border-radius: 20px; }
.casMenu .title a:hover {background: #fff; color: #1e3664;} 
.casMenu hr {margin: 30px 0; border: none; height: 1px; background:#1e3664;} 
.casMenu .casNote {position: relative; padding-left: 36px; margin: 20px 0;}
.casMenu .casNote .casNoteTitle {color: #1e3664; font-weight: 700;  }

.casMenu .casNote .tick {position: absolute; top: 0; left: 0; width: 26px; height: 26px; border-radius:50%; background: #3bb8b6;}
.casMenu .casNote .tick:before {content: ""; position: absolute;  left: 50%; top: 50%; width: 14px; height: 6px; margin-top: -4px; margin-left: -7px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; box-sizing: border-box; transform: rotate(-45deg);}

.casMenu .casAlert {margin: 10px 0; padding-left:30px; background: url("/CDN/R3/godalming/images/icons/gc-alert.svg") left no-repeat; background-size: 20px auto; color: #bf0000; font-weight: 700 }

.casPersonalInfo {font-size: 18px; }
.casPersonalInfo .label {margin-top: 20px; }
.casPersonalInfo .value {margin-bottom: 20px; font-weight: 700; }

.casButtonContainer {margin: 30px 0; display: flex; justify-content: space-between}
.casButtonContainer a {position:relative; display: block; border-radius: 25px; border: 2px solid #1e3664; color: #fff; background: #1e3664; text-decoration: none; padding:0px 50px; height: 50px; font-size: 18px; font-weight: 700; padding-top: 10px;}
.casButtonContainer a:hover { background-color: #fff; color: #1e3664; }

.casSearchContainer .alert {display: inline-block; margin: 0 2px; width: 20px; height: 20px; background:url("/CDN/R3/godalming/images/icons/gc-alert.svg") center no-repeat; background-size: contain;}
.casSearchContainer .tick {position: relative; display: inline-block; width: 24px; height: 24px; }
.casSearchContainer .tick:after  {content: ""; position: absolute; top: 50%; left: 50%; box-sizing: border-box; margin-top: -8px; margin-left: -10px; width: 20px; height: 10px; border-left: 4px solid #1e3664; border-bottom: 4px solid #1e3664; transform: rotate(-45deg);}
.casSearchContainer .cross {position: relative; display: inline-block; width: 20px; height: 20px; }
.casSearchContainer .cross:before  {content: ""; position: absolute; top: 50%; left: 50%; box-sizing: border-box; margin-top: -2px; margin-left: -10px; width: 18px; height: 4px; background: #bf0000; transform: rotate(-45deg);}
.casSearchContainer .cross:after  {content: ""; position: absolute; top: 50%; left: 50%; box-sizing: border-box; margin-top: -2px; margin-left: -10px; width: 18px; height: 4px; background: #bf0000; transform: rotate(45deg);}
.CASspcialAlert {color: #b50000; margin: 1em 0; font-weight: 700; font-size: 1.1em}
.CASspcialAlert .alert {display: inline-block; margin: 0 10px 0 0; vertical-align: middle; width: 20px; height: 20px; background:url("/CDN/R3/godalming/images/icons/gc-alert.svg") center no-repeat; background-size: contain;}
		
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}


.cas-container {margin: 30px 0; border: 2px solid #1e3664; background: rgba(30,54,100,0.2); padding: 0 20px; border-radius: 4px  }

/* || Cart  */

.cartTable {width: 100%; border-collapse: collapse; border: none;}
.cartTable td {border: none;}
.cartTable thead tr td {padding: 5px 5px; vertical-align: top;}
.cartTable tbody tr td {padding: 10px 5px; vertical-align: top;}
.cartTable tfoot tr td {padding: 10px 5px; vertical-align: top;}
.cartTable tr td:first-child {padding-left: 10px;}
.cartTable tr td:last-child {padding-right: 10px;}
.cartTable thead tr td {border-bottom: 1px solid #ccc}
.cartTable tbody tr td {background: #eee; border-bottom: 1px solid #ddd; }
.cartTable a {color: #1e3664;}
.cartTable tbody .prodText {padding-left: 70px; min-height: 70px; position:relative;}
.cartTable tbody .prodText .image {position: absolute; left: 0; top: 0; width: 60px; height: 60px; background-size: cover; background-postiojn: center; background-color: #ddd; background-repeat: no-repeat; border: 1px solid #ccc; margin-right: 10px; ;}
.cartTable tbody .prodText .image b {position: absolute; top: 50%; left: 0; width: 100%; font-size: 9px; font-weight: 400; line-height: 0; text-align:center; color: #999;}
.cartTable tbody .prodLink {display:block; font-weight: 700; }
.cartTable tbody .choices {font-size: 0.8em; margin: 5px 0;}
.cartTable tbody .remove {font-size: 0.8em; margin: 5px 0;}
.cartTable tfoot tr td {background: #ddd; font-weight: 800;  }
.cartTable .fa-trash {font-size: 1.2em;}
.cartTable .shippingCalc {font-weight: normal;}
.cartTable .shippingCalc form{margin: 10px 0;}
.cartTable .shippingCalc .title {font-weight: 700;}
.cartTable .shippingCalc .error {mrgin-top: 5px; color: #b50000}
.cartTable .shippingCalc input {padding: 5px 10px; border: 1px solid #ccc;}
.cartTable .shippingCalc button {padding: 5px 10px}
.cartTable .shippingCalc button {position: relative; background: #dca719; color: #fff; cursor:pointer; font-weight: 700; border: none; outline: none; border-radius: 5px; padding: 5px 20px; transition: all 0.2s ease; }
.cartTable .shippingCalc button:hover {background:#fff; color: #000;}
.cartTable .cartQty a {}
.cartTable .cartQty select {display: none; box-sizing: border-box; color: #555; background: #fff;; padding: 3px 20px 3px 8px; border: 1px solid #1e3664; outline: none; border-radius: 6px; transition: all 0.2s ease;  }

@media screen and (max-width:750px) {
	.cartTable tbody .prodText {padding-left: 0; }
	.cartTable tbody .prodText .image {display:none;}
	.cartTable tbody .description {display:none;}
	.cartTable tr td:nth-child(2) {display:none;}
	.cartTable tr td:nth-child(3) {display:none;}	
}

.detailsTable {width: 100%; border-collapse: collapse; border: none;}
.detailsTable td {border: none;}
.detailsTable thead tr td {padding: 5px 5px; vertical-align: top;}
.detailsTable tbody tr td {padding: 10px 5px; vertical-align: top;}
.detailsTable tfoot tr td {padding: 10px 5px; vertical-align: top;}
.detailsTable tr td:first-child {padding-left: 10px;}
.detailsTable tr td:last-child {padding-right: 10px;}
.detailsTable thead tr td {border-bottom: 1px solid #ccc}
.detailsTable tbody tr td {background: #eee; border-bottom: 1px solid #ddd;}
.detailsTable a {color: #1e3664;}
.detailsTable tfoot tr td {background: #ddd; font-weight: 800;}





.alertsModal {position: fixed; display:none; top: 0; left: 0; width: 100%; height: 100%; height: 100dvh; background:rgba(0,0,0,0.7); z-index: 100; }
.alertsModal h1 {padding: 0;}
.alertsModal p {padding: 0;}
.alertsModal .inner {position: absolute; left: 50%; top: 50%; width: 90%; max-width: 450px; height: auto; max-height: 100%; padding: 0; background: #fff; background: rgba(255,255,255,0.9); box-sizing: border-box; -webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.75); -moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.75); box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.75);}
.alertsModal .inner a.closeButton { position: absolute; top: -15px; right: -15px; width: 30px; height: 30px; background: #1e3664; border-radius: 50%; box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.3); transition: all 0.2s; }
.alertsModal .inner a.closeButton:before { content: ""; position: absolute; background: #fff; width: 16px; height: 2px; top: 50%; left: 50%; margin-top: -1px; margin-left: -8px; transform: rotate(45deg); border-radius: 2px; }
.alertsModal .inner a.closeButton:after { content: ""; position: absolute; background: #fff; width: 16px; height: 2px; top: 50%; left: 50%; margin-top: -1px; margin-left: -8px; transform: rotate(-45deg); border-radius: 2px; }
.alertsModal .inner a.closeButton:hover {background-color: #3bb8b6; transform: scale(1.05); }
.alertsModal .inner .content {position: relative; margin: 0 auto; padding: 0 20px; overflow: auto; text-align: center}
.alertsModal .inner .content .button {display: block; margin: 20px 0;}
.alertsModal .inner .content .button a {display:inline-block; padding: 8px 30px; border: 2px solid #1e3664; background: #1e3664; color: #fff; text-decoration: none; border-radius: 20px}
.alertsModal .inner .content h1 {font-size: 1.8em; font-weight: 400; color: #1e3664;}

ul.addressList {list-style: none; padding: 0; margin: 1em; border-bottom: 1px solid #ccc;}
ul.addressList li {padding: 5px 40px 5px 3px; margin: 0; position: relative; border-top: 1px solid #ccc;}
ul.addressList li:nth-child(even) {background: #f7f7f7;}
ul.addressList li a {position: absolute; top: 50%; margin-top: -13px; right: 3px; background: #1e3664; color: #fff; padding: 4px 10px; text-decoration: none; font-size: 13px;}

.uploadForm{display:none;}


table.casBookingCalendar {border: 1px solid #ccc; border-collapse: collapse; width: 100%; margin: 20px 0; text-align:center; }
table.casBookingCalendar thead tr td.calendarTitle {position: relative; padding: 10px 0;background: #1e3664;color: #fff;  font-size: 1.1em; font-weight: 700; }
table.casBookingCalendar thead tr td.calendarTitle a {position: absolute; width: 40px; height: 100%; top: 0;}
table.casBookingCalendar thead tr td.calendarTitle a.prev {left: 0;}
table.casBookingCalendar thead tr td.calendarTitle a.prev:after {content: ""; position: absolute; left: 50%; top: 50%; margin-top: -8px; margin-left: -5px;  width: 16px; height: 16px; box-sizing: border-box; border-color: #fff; border-style: solid; border-width: 0 0 3px 3px; transform: rotate(45deg); }
table.casBookingCalendar thead tr td.calendarTitle a.next {right: 0;}
table.casBookingCalendar thead tr td.calendarTitle a.next:after {content: ""; position: absolute; right: 50%; top: 50%; margin-top: -8px; margin-right: -5px;  width: 16px; height: 16px; box-sizing: border-box; border-color: #fff; border-style: solid; border-width: 0 3px 3px 0; transform: rotate(-45deg); }
table.casBookingCalendar tbody tr td {position: relative; border: 1px solid #ccc; padding: 0; width: 1.25%; }

table.casBookingCalendar tbody tr td:first-child {background: #eee;} 
table.casBookingCalendar tbody tr td:last-child {background: #eee;} 
table.casBookingCalendar tbody tr td > span{display:block; color: #666; padding: 11px 0; font-size: 1.1em; }
table.casBookingCalendar tbody tr td a{display:block; color: #fff; background: #1e3664; padding: 10px 0; font-size: 1.1em; text-decoration: none; line-height: 1.1;  font-weight: 700;}
table.casBookingCalendar tbody tr td a span {display: block; position: relative; font-size: 12px; font-weight: 400; }
table.casBookingCalendar tbody tr td a span:after {content: ""; display: inline-block; width: 8px; height: 8px; box-sizing: border-box; border-color: #fff; border-style: solid; border-width: 0 2px 2px 0; transform: rotate(-45deg); }
table.casBookingCalendar tbody tr td.today a {border: 3px solid #f00; padding: 7px 0;}
.casBookingDate {font-size: 1.15em; font-weight: 700; margin: 10px 0;}
.casBookingError {margin: 20px 0; color: #b50000}

table.concessionTable {border: none; margin: 10px 0 25px 0}
table.concessionTable tbody {font-weight: bold;}
table.concessionTable td {border: none; padding: 4px;}
table.concessionTable td select {padding: 6px 10px; }
table.concessionTable td .price {font-size: 22px; font-weight: 700; color: #1e3664;}




