/******************************
RESPONSIVE STYLES 
******************************/
@media (any-pointer: coarse) { /* Touch devices CSS here */
    .large-text {
       text-shadow: none;
    }
}

@media screen and (max-width: 1100px) {
	.banner .img-box,
	.bar-callout {
		background-attachment: scroll;
	}
	
    .sub-banner {
        height: 400px;
    }
    .page-content .flexbox > div:first-child > div {
        padding: 60px 35px 50px 15px;
    }
    .page-content .flexbox > div:last-child > div {
        padding: 60px 15px 50px 35px;
    }
    .page-section {
        padding: 70px 0;
    }
    .page-section .flexbox > div:first-child {
        padding: 0 35px 0 90px;
    }
    .page-section .flexbox > div:last-child {
        padding-left: 35px;
    }
    .contact-wrapper .flexbox > div:first-child {
        padding: 60px 35px 0 0;
    }
    .testimonials-wrapper {
        padding: 50px 0;
    }
    .testimonials-slider {
        padding: 0 60px;
    }
}

@media screen and (max-width: 1000px) {
    .large-text {
        font-size: 42px;
    }
    .page-section .flexbox > div:first-child {
        padding: 0 35px 0 55px;
    }
    .jb-form {
        padding: 60px 5px 60px 35px;
    }
    .quick-links-wrapper .flexbox {
        margin: 40px -8px 15px;
    }
    .quick-link {
        padding: 0 8px;
    }
    .quick-link .img-box {
        height: 180px;
    }
    .quick-link > div {
        padding-top: 30px;
    }
}

@media screen and (max-width: 900px) {
    #header {
        height: 100px;
    }
    .header-menu {
        background-color: #212121;
        box-shadow: 0 2px 10px -3px rgba(25,25,25,.5);
    }
    .header-menu .logo img {
        height: 64px;
    }
    .banner .flexbox,
    .sub-banner .flexbox {
        padding: 50px 0;
    } 
    .sub-banner {
        height: 325px;
    }
    .page-content .flexbox,
    .contact-wrapper .flexbox {
        flex-direction: column;
    }
    .page-content .flexbox > div,
    .page-section .flexbox > div {
        width: 100%;
    }
    .page-content .flexbox > div > div {
        max-width: 100%;
    }
    .page-content .flexbox > div:first-child > div,
    .page-content .flexbox > div:last-child > div {
        padding: 50px 15px 40px;
    }
    .page-content h2 {
        text-align: center;
    }
    .page-section,
    .quick-links-wrapper,
    .main-content {
        padding: 50px 0;
        text-align: center;
    }
    .page-section:after {
        content: none;
    }
    .page-section .flexbox {
        flex-direction: column-reverse;
    }
    .page-section .flexbox > div:first-child {
        width: 350px;
        padding: 0;
    }
    .page-section .flexbox > div:last-child {
        margin-bottom: 30px;
        padding: 0;
    }
    .video-section {
        height: 400px;
    }
    .btn-play {
        width: 100px;
        height: 100px;
        margin-top: 15px;
        padding-right: 10px;
        line-height: 100px;
    }
    .btn-play:after,
    .testimonials-slider:before {
        font-size: 36px;
    }
    .contact-wrapper .flexbox > div:first-child {
        width: 100%;
        margin-bottom: 30px;
        padding: 0;
        text-align: center;
    }
    .jb-form {
        padding: 35px 5px 35px 35px;
    }
    .jb-form p.buttons {
        text-align: center;
    }
    .testimonials-slider {
        width: 100%;
        padding: 0 35px;
    }
    .bar-callout {
        height: 520px;
    }
    .specification-wrapper {
        padding-bottom: 40px;
    }
    .specification-wrapper .flexbox > div {
        padding-left: 15px;
    }
    .specification-wrapper .flexbox > div:first-child {
        padding: 0;
    }
    .quick-links-wrapper .flexbox {
        margin: 40px -8px 0;
    }
    .quick-link {
        width: 50%;
        margin-bottom: 40px;
    }
    .quick-link:last-child {
        margin-bottom: 0;
    }
    .quick-link .img-box {
        height: 210px;
    }
    .quick-link > div {
        border-radius: 0 0 8px 8px;
        padding: 30px;
        background-color: #fff;
    }
    .main-content .container > .table,
    .main-content .col-left,
    .main-content .col-right {
        display: block;
    }
    .sidebar {
        width: 350px;
        margin: 40px auto 0;
        padding: 0;
    }
}

