/************
Mobile
************/

/* mobile navigation */
@media (max-width: 1123px) {

	html,body{ height: auto; }
	#home{ padding: 0; }

	.site-wrapper{
		position: relative;
		overflow: hidden;
		height: 100%;
	}
	.site-pusher{
		position: relative;
		height: 100%;
		left: 0;
		-webkit-transition: -webkit-transform .5s ease;
		transition: -webkit-transform .5s ease;
		transition: transform .5s ease;
		transition: transform .5s ease, -webkit-transform .5s ease;
	}
	.site-wrapper.menu-open .site-pusher{
		-webkit-transform: translate3d(-250px,0,0);
		transform: translate3d(-250px,0,0);
	}

	header, header.clear{
		position: relative;
		top: auto;
		background: #53646d;
	}
	header .contain{
		position: relative;
    }

    #site-alert {
        position: relative;
    }
    .site-alert header {
        top: auto;
    }

	header .contain nav.main-nav{
		position: absolute;
		width: 250px;
		height: 100%;
		top: 0;
		right: -250px;
		left: auto;
		bottom: auto;
		padding: 20px;
		background: #252e33;
		border-left: 2px solid #1a2024;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
	}

	header nav #mainNav li {
		display: block;
		margin: 0;

	}

	header nav #mainNav li a{
		position: relative;
		margin-right: 30px;
	}
	header nav #mainNav ul li:hover a{
		background-color: transparent;
	}
	header nav #mainNav ul ul {
		margin-left: 15px;
	}
	header nav #mainNav ul li {
		margin: 0;
	}
	header nav #mainNav li:last-child:hover ul{right: auto;}

	header nav #mainNav li a span.dropper{
		display: block;
		position: absolute;
		top: 0;
		right: -30px;
		width: 25px;
		height: 25px;
		cursor: pointer;
		background-color: #45c3d3;
		border-radius: 100%;
		z-index: 600;
	}
	header nav #mainNav li a span.dropper:after {
		content: "";
		display: block;
		position: absolute;
		top: 7px;
		left: 5px;
		width: 15px;
		height: 11px;
		padding: 0;
		text-align: center;
		transition: all .25s ease;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		background: transparent url(../img/side-nav-arrow.png) 0 0 no-repeat;
		transform: rotate(90deg);
	}
	header nav #mainNav li.toggle>a>span.dropper:after {
		transform: rotate(-90deg);
	}

	header nav #mainNav ul{
		display: none;
		position: relative;
		left: auto !important;
		top: auto;
		opacity: 1;
		width: 100%;
		background-color: transparent;
		box-shadow: none;
		padding: 8px 5px 8px 0;
	}
	header nav #mainNav ul:before{
		display: none;
	}
	header nav #mainNav ul li a {
		font-size: 14px;
		font-family: 'TradeGothicLT';
	}
	header nav #mainNav li li a span.dropper:after {
		top: 7px;
		left: 5px;
	}


	#content #main{ width: auto; }

	.menu-btn {
		display: block;
		position: absolute;
		top: 43px;
		right: 20px;
		border: 0;
	}
	.menu-btn:hover{
		text-decoration: none;
	}
	.menu-btn .toggle {
		position: relative;
		margin: 0 auto 5px;
		width: 32px;
		height: 21px;
		cursor: pointer;
	}
	header .menu-btn .toggle>span:nth-child(1) {top: 0;}
	header .menu-btn .toggle>span:nth-child(2),
	header .menu-btn .toggle>span:nth-child(3) {top: 9px;}
	header .menu-btn .toggle>span:nth-child(4) {top: 18px;}
	header .menu-btn .toggle>span {
		display: block;
		width: 100%;
		height: 3px;
		position: absolute;
		left: 0;
		opacity: 1;
		background: #fff;
		-webkit-transition: all .5s ease;
		transition: all .5s ease;
		}
	header .menu-btn>span {
		display: block;
		margin: 9px 0 0 0;
		color: #fff;
		text-transform: uppercase;
	}
	header .menu-btn.active .toggle>span:nth-child(1) {
		top: 9px;
	    width: 0;
	    left: 50%;
	}
	header .menu-btn.active .toggle>span:nth-child(2) {
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	header .menu-btn.active .toggle>span:nth-child(3) {
		-webkit-transform: rotate(-45deg);
	    transform: rotate(-45deg);
	}
	header .menu-btn.active .toggle>span:nth-child(4) {
		top: 9px;
	    width: 0;
	    left: 50%;
	}


	#slides{
		position: relative;
		top: auto;
		transform: translate3d(0,0,0) !important;
		-webkit-transform: translate3d(0, 0, 0) !important;
	}
	.banner {
		padding: 50px 25px 205px 25px;
	}

} /* end media max 1023 */

