/**
 * ==========================================================================================
 * ==========================================================================================
 *
 * 								RESPONSIVE.CSS
 *
 * ==========================================================================================
 * ==========================================================================================
 *
 * @since		0.1.0
 * @version 	0.9.14
 * @author		chriscarvache
 */


/**
 * ==============================================
 *  SMALL SCREENS
 * ==============================================
 */

/* max-width 640px, mobile-only styles, use when QAing mobile issues */
@media only screen and (max-width: 40em) {

	#header {
		padding: 0;
	}

	#header .columns {
		padding: 0 !important;
	}

	.utility-edge-to-edge #utility .row, .header-edge-to-edge #header .row{
		max-width: 100% !important;
	}


	#utility {
		display: none;
	}

	.header-widgets {
		margin-right: 62px;
		padding-top: .8em;
	}

	.mobile-button-container {
		margin-top: .9em;
	}

	.logo {
		margin-right: 10px;
		max-width: 140px;
	}

	#main-footer .widget {
		text-align: center;
	}

	.hero-variety-2 .feature-content ul {
		list-style: none;
		margin: 0 0 1em;
	}

	.woocommerce .cart table,
	.woocommerce .cart tr,
	.woocommerce .cart td,
	.woocommerce .cart th {
		display: block;
	}

	.woocommerce .cart thead {
		position: absolute;
		top: -9999px;
		left: -9999px;
	}

	.woocommerce .cart tr td img {
		width: 100%;
	}

	.woocommerce .cart .cart_item td:nth-child(1) {
		position: absolute;
		background: rgba(200,0,0, 1);
		margin-top: 3px;
		margin-left: 3px;
		width: 36px;
		text-align: center;
		-webkit-border-radius: 999px;
		-moz-border-radius: 999px;
		-o-border-radius: 999px;
		border-radius: 999px;
	}

	.woocommerce .cart .cart_item td:nth-child(1) a {
		color: #fff;
		font-weight: bold;
	}


	.woocommerce .cart .cart_item td:nth-child(3) {
		font-weight: bold;
		font-size: 1.4em;
	}

	.woocommerce .cart .cart_item td:nth-child(4):before {
		content: 'Product Price: ';
		font-weight: bold;
		width: 120px;
		display: inline-block;
		float: left;
	}

	.woocommerce .cart .cart_item td:nth-child(5):before {
		margin-top: .56em;
		content: 'Quantity: ';
		font-weight: bold;
		width: 120px;
		display: inline-block;
		float: left;
	}

	.woocommerce .cart .cart_item td:nth-child(5) input {
		width: 60px;
		margin: 0;
	}

	.woocommerce .cart .cart_item td:nth-child(6):before {
		content: 'Sub Total: ';
		font-weight: bold;
		width: 120px;
		display: inline-block;
		float: left;
	}

	.woocommerce .cart .variation {
		padding: 1em 0 0;
	}

	.cf-small-1 .swiper-slide {
		width: 100%;
	}

	.cf-small-2 .swiper-slide {
		width: calc(100% /2 - 20px);
	}

	#more-footer {
		text-align: center;
	}

	.service-area .inner {
		min-height: inherit!important;
		padding: .25em 2.4em;
	}

	.service-area .inner .content-wrap {
		display: none;
	}

	.component.service-area, .service-area .features .row .columns {
		padding: 0;
	}

	.service-area .features .row{
		max-width: 100%;
	}

	.service-area .item {
		margin-bottom: 0 !important;
	}

	.component.hero {
		padding: 10em 0 3em;
	}

	.button {
		margin-bottom: 1em;
	}

	.service-area .button {
		margin-bottom: 0 !important;
	}

	#custom_html-6 h2 {
		margin-right: 0 !important;
	}

	#more-footer .widget {
		margin-bottom: .8em;
	}

	h2 {
		font-size: 1.7em;
	}

	#header .ghost {
		padding: .5em;
	}

	#menu-sidebar-menu {
		margin-top: 2em!important;
	}

	#asea-doc-search-container #asea-section-1 #asea-search-title {
		font-size: 1.8em !important;
	}

	.tribe-events-list .tribe-events-event-image img {
		width: 100% !important;
		max-height: 400px;
		margin-bottom: 1em !important;
	}


}

