@charset "utf-8";
* {
	margin:0;
	padding:0;
	font-size:inherit;
	font-family:inherit;
 box-sizing:border-box;
}

@font-face {
	font-family: 'Druk Web';
	src: url('fonts/Druk-Medium-Web.eot');
	src: url('fonts/Druk-Medium-Web.eot?#iefix') format('embedded-opentype'),
		url('fonts/Druk-Medium-Web.woff2') format('woff2'),
		url('fonts/Druk-Medium-Web.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-stretch: normal;
}

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

.icons {
	font-family: 'icons' !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
}

body {
 font-family: 'Quattrocento Sans', sans-serif;
 font-size:16px;
	line-height:1;
 margin:0px;
 background-color:#fff;
 color:#111;
 font-feature-settings: "liga", "kern";
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	transition:margin 1s;
}
html, body { height:100%; }
#container {
 min-height:100%;
	padding-bottom:calc(9vw + 72px);
}
* html #container {
 height:100%;
}

article, aside, details, figcaption, figure, footer, header, main, mark, nav, section, summary, time {
	display:block;
}

table { border-collapse:collapse; }
th { text-transform:uppercase; padding: }
th, td { padding:1vw; }
tr:nth-child(odd) { background-color:#f3f3f3; }

img { border:none; max-width:100%; height:auto; }

* + p, * + h1, * + h2, * + h3, * + h4, * + h5, * + h6, * + table, * + hr, * + ul { margin-top:1em; max-height:10000em; }
hr { padding:0; height:1px; border:none; overflow:hidden; background-color:#bcbdc0; }

h1, h2, h3, h4 {
	font-family:'Druk Web', Impact, Charcoal, sans-serif;
	font-weight: 500;
	font-style: normal;
	text-transform:uppercase;
}

p { line-height:1.4; }

h1 { font-size:96px; }
h2 { font-size:60px; }
h3 { font-size:44px; }
h4 { font-size:32px; }
h5 { font-size:18px; }
h6 { font-size:16px; }

ul {
	padding-left:2em;
}
a { text-decoration:none; transition:all 0.25s; }
a * { transition:all 0.25s; }

form { margin:0px; display:inline; }
select, input, textarea {
	font-size:16px;
	background-color:#f3f3f4;
	border:1px solid #BCBDC0;
	padding:0.25vw 0.5vw;
	border-radius:0;
}
input[type=submit] {
	border:0;
	color:#fff;
	padding:calc(0.25vw + 1px) 0.5vw;
	transition:all 0.25s;
	-webkit-appearance:none;
 cursor:pointer;
}
.l { font-size:18px; }
.m { font-size:16px; }
.s { font-size:12px; }

.success {
 color:#00cc00;
 font-weight:bold;
}
.error {
 color:#cc0000;
 font-weight:bold;
}
.warning {
 color:#ff9900;
 font-weight:bold;
}

.clear {
 clear:both;
	height:1px;
	overflow:hidden;	
}

.icons {
	font-family:'icons' !important;
	speak:none;
	font-style:normal;
	font-weight:normal;
	font-variant:normal;
	text-transform:none;
	line-height:1;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}
.is-mobile { display:none; }

.screen-reader-text {
	position: absolute !important;
	left: -999em;
}

#top {
	background-color:#f3f3f4;
	border-bottom:1px solid #bcbdc0;
	padding:0 2vw;
	font-size:15px;
	text-align:right;
	line-height:1;
}
#top > * {
	display:inline-block;
	vertical-align:middle;	
}
.lang, .top_nav li {
	border-left:1px solid #bcbdc0;
	padding:0.75vw 1vw;
}
.lang span {
	font-weight:bold;
}
.lang a { color:#808080; font-weight:normal; }
.lang a:hover { color:#111; }
.top_nav {
	padding:0;
	border-right:1px solid #bcbdc0;
}
.top_nav li {
	list-style:none;
	display:inline-block;
	transition:all 0.25s;
}
.top_nav li:hover { background-color:#e5e5e5; }
.top_nav li a {
	color:#111;
}
#top .search {
	padding:0 1vw;
}
header .search:before {
	content: "S";
	font-family: "icons";
	font-size:13px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
header .search input {
	border:none;
	padding:0;
	margin:0;
	background-color:transparent;
	outline:none;
	width:170px;
	font-size:15px;
}
#top .icons, #top_sec .icons {
	border-left:1px solid #bcbdc0;
	padding:0.25vw 0vw 0.25vw 0.5vw;
	height:calc(15px + 1.5vw);
}
#top .icons a, #top_sec .icons a, footer .icons a {
	display:inline-block;
	border:1px solid #bcbdc0;	
	background-color:#fff;
	padding:calc(0.5vw - 1.5px);
	margin-left:0.5vw;
	font-size:16px;
}
nav {
	padding:0.5vw 2vw;
	text-transform:uppercase;
	font-size:16px;
	font-weight:bold;
	z-index:3;
	position:relative;
}
nav li { outline:none; }
#logo {
	height:4vw;
	min-height:60px;
	display:inline-block;
	vertical-align:middle;
	margin:0.5vw 2vw;
	float:left;
	position:relative;
	z-index:4;
}
#menu {
 float: right;
	display: none;
	font-family: icons;
	font-size: 32px;
	margin:24px 2vw 0 0;
	cursor: pointer;
}
nav ul { margin:0; }
nav > ul {
	display:inline-block;
	vertical-align:top;
	list-style:none;
}
nav > ul > li {
	display:inline-block;
	height:4.5vw;
	margin:0vw 2.5vw -0.5vw 0;
	padding-top:calc(2vw - (16px / 2));
}
nav a:link, nav a:visited {
	color:#111;
}
nav > a.button {
	color:#fff;
	padding:0.75vw;
	display:inline-block;
	float:right;
	margin-top:calc((4vw - 18px - 1.5vw) / 2);
}
nav > a.button:hover { color:#fff; }

nav > ul > li > ul {
	list-style:none;
	display:none;
	visibility:hidden;
	background-color:#fff;
 border-bottom:1px solid #BCBDC0;
	transition:all 0.25s;
	position:absolute;
	left:0;
	width:100%;
	padding:2vw;
	top:5vw;
}
nav > ul > li:hover > ul {
	display:block;
	visibility:visible;
}
nav > ul > li > ul > li {
 display:table-cell;
	vertical-align:top;
	width:16vw;
	padding:0 2vw;
	border-right:1px solid #BCBDC0;
}
nav > ul > li > ul > li:last-child { border:none; margin:0; }

nav > ul > li > ul > li > ul {
	list-style:none;
	display:block;
	padding:1vw 0 0;
}
nav > ul > li > ul > li > ul > li {
	font-weight:normal;
	text-transform:none;
	padding:0.5vw 0;
}
#nav_screen {
	display: none;
	opacity: 0;
	transition: opacity 1s;
	position: fixed;
	z-index: 2;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	margin-left: -100%;
	bottom: 0;
	background-color: #000;
	background-color: rgba(0,0,0,0.8);
}
nav #close_menu {
	display: none;
	text-align: right;
	padding:5px 0;
	cursor: pointer;
}
nav .search {
	display:none;
}

