/**
 * ==========================================================================================
 * ==========================================================================================
 *
 * 								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 {
        position: fixed;
        z-index: 999;
    }    


	#header{
		background:#002366
	}

	#header .columns{
		padding: 0;
	}

	#header .logo{
		margin-top: 2em;
	}
    
    .mobile-button-container {
        margin-top: 4.8em !important;
        margin-right: 1em;
    }

    #utility { 
        display: none;
    }
    

	.logo {
		margin-right: 40px;
		max-width: 230px;
	}

	#main-footer .widget {
		text-align: center;
        margin-bottom: .8em;
	}

     .over .medium-6:first-child{
 	    background: #002366;
 	    padding: 1em;
     }

	.hero-variety-2 .feature-content ul {
		list-style: none;
		margin: 0 0 1em;
	}

	.cf-small-1 .swiper-slide {
		width: 100%;
	}

	.cf-small-2 .swiper-slide {
		width: calc(100% /2 - 20px);
	}
    
    .hero-vertical-ctas .wrap {
        padding: 0em 0;
    } 
    
    .title, .two-column-section h2, .two-column-section h3 {
        font-size: 2em;
    }
    
    #more-footer p {
        line-height: 1.1 !important;
    }
    
    #more-footer .button {
        width: 100%;
        
    }
    
    #main-footer .info {
        display: block;
    }
    
    #main-footer .info i {
        display: none;
    }
    
    .component.hero {
        padding: 3em 0;
    } 
    
    .home .over.component {
        padding: 0 !important;
    }
    
    .overbox {
        margin-top: 1em;
    }
    
    .parallax-background.title-section {
        padding: 4em 0 2em;
    }
    
    .component.map {
        padding-bottom: 0;
    }
    
    .title-section {
        text-align: center;
    }
    
    .title-section .title {
        font-size: 2.1em;
    }
    
    .hero .title {
        font-size: 2.8em;
    }
    
    .overbox .button {
        font-size: 1.2em;
    }
    
    .image-cta .columns {
        padding: 2em 3em;
    }
    
    .image-cta .sub-header {
        margin: 0;
    }
}

/*-- END SMALL SCREENS --*/



/**
 * ==============================================
 *  MEDIUM SCREENS
 * ==============================================
 */

/* min-width 641px, medium screens */
@media only screen and (min-width: 40.063em) {
	#utility #utility-1 {
		text-align: right;
	}
	.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: 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: 2em 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: 5em;
        padding-bottom: 11em;
    }
    
    .home .hero .row .columns {
        max-width: 58%;
    }
    
    .home .overbox {
        margin-top: -29em;
    }

	.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 {
		position: absolute;
		width:  100%;
		z-index: 1;
	}

	#main-footer-3 {
		text-align: left;
	}

	#more-footer .button {
		margin-right: 1em;
	}


	.home .overbox {
		margin-left: auto;
		margin-right: 2em;
		margin-top: -20em;
		position: relative;
		z-index: 9;
	}
    
    
    .overbox {
        margin-left: auto;
        margin-top: 0em;
        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%;
	}
    
    
    .small-large .medium-6.columns:first-child,
	.large-small .medium-6.columns:last-child {
		width: 40%;
	}

	.small-large .medium-6.columns:last-child,
	.large-small .medium-6.columns:first-child {
		width: 60%;
	}
    
    



}

/* 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;
	}

	#header{
		background:#002366
	}

     .over .medium-6:first-child{
 	    background: #002366;
 	    padding: 1em;
     }


	.masonry-view .excerpt {
		display: none;
	}

	.header-widgets {
		/* margin-right: 3em; */
	}

	#header .logo{
		margin-top: 1.8em;
        max-width: 310px;
	}

	#header .columns{
		padding: 0;
	}

	.mobile-button-container {
		margin-top: 4.2em;
        margin-right: 1em;
	}

	#utility{
		display: none;
	}

	#main-footer .columns:nth-child(1) {
        width: 100%;
        text-align: center;
        margin-bottom: 2em;
    }

	#main-footer .columns:nth-child(2) {
        width: 40%;
    }



	#main-footer .columns:nth-child(3) {
	    width: 30%;
	}

	#main-footer .columns:nth-child(4){
		width: 15%;
	}
    
    
    .hero-vertical-ctas .wrap {
        padding: 0em 0;
    } 
    
    .hero-vertical-ctas .medium-6 {
        width: 100%;
    }
    
    .parallax-background.title-section {
        padding: 5em 0;
    }
    
    .home .component.two-column-section.over {
        padding: 0 !important;
    }
    
    .home .component.two-column-section.over.major-minor .medium-6.columns:last-child {
        width: 45% !important;
    }
    
    .home .component.two-column-section.over.major-minor .medium-6.columns:first-child {
        width: 55% !important;
    }
    
    .home .overbox {
        margin-left: auto;
        margin-right: 0;
        margin-top: -26em;
        position: relative;
        z-index: 9;
    }

    .component.map {
        padding-bottom: 0;
        padding-top: 0;
    }


}