@media only screen and (max-width: 890px) {
	#calculator tbody tr td:first-child {
		background: #3C6991;
		color: #fff;
	}

	#calculator .bt-content {
		width: 100%!important;
	}

	#calculator td {
		padding: .8em 1em!important;
	}
}

/*-- END SMALL SCREENS --*/

@media only screen and (max-width: 1000px) {
	.bbp-forums .bbp-header {
		display: none;
	}

	.bbp-forums .bbp-forum-info,
	.bbp-forum-topic-count,
	.bbp-forum-reply-count,
	.bbp-forum-freshness {
		width: 100%!important;
		text-align: left!important;
	}

	.bbp-forum-topic-count:before,
	.bbp-forum-reply-count:before {
		font-weight: normal;
		width: 150px;
		display: inline-block;
	}

	.bbp-forum-topic-count:before {
		content : 'Topic Count: ';
	}

	.bbp-forum-reply-count:before {
		content : 'Reply Count: ';
	}

	.bbp-forum-freshness {
		font-size: 70%;
		border-top: 1px solid #ddd;
		margin-top: 1em!important;
		padding-top: 1em!important;
	}

	.bbp-forum-freshness a {
		display: block;
		float: left;
		font-style: italic;
	}

	.bbp-forum-freshness .bbp-topic-meta {
		float: right;
	}

}



/**
 * ==============================================
 *  MEDIUM SCREENS
 * ==============================================
 */


@media only screen and (min-width: 641px) and (max-width: 720px) {

	#header {
		padding: 0;
	}

	#header .columns {
		padding: 0 !important;
	}

	.utility-edge-to-edge #utility .row, .header-edge-to-edge #header .row{
		max-width: 100%;
	}


	#utility {
		display: none;
	}

	.component.hero {
		padding-top: 15em;
		padding-bottom: 14em;
	}

}