#top_sec {
	display:none;
	font-size:14px;
}
nav .search {
	font-size:14px;
	border:1px solid #BCBDC0;
	margin:10px 0;
	padding:5px;
	clear:right;
}
#top_sec .top_icons {
	border:none;
}
#top_sec .icons a {
	padding:3px;
	margin:0 5px 0 0;
}

main { clear:both; text-align:center; }

#slider {
	height:33vw;
	min-height:160px;
	overflow:hidden;
	white-space:nowrap;
	position:relative;
	clear:both;
}
#slider.thin {
 height:25vw;
}
#slider .slide {
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center center;
 display:inline-block;
	text-align:center;
	color:#fff;
	width:100%;
	height:33vw;
	min-height:210px;
	transition:all 1s;
	position:relative;
}
#slider.thin .slide {
 height:25vw;
}
#slider .slide > div {
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
}
#slider .slide p {
	width:60%;
	min-width:280px;
	max-width:800px;
	white-space:normal;
	margin:auto;
	font-weight:bold;
	text-shadow:1px 1px 3px rgba(0,0,0,0.5);
}
#slider .slide h1 {
	font-size:8vw;
	padding-top:11vw;
	text-shadow:4px 4px 16px rgba(0,0,0,0.25);
}
#slider.thin .slide h1 {
	padding-top:7vw;
}
#slider .slide h1 > a {
	color:#fff;
}
#slider_left, #slider_right {
 position:absolute;
	z-index:1;
	font-size:120px;
	color:rgba(255,255,255,0.5);
	text-shadow:1px 1px 2px rgba(0,0,0,0.5);
	top:50%;
	margin-top:-59px;
	cursor: pointer;
	transition:all 0.25s;
}
#slider_left:hover, #slider_right:hover {
	color:rgba(255,255,255,1);
}
#slider_right {
 left:auto;
	right:0%;
}
#slider_dots {
	font-family:icons;
	font-size:16px;
	line-height:1;
	margin:-36px 0 20px;
	text-align:center;
	text-shadow:1px 1px 3px rgba(0,0,0,0.5);
	position:relative;
}
#slider_dots a {
	cursor:pointer;
	color:#fff;
 margin:0 2px;
}
#slider_dots a.is-active {
	cursor:default;
}
#slider .button {
 margin-top:1em;
	text-transform:uppercase;
	padding:0.5vw 2vw calc(0.5vw - 3px);
	font-size:18px;
	display:inline-block;
	transition:all 0.25s;
 color:#fff;
 border:2px solid #fff;
}