@media screen and (max-width: 770px) { /* Tablet View */
    body {
        cursor: pointer; /* iOS Clicking Fix */
    }
    h1,
    h2 {
        margin-bottom: 15px;
        font-size: 34px;
    }
    h3 {
        margin-bottom: 10px;
        font-size: 30px;
    }
    .btn {
        min-width: 175px;
        padding: 16px 20px 15px;
        font-size: 16px;
    }
    .social a:not(:last-child) {
        margin-right: 16px;
    }
    .slick-dots {
        height: 10px;
    }
    .slick-dots li {
        width: 10px;
    }
    .header-menu {
        font-size: 16px;
    }
    .large-text {
        font-size: 36px;
    }
    .sub-banner {
        height: 280px;
    }
    .video-section {
        height: 350px;
    }
    .video-section h2,
    .video-section h3 {
        text-transform: none;
    }
    .btn-play {
        width: 80px;
        height: 80px;
        margin-top: 10px;
        border-width: 4px;
        padding-right: 5px;
        line-height: 80px;
    }
    .btn-play:after,
    .testimonials-slider:before {
        font-size: 30px;
    }
    .testimonials-slider {
        padding: 0;
        font-size: 18px;
    }
    .testimonials-slider .slick-dots {
        position: static;
        margin-top: 15px;
    }
    .bar-callout {
        height: 400px;
    }
    .contact-wrapper .flexbox > div:last-child {
        margin: 0 -15px;
    }
    .quick-link > div {
        padding: 30px 15px;
    }
    .jb-form {
        border-radius: 0;
        padding: 35px 15px 35px 30px;
    }
    .jb-form p,
    .jb-form p.buttons,
    .jb-form p.wrap-40,
    .jb-form p.wrap-40 + p.wrap-40 + p.wrap-20 {
        padding: 0 15px 0 0;
    }
    .footer-wrapper {
        text-align: center;
    }
    .footer-wrapper .flexbox {
        flex-direction: column;
        align-items: stretch;
    }
    .footer-wrapper .flexbox > div:first-child {
        margin-bottom: 15px;
    }
}

@media screen and (max-width: 670px) { /* Phone View */
    .header-menu span,
    .specification-wrapper br {
        display: none;
    }
    .specification-wrapper .flexbox {
        flex-direction: column;
        align-items: center;
    }
    .specification-wrapper .flexbox > div {
        width: 40%;
        padding: 0;
    }
    .quick-links-wrapper .flexbox {
        margin: 40px 0 0;
    }
    .quick-link {
        width: 350px;
        padding: 0;
    }
    .jb-form {
        padding: 35px 15px;
    }
    .jb-form p,
    .jb-form p.buttons,
    .jb-form p.wrap-40,
    .jb-form p.wrap-40 + p.wrap-40 + p.wrap-20 {
        padding: 0;
    }
    .jb-form p.wrap-50,
    .jb-form p.wrap-40,
    .jb-form p.wrap-20 {
        width: 100%;
    }
}

@media screen and (max-width: 480px) {
    h1,
    h2,
    .large-text,
    .sub-banner .large-text {
        font-size: 26px;
    }
    h1 span,
    h2 span,
    .testimonials-slider {
        font-size: 16px;
    }
    h3 {
        font-size: 24px;
    }
    h4 {
        font-size: 22px;
    }
    h5 {
        font-size: 20px;
    }
    .btn {
        min-width: 175px;
        padding: 14px 15px 13px;
        font-size: 14px;
    }
    #header {
        height: 75px;
    }
    .header-menu {
        padding: 15px 0;
        font-size: 14px;
    }
    .header-menu .logo img {
        height: 45px;
    }
    .header-menu .btn {
        min-width: 130px;
    }
    .banner-content {
        margin-top: 15px; 
        font-size: 20px;
    }
    .sub-banner {
        height: 250px;
    }
    .page-section .flexbox > div:first-child,
    .quick-link,
    .sidebar {
        width: 330px;
    }
    .video-section {
        height: auto;
    }
    .btn-play {
        width: 70px;
        height: 70px;
        border-width: 3px;
        line-height: 70px;
    }
    .btn-play:after,
    .testimonials-slider:before {
        font-size: 26px;
    }
    .specification-wrapper .flexbox > div {
        width: 250px;
    }
    .quick-link .img-box {
        height: 180px;
    }
    .footer-wrapper .flexbox {
        align-items: center;
    }
    .footer-wrapper .flexbox > div {
        width: 300px;
    }
}

@media screen and (max-width: 360px) {
    .banner {
        min-height: 375px;
    }
    .sub-banner {
        height: 200px;
    }
    .page-section .flexbox > div:first-child,
    .quick-link,
    .sidebar,
    .footer-wrapper .flexbox > div {
        width: 100%;
    }
}