/* ==================================================
    RESPONSIVE
   ================================================== */

@media
only screen and (max-device-width: 480px),
only screen and (max-device-width: 1024px) and (min-resolution: 130dpi),
only screen and (-webkit-min-device-pixel-ratio: 1.25)	and (min-resolution: 145dpi),
only screen and (   min--moz-device-pixel-ratio: 1.25)	and (min-resolution: 145dpi),
only screen and (   -moz-min-device-pixel-ratio: 1.25)	and (min-resolution: 145dpi),
only screen and (     -o-min-device-pixel-ratio: 2/1)	and (min-resolution: 145dpi),
only screen and (        min-device-pixel-ratio: 1.25)	and (min-resolution: 145dpi) {
   
   .vc_video-bg-container .vc_parallax-inner { display: none; }
   .vc_video-bg-container .background-holder { display: inherit; }
   
}

/* ---------- All non mobile or tablet devices (everything over 1121px) ---------- */
@media only screen and (min-width: 1121px) { }

/* ---------- All non desktop devices up to 1120px ---------- */

@media only screen and (max-width: 1120px) {
    
	/* ---------- Typography ---------- */

    body,
    textarea,
    input,
    label { }

    body,
    textarea,
    label { }

    h1,
    .heading-title {    margin-bottom: 18px }

    h1,
    .heading-title {
        font-size: 5em;
        line-height: 1em;
    }

    .section-header.portfolio-item .heading-title,
    .post-grid-item-content h1,
    .post-grid-item-content h2,
    .post-grid-item-content h3,
    .portfolio-grid .post-grid-item-content h1,
    .portfolio-grid .post-grid-item-content h2,
    .portfolio-grid .post-grid-item-content h3 {
        font-size: 1.5em;
        line-height: 1.2em;
		letter-spacing: 0;
    }

    /* ---------- Styling ---------- */

    .no-padding-top-mobile {    padding-top: 0 }

    .no-padding-bottom-mobile {    padding-bottom: 0 }

    .no-marign-top-mobile {    margin-top: 0 }

    .no-margin-bottom-mobile {    margin-bottom: 0 }

    .tablet-br {    display: block }

    .desktop-br,
    .mobile-br {    display: none }

    /* ---------- Gallery Shortcode ---------- */

    .gallery-columns-2 .gallery-item,
    .gallery-columns-3 .gallery-item,
    .gallery-columns-4 .gallery-item,
    .gallery-columns-5 .gallery-item,
    .gallery-columns-6 .gallery-item,
    .gallery-columns-7 .gallery-item,
    .gallery-columns-8 .gallery-item,
    .gallery-columns-9 .gallery-item {
        height: auto;
        width: 50%;
    }

    img.alignnone,
    div.alignnone,
    .wp-caption.none {
        max-width: 100%;
        margin: 40px auto;
    }

    /* ---------- Layout ---------- */

    .flexslider-big .slider-button-center {    bottom: 92px }

    /* ---- Post Grid ---- */

    .post-grid-item { 
		padding-bottom: 30%; 
		width: 100%;
	}

    /* reset to two columns */
    .post-grid-item:nth-of-type(3n-1) .post-grid-item-image,
	.post-grid-item:nth-of-type(3n-1) .post-grid-item-content { top: 0; }
	
	.post-grid-item-image,
	.post-grid-item-content { 
		height: 100%;
		left: 0;
		top: 0;
		width: 50%;
	}

	.post-grid-item .post-grid-item-content { left: 50%; }

	.post-grid-item:nth-of-type(2n) .post-grid-item-image { left: 50%; }

	.post-grid-item:nth-of-type(2n) .post-grid-item-content { left: 0; }
	
	
	/* ---- Portfolio Grid ---- */
	
	.portfolio-grid .post-grid-item,
	.site-width.portfolio-grid .post-grid-item,
	.narrow-width.portfolio-grid .post-grid-item { 
		padding-bottom: 30%;
		width: 50%; 
	}

	.portfolio-grid .post-grid-item .post-grid-item-content,
	.portfolio-grid .post-grid-item:nth-of-type(2n) .post-grid-item-image { left: 0%; }
	
	
}

/* ---------- Tablet Landscape up to 1024px ---------- */

