/**
 * ==========================================================================================
 * ==========================================================================================
 *
 * 								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) {
	#utility {
		text-align: center;
	}

    #header {
        padding: 1.25em 0 0em;
        text-align: center;
    }

/*
	.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;
        right: 42px;
    }

	.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-page .woocommerce, .single-product #container, .search #container {
        margin: -170px auto 4em;
    }

	.woocommerce .cart .variation {
		padding: 1em 0 0;
	}

	.cf-small-1 .swiper-slide {
		width: 100%;
	}

	.cf-small-2 .swiper-slide {
		width: calc(100% /2 - 20px);
	}


	.portfolio-navigation {
		padding-bottom: 1em;
	}

    .menu-header-sub-menu-container {
        display: none;
    }


    #header .logo {
        position: relative;
        top: none !important;
        z-index: 100;
        text-align: center;
        margin:auto;
    }

    #header .logo img {
        width: 50%;
    }

    .header-sub {
        display: none !important;
    }

    .header-sub-mobile {
        border-top: solid 1px #f7f1e6;
        border-bottom: solid 1px #f7f1e6;
        padding: 0.5em 0;
        margin: 0.4em 0 0 0;
    }

    .open_hours {
        color: #282828 !important;
        font-weight: 600;
        padding: .3em 0 0;
        text-align: left !important;
    }


     .header-sub-mobile .search i{
        color: #b9d229;
        font-size: 1.7em;
        margin: .1em 0 0 0;
    }

    .mobile-button-container {
	    margin-left: -80px;
        margin-top: 0 !important;
    }

    .hero-slider .inner {
        padding: 12em 0 10em !important;
        z-index: 99;
        position: relative;
    }

    .hero-vertical-ctas .inner {
        padding: 1em;
    }

    #main-footer a img.alignleft {
        float: none !important;
        margin: auto !important;
    }

    #main-footer #widget_op_overview-2 {
        display: none;
    }

    .title-section.parallax-background {
        padding: 6em 0 3em !important;
    }

    .image-cta .columns {
        min-height: 400px;
    }

    .title-section .title {
        line-height: 1;
        font-size: 2.8em !important;
    }

    .tribe-events-sub-nav {
        display: none;
    }

    #tribe-events-pg-template {
        padding: 0 !important;
    }

    .single-tribe_events .tribe-events-schedule .recurringinfo, .single-tribe_events .tribe-events-schedule .tribe-events-cost, .single-tribe_events .tribe-events-schedule .tribe-events-divider {
        font-size: 1.7em !important;
        color: #6e81c9;
        font-weight: bold;
        float: left;
        margin: 0 !important;
    }

    #tribe-events select {
        float: left !important;
    }

    #tribe-community-events #event-categories ul:not(.tribe-categories-with-children) li {
        float: none !important;
        margin: 10px 0 0;
        padding: 0 10px 0 0;
        width: 70% !important;
    }

    .icon-strip {
        display: none;
    }

    .variation {
        -webkit-column-count: 2; /* Chrome, Safari, Opera */
        -moz-column-count: 2; /* Firefox */
        column-count: 2;
    }


}

/*-- END SMALL SCREENS --*/



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

/* min-width 641px, medium screens */
@media only screen and (min-width: 40.063em) {
	.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;
	}

	.widget_sp_image {
		text-align: right;
	}

	#main-footer .medium-6:first-child {
		width: 60%;
	}

	#main-footer .medium-6:last-child{
		width: 40%;
		text-align: left;
	}


	.image-grid {
		padding: 2em 0;
	}

	.image-grid .title + .sub-header {
		margin-bottom: 2em;
	}

	.parallax-section {
		padding: 2em 0;
	}

	.parallax-section .content {
		font-size: 1.2em;
	}

	.image-content-section {
		padding: 3em 0;
	}

	.image-content-section img {
		margin-bottom: 1em;
	}
/*
	.image-content-section > .row > .columns:first-child {
		border-right: 1px solid #d4d4d4;
	}
*/

	.image-content-section > .row > .columns {
		padding : 2em;
	}

