
	#intro,
	#locations,
	#gallery {
		margin-bottom:calc(15px + 2vw);
	}

	#locations,
	#gallery {
		margin-left:20px;
		width:calc(100% - 40px); 
	}

	#locations,
	#training,
	#dojo-details,
	#dojo-details > div,
	#locations .loc_addr .parking,
	#locations contact,
	#locations .loc_addr contact > *,
	#locations .times,
	#locations .addresses,
	#locations .addresses > li,
	#locations .addresses li > * {
		display:flex;
		display:-webkit-flex;
	}

	#training,
	#dojo-details > div,
	#locations .addresses,
	#locations .addresses li > * {
		flex-direction:column;
		-webkit-flex-direction:column;
	}
	
	#training {
		flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		margin-bottom: 3vw;
		margin-top: 3vw;
	}
	

	h1.big {
		color:#fff;
	}
	


	#locations .addresses {
		background-color:#f8f6f4;
		list-style:none;
		margin-bottom:0px;
		padding-bottom: 15px;
		text-align:left;
	}

	/*#locations .addresses li:not(:last-of-type) {
		border-bottom:2px solid #efeae2;
	}*/

	#locations .addresses li {
		background-color:#fff;
		border-radius: 4px;
		margin-top: 15px;
		
	}
	
	/*#locations .addresses li .loc_addr > label {
		padding-left: 15px;
	}*/
	
	/*#locations .addresses li .loc_addr > label + p {
		padding-left: 40px;
	}*/
	
	/*#locations .loc_addr .parking {
		padding:10px 15px;
	}*/
	
	#locations .loc_addr contact {
		flex-wrap:wrap;
		-webkit-flex-wrap:wrap;
	}

	#locations .addresses li > p {
		width:100%;
	}

	#locations .loc_addr {
		margin-right:auto;
	}

	#locations .loc_addr > * {
		margin-bottom: 10px;
	}

	#locations .loc_addr > label > a {
		border-bottom: 2px solid transparent;
		font-size:2.2rem;
		padding-bottom: 2px;
	}

	#locations .loc_addr .parking,
	#locations .loc_addr contact > * {
		align-items:center;
		-webkit-align-items:center;
	}
	
	#locations .loc_addr svg {
		margin-right: 5px;
	}
	
	#locations contact > * {
		border: #ddd 2px solid;
		border-radius: 3px;
		padding: 5px 12px 5px 10px;
		margin-right: 10px;
	}
	
	#locations .times {
		border-radius: 5px;
		background-color: #fff;
		padding: 5px 15px 10px 15px;
	}
	
	
	#locations .times p {
		font-weight: 600;
	}
	
	#locations .times p span {
		font-weight: 400;
	}
	
	#locations .times span {
		color: #944f2c;
	}
	
	#locations .times p {
		margin-bottom:0px;
	}
	
	#locations svg {		
		fill:#cd5e27;
	}
	
	/*#locations .loc_placemark {
		margin-bottom: auto;
	}
	
	#locations .loc_placemark svg {
		border-radius: 50%;
	}*/

	#locations .loc_page,
	#locations .loc_placemark,
	#locations .addresses label {
		cursor:pointer;
	}

	/*#locations .loc_page:hover,
	#locations .loc_placemark:hover {
		background-color:#fff7f0;
		text-decoration:underline;
	}

	#locations .loc_page,
	#locations .loc_placemark {
		align-items: center;
		-webkit-align-items: center;
		border-radius:3px;
		color:#944F2C;
		font-family: Roboto,Arial,sans-serif;
		font-size: 1.2rem;
		letter-spacing: initial;
		min-width:70px;
		padding-top:4px;
	}*/

	/*#locations .loc_page svg,
	#locations .loc_placemark svg {
		margin-bottom:0.5rem;
	}
	
	
	#locations .addresses .loc_directions:not(.open) {
		display:none;
	}
	
	#locations .addresses li .loc_directions {
		border-radius:3px;
		margin-left: 10px;
		padding: 10px 13px 0px 13px;
	}*/
	
	
	#locations #map {
		flex:1;
		-webkit-flex:1;
		min-height:40vw;
	}
	
	
	
	
	#training .intro * {
		text-align:center;
	}
	
	
	
	
	#dojo-details {
		margin-top:calc(20px + 1vw);
		padding:0px calc(20px + 2vw);
	}
	
	#dojo-details > div {	
		margin-bottom: calc(20px + 2vw);
	}	
	
	#dojo-details .location svg {
		width:60px;
	}
	
	#dojo-details .location h3 {
		color:#904b2f;
		font-size:1.1em;
		letter-spacing:0px;
		text-transform:none;
	}
	
	#dojo-details .location h3,
	#dojo-details .location p {
		padding-left:10px;
		padding-right:10px;
	}

	#dojo-details > div a.thumb_logo {
		border-radius: 4px;
		height: 22vw;
		max-height:600px;
	}



	#dojo-details a.thumb_logo > picture, 
	#dojo-details a.thumb_logo > picture img {
		filter:brightness(0.8);
		-webkit-filter:brightness(0.8);
	}


	#dojo-details .location a.btn {
		background-color:#fff;
		border-color:#f3f2f1;
		margin-top:auto;
		width:auto;
	}


	

	@keyframes fade {
	  from {opacity: 0}
	  to {opacity: 1}
	}



	@media (min-width:992px) {
		
		#dojos #banner-main h1 {
			font-size:calc(5em + 1vw);
			padding: 0px 10vw;
		}
		
		#dojos #banner-main p {
			font-size: calc(1em + 0.2vw);
			margin-left:auto;
			margin-right:auto;
			text-align:center;
		}
		
		section#banner-main {
			margin-bottom:25px;
		}
		
		
		
		#locations .addresses li {
			padding: 15px 0px 10px 5px;
		}
		
		#locations .addresses li .loc_addr > label {
			padding-left: 25px;
		}
		
		#locations .addresses li .loc_addr > label + p {
			padding-left: 55px;
		}
		
		#locations .times {
			padding-left: 28px;
		}
		
		#locations .loc_addr .parking {
			padding-bottom: 10px;
			padding-left: 27px;
		}
		
		#locations contact {
			padding-left: 15px;
		}
		
		
		
		#locations .addresses li .loc_placemark {
			border-color:#ffcc00;
		}
		
		#locations .addresses li:hover .loc_placemark {
			background-color:#ffcc00;
			border-color:#ffcc00;
		}
		
		#locations contact > *,	
		#locations .loc_addr > label > a,
		#locations .loc_addr svg {
			transition-duration: .3s;
			transition-propoerty: background, border, fill, transform;
		}
				

		#locations *:hover {
			text-decoration:none;
		}
		
		#locations .loc_addr > label > a:hover {
			border-color:#ffcc00;
		}

		#locations contact > *:hover {
			background-color: #ede9e7;
			color: #a93800;
		}

		#locations contact > *:hover svg {
			transform:scale(1.4);
		}
		
		#locations .loc_placemark:hover {
			background-color:#ffcc00;
			text-decoration: none;
		}
		
		
		#locations .loc_placemark:hover svg {
			fill: #912700;
		}
	}
	
	

	@media screen and (max-width:991px) {
		
		#dojos #banner-main {
			margin-bottom:0px; 
		}
		
		#banner-main > div:first-of-type {
			background-color: transparent;
			padding: 5vh 8vw;
		}
		
		#banner-main h1,
		#banner-main p {
			color: #fff; 
		}
	
		#dojos #banner-main picture {
			display: none;
		}
	
		#dojos #banner-main h1 {
			padding: 15px 0px;
		}
		
		section#banner-main + .glyph {
			display:none;
		}
		
		#dojos #intro {
			background-color:#333;
			margin-bottom:0px;
			padding:30px 10px 30px 15px;
		}
	
		#dojos #intro h2 {
			color:#fff;
		}
	
		#dojos #intro p {
			color:#ddd;
		}
	
		#dojos #main .container {
			padding-top:20px;
		}
		
		
		#dojo-details {
			flex-wrap:wrap;
			-webkit-flex-wrap:wrap;
		}


		#locations .addresses li .loc_addr > label {
			padding-left: 22px;
		}
		
		#locations .addresses li .loc_addr > label + p {
			padding-left: 52px;
		}
		
		#locations .loc_addr contact {
			justify-content: flex-start;
			-webkit-justify-content: flex-start;
			padding-left:13px;
			padding-right: 2px;
		}
		
		#locations contact > * {
			flex: 1;
			-webkit-flex: 1;
			padding: 5px 10px 5px 8px;
			width: auto;
		}
				
		#locations contact > .tel {
			margin-right:10px;
		}
		
		
		#intro {
			margin-bottom: 15px;
			padding: 0px 15px;
		}
		
		#locations {
			flex-direction:column-reverse;
			-webkit-flex-direction:column-reverse;
			margin-left:0px;
			width:100%;
		}	
		
		#locations #map {
			min-height:80vh !important;
		}
		
		#locations .addresses li {
			padding:10px 0px 4px 0px;
		}
		
		#locations .addresses li .loc_addr {
			padding-left:0px;
			width: 100%;
		}
		
		#locations .loc_addr .parking {
			padding: 0px 0px 10px 24px;
		}
		
		#locations .times {
			padding-left: 24px;
		}
		
		#locations contact > .loc_placemark {
			border-color: #ffc600;
			color:#000;
		}
	}
	


	@media screen and (max-width:762px) {	
		#intro {
			margin-bottom: 15px;
		}
		
		#locations #map {
			min-height:50vh;
		}
	}