/* min-width 641px, medium screens */
@media only screen and (min-width: 40.063em) {
	#utility #utility-1 {
		text-align: left;
	}
	.component {
		padding: 3em 0;
	}
	.component.image-cta,
	.component.hero-vertical-ctas,
	.component.services-slider {
		padding: 0;
	}

	.component.has-titles {
		padding-top: 0;
	}

	.title-wrap {
		padding: 3em 0 1em;
	}

	#utility-2 {
		text-align: right;
	}

	#hpslider .background{
		background-position: center center!important;
	}

	#hpslider .transparent {
		margin: 0 3em;
	}


	#main-footer .medium-6:first-child {
		width: 60%;
	}

	#main-footer .medium-6:last-child{
		width: 40%;
		text-align: right;
	}


	.image-grid {
		padding: 2em 0;
	}

	.image-grid .title + .sub-header {
		margin-bottom: 2em;
	}

	.parallax-section {
		padding: 2em 0;
	}

	.component.map .cta {
		padding: 3em 0;
	}

	.component.map .content {
		font-size: 1.2em;
	}

	.dual-cta {
		padding: 3em 0;
	}

	.dual-cta .content {
		font-size: 1.1em;
	}

	.value-proposition {
		padding: 3em 0;
	}

	.image-carousel .swiper-slide {
		width: 33.3%;
	}


	.single-cta p {
		font-size: 1.6em;
	}

	.product-carousel .swiper-slide{
		width: 33.3%;
	}

	.parallax-background {
		padding: 16em 0 8em;
	}

	.woocommerce .shop_table .product-remove {
		width: 30px;
	}
	.woocommerce .shop_table .product-thumbnail {
		width: 80px;
	}

	.woocommerce .shop_table .product-price {
		width: 110px;
	}

	.woocommerce .shop_table .product-quantity {
		width: 30px;
	}

	.woocommerce .shop_table .product-subtotal {
		width: 110px;
	}

	.image-carousel .swiper-slide {
		width: -webkit-calc(100% / 3 - 10px);
		width: calc(100% / 3 - 10px);
	}

	.recent-content {
		padding: 3em 0;
	}

	.recent-content .swiper-container .swiper-slide {
		width: -webkit-calc(100% / 2 - 20px);
		width: calc(100% / 2 - 20px);
	}

	.services-slider .swiper-container {
		padding: 4em 0 3em!important;
	}

	.hero-post-area .inner {
		margin-top: 16em;
		padding: 2em;
	}

	.category-title {
		position: absolute;
		z-index: 9;
		left: 10px;
	}


	.category-parallax .wrap {
		min-height: 100px;
		position: relative;
	}

	.category-parallax .inner {
		position: absolute;
		left: 0;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}

	.upcoming-events .wrap {
		min-height: 230px;
		padding: 2em;
		position: relative;
	}

	.upcoming-events .inner {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}

	.hero-variety-3 {
		padding-bottom: 1em;
	}

	.hero-variety-3 .title-wrap {
		padding-bottom: 1em;
	}

	.cf-medium-1 .swiper-slide {
		width: 100%;
	}

	.cf-medium-2 .swiper-slide,
	.events-carousel .swiper-slide {
		width: -webkit-calc((100% / 2 - 20px) + (20px / 2));
		width: calc((100% / 2 - 20px) + (20px / 2));
	}

	.cf-medium-3 .swiper-slide,
	.video-feed .carousel .swiper-slide {
		width: -webkit-calc((100% / 3 - 20px) + (20px / 3));
		width: calc((100% / 3 - 20px) + (20px / 3));
	}

	.cf-medium-4 .swiper-slide {
		width: -webkit-calc((100% / 4 - 20px) + (20px / 4));
		width: calc((100% / 4 - 20px) + (20px / 4));
	}


	.recent-news .columns {
		position: relative;
	}

	.component.hero {
		padding-top: 10em;
		padding-bottom: 15em;
	}


	.component.small-hero {
		padding-top: 11em;
		padding-bottom: 11em;
	}

	#middle {
		padding: 2em 0;
	}

	.hero-slider .inner {
		padding: 30em 0 0;
		margin-left: auto;
		max-width: 640px;
	}

	.bkg-content-cta .columns {
		padding-left: 23em;
	}

	.bkg-content-cta .content {
		text-align: left;
	}


	.image-cta .columns {
		padding: 8em 3em;
	}

	.hamburger__icon,
	.hamburger__icon:after,
	.hamburger__icon:before {
		width: 2em;
	}

	.hamburger:before {
		content: 'Menu';
		position: absolute;
		left: -2.9em;
		top: .53em;
	}

	.component.one-column-section.has-titles {
	}

	.component.two-column-section {
		padding: 4em 0;
	}

	.parallax-background.content-right {
		padding-top: 18em!important;
		padding-bottom: 8em!important;
	}




	#main-footer .columns:nth-child(3) .widget {
		display: inline-block;
		margin: 0 1em;
	}

	#main-footer .columns:nth-child(3) .widget:first-child {
		margin-left: 0;
	}

	#main-footer .columns:nth-child(3) .widget:last-child {
		margin-right: 0;
	}


	#main-footer .widget {
		display: inline-block;
		margin: .5em;
	}

	.woocommerce-carousel .category-link {
		top: -5.6em;
		position: relative;
	}

	.featured-media .columns {
		position: relative;
	}

	.featured-media .columns:nth-child(1) {
		padding-top: 50%;
	}

	.featured-media .columns:nth-child(1) .item {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin-bottom: 0;
	}

	.featured-media .columns .wrap {
		height: 100%;
		min-height: auto;
	}

	.featured-media .columns:nth-child(2) {
		padding-top: 50%;
	}

	.featured-media .columns:nth-child(2) .item{
		position: absolute;
		left: 0;
		right: 0;
		height: 50%;
	}

	.featured-media .columns:nth-child(2) .item:nth-child(1) {
		top: 0;
	}

	.featured-media .columns:nth-child(2) .item:nth-child(2) {
		top: 50%;
	}

	.featured-media .columns:nth-child(1) .wrap {
		margin-right: .5em;
	}

	.featured-media .columns:nth-child(2) .wrap {
		margin-left: .5em;
	}

	.featured-media .columns:nth-child(2) .item:nth-child(1) {
		padding-bottom: .5em;
	}

	.featured-media .columns:nth-child(2) .item:nth-child(2) {
		padding-top: .5em;
	}

	.featured-media .inner {
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 100;
		padding: 1em;
	}

	.featured-media .inner .title {
		max-width: 400px;
	}


	#main-footer-3 {
		text-align: right;
	}

	#more-footer .button {
		margin-right: 1em;
	}


	.overbox {
		max-width: 500px;
		margin-left: auto;
		margin-right: 2em;
		margin-top: -8em;
		position: relative;
		z-index: 9;
	}

	.minor-major .medium-6.columns:first-child,
	.major-minor .medium-6.columns:last-child {
		width: 30%;
	}

	.minor-major .medium-6.columns:last-child,
	.major-minor .medium-6.columns:first-child {
		width: 70%;
	}

	#utility .columns:first-child {
		width: 66.6%
	}

	#utility .columns:last-child {
		width: 33.3%;
	}

	.hero .title {
		font-size: 3em;
		font-weight: bold;
	}

	.hero .sub-header {
		font-size: 2.2em;
		font-weight: normal;
	}

	.service-area {
		padding: 0!important;
		margin-top: -8em;
		margin-bottom: -11.3em;
		display: block;
		/* z-index: 999!important; */
		position: relative;
	}

	.big-top {
		padding-top: 14em!important;
		padding-bottom: 8em!important;
	}

	#more-footer .columns:last-child {
		text-align: right;
	}

	.negative-bottom {
		margin-bottom: -10em;
	}

	#menu-sidebar-menu {
		margin-top: -9em!important;
	}

	.features li .inner{
		min-height: 260px;
	}



	.error404 #middle {
		padding-top: 15em;
	}

	.blog-feed .th {
		width: auto;
	}

	.blog-feed .content-wrap {
		margin-left: 11em;
	}

	#epkb-main-page-container.epkb-basic-template #epkb-content-container section {
		min-height: 250px;
	}

	.mini-calc tr {
		display: inline-block;
	}

	.mini-calc,
	.mini-calc tbody {
		display: inline;
		width: auto!important;
		max-width: 400px;

	}



}


