/*
	Theme Name: Cubiq Theme
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* html element 62.5% font-size for REM use */
html {
	font-size: 62.5%;
}

body {
	font: 300 11px/1.4 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* clear */
.clear:before,
.clear:after {
	content: ' ';
	display: table;
}

.clear:after {
	clear: both;
}

.clear {
	*zoom: 1;
}

img {
	max-width: 100%;
	vertical-align: bottom;
}

a {
	text-decoration: none;
}


a:focus {
	outline: 0;
}

a:hover,
a:active {
	outline: 0;
}

input:focus {
	outline: 0;
	border: 1px solid #04A4CC;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper */
.wrapper {
	max-width: 1280px;
	width: 95%;
	margin: 0 auto;
	position: relative;
}

/* header */
.header {}

/* logo */
.logo {}

.logo-img {}

/* nav */
.nav {}

/* sidebar */
.sidebar {}

/* footer */
.footer {}

/*------------------------------------*\
    PAGES
\*------------------------------------*/



/*------------------------------------*\
    IMAGES
\*------------------------------------*/



/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/

@font-face {
	font-family: 'Font-Name';
	src: url('fonts/font-name.eot');
	src: url('fonts/font-name.eot?#iefix') format('embedded-opentype'),
		url('fonts/font-name.woff') format('woff'),
		url('fonts/font-name.ttf') format('truetype'),
		url('fonts/font-name.svg#font-name') format('svg');
	font-weight: normal;
	font-style: normal;
}

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

@media only screen and (min-width:320px) {}

@media only screen and (min-width:480px) {}

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

@media only screen and (min-width:1024px) {}

@media only screen and (min-width:1140px) {}

@media only screen and (min-width:1280px) {}

@media only screen and (-webkit-min-device-pixel-ratio:1.5),
only screen and (min-resolution:144dpi) {}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background: #04A4CC;
	color: #FFF;
	text-shadow: none;
}

::-webkit-selection {
	background: #04A4CC;
	color: #FFF;
	text-shadow: none;
}

::-moz-selection {
	background: #04A4CC;
	color: #FFF;
	text-shadow: none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}

.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

a img.alignnone {
	margin: 5px 20px 20px 0;
}

a img.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption {
	background: #FFF;
	border: 1px solid #F0F0F0;
	max-width: 96%;
	padding: 5px 3px 10px;
	text-align: center;
}

.wp-caption.alignnone {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}

.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 0;
	max-width: 98.5%;
	padding: 0;
	width: auto;
}

.wp-caption .wp-caption-text,
.gallery-caption {
	font-size: 11px;
	line-height: 17px;
	margin: 0;
	padding: 0 4px 5px;
}

.sticky {}

.bypostauthor {}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background: transparent !important;
		color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}

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

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

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

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

	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	thead {
		display: table-header-group;
	}

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

	img {
		max-width: 100% !important;
	}

	@page {
		margin: 0.5cm;
	}

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

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

/* .page-template-race-courses-map .large-banner-carousel .item__large-image,
.page-template-race-courses-map .large-banner-carousel,
.page-template-race-courses-map header .sidebar {
   height: 60vh;
   min-height: auto;
} */

/* .page-template-race-courses-map header {
   min-height: auto;
} */

.page-template-race-courses-map .default-padding-bottom {
   padding-bottom: 10rem;
}

.page-template-race-courses-map .default-padding-top {
   padding-top: 10rem;
}

@media only screen and (max-width: 75em) {

   .page-template-race-courses-map .large-banner-carousel .item__large-image,
   .page-template-race-courses-map .large-banner-carousel,
   .page-template-race-courses-map header .sidebar,
   .page-template-race-courses-map header {
      min-height: 650px;
   }
}

/* map styling */
.map-listing {
   margin-top: 0;
   position: relative;
}

.map-listing div {
   background-color: transparent !important;
   margin-top: 0;
}

.map-listing .acf-map {
   height: 750px;
   width: 100%;
}


.map-listing .sidebar {
   position: absolute;
   top: -15px;
   bottom: -15px;
   left: 10%;
   width: 250px;
   height: calc(100% + 30px);
   padding: 1rem;
   background-color: #fff !important;
}

.map-intro-text {
   padding-top: 10rem;
   padding-bottom: 8rem;
   padding-left: 1.5rem;
   padding-right: 1.5rem;
}

.map-intro-text h2 {
   margin-top: 0;
   margin-bottom: 0;
   text-align: center;
}

.map-intro-text p {
   text-align: center;
   width: 100%;
   max-width: 750px;
   margin: 0 auto;
   margin-top: 5rem;
}

.map-intro-text .share {
   width: 100%;
   max-width: 750px;
   margin: 0 auto;
   margin-top: 4rem;
   display: flex;
   justify-content: center;
   align-items: center;
}

.map-intro-text .share img {
   width: 50px;
   height: 50px;
}

/*Map popup*/
.loading-layer {
   position: absolute;
   width: 100%;
}

.gm-style .gm-style-iw {
   border-radius: 0;
   background-color: #FFFFFF !important;
   width: 480px;
   height: auto;
   padding: 30px;
}

.gm-style .gm-style-iw .loading-layer {
   display: none;
}

.gm-style .gm-style-iw h2 a {
   color: #000000;
   font-size: 1.3em;
}

.gm-style .gm-style-iw .activity-title {
   margin-top: 20px;
   display: flex;
   flex-wrap: wrap;
   width: 100%;
   align-items: center;
   font-size: 1.1em;
   margin-bottom: 0;
}

.gm-style .gm-style-iw .activity-title img {
   margin-right: 10px;
}

.gm-style .gm-style-iw .activity-box {
   display: flex;
   flex-wrap: wrap;
   margin-top: 10px;
   opacity: 1;
}

.gm-style .gm-style-iw .activity-box .green-box-title {
   background: #5cbdb6;
   padding: 5px 10px;
   color: #000000;
   margin: 5px 5px 0 0;
   transition: all 0.3s;
}

.gm-style .gm-style-iw .activity-box .green-box-title:hover {
   background: #a5dad7;
}

.gm-style .gm-style-iw .activity-box .green-box-title a {
   color: #000000;
}

.gm-style .gm-style-iw .web-address {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   margin-top: 15px;
}

.gm-style .gm-style-iw .web-address img {
   margin-right: 10px;
}

.gm-style .gm-style-iw .web-address a {
   font-size: 1.1em;
   color: #e4022d;
   margin: 0;
   font-weight: 500;
}

.gm-style .gm-style-iw .find-out-link {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   margin-top: 15px;
   padding-bottom: 15px;
}

.gm-style .gm-style-iw .find-out-link img {
   margin-right: 10px;
}

.gm-style .gm-style-iw .find-out-link a {
   font-size: 1.1em;
   color: #000000;
   margin: 0;
   font-weight: 500;
}

.gm-style .gm-style-iw .gm-ui-hover-effect {
   margin-top: 10px !important;
   margin-right: 10px !important;
}

.map-container h3 {
   text-align: left;
   margin-bottom: 0;
   margin-top: 0;
   font-size: 2rem;
}

@media only screen and (max-width: 75em) {
.checkout .large-banner-carousel, .basket .large-banner-carousel {
	height: 300px !important;
    min-height: 300px !important;
	overflow: hidden;
}	
}