#quick_links {
 margin:0;
	display:block;
 text-align:center;
	padding:1vw 2vw 0;
	list-style:none;
}
#quick_links li {	display:inline-block; margin-bottom:1vw; }
#quick_links a {
	display:inline-block;
	border:2px solid #fff;
	margin:0 1vw;
	padding:0.5vw 2vw calc(0.5vw - 3px);
	text-transform:uppercase;
	color:#fff;
	font-size:18px;
}
#quick_links a:hover {
	color:#111;
	border-color:#111;
}
#promos {
	text-align:center;
	padding:1vw 2vw;
}
.promo {
	display:inline-block;
 vertical-align:top;
	padding:1vw;
	width:33.3%;
}
.promo > a > div:first-child {
	width:100%;
	background-size:cover;
 background-repeat:no-repeat;
 background-position:center;
}
.promo > a > div:first-child:before {
 content:"";
 display:block;
 padding-top:66.67%;
}
.promo h2 {
	margin:0.25vw 0 0.5vw;
}
.promo .button, #club_list .button, #subpages .button {
	border:1px solid #111;
	text-transform:uppercase;
	padding:1vw 2vw;
	font-size:18px;
	display:inline-block;
	color:#111;
	transition:all 0.25s;
}

#events, #courses {
	text-align:center;
	padding:4% 8% 8%;
	margin:auto;	
}
#event_filter_button, #course_filter_button {
	float:right;
	color:#fff;
	padding:0.5vw 1vw;
	margin:1vw;
	font-weight:bold;
	cursor:pointer;
	transition:all 0.25s;
}
#event_filter_button:after, #course_filter_button:after {
	content:">";
	transform:rotate(90deg);
	display:inline-block;
	margin-left:5px;
}
#event_filter_button.is-active:after, #course_filter_button.is-active:after {
	transform:rotate(-90deg);
}
#event_current_result, #course_current_result {
	text-align:left;
	padding:1.5vw 1vw;;
	font-weight:bold;
}
#event_filters, #course_filters {
	max-height:0;
	overflow:hidden;
	transition:all 0.5s;
	clear:both;
}
#event_filters.is-active, #course_filters.is-active { max-height:calc(1.5vw + 22px); }
#event_filters div, #course_filters div {
	display:inline-block;
	padding:0 1vw 1vw;
}
/*#event_filters input, #event_filters select { font-size:16px; }*/
#event_filters input[type=text] { width:150px; }
#event_list, #course_list {
	border:1px solid #bcbdc0;
	width:100%;
	overflow:auto;
	height:calc((16px + 2vw) * 11);
 position:relative;
}
#event_list > table, #course_list > table {
	width:100%;
}
#event_list th, #course_list th {
 position:sticky;
 top:0;
 background-color:#e6e6e6;
}
#event_list td {
	line-height:1;
}
#events table a, #courses table a {
	text-decoration:underline;
	text-transform:uppercase;
	font-weight:bold;
}
#event_links, #course_links {
	text-align:right;
	margin-top:0.25vw;
}
#events a:hover span, #courses a:hover span {
 color: #111;
}