/* 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: 1150px) {
    
    #header .logo {
        max-width: 300px !important;
    }

}

/*-- 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;
	}


	.product-carousel .swiper-slide{
		width: 25%;
	}

    .parallax-background.title-section {
        padding: 10em 0 5em;
    }

	.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;
	}

	.float .inner{
		margin-left: 4em;
	}

	.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: 11em;
        padding-bottom: 15em;
    }
    
    .home .hero .row .columns{
        max-width: 58%;
    }

	.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: 30%;
	}

	.minor-major .medium-6.columns:last-child,
	.major-minor .medium-6.columns:first-child {
		width: 70%;
	}
    
    
    .small-large .medium-6.columns:first-child,
	.large-small .medium-6.columns:last-child {
		width: 40%;
	}

	.small-large .medium-6.columns:last-child,
	.large-small .medium-6.columns:first-child {
		width: 60%;
	}
    

	.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;
	}

	#main-footer .columns:nth-child(2) {
	    padding-left: 2em;
	}
    
	#main-footer .columns:nth-child(3){
	    padding-left: 10em;
	}
    
	#main-footer .columns:last-child{
	    width: 10%;
	}



    .float.image-left .columns:last-child {
        width: 50%;
        min-height: 600px;
    }

    .float.image-left .columns:first-child {
        background: #efefef;
        width: 53%;
        position: absolute;
        margin-top: 3em;
        margin-bottom: 3em;
        padding: 2em;
        z-index: 1;
        height: 90%!important;
    }

    .float.image-right .columns:last-child {
        width: 66%;
        min-height: 600px;
        padding: 2em 5em 0 0;
        margin-bottom: 0;
    }

    .float.image-right .columns:first-child {
        background: #efefef;
        width: 53%;
        position: absolute;
        margin-top: 4em;
        margin-bottom: 3em;
        padding: 2em 5em 0 0;
        z-index: 100000;
        left: 47%;
        top: 9%;
    }

	.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;
		display:  none;
	}

	#header {
		padding: 0;
	}


	.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;
	}

	.over{
        margin-top: -8.7em;
		position: relative;
		z-index: 999;
	}


    .over .content-wrap:first-child:before {
        background: rgba(0,35,102,.8);
        /* -webkit-clip-path: polygon(0 42%, 100% 68%, 100% 100%, 0% 100%); */
        /* clip-path: polygon(0 42%, 100% 68%, 100% 100%, 0% 100%); */
        display: block;
        content: '';
        width: 140%;
        min-height: 28%;
        bottom: 14.2em;
        position: absolute;
        z-index: -1;
    }
    
    .home .overbox .title-wrap .columns{
    	padding: 0;
    }

    .grey-triangle:before{
    	content: '';
    	display: block;
    	position: absolute;
    	width: 100%;
    	-webkit-clip-path: polygon(0 56%, 0% 100%, 100% 100%);
    	clip-path: polygon(0 56%, 0% 100%, 100% 100%);
    	height: 170%;
    	bottom: 0;
    	background: #f2f2f2;
    	left: 0;
    }

    .hero-vertical-ctas .wrap {
		position: relative;
		padding: 13em 3em;
		overflow: hidden;
	}

    .hero-vertical-ctas .title {
        font-size: 2.3em;
    }


	.hero-vertical-ctas .inner {
		position: absolute;
		left: 0;
        right: 7em;
		padding: 2em 3em;
		transition: all 0.3s ease;
		bottom: 0;
	}

	.hero-vertical-ctas .wrap:hover .inner {
		bottom: none;
		top: 50%;
		bottom: auto;
		transform: translateY(-50%);
		padding: 5.7em 3em;
		right: 0;
        min-height: 450px;
        -webkit-clip-path: polygon(0 0, 95% 0, 100% 16%, 100% 100%, 0 100%);
         clip-path: polygon(0 0, 100% 0, 100% 16%, 100% 100%, 0 100%);
	}

	.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: 450px;
	}

	.hero-vertical-ctas .title {
		margin-left: auto;
		margin-right: auto;
	}
    
    .home .testimonials.minor-major .columns.medium-6.w:first-child{
    	margin-top: -8em !important;
    }
    
    .overbox {
        margin-left: auto;
        margin-top: -12em;
        position: relative;
        z-index: 9;
    }
    
    .title-section .row .columns {
        max-width: 58% !important;
    }
    
    .home .overbox {
		margin-left: auto;
		margin-right: 2em;
		margin-top: -25em;
		position: relative;
		z-index: 9;
	}

}
/*-- END LARGE SCREENS --*/