/*
	.image-content-section > .row > .columns:first-child:after, .image-content-section .columns:first-child:before {
		left: 100%;
		top: 40%;
		border: solid transparent;
		content: " ";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
	}

	.image-content-section  > .row > .columns:first-child:after {
		border-color: rgba(255, 255, 255, 0);
		border-left-color: #ffffff;
		border-width: 20px;
		margin-top: -60px;
	}
	.image-content-section  > .row > .columns:first-child:before {
		border-color: rgba(212, 212, 212, 0);
		border-left-color: #d4d4d4;
		border-width: 21px;
		margin-top: -61px;
	}
*/


	.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%;
	}

	.hero-variety-1 {
		padding: 3em 0;
	}

	.hero-variety-2 {
		padding: 0;
	}

	.hero-variety-2 .main-content .inner {
		padding: 2em;
	}

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

	.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 {
		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));
	}

	.two-column-category-feed {
		text-align: left;
	}

	.two-column-category-feed .title-wrap {
		margin-bottom: 0;
	}

	.two-column-category-feed .buttons {
		margin-bottom: 2em;
	}

	.recent-news .inner {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}

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

	.component.hero {
		padding-top: 5em;
		padding-bottom: 7em;
	}

	#middle {
		padding: 3em 0;
	}

	.minor-major .columns:first-child,
	.major-minor .columns:last-child {
		width: 30%;
	}

	.minor-major .columns:last-child,
	.major-minor .columns:first-child {
		width: 70%;
	}


}

/* 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 .logo {
        position: absolute;
        top: 20px;
        z-index: 100;
    }

    .menu-header-sub-menu-container {
        display: none;
    }


    .hero-slider .inner {
        padding: 12em 0 10em !important;
        z-index: 99;
        position: relative;
    }

    .hero-vertical-ctas .inner {
        background: rgba(0, 0, 0,0.7);
        padding: 6em 2em;
        min-height: 480px;
    }

    .hero-vertical-ctas .title {
        margin-bottom: .4em;
        font-size: 2.2em;
    }


}

/*-- 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: 3em 0 1em;
	}

	.image-grid {
		padding: 3em 0;
	}

	.parallax-section {
		padding: 4em 0;
	}


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

	.image-carousel .swiper-slide {
		width: 33%;
	}

	.parallax-background {
		padding: 3em 0;
	}

	.hero-variety-2 {
		padding: 0;
	}

	.product-carousel .swiper-slide{
		width: 25%;
	}

	.parallax-background {
		padding: 5em 0;
	}

	.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 {
		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;
		right: 0;
		padding: 1em;
		background: rgba(0,0,0, .4);
		transition: all 0.3s ease;
		-webkit-transition: all 0.3s ease;
		overflow: hidden;
	}

	.portfolio-feed .wrap .inner span {
		position: absolute;
		top: 0em;
		right: 0;
		bottom: -7em;
		width: 3em;
		background: rgba(0,0,0, .4) url(images/bkg_search.png) no-repeat center center;
		transition: all 0.3s ease;
		-webkit-transition: all 0.3s ease;
	}

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

	.two-column-category-feed .title-wrap {
		float: left;
	}

	.two-column-category-feed .buttons {
		padding-top: 6em;
	}

	.two-column-category-feed .featured {
		clear: both;
	}

	.two-column-category-feed .featured a {
		display: block;
		position: relative;
	}

	.two-column-category-feed .featured .wrap {
		margin-bottom: 2em;
	}

	.two-column-category-feed .featured .inner {
		position: absolute;
		background: rgba(0,0,0, .5);
		bottom: 0;
		left: 0;
		right: 0;
		padding: .5em;
	}

	.two-column-category-feed .featured .post-title,
	.two-column-category-feed .featured .post-excerpt {
		color: #fff;
	}

	.two-column-category-feed .featured p {
		margin-bottom: 0;
	}

	.two-column-category-feed .featured .post-excerpt {
		max-height: 0;
		opacity: 0;
		-webkit-transition: all 0.3s ease;
		-moz-transition: all 0.3s ease;
		-o-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}

	.two-column-category-feed .featured a:hover .post-excerpt {
		max-height: 100px;
		opacity: 1;
		padding: 0 0 .5em;
	}

	.component.hero {
		padding-top: 7em;
		padding-bottom: 9em;
	}

	.hero .title {
		font-size: 5em;
		line-height: 1;
	}

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

	.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%;
	}

    #header .logo {
        position: absolute;
        top: 20px;
        z-index: 100;
    }

    	.hero-vertical-ctas .wrap {
		position: relative;
		padding: 14em 3em;
	}


	.hero-vertical-ctas .inner {
		    position: absolute;
            left: 0;
            right: 0;
            top: 100%;
            padding: 2em 3em;
            transform: translateY(-100%);
            margin: 0 3em;
	}

	.hero-vertical-ctas .content {
		max-height: 0;
		opacity: 0;
		overflow: hidden;
	}

	.hero-vertical-ctas .wrap:hover .content {
		opacity: 1;
		max-height: 300px;
	}

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