#memberships {
	background-color:#ebebeb;
	text-align:center;
}
.membership_descriptions {
	padding:3vw 10vw;
}
.membership_descriptions > div {
	display:none;
	opacity:0;
	transition:1s all;
}
.membership_descriptions > div > p {
	font-size:18px;
}
.membership_descriptions > div.is-active { display:block; opacity:1; }
.membership_options {
	background-attachment:fixed;
	background-size:cover;
	background-repeat:no-repeat;
	padding:6vw 0;
	position:relative;
 display:flex;
 flex-wrap:wrap;
}
.membership_options:before {
 content:"";
	position:absolute;
	display:block;
	width:100%;
	height:100%;
	left:0;
	right:0;
	top:0;
	bottom:0;
	background-color:rgba(0,0,0,0.1);
}
.membership_options > div {
	display:inline-block;
	vertical-align:top;
	text-transform:uppercase;
	margin:0 2.5vw;
	border:3px solid #fff;
	padding:2vw;
	transition:0.5s all;
	color:#fff;
	position:relative;
	z-index:1;
	position:relative;
	width:calc((100% - 18vw) / 3);
}
.membership_options > div.is-active:before {
	content:"^";
	font-family:icons;
	font-size:48px;
	line-height:40px;
	text-align:center;
	display:block;
	width:100%;
	position:absolute;
	color:#ebebeb;
	transform:rotate(180deg);
	margin-left:-2vw;
	margin-top:calc(-8vw - 2px);
}
.membership_options h3, .membership_options h5 {
	text-shadow:1px 1px 3px rgba(0,0,0,0.5);
}
.membership_options h3 > span {
	display:block;
	font-size:11vw;
	text-shadow:4px 4px 16px rgba(0,0,0,0.25);
}
.membership_options h5 {
	text-shadow:1px 1px 3px rgba(0,0,0,0.6);
 margin:0;
}
.membership_options > div > a {
	background-color:#fff;
	padding:0.5vw 1vw;
	color:#111;
	display:inline-block;
	transition:all 0.25s;
	margin: 1vw 0 2vw;
}
.membership_options > div > a:hover { border-color:#fff; color:#fff; }

#posts {
	text-align:center;
	padding:2vw 0;
	width:80vw;
	margin:auto;
}
#posts .post {
	display:inline-block;
	vertical-align:top;
 width:33vw;
	margin:2vw;
	min-width:280px;
}
#posts .post img {
	width:100%;
}
.post_category {
	text-transform:uppercase;
	font-size:18px;
	font-family:"Druk Web";
	letter-spacing:0.5px;
	margin-top:0.5vw;
}
.post_category:before { content: "- "; }
.post_category:after { content: " -"; }
.post > h4 { margin:0.5vw 0; }
.post > h4 > a { color:#111; }
#posts .post > p { text-align:left; margin:0 0 0.5vw; }
#posts .post > p > a { text-decoration:underline; text-transform:uppercase; font-weight:bold; }
.post > .icons { white-space:nowrap; }
.post > .icons:before, .post > .icons:after {
	content:"";
	display:inline-block;
	height:1px;
	background-color:#bcbdc0;
	width:calc(14vw - 24px);
	vertical-align:middle;
}
.post > .icons > a {
	display:inline-block;
	border:1px solid #bcbdc0;
	padding:0.5vw;
	margin:0.5vw;
	font-size:16px;
	width:calc(16px + 1vw);
}

#partners {
 background-color:#ebebeb;
	padding:3vw 0;
	white-space:nowrap;
	text-align:center;
}
#partners.grid {
 background:none;
 white-space:normal;
}
.partner_arrow_left, .partner_arrow_right {
	display:inline-block;
	width:4%;
	text-align:center;
	vertical-align:middle;
	position:relative;
	z-index:1;
	font-size:24px;
	cursor:pointer;
	color:#666;
	background-color:rgba(235,235,235,0.5);
}
.partner_arrow_left:hover, .partner_arrow_right:hover {
	color:#111;
}
.partner_arrow_left.is-useless, .partner_arrow_right.is-useless {
	color:#ccc;
	cursor:default;
}
.partner_row {
	display:inline-block;
	vertical-align:middle;
	width:92%;
	overflow:hidden;
	padding:2vw 0;
}
.grid .partner_row {
 overflow:visible;
 margin:0 -4%;
}
.partner_row > a {
 display:inline-block;
	background-color:#fff;
	margin-right:0.5vw;
	border-top:1vw solid #fff;
	border-bottom:1vw solid #fff;
	border-left:2vw solid #fff;
	border-right:2vw solid #fff;
	position:relative;
	transition:all 1s;
	white-space:nowrap;
}
.grid .partner_row > a, .grid .partner_row > a:last-child {
 margin:0.5vw;
 outline:1px solid #bcbdc0;
}