@media only screen and (min-width: 1024px) and (max-width: 1160px) {

	#mega-menu-wrap-primary_navigation #mega-menu-primary_navigation > li.mega-menu-item > a.mega-menu-link {
		padding: 0 10px !important;
	}

	.service-area li {
		padding: 0;
		width: 33%;
	}

	.service-area {
		padding: 0!important;
		margin-top: -13em;
		margin-bottom: -25em;
		display: block;
		z-index: 999!important;
		position: relative;
	}

	.big-top {
		padding-top: 26em!important;
		padding-bottom: 8em!important;
	}


}

/* min-width 641px and max-width 1024px, use when QAing tablet-only issues */
@media only screen and (min-width: 40.063em) and (max-width: 64em) {

	.off-canvas-button {
		margin-top: .4em;
	}


	.masonry-view .excerpt {
		display: none;
	}


	.mobile-button-container {
		margin-top: 2.4em;
		margin-right: 1em;
	}

	.header-widgets {
		margin-right: 4em;
	}

	.service-area li {
		padding: 0;
		width: 33%;
	}

	.service-area .item {
		margin-bottom: 0 !important;
	}


	.service-area {
		padding: 0!important;
		margin-top: -13em;
		margin-bottom: -27em;
		display: block;
		z-index: 999!important;
		position: relative;
	}

	.big-top {
		padding-top: 28em!important;
		padding-bottom: 8em!important;
	}

	.minor-major .medium-6.columns:last-child, .major-minor .medium-6.columns:first-child {
		width: 50%;
	}

	.minor-major .medium-6.columns:first-child, .major-minor .medium-6.columns:last-child {
		width: 50%;
	}


	.hero .title {
		font-size: 2.2em;
		font-weight: bold;
	}

	.hero .sub-header {
		font-size: 1.5em;
	}

	.service-area .item .button {
		font-size: .9em!important;
	}


}