/* mobile-sml */

@media (max-width: 529px) {
	header {
		height: 77px;
	}
	header #logo {
		width: 200px;
		left: 20px;
		top: 15px;
	}
	header .menu-btn {
		top: 20px;
	}
	header #global {
		background: none;
		height: auto;
		border-top: 2px solid #1a2024;
		padding-top: 10px;
	}
	header #global .social {
		float: none;
		margin: 10px 0 20px 0;
	}
	header #global .social a {
		width: 20px;
		height: 20px;
	}
	header #global nav.global-nav {
		margin: 0;
		float: none;
	}
	header #global nav.global-nav li {
		display: block;
		margin: 15px 0;
	}
	
	#calgrid thead h1 {font-size: 27px;}
}

/* mobile-lg */

@media (min-width: 530px) and (max-width: 767px) {
	#features {padding: 47px 10px 0 10px;}

}

/* mobile-all AND Tablet-all */
@media (max-width: 1023px) {

	#content #side:not(.events-side) {
		display: none;
	}
	#content #side.events-side{
		display: block;
		width: 100%;
		max-width: 700px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 27px;
		padding-bottom: 0;
	}
	#content #side.events-side + #main{
		margin-top: 0;
	}

}

/* mobile-all */
@media (max-width: 767px) {


	#slides .dots {
		text-align: center;
	}

	#slides .slide .inner.right, #slides .slide .inner.left {
		left: auto;
		right: auto;
		display: relative;
		padding-right: 0;
	}
	#slides .slide .inner:after {
		bottom: 36px;
		left: 25px;
	}
	#slides .slide .inner:before{
		display: none;
		}
	#slides .slide .inner.sml {
		width: 343px;
	}


	#slides .slide .inner h1{
		font-size: 48px;
		line-height: 51px;
	}



	#banner .contain {
		width: 100%;
	}
	#content #main,
	#content #main.full-width {
		margin: -147px 25px 0 25px;
		display: block;
		padding-bottom: 50px;
	}


	#content #main section div.feature, #content #main section.lefty div.feature {
		float: none;
		margin: -48px auto 42px auto;
	}

	#content #side.events-side{
		margin-left: 25px;
		margin-right: 25px;
		width: auto;
	}

	#calgrid{ display: block; }
	#calgrid thead{ display: table; width: 100%;}
	#calgrid thead tr.week{ display: none; }
	#calgrid tbody, #calgrid tbody tr, #calgrid tbody tr td{
		display: block;
		width: 100%;
		height: auto;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		text-align: left;
		padding: 20px 0;
	}
	#calgrid tbody tr {padding: 0;}
	#calgrid tbody tr:first-child td, #calgrid tbody tr td:first-child, #calgrid tbody tr td {
		border-width: 1px 0px 0px 0px;
	}
	#calgrid tbody tr:first-child td:last-child {
		border-radius: 0px;
	}
	#calgrid tbody td.other{ display: none; }
	#calgrid .bars{ width: 100%; margin: 0; }
	#calgrid .bars .bar .pop.off, #calgrid .bars .bar .pop.show{ display: none !important; }
	#calgrid .bars .bar > a, #calgrid .bars.left .bar > a {
		font-size: 14px;
		padding: 15px 5px 10px 15px;
		background-color: #45c3d2;
	}
	#calgrid .bars {margin-top: 15px;}
	.rtecontent { padding: 0 0 24px 0;}
	footer {padding: 32px;}
	footer .contain {
		display: flex;
		flex-direction: column;
	}
	footer .contact, footer .engaged {
	margin-bottom: 50px;
	}
	footer .info {padding: 0; max-width: 90%; width: 90%;}
	.rtecontent img { max-width: 100%; }
}


/************
Tablet
************/

/* tablet-sml */

@media (min-width: 768px) and (max-width: 819px) {

}

/* tablet-lg */

@media (min-width: 820px) and (max-width: 1023px) {

}

/* tablet-all */

@media (min-width: 768px) and (max-width: 1023px) {


	#slides .dots {
		text-align: center;
	}
	#slides .slide .inner {
		left: 25px;
		bottom: 70px;
	}
	#slides .slide .inner.right {
		right: 25px;
	}

	#banner .contain {
		width: 100%;
	}
	#content #main {
		margin: -147px auto 0 auto;
		display: block;
	}

	footer {padding: 32px;}
	footer .contain {
		display: flex;
		flex-direction: column;
	}
	footer .contact, footer .engaged {
	margin-bottom: 50px;
	}
	footer .info {padding: 0; max-width: 90%; width: 90%;}
}

