/**
 * ==========================================================================================
 * ==========================================================================================
 *
 * 								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-widgets {
		display: none;
	}

	.logo {
		margin-right: 40px;
		max-width: 230px;
	}

	#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);
	}

	#mega-menu-wrap-footer-menu #mega-menu-footer-menu{
		text-align: center!important;
	}

	#main-footer .mega-menu-link{
		padding: 0 10px!important;
		margin-bottom: 1em!important;
	}

	.parallax-background.title-section {
		padding: 12em 0 7em;
	}

	.component.hero  {
		padding: 12em 0 5em;
	}

	.negative {
		margin: -115px auto 0;
		position: relative;
	}

	.title, .two-column-section h2 {
		font-size: 3em;
	}

	.hero .title {
		font-size: 3.5em;
	}

	.hero .sub-header {
		font-size: 2.5em;
	}

	.sub-header, .two-column-section h4, .hero .sub-header, .title-section .sub-header {
		font-size: 2.25em;
	}


	.budget-slider {
		padding: 0 2em!important;
	}
    
    .hero.parallax-background .sub-header {
        font-size: 2em;
    }
	
	#main-footer .inline-component.address {
    	display: block !important;
		width: 100%;
	}

}

/*-- END SMALL SCREENS --*/



/**
 * ==============================================
 *  MEDIUM SCREENS
 * ==============================================
 */

/* min-width 641px, medium screens */
@media only screen and (min-width: 40.063em) {
	#utility #utility-1 {
		/* text-align: center; */
	}
	.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: 15%;
	}

	#main-footer .medium-6:last-child{
		width: 80%;
		text-align: right;
		margin: 3em 1em;
	}


	.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: 3em 0;
	}

	.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 .inner {
		/* position: absolute; */
		/* top: 50%; */
		/* transform: translateY(-50%); */
	}

	.recent-news .columns {
		position: relative;
	}

	.component.hero {
		padding-top: 9em !important;
		padding-bottom: 6em !important;
	}

	.component.small-hero {
		padding-top: 11em;
		padding-bottom: 11em;
	}

	#middle {
		padding: 3em 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: 23em!important;
		padding-bottom: 0!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;
	}

	#utility {
		padding: 0;
		text-align: center;
	}

	#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: 35%;
	}

	.minor-major .medium-6.columns:last-child,
	.major-minor .medium-6.columns:first-child {
		width: 65%;
	}


	.parallax-background.title-section {
		padding: 12em 0 8em;
	}

	.budget-slider {
		padding: 0 2em!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;
	}

	.header-widgets {
		display: none;
	}

	.mobile-button-container {
		margin-top: .9em;
	}
	
	
	#main-footer .medium-6:first-child {
		width: 100%;
		text-align: center;
	}
	
	#main-footer .widget {
    	text-align: center;
	}

	#main-footer .medium-6:last-child{
		width: 100%;
		text-align: center;
		margin: 1em auto;
	}
	
	#mega-menu-wrap-footer-menu #mega-menu-footer-menu {
    	text-align: center !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: 3em 0; */
	}

	#utility{
		display: none;
	}

	.component.image-cta,
	.component.hero-vertical-ctas,
	.component.services-slider,
	.component.map {
		padding: 0;
	}

	.component.has-titles{
		padding-top: 0;
	}

	.title-wrap {
		padding: 2em 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.one-column-section, .parallax-background.two-column-section {
		padding: 4.5em 0 6em !important;
	}
	.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: 15em 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: 430px;
	}

	.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: 15em !important;
		padding-bottom: 8em !important;
	}

	.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;
		/* max-width: 25%; */
		margin:  0 auto;
		justify-content: center;
	}


	#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-top: 1em;
	}


	.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: 4em;
	}

	.header-widgets {
		float: right;
		margin: 1em 1em;
	}

	#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;
	}

	.service-area .features ul{
		/*display: inline-flex;*/
	}

	.budget-slider-table {
		padding: 3em 0!important;
	}

	.metric .message {
		font-size: 110%!important;
	}


	.metric .number {
		font-size: 420%!important;
	}

	.budget-slider-table .metric {
		width: 25%;
		border-right: 1px solid rgba(0,0,0, .1);
	}

	.budget-slider-table .metric:last-child {
		width: 49%;
		border-right: 0;
	}

	.budget-slider-table {
		box-shadow: 0px 0px 8px rgba(0,0,0, .3)!important;

	}

	.slider::-webkit-slider-thumb {
		width: 40px!important; /* Set a specific slider handle width */
		height: 50px!important; /* Slider handle height */
	}
	.slider::-moz-range-thumb {
		width: 40px!important; /* Set a specific slider handle width */
		height: 50px!important; /* Slider handle height */
	}

	.budget-slider {
		padding: 0!important;
	}



}
/*-- END LARGE SCREENS --*/