.partner_row > a:last-child { margin:0; }
.partner_row > a:before {
	content:"";
	display:inline-block;
	vertical-align:middle;
	width:0;
	padding-top:66.6%;
}
.partner_row.large > a {
	width:calc((100% - 1.5vw) / 4);
}
.partner_row.medium > a {
	width:calc((100% - 2vw) / 5);
}
.partner_row.small > a {
	width:calc((100% - 2.5vw) / 6);
}
.grid .partner_row.large > a {
	width:calc(100% / 4 - 1vw);
}
.grid .partner_row.medium > a {
	width:calc(100% / 5 - 1vw);
}
.grid .partner_row.small > a {
	width:calc(100% / 6 - 1vw);
}
.partner_row img {
 display:inline-block;
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	width:100%;
	height:100%;
	object-fit:contain;
}

.left_third, .center_third, .right_third, .left_half, .right_half {
	display:inline-block;
	vertical-align:top;
	padding:2vw;
	width:33.3%;
}
.left_half, .right_half { width:50%; }
.center_third, footer .full {
	text-align:center;
}
.right_third, .right_half {
 text-align:right;
}
#social { padding:1vw 0; }
#social > div {
	text-align:center;
}
#social > div > h2 {
	color:#bcbdc0;
	border-bottom:2px solid #bcbdc0;
	font-size:32px;
	width:32px;
	padding-bottom:1vw;
	margin:0 auto 1vw;
}
#social > div > div {
	border:1px solid #bcbdc0;
	height:600px;
	overflow:hidden;
}
#social > div > div.twitter_feed {
	overflow-y:auto;
}