/* small breakpoint that can handle a few issues with the menu when we use the menu right component and header layout stacking issues */
@media only screen and (min-width: 1025px) and (max-width: 1130px) {


}

/*-- END MEDIUM SCREENS --*/




/**
 * ==============================================
 *  LARGE SCREENS
 * ==============================================
 */

/* min-width 1025px, large screens */
@media only screen and (min-width: 64.063em) {
	.component {
		padding: 4em 0;
	}

	.component.image-cta,
	.component.hero-vertical-ctas,
	.component.services-slider,
	.component.map {
		padding: 0;
	}

	.component.has-titles{
		padding-top: 0;
	}

	.title-wrap {
		padding: 4em 0 2em;
	}

	.hero .title-wrap {
		padding-bottom: 1em;
	}

	.image-grid {
		padding: 3em 0;
	}

	.parallax-section {
		padding: 4em 0;
	}

	.parallax-section .content {
		margin: 0 auto;
		margin-bottom: 3em;
	}

	.image-content-section > .row > .columns:last-child {
		padding-left: 3em;
		padding-right: 3em;
	}


	.dual-cta .content {
		font-size: 1.5em;
	}

	.entry > .row .content-wrap {
		margin-top: -32em;
	}

	.hero-slider .inner {
		padding:12em 0 1em;
	}

	.cta-slider .title {
		font-size: 3em;
	}

	.image-carousel .swiper-slide {
		width: 33%;
	}

	.parallax-background {
		padding: 3em 0;
	}

	.hero-vertical-ctas .wrap {
		position: relative;
		padding: 9em 3em;

	}

	.hero-vertical-ctas .title {

	}


	.hero-vertical-ctas .inner {
		position: absolute;
		left: 0;
		right: 0;
		top: 50%;
		padding: 3em 3em;
		transform: translateY(-50%);
	}

	.hero-vertical-ctas .content,
	.hero-vertical-ctas .buttons {
		max-height: 0;
		opacity: 0;
		overflow: hidden;
	}

	.hero-vertical-ctas .wrap:hover .content,
	.hero-vertical-ctas .wrap:hover .buttons {
		opacity: 1;
		max-height: 300px;
	}

	.hero-vertical-ctas .title {

		margin-left: auto;
		margin-right: auto;
	}


	.product-carousel .swiper-slide{
		width: 25%;
	}

	.parallax-background.title-section {
		padding: 18em 0 9em;
	}

	.category-parallax .swiper-container .swiper-slide,
	.video-feed .carousel .swiper-slide {
		width: -webkit-calc((100% / 4 - 20px) + (20px / 4));
		width: -calc((100% / 4 - 20px) + (20px / 4));
	}

	.image-cta .inner {
		max-width: 600px;
	}

	.hero-variety-3 {
		padding-bottom: 0;
	}

	.cf-large-1 .swiper-slide {
		width: 100%;
	}

	.cf-large-2 .swiper-slide {
		width: -webkit-calc((100% / 2 - 20px) + (20px / 2));
		width: calc((100% / 2 - 20px) + (20px / 2));
	}

	.cf-large-3 .swiper-slide,
	.events-carousel .swiper-slide {
		width: -webkit-calc((100% / 3 - 20px) + (20px / 3));
		width: calc((100% / 3 - 20px) + (20px / 3));
	}

	.cf-large-4 .swiper-slide {
		width: calc((100% / 4 - 20px) + (20px / 4));
		width: calc((100% / 4 - 20px) + (20px / 4));
	}

	.cf-large-5 .swiper-slide {
		width: calc((100% / 5 - 20px) + (20px / 5));
		width: calc((100% / 5 - 20px) + (20px / 5));
	}

	.portfolio-feed .inner {
		position: absolute;
		bottom: -1em;
		opacity: 0;
		left: 0;
		top: 0;
		right: 0;
		padding: 1em;
		background: rgba(255,255,255, .7);
		transition: all 0.3s ease;
		-webkit-transition: all 0.3s ease;
		overflow: hidden;
	}

	.portfolio-feed .inner .title {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 0;
		right: 0;
		text-transform: uppercase;
		font-weight: bold;
	}


	.portfolio-feed .wrap .inner span {
		display: none;
	}

	.portfolio-feed .wrap:hover .inner span {
		bottom: 0;
	}

	.portfolio-feed .wrap:hover .inner:hover span {
		width: 4em;
	}

	.portfolio-feed .wrap:hover .inner {
		bottom: 0;
		opacity: 1;
	}

	.portfolio-feed .wrap a {
		color: #fff;
	}

	.component.hero {
		padding-top: 16em;
		padding-bottom: 14em;
	}

	.component.small-hero {
		padding-top: 15em;
		padding-bottom: 15em;
	}


	.single-cta p {
		display: inline-block;
		margin: 0 .5em;
		font-size: 2em;
	}

	.masonry-view .grid-item {
		overflow: hidden;
	}

	.masonry-view .caption {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		transition: all 0.3s ease;
		background: rgba(255,255,255, .8);
		opacity: 0;
	}

	.masonry-view .caption .inner {
		background: 0;
		top: 0;
		left: 0;
		position: absolute;
		transform: translateY(-50%);
		padding: 0;
		bottom: auto;
		overflow:visible;
		padding: 1em;
	}

	.masonry-view .grid-item:hover .caption {
		opacity: 1;
	}

	.masonry-view .grid-item:hover .caption .inner {
		opacity: 1;
		top: 50%;
	}


	.minor-major .medium-6.columns:first-child,
	.major-minor .medium-6.columns:last-child {
		width: 35%;
	}

	.minor-major .medium-6.columns:last-child,
	.major-minor .medium-6.columns:first-child {
		width: 65%;
	}


	.service-area .features li {
		margin-bottom: 0!important;
	}


	#more-footer .button {
		position: relative;
	}

	#main-footer .columns:nth-child(1) {

	}

	#main-footer .columns:nth-child(2) {

	}

	#main-footer .columns:nth-child(3) {
	}


	.header-widgets {
		margin-left: 1em;
	}

	.hero-slider .inner {
		padding: 20em 0;
	}

	.featured-events h2.title {
		font-size: 3em;
	}

	.category-feed .inner .title {
		line-height: 1.3;
	}

	.two-column-section.major-minor .columns:last-child .button {
		margin: 1em 0;
	}

	.image-cta.angled-left .columns:last-child {
		-webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 5% 100%);
		clip-path: polygon(0 0, 100% 0%, 100% 100%, 5% 100%);
		padding-left: 7em;
		position: absolute;
		right: 0;
		width: 55%;
	}

	#main-footer .widget {
		margin: 0;
	}


	.parallax-section.content-left .title-wrap {
		max-width: 600px;
		position: relative;
	}

	.parallax-section.content-left .content-wrap {
		max-width: 600px;
		z-index; 99;
		position: relative;
	}


	.fat-padding-bottom {
		padding-bottom: 6em!important;
	}

	.service-area.alt .row {
		margin-top: -12.7em;
	}

	.service-area.alt .title {
		color: #fff;
		font-size: 2em!important;
	}

	.service-area .title-wrap .title {
		font-size: 2.8em;
	}

	.header-widgets {
		float: right;

	}

	#header {
		padding: 1.5em 0 1.5em;
	}


	.image-cta {
		position: relative;
	}

	.component.pull-top,
	.component.top-angle {
		margin-top: -13em;
	}

	.component.top-angle {
		-webkit-clip-path: polygon(0 0, 100% 8%, 100% 100%, 0 100%);
		clip-path: polygon(0 0, 100% 8%, 100% 100%, 0 100%);
		position: relative;
		z-index: 9;
		padding-top: 5.5em;
		background: #fff;
	}

	.component.top-angle:after {
		-webkit-clip-path: polygon(0 0, 100% 8%, 100% 100%, 0 92%);
		clip-path: polygon(0 0, 100% 8%, 100% 100%, 0 92%);
		background: #000;
		content: '';
		position: absolute;
		left: 0;
		top: -91.2%;
		right: 0;
		height: 100%;
		display: block;
		z-index: 9;
	}

	#epkb-main-page-container.epkb-basic-template #epkb-content-container section {
		min-height: 250px;
	}


}
/*-- END LARGE SCREENS --*/