@media only screen and (max-width: 1024px) {

    html {    font-size: 15px }

    .comment-date {
		display: block;
		float: none;
		margin: 4px 0 0;
	}

}

/* ---------- All non-mobile (AKA not One Column) greater than 768px ---------- */

@media only screen and (min-width: 770px) { 
    
	/* Hide mobile only content */
    .show-mobile {    display: none !important }
	
}

@media only screen and (max-height: 700px) and (min-width: 768px) { 
	
	/* Sliders & Headers on extreme landscape aspect ratio */
	
	.section-header-content .heading-title {
        font-size: 5em;
        line-height: 1em;
    }
	
	.flexslider-big .slider-button-center { bottom: 54px; }
	
	.flexslider-big .flex-control-nav { bottom: 20px; }
	
}

@media only screen and (max-width: 769px) {
	
    /* html {    font-size: 15px; }  */

    .mobile-br {    display: block }

    .desktop-br,
    .tablet-br {    display: none }

    /* Hide all desktop only content */

    .show-desktop {    display: none !important }

    /* ----- Margin ----- */

    /* Margin V */

    .margin-v {
        margin-bottom: 24px;
        margin-top: 24px;
    }

    .margin-v-small {
        margin-bottom: 24px;
        margin-top: 24px;
    }

    /* ----- Padding ----- */

    .padding-top {    padding-top: 50px }

    .padding-bottom {    padding-bottom: 50px }

    /* Padding H */
	
	.section-content-wrapper .tagcloud { 
		padding-left: 15px;
		padding-right: 15px;
	}
	
	.padding-h,
    .row-container.padding-h,
	.vc_column_container > .vc_column-inner.padding-h,
	.row-container > .vc_column_container + .vc_column_container > .vc_column-inner.padding-h,
    .padding-h-small,
	.row-container.padding-h-small,
    .vc_column_container > .vc_column-inner.padding-h-small,
	.row-container > .vc_column_container + .vc_column_container > .vc_column-inner.padding-h-small,
	.comments-header.padding-h,
	.comment-form-content.padding-h	{
        padding-left: 20px;
        padding-right: 20px;
    }
	
	#comments li:first-child > .comment-holder.padding-v { padding-top: 50px; }
	
	.site-header > .padding-h,
    .section-content.padding-h,	
    #reply-title,
	.row-container:not(.padding-h):not(.padding-h-small) > .vc_column_container > .vc_column-inner:not(.padding-h-none)	{
        padding-left: 35px;
        padding-right: 35px;
    }
	
    /* Padding V */

    /*
	.padding-v,
    .padding-v-small,
    .padding-v-large,
    .row-container.padding-v,
	.row-container.padding-v-small,
        padding-top: 50px;
        padding-bottom: 50px;
    }
	*/
	
	.vc_column-inner .vc_column_container > .vc_column-inner,
    .padding-v > .post-content {
        padding-left: 0;
        padding-right: 0;
    }
	
    /* ----- Pagination ----- */

    .section-pagination {    right: 11px }
	
	.section-pagination span { display: none; }
	
    /* ---------- Animation ---------- */

    @-webkit-keyframes bounce-small {
        0% {    bottom: 20px }
        
        50% {    bottom: 24px }
        
        100% {    bottom: 20px }
    }

    /* ---------- Typography ---------- */

    body,
    textarea,
    label { }

    h1,
    .heading-title,
    .section-header.portfolio-item .heading-title {
        font-size: 2em;
        letter-spacing: 3px;
        line-height: 1em;
    }

    h2,
	.single-post h1.heading-title,
    body.search .post-content h2,
    .flexslider-small p {
        font-size: 1.5em;
        letter-spacing: 0;
        line-height: 1.15em;
    }

    .heading-title .small-text {    font-size: 0.75em }

    .heading-subtitle {    font-size: 1em }

    .section-header.portfolio-item .heading-label,
    .section-header.portfolio-item .heading-title {    margin-bottom: 32px }

    h3,
    body.search .post-content h2,
    .flexslider-small p {
        font-size: 1.25em;
        letter-spacing: 2px;
        line-height: 1.15em;
    }

    h4,
    .heading-label,
    .funky-posts a,
    blockquote cite,
    .wpb_wrapper .vc_separator h4,
    .vc_label,
    .flexslider-small .slide-subtitle { }

    h5,
    .widget-title,
    .wpb_accordion .wpb_accordion_wrapper h3.wpb_accordion_header,
    .vc_toggle_title h4,
    .posts-list h3,
    .funky-posts .post-date,
    .vc_tta .vc_tta-title-text,
    h4.vc_tta-panel-title { }

    h6 { }

    .logo-text {
        font-size: 0.734em;
        margin-top: 44px;
    }
	
	blockquote { padding: 15px; }
	
	blockquote p{ 
		font-size: 1em;
        letter-spacing: 0;
        line-height: 1.7em;
	}

    /* ---------- Layout ---------- */

    /* ----- Navigation ----- */

    .site-header {
		padding: 0;
		position: relative;
	}
	
	.nav-transparent .site-header { position: absolute; }

    .admin-bar .site-header {    top: 0 }

    .logo {    max-width: none }
	
	.header-nav-wrapper { margin-top: 40px; }
	
	.header-nav-wrapper > ul > li::before { display: none; }
	
	.menu-icon { margin-top: 0; }
	
	.panel-toggle-icons {
        left: 35px;
        right: 35px;
    }

    .panel-toggle-icons li {    text-align: left }
	
	.panel-toggle-icons li:only-child { display: none; }
	
    .panel-toggle-icons.toggle-cols-1 li {    width: 100% }

    .panel-toggle-icons.toggle-cols-2 li {    width: 100% }

    .panel-toggle-icons.toggle-cols-3 li {    width: 33.333333% }
	
    .panel-toggle-icons.toggle-cols-3 li:nth-child(2) { text-align: center; }

    .panel-toggle-icons.toggle-cols-4 li {    width: 32% }

    .panel-toggle-icons.toggle-cols-5 li {    width: 24% }

    .panel-toggle-icons li span {    margin-right: 0 }

    .panel-nav .funky-icon-close {
        right: 35px;
        text-align: right;
        width: 20%;
    }

    .panel-nav .menu a,
    .panel-nav .back {
        font-size: 1.25em;
        letter-spacing: 3px;
        line-height: 1.2em;
        padding: 8px 35px;
    }

    .panel-nav .social-buttons {    padding: 0 35px }

	.panel-nav .searchform { max-width: 75%; }
	
    .panel-nav .searchform .s {
        font-size: 1.25em;
        padding: 30px 40px 30px 0;
    }

    .panel-nav .searchsubmit span {
        font-size: 24px;
        line-height: 80px;
    }
	
	.section-wrapper:first-of-type > .section-header:first-child,
	.section-wrapper:first-of-type > .section-content-wrapper:first-child,
	.nav-transparent .section-wrapper:first-of-type > .section-content-wrapper:first-child { padding-top: 0; }

    /* ---- Header ---- */

    .section-header {    min-height: 0 }

    .section-header-content {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .section-header-content.margin-v {
        margin-bottom: 0;
        margin-top: 0;
    }
	
    .section-scroll-link {
        animation: bounce-small 1s infinite;
        -moz-animation: bounce-small 1s infinite;
        -webkit-animation: bounce-small 1s infinite;
    }

    /* ---- Footer ---- */

    .site-footer .widget {
        clear: both;
        float: none;
        margin: 24px 0 0;
        width: auto;
    }

    .widget,
    .site-footer .widget:nth-child(2),
    .site-footer .widget:nth-child(3) {    margin-top: 40px }

    .site-footer .widget:nth-child(1) {    margin-top: 0 }

    .site-footer .back-to-top-link {
        display: block;
        margin: 40px auto 0;
        position: relative;
        right: auto;
    }

    /* ---- Post Grid ---- */

    .post-grid-item,
    .site-width .post-grid-item,
    .narrow-width .post-grid-item {
        padding-bottom: 120%;
        width: 100%;
    }

    .post-grid-item .post-grid-item-image,
    .site-width .post-grid-item .post-grid-item-image,
    .narrow-width .post-grid-item .post-grid-item-image,
    .post-grid-item:nth-of-type(3n-1) .post-grid-item-image,
    .post-grid-item:nth-of-type(2n) .post-grid-item-image,
    .site-width .post-grid-item:nth-of-type(2n) .post-grid-item-image,
    .narrow-width .post-grid-item:nth-of-type(2n) .post-grid-item-image {
		left: 0;
		height: 50%;
		top: 0;
		width: 100%;
	}
	
	.post-grid-item .post-grid-item-content,
	.site-width .post-grid-item .post-grid-item-content,
	.narrow-width .post-grid-item .post-grid-item-content,
    .post-grid-item:nth-of-type(3n-1) .post-grid-item-content,
    .post-grid-item:nth-of-type(2n) .post-grid-item-content,
    .site-width .post-grid-item:nth-of-type(2n) .post-grid-item-content,
    .narrow-width .post-grid-item:nth-of-type(2n) .post-grid-item-content {
		left: 0;
		height: 50%;
		top: 50%;
		width: 100%;
	}
	
	.post-grid-item-content .holder { padding: 0 15px; }
	
	/* ---- Portfolio Grid ---- */
	
	.portfolio-grid .post-grid-item,
	.site-width.portfolio-grid .post-grid-item,
	.narrow-width.portfolio-grid .post-grid-item { 
		padding-bottom: 61%;
		width: 100%; 
	}

	.portfolio-grid .post-grid-item-image,
	.portfolio-grid.site-width .post-grid-item .post-grid-item-image,
	.portfolio-grid.narrow-width .post-grid-item .post-grid-item-image,
	.portfolio-grid .post-grid-item:nth-of-type(2n) .post-grid-item-image,
	.portfolio-grid .post-grid-item:nth-of-type(3n-1) .post-grid-item-image {
		height: 100%;
		left: 0;
		top: 0;
		width: 100%;
	}

	.portfolio-grid .post-grid-item-content,
	.portfolio-grid.site-width .post-grid-item .post-grid-item-content,
	.portfolio-grid.narrow-width .post-grid-item .post-grid-item-content,
	.portfolio-grid .post-grid-item:nth-of-type(2n) .post-grid-item-content,
	.portfolio-grid .post-grid-item:nth-of-type(3n-1) .post-grid-item-content {
		height: 200%;
		left: 0;
		transition: top 0.2s;
		top: 0;
		width: 100%;
		z-index: 2;
	}

    /* ---- Single Portfolio ---- */

    .third,
    .third.end {
        clear: both;
        float: none;
        margin: 0;
        width: auto;
    }

    .portfolio-meta .third + .third {    margin-top: 24px }

    .portfolio-meta .end {    text-align: center }

    .portfolio-meta .vc_btn3 {    display: block }

    /* ---------- Comments ---------- */
	
	.comment-content-wrapper {
		padding-left: 15px; 
		padding-right: 15px;
	}
	
	.comment .avatar,
	.comment .children .avatar,
	.comment .children .children .avatar {
		display: block;
		position: relative;
		left: auto;
		margin: 0 15px 24px;
	}
	
	.avatar + .comment-content-wrapper,
	.comment .children .avatar + .comment-content-wrapper,
	.comment .children .children .avatar + .comment-content-wrapper { margin: 0; }
	
	.comment-author,
	.comment-date {
		display: block;
		float: none;		
		width: 100%;
	}
	
	/* #respond { padding: 50px 0; } */
    
	/* ---------- Visual Composer ---------- */

    .vc_column_container {    height: auto !important }
	
	.vc_column_container:first-child:not(:only-child) .wpb_content_element { margin-bottom: 36px; }
	
	.vc_column_container>.padding-v>.wpb_wrapper>.wpb_content_element:last-child,
	.row-container .wpb_wrapper .wpb_wrapper > *:last-child  { margin-bottom: 0; }

    /* ----- Slider ----- */

    .flexslider-big .slider-button-center {    bottom: 54px }

    .flexslider-big .flex-control-nav {    bottom: 20px }

    /* ----- Slider Text ----- */

    .flexslider-small .vertically-center {
        position: relative;
        width: 100%;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }

    /* ----- Button ----- */

    .vc_btn3,
    .wrapper input[type="button"],
    .wrapper input[type="submit"],
    .wrapper button,
    .wrapper button[type="submit"],
    .wrapper input[type="reset"],
    .tagcloud a,
	.wpb_wrapper .vc_btn3.vc_btn3-size-xs,
	.wpb_wrapper .vc_btn3.vc_btn3-size-sm ,
	.wpb_wrapper .vc_btn3.vc_btn3-size-md,
	.wpb_wrapper .vc_btn3.vc_btn3-size-lg,
	.wpb_wrapper .vc_btn3.vc_btn3-size-xl {
		font-size: 0.625em;
		line-height: 1.5em;		
	}

    .vc_btn3,
    .wrapper input[type="button"],
    .wrapper input[type="submit"],
    .wrapper button,
    .wrapper button[type="submit"],
    .wrapper input[type="reset"],
	.wpb_wrapper .vc_btn3.vc_btn3-size-xs,
	.wpb_wrapper .vc_btn3.vc_btn3-size-sm ,
	.wpb_wrapper .vc_btn3.vc_btn3-size-md,
	.wpb_wrapper .vc_btn3.vc_btn3-size-lg,
	.wpb_wrapper .vc_btn3.vc_btn3-size-xl {    padding: 16px 24px }

    /* ----- Google Map ----- */
	
	.google-map-canvas:only-of-type,
	.wpb_wrapper>.google-map-canvas:only-child,
	.vc_column_container:only-child .google-map-canvas:only-of-type,
	.vc_row.vc_row-o-full-height > .row-container .google-map-canvas:only-of-type,
	.vc_column_container:only-child > .vc_column-inner > .wpb_wrapper > .google-map-canvas:only-of-type {
		height: 350px;
		min-height: auto;
		padding: 0;
		position: relative;
	}
	

    /* ----- Posts List ----- */
	
	.posts-list article a { padding: 36px 36px 0; }
	
	.posts-list .post-date {
		padding: 2px 36px 36px 36px;
		position: relative;
		right: auto;
		transform: none;
	}
	
    /* ----- Custom Heading ----- */

    .section-header.portfolio-item .section-header-content {
        padding-bottom: 100px;
        padding-top: 100px;
    }

    .vc_custom_heading .heading-subtitle + .vc_btn3 {    margin-top: 32px }

    /* ----- Images ----- */

    img.alignleft,
    img.alignright,
    .wp-caption.alignleft,
    .wp-caption.alignright {
        float: none;
        margin: 40px auto;
    }

    /* ----- Quotes ----- */

    blockquote,
    blockquote.alignleft,
    blockquote.alignright {
        float: none;
        margin: 40px 0;
        text-align: center;
        width: auto;
    }

    /* ----- Tables ----- */

    table,
    thead,
    tbody,
    th,
    td,
    tr {
        display: block;
        text-align: center;
    }

    tr {    margin-top: 2px }

    td {
        border-left: none;
        min-height: 19px;
        position: relative;
    }

    td:before {
        position: absolute;
        top: 6px;
        left: 6px;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
    }
	
	/* Fancybox */
	.fancybox-overlay .fancybox-prev,
	.fancybox-overlay .fancybox-next {
		height: 100px;
		margin-top: -50px;		
		top: 50%;
		width: 36px;
	}
	
	.fancybox-overlay .fancybox-prev { left: 8px; }
	.fancybox-overlay .fancybox-next { right: 8px; }
	
	.fancybox-overlay .fancybox-prev span,
	.fancybox-overlay .fancybox-next span {
		background-image: url('../images/fancybox_sprite.png');
		height: 36px;
		left: auto;
		right: auto;
		margin-top: -18px;
		top: 50%;
		width: 36px;
		
	}
	
	.fancybox-overlay .fancybox-prev span { background-position: 0 118px; }
	
	.fancybox-overlay .fancybox-next span { background-position: 0 82px; }
	
	.fancybox-overlay .fancybox-nav span:before {
		content: "" !important;
	}
	
}

/* ---------- Small Mobile up to 640px ---------- */

@media only screen and (max-width: 640px) {

    .heading-label {    padding-bottom: 16px }

    .section-header.portfolio-item .heading-label,
    .section-header.portfolio-item .heading-title {    margin-bottom: 16px }

    .flexslider-big .slider-button-center {    bottom: 52px }

    /* ---------- Gallery Shortcode ---------- */

    .gallery-columns-2 .gallery-item,
    .gallery-columns-3 .gallery-item,
    .gallery-columns-4 .gallery-item,
    .gallery-columns-5 .gallery-item,
    .gallery-columns-6 .gallery-item,
    .gallery-columns-7 .gallery-item,
    .gallery-columns-8 .gallery-item,
    .gallery-columns-9 .gallery-item {
        height: auto;
        width: 100%;
    }
}