footer {
	border-top:1px solid #bcbdc0;
	height:calc(9vw + 72px);
	margin-top:calc((9vw + 72px) * -1);
 clear:both;
}
#follow_us, #newsletter {
	display:inline-block;
	vertical-align:top;
	padding:2vw;
	width:50%;
	height:calc(5vw + 16px);
	border-right:1px solid #bcbdc0;
	font-weight:bold;
	text-align:center;
}
#newsletter {
	border-right:0;
}
#follow_us a {
}
#newsletter input {
	border:none;
	font-size:16px;
	padding:0.5vw;
	vertical-align:middle;
	line-height:16px;
	height:calc(16px + 1vw);
}
#newsletter input[type=submit] {
	color:#fff;
	cursor:pointer;
	font-weight:bold;
	padding:0.5vw;
}
#ptsas {
	border-top:1px solid #bcbdc0;
}
#ptsas > div {
	padding:0.5vw 1vw;
	text-align:center;
	display:inline-block;
	vertical-align:top;
	width:calc(100% - 11vw);
}
#ptsas > div:first-child {
	border-right:1px solid #bcbdc0;
	width:11vw;
}
#ptsas img {
	width:4.5vw;
	margin:0 1.25vw;
}
footer > div:last-child {
	font-size:14px;
	border-top:1px solid #bcbdc0;
}
footer > div:last-child > div {
	padding:2vw;
}

aside, article {
	display:inline-block;
	vertical-align:top;
	width:20%;
	padding:4vw;
 text-align:left;
}
aside:focus {
 outline: none;
}
aside > h5 {
	font-size:16px;
	font-weight:bold;
	color:#fff;
	padding:5px 10px;
	display:inline-block;
}
aside > ul {
	list-style:none;
	padding-left:0;
}
aside > ul > li {
	padding-left:0;
	margin:5px 0;
	padding:5px 10px;
	display:block;
}
article {
	width:80%;
 margin:auto;
}
main .full {
	padding:2vw;
	text-align:left;
	width:100%;
}
.posts.list img {
	width:20%;
	min-width:280px;
	float:right;
}
.list .post {
	clear:both;
	width:auto;
	display:block;
 padding:2vw 0 2vw;
 border-top:1px solid #bcbdc0;
}
.list .post:first-child { border-top:none; }
.list .post h3 { margin-top:0; }
.list .post:after {
 content:"";
 display:block;
 width:0;
 height:0;
 clear:both;
}

.post .button {
	border:1px solid #111;
	text-transform:uppercase;
	padding:0.5vw 1vw;
	text-decoration:none;
	font-size:18px;
	display:inline-block;
	color:#111;
	transition:all 0.25s;
}

.headshot {
	float:right;
	width:25vw;
	margin:0 0 1vw 1vw;
}