/** RESPONSIVE TABS/ACCORDION **/
.rtetabs{ margin: 20px auto !important; }
ul.resp-tabs-list{
    margin: 0px;
    padding: 0px;
		list-style-type: none;
}

ul.resp-tabs-list li {
    display: inline-block;
    padding: 6px 10px;
    margin: 0 5px -1px 0;
	border: 1px solid #959ca2;
	border-radius: 5px;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
    cursor: pointer;
    float: left;
		background-color: #e2eef3;
		text-indent: 0 !important;
		color: #fff;
}
ul.resp-tabs-list li.resp-tab-active {
		color: #455660;
}

ul.resp-tabs-list li:before{ display: none; }
#content #main ul.resp-tabs-list {
	overflow: visible;
}
#content #main ul.resp-tabs-list li {
	list-style-type: none !important;
	background: none;
	padding: 5px 15px;
	font-size: 12px;
	margin-right: 10px;
}
/* active li tab or active h2 tab */
.resp-tab-active {
	border-bottom: 1px solid #f7f7f7 !important;
	margin-bottom: -2px !important;
	border-radius: 5px;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
  border-bottom: none;
  background-color: #f7f7f7;
}

.resp-tabs-container {
  padding: 0px;
  clear: left;
}

/* panel */
.resp-tabs-container .resp-tab-content {
    display: none;
    padding: 15px;
	border: 1px solid #d7e1e6;
	border-radius: 5px;
	border-top-left-radius: 0;
    background-color: #f7f7f7;
}
.resp-tabs-container .resp-tab-content-active {
    display: block;
}

/*-----------Accordion styles-----------*/
h2.resp-accordion {
		display: none;
		position: relative;
    border: 1px solid #d7e1e6;
    border-top: 0px solid #d7e1e6;
    margin: 0px;
  	padding: 6px 10px;
    cursor: pointer;
		background-color: #d7d7d7;
		color: #438767;
		font: normal 14px/20px "Helvetica Neue", Helvetica, Arial, sans-serif
}

h2.resp-accordion .resp-arrow {
    width: 25px;
    height: 25px;
		position: absolute;
		top: 19px;
		right: 17px;
    /*border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 7px solid #455560;
	margin: 20px 10px 20px 0;*/
	transition: all .25s ease;
	background: transparent url(../img/side-nav-arrow.png) 5px 7px no-repeat;
	transform: rotate(90deg);
	background-color: #f7f7f7;
	border-radius: 100%;
}

h2.resp-tab-active {
	background-color: #f7f7f7 !important;
    border-bottom: 0px solid #d7e1e6 !important;
    margin-bottom: 0px !important;
}
h2.resp-tab-active .resp-arrow {
    border: none;
    /*border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 7px solid #45C3D7;*/
	transform: rotate(-90deg);
	background-color: #fff;
}

.resp-accordion:first-child {
    border-top: 1px solid #d7e1e6;
}


/*Here your can change the breakpoint to set the accordion, when screen resolution changed*/
@media only screen and (max-width: 767px) {
    ul.resp-tabs-list { display: none; }
    h2.resp-accordion { display: block;}

    #content .resp-accordion-closed {
        display: none !important;
    }
	#content .resp-tabs-container .resp-tab-content {
		border-radius: 0;
	}
	#content .resp-tab-content {
	    padding: 20px;
	}
 	#content .resp-tab-content:last-child {
		border-bottom-right-radius: 5px;
		border-bottom-left-radius: 5px;
	}
	#content .rtetabs h2.resp-accordion {
		padding: 20px 45px 20px 20px;
		font-size: 22px;
		color: #455560;
		text-shadow: none;
		border-radius: 0;
	}
	#content .rtetabs h2.resp-tab-active {
		color: #455560;
		text-shadow: 2px 2px 0 #e1e1e1;
	}
	#content .rtetabs h2.resp-accordion:first-child {
		border-top-right-radius: 5px;
		border-top-left-radius: 5px;
	}

	#content .rtetabs .resp-tabs-container :nth-last-child(2){
		border-radius: 0 0 5px 5px;
	}
	#content .rtetabs .resp-tabs-container .resp-tab-active:nth-last-child(2){
		border-radius: 0;
	}

}