@media (max-width:1500px) {
 nav > ul > li {
		padding-top:calc(30px - (16px / 2));
		height:calc(60px + 0.5vw);
	}
	nav > ul > li > ul {
		top: calc(1vw + 60px);
	}
	nav > a.button {
 	margin-top: calc((60px - 18px - 1.5vw) / 2);
	}
}
@media (max-width:1152px) {
 h2 { font-size:5.25vw; }
 h3 { font-size:3.75vw; }
 #top .search input {
  width:0;
  transition:all 1s;
	}
	#top .search input:focus {
		width: 170px;
	}
 #top .icons a, footer .icons a {
		padding:3px;
		margin-left:5px;
	}
	#logo {
		margin:10px 2vw;
	}
 #menu, #nav_screen { display:block; }
	#nav #close_menu { display:table-cell; float:right; margin:10px; }
	nav {
		position: fixed;
		top: 0;
		right: 0;
		height: 100%;
		overflow: auto;
		background-color: #fff;
		width: 300px;
		padding:0;
		margin-right: -300px;
		transition: margin-right 1s;
	}
	nav > ul {
		clear:right;
		padding:0;
		display:block;
	}
	nav > ul > li:first-child {
		border-top:1px solid #BCBDC0;
 }
	nav > ul > li {
		display:block;
		height:auto;
		padding:10px;
		border-bottom:1px solid #BCBDC0;
		margin:0;
	}
	nav > ul > li > ul {
		border:none;
		padding:0 10px;
		position:static;
		overflow:hidden;
		display:block;
		visibility:visible;
		max-height:0;
		transition:all 0.5s;
	}
	nav > ul > li > ul > li:first-child:before {
		content:">";
		margin-top:-25px;
		position:absolute;
		right:20px;
	 font-family:icons;
  font-size: 14px;
		transition:all 1s;
	}
	nav > ul > li:focus > ul > li:first-child:before {
		transform:rotate(90deg);
	}
	nav > ul > li > ul > li {
		display: block;
		width: auto;
		padding:10px 0 0;
		border-right: none;
	}
	nav > ul > li > ul > li > ul {
		padding:5px 0 0;
	}
	nav > ul > li:focus { outline:none; }
	nav > ul > li:focus > ul {
		max-height:90vh;
	}
	nav > a.button { padding:8px 10px; margin:10px; }
	#quick_links a { padding:5px 20px 3px; }
	.promo .button { padding:10px 20px 7px; }
	#events, $courses {
		margin:0;
		padding:40px 20px;
	}
	#social { display:none; }
 .partner_row > a { margin-right:5px; }
	.partner_row > a:last-child { margin-right:0; }
	.partner_row.large > a {
		width:calc((100% - 10px) / 3);
	}
	.partner_row.medium > a {
		width:calc((100% - 15px) / 4);
	}
	.partner_row.small > a {
		width:calc((100% - 20px) / 5);
	}
 .grid .partner_row > a, .grid .partner_row > a:last-child { margin:5px; }
	.grid .partner_row.large > a {
		width:calc(100% / 3 - 10px);
	}
	.grid .partner_row.medium > a {
		width:calc(100% / 4 - 10px);
	}
	.grid .partner_row.small > a {
		width:calc(100% / 5 - 10px);
	}
	#follow_us, #newsletter {
		height:59px;
		padding:10px;
		display:table-cell;
		vertical-align:middle;
		width:50vw;
	}
	#follow_us { padding }
	#ptsas > div {
		padding:5px 0;
		width:calc(100% - 101px);
  display:table-cell;
		vertical-align:middle;
	}
	#ptsas img {
		width:60px;
		margin:5px;
	}
	#ptsas > div:first-child {
		width:100px;
	}
 footer > div:last-child > div {
		padding:20px;
	}
}
@media (max-width:659px) {
	#container { padding-bottom:0; }
	.isnot-mobile { display:none; }
	.is-mobile { display:block; }
	h1 { font-size:12vw; }
 h2 { font-size: 10vw; }
	h3 {	font-size:8vw; }
 select, input, textarea {
		padding:2px 5px;
	}
 input[type=submit] {
  padding:3px 10px;
 }
	#top {
		display:none;
	}
	#top_sec, nav .search {
		display:block;
	}
	nav .search { margin:0 10px 10px; }
	#menu {
		margin-right:20px;
	}
	#logo { margin:10px 20px; }
	nav > a.button {	float:none;	}
 nav > ul > li > ul > li > ul > li { padding:5px 0; }
	.lang {
		border-top:1px solid #BCBDC0;
	}
	.top_nav { border-right:0; }
	.lang, .top_nav li {
		display:block;
		border-right:none;
		border-bottom:1px solid #BCBDC0;
		padding:10px;
		background-color:#f3f3f4;
	}
	#top_sec .top_icons {
		margin:10px;
	}
	#slider p { line-height:1.2; }
	#slider_left, #slider_right { display:none; }
	#slider .slide h1 {
		font-size:12vw;
		padding-top:4vw;
	}
	#slider_dots {
		margin:-22px 0 10px;
		font-size:12px;
	}
	#slider .button {
  margin-top:10px;
  padding:5px 20px 2px;
 }
	#quick_links { display:none; }
	#promos { padding:10px; }
	.promo {
		display:block;
		width:auto;
		padding:10px;
		margin-bottom:10px;
	}
	#event_current_result, #course_current_result { padding:15px 10px; }
	#event_filter_button, #course_filter_button {
		padding:5px 10px;
		margin:10px;
	}
	#event_filters, #course_filters {
		margin-bottom:5px;
	}
	#event_filters.is-active, #course_filters.is-active { max-height:100px; }
	#events, #courses {
		margin:0;
		padding:20px 10px 40px;
	}
	#event_links, #course_links { margin-top: 5px; text-align:center; }

 #memberships { padding:20px 0 30px; }
 #memberships h2 { padding:20px 10px 10px; }
	.membership_descriptions { display:none; }
	.membership_options > div.is-active:before { display:none; }
	.membership_options {
  display:block;
		background-image:none !important;
		padding:0 0 1px;
	}
	.membership_options > div {
		display:block;
		width:auto;
		padding:10px;
		margin:20px;
		cursor:default;
	}
	.membership_options > div.is-active {
		background-color:inherit;
	}
	.membership_options h3 {
		text-shadow:none;
	}
	.membership_options h3 > span {
		font-size:24vw;
		text-shadow:none;
	}
	.membership_options > div > a {
		margin:10px 0 20px;
		padding:5px 10px;
 }
	#posts {
		width:auto;
		padding:40px 20px 30px;
	}
	.post {
		margin:20px 0;
		width:auto;
		display:block;
	}
	.post > .icons > a {
		padding:4px;
		margin:5px;
		width:26px;
	}
	.post > .icons:before, .post > .icons:after {
  width:calc(50% - 36px);
	}
	#partners {
		padding:40px 0;
	}
	.partner_arrow_left, .partner_arrow_right {
		display:none;
	}
	.partner_row > a:last-child { margin:0; }
	.partner_row.large > a {
		width:calc((100% - 5px) / 2);
	}
	.partner_row.medium > a {
		width:calc((100% - 10px) / 3);
	}
	.partner_row.small > a {
		width:calc((100% - 15px) / 4);
	}
	.grid .partner_row.large > a {
		width:calc(100% / 2 - 10px);
	}
	.grid .partner_row.medium > a {
		width:calc(100% / 3 - 10px);
	}
	.grid .partner_row.small > a {
		width:calc(100% / 4 - 10px);
	}
	#follow_us {
		border-right:none;
		border-bottom:1px solid #bcbdc0;
	}
	#follow_us, #newsletter {
		height:auto;
		padding:10px;
		display:block;
		width:100%;
	}
	footer {
		height:auto;
		margin-top:0;
	}
	#newsletter { padding:20px 10px; }
	footer .icons a { margin:5px; }
 #newsletter input, #newsletter input[type=submit] {
		padding:5px;
		height:auto;
	}
	.list .post img {
		float:none;
		display:block;
		max-width:100%;
		margin:40px auto 0;
		width:auto;
		vertical-align:top;
	}
	.post .button {
		padding:5px 10px;
	}
	.post h3 {
		margin-top:13px;
	}
 aside, article {
  display:block;
  width:100%;
  padding:10px;
 }
 #side_menu {
  max-height:38px;
  transition:all 1s;
  overflow:hidden;
  outline:none;
 }
 #side_menu:focus {
  max-height:300px;
 }
 #side_menu h5 {
  display:block;
  background-color:transparent;
  border:1px solid #bcbdc0;
  cursor:pointer;
 }
 #side_menu h5:before {
  content:">";
  float:right;
  transform: rotate(-90deg);
  transition:all 1s;
 }
 #side_menu:focus h5 {
  cursor:default;
 }
 #side_menu:focus h5:before {
  transform: rotate(90deg);
 }
}