/* Defaults */

html {
    -webkit-text-size-adjust: none; /* Prevent font scaling in landscape */
}

.mobile,
#stats-mobile,
.menu-wrapper,
#mobile-navigation {
    display:none;
}


@media (max-width: 1600px) {
    .container {
        width:100%;
        padding:110px 40px 110px 40px;
        margin:0;
    }

    .section-label {
        left:10px;
    }

    nav {
        padding:0 40px;
    }

    #scroll {
        left:40px;
    }

    #badge {
        right:40px;
    }

    .flexslider {
        width:100%;
    }

    #home-services .col:nth-child(2) {
        margin:0;
    }

    #home-services .col:nth-child(2) .inner-col {
        width:100%;
        padding:100px 40px 100px 80px;
    }

   .testimonial-slider ul li .col:nth-child(1) {
        width:47%;
   }

   .testimonial-slider ul li .col:nth-child(2) {
        width:53%;
        padding-left:0;
        padding-right:40px;
   }

   .testimonial-slider .slides img {
        left:40px;
        margin:0;
   }

   .testimonials-nav {
        right:40px;
   }

   #contact .col:nth-child(2) {
        margin:0;
   }

   #contact .col:nth-child(1) .content {
        width:100%;
        float:none;
   }

   #contact .col:nth-child(2) .content {
        width:100%;
        float:none;
        padding:110px 40px 100px 70px;
   }

   #family h2 br {
        display:none;
   }

   #family .col:nth-child(2) {
        margin:0;
    }

    #family .col:nth-child(2) .content {
        width:100%;
        padding:90px 40px 90px 70px;
    }

    #accordion.container {
        padding-left:70px;
    }

    #locations .container {
        padding-left:70px;
    }

   footer .container {
        padding-left:40px;
        padding-right:40px;
   }
}


@media (max-width: 1450px) {
    h1 {
        font-size:95px;
        line-height:95px;
    }

    h2 {
        font-size:60px;
        line-height:60px;
    }

    #subpage h1 {
        font-size:75px;
        line-height:80px;
    }
}


@media (max-width: 1350px) {
    nav .left,
    nav .right {
        display:none;
    }
    .menu-wrapper {
        display:block;
        position:absolute;
        top:50px;
        right:40px;
        width:50px;
        height:50px;
        border:1px solid #c69e66;
        border-radius:50%;
        display:flex;
        align-items:center;
        justify-content:center;
        cursor:pointer;
         z-index:10;
    }

    #nav-button {
        position:relative;
        transform:translateY(0);
        transition:all 0ms 200ms;
       
    }

    #nav-button span {
        width:25px;
        height:1px;
        display:block;
        background:rgba(198, 158, 102, 1);
    }

    #nav-button.active .line2 {
        background:rgba(198, 158, 102, 0); 
    }

    #nav-button .line1 {
        position:absolute;
        left:0;
        bottom:7px;
        transition:bottom 200ms 200ms cubic-bezier(0.23, 1, 0.32, 1), transform 200ms cubic-bezier(0.23, 1, 0.32, 1);
    }

    #nav-button .line3 {
        position:absolute;
        left:0;
        top:7px;
        transition:top 200ms 200ms cubic-bezier(0.23, 1, 0.32, 1), transform 200ms cubic-bezier(0.23, 1, 0.32, 1);
    }

    #nav-button.active .line3 {
        top:0;
        transform:rotate(45deg);
        transition:top 200ms cubic-bezier(0.23, 1, 0.32, 1), transform 200ms 200ms cubic-bezier(0.23, 1, 0.32, 1);
    }

    #nav-button.active .line1 {
        bottom:0;
        transform:rotate(-45deg);
        transition:bottom 200ms cubic-bezier(0.23, 1, 0.32, 1), transform 200ms 200ms cubic-bezier(0.23, 1, 0.32, 1);
    }

    #mobile-navigation {
        width:100%;
        position:absolute;
        top:100px;
        left:0;
        opacity:0;
        z-index:998;
        padding:0 40px 0 40px;
    }

    #navigation-overlay {
        width:100%;
        height:100%;
        background:#fff url("../images/background-body.jpg") top left;
        position:fixed;
        top:0;
        left:0;
        opacity:0;
        display:none;
        z-index:997;
    }

    #mobile-navigation ul {
        list-style:none;
        text-align:left;
    }

    #mobile-navigation li {
        margin:0;
    }

    #mobile-navigation li a {
        font:300 italic 40px/45px "ivypresto-headline", arial, sans-serif;
        letter-spacing:0.02em;
        color:#000000;
        display:block;
        padding:10px 0;
        margin:0;
    }

    #mobile-navigation li.button {
        text-transform:none;
        letter-spacing:0;
        display: inline-block;
        background:none;
        color:#000000;
        text-decoration: none !important;
        border-radius:0;
        padding:0;
    }

    #mobile-navigation li.button a {
        font: 300 italic 40px/45px "ivypresto-headline", arial, sans-serif;
        letter-spacing: 0.02em;
        color: #000000;
        display: block;
        padding:10px 0;
        margin:0;
    }

    .testimonial-slider ul li .col:nth-child(1) {
        width:40%;
    }

    .testimonial-slider ul li .col:nth-child(2) {
        width:60%;
        padding-left:70px;
    }

    .testimonial-slider .slides img {
        width:100%;
    }

    blockquote {
        font-size:55px;
        line-height:60px;
    }

    #route-service .container {
        padding-left:70px;
        padding-bottom:580px;
    }

    #route-service img {
        width:500px;
        position:absolute;
        bottom:0;
        left:70px;
    }

    .three-columns .col {
        width:50%;
        margin:0 0 50px 0;
    }

    .three-columns .col:nth-child(2) {
        padding-left:50px;
        padding-right:0;
    }

    .three-columns .col:nth-child(3) {
        padding-left:0;
        padding-right:50px;
    }
}


@media (max-width: 1200px) {
    h1 {
        font-size:85px;
        line-height:85px;
    }

    h1 br {
        display:none;
    }

    #subpage h1 {
        font-size:70px;
        line-height:75px;
    }

    #subpage #scroll {
        bottom:40px;
        left:40px;
    }

    .container {
        padding:90px 40px 90px 40px;
    }

    .section-label {
        top:300px;
    }

    #contact .section-label {
        top:280px;
    }

    header .flexslider {
        height:auto;
        padding:0 40px;
    }

    header .flexslider .slides img {
        width:100%;
    }

    #home header {
        height:auto;
    }

    #home header .container {
        padding-bottom:60px;
    }

    #subpage header {
        height:auto;
    }

    #subpage header .container {
        padding:160px 40px 100px 40px;
    }

    #badge {
        width:145px;
        height:auto;
        bottom:-70px;
    }

    .two-columns {
        display:block;
    }

    .two-columns .col {
        width:100%;
        padding:0;
    }

    .two-columns .col:nth-child(1) {
        margin-bottom:50px;
    }

    .photo img {
        width:550px;
    }

    #home-services .col:nth-child(2) .inner-col {
        padding:70px 40px 70px 40px;
    }

    #family .col:nth-child(2) .content {
        padding:70px 40px 70px 40px;
    }

    #testimonials {
        height:auto;
    }

    .testimonial-slider ul li .col:nth-child(1) {
        display:none;
    }

    .testimonial-slider ul li .col:nth-child(2) {
        width:100%;
        padding:90px 40px 90px 70px;
    }

    #contact .col:nth-child(1) {
        display:block;
        flex:auto;
    }

    #contact .col:nth-child(1) .content {
        padding:70px 40px 70px 70px
    }

    #contact .col:nth-child(2) .content {
        padding:50px 40px 50px 70px;
    }

    .accordion-header {
        height:auto;
        padding:20px 100px 20px 0;
    }

    #services-intro .col {
        margin-bottom:50px;
    }

    #services-intro.container {
        padding-bottom:50px;
    }
}


@media (max-width: 1000px) {
    h1 {
        font-size:75px;
        line-height:75px;
    }

    .three-columns .col:nth-child(2) {
        padding-left:30px;
        padding-right:0;
    }

    .three-columns .col:nth-child(1),
    .three-columns .col:nth-child(3) {
        padding-left:0;
        padding-right:30px;
    }
}


@media (max-width: 850px) {
    h1 {
        font-size:65px;
        line-height:65px;
    }

    #subpage h1 {
        font-size:60px;
        line-height:65px;
    }

    #home-services .col:nth-child(1),
    #home-services .col:nth-child(2) {
        flex:auto;
        width:100%;
    }

    #home-services .col:nth-child(1) {
        height:300px;
    }

    .testimonial-slider ul li .col:nth-child(2) {
        padding-bottom:120px;
    }

    header .content {
        position:relative;
        left:auto;
        bottom:auto;
        margin:30px 0 0 0;
    }

    #subpage header .container {
        padding:140px 40px 100px 40px;
    }


    #family .col:nth-child(1),
    #family .col:nth-child(2) {
        flex:auto;
        width:100%;
    }

    #family .col:nth-child(1) {
        height:300px;
    }


    .accordion h3 {
        font-size:40px;
        line-height:45px;
    }

    .three-columns .col {
        width:100%;
    }

    .three-columns .col:nth-child(2) {
        padding-left:0;
        padding-right:0;
    }

    .three-columns .col:nth-child(1),
    .three-columns .col:nth-child(3) {
        padding-left:0;
        padding-right:0;
    }
}


@media (max-width: 650px) {
    h1 {
        font-size:55px;
        line-height:55px;
    }

    #subpage h1 {
        font-size:50px;
        line-height:55px;
    }

    h2 {
        font-size:45px;
        line-height:45px;
    }

    .section-label {
        width:auto;
        text-align:left;
        position:relative;
        top:auto;
        left:auto;
        transform-origin: 0 0;
        transform: rotate(0deg);
        margin-bottom:12px;
    }

    .container {
        padding:80px 25px;
    }

    main .container {
        padding-left:25px;
    }

    #mobile-navigation {
        padding:0 25px;
    }

    nav {
        top:25px;
        left:0;
    }

    #logo img {
        width:200px;
        left:25px;
        margin-left:0;
        top:-10px;
    }

    .menu-wrapper {
        top:30px;
        right:25px;
    }

    #scroll {
        left:25px;
    }

    #badge {
        right:25px;
    }

    #home header .container {
        padding:115px 0 50px 0;
    }

    #subpage header .container {
        padding:120px 25px 100px 25px;
    }

    #subpage #scroll {
        left:25px;
    }

    header .flexslider {
        padding:0 25px;
    }

    #home-services .col:nth-child(2) .inner-col {
        padding:70px 25px;
    }

    .testimonial-slider ul li .col:nth-child(2) {
        padding:0;
    }

    #testimonials .container {
        padding:80px 25px 110px 25px;
    }

    #contact .col:nth-child(1) .content {
        padding:70px 25px 70px 25px;
    }

    #contact .col:nth-child(2) .content {
        padding:50px 25px;
    }

    #contact .section-label {
        top:auto;
    }

    #family .col:nth-child(2) .content {
        padding:70px 25px;
    }

    blockquote {
        font-size:45px;
        line-height:50px;
    }

    #testimonials p {
        font-size:20px;
        line-height:28px;
    }

    .testimonials-nav {
        right:25px;
    }

    .photo img {
        width:100%;
    }

    .accordion {
        margin-top:-10px;
    }

    .accordion-header {
        padding-right:70px;
    }

    #accordion.container {
        padding-left:25px;
    }

    .accordion-content .content {
        padding-right:0;
    }

    .accordion-header .plus {
        width:40px;
        height:40px;
    }

    #route-service .container {
        padding:80px 25px 450px 25px;
    }

    #route-service img {
        width:400px;
        left:40px;
    }

    #locations .container {
        padding-left:25px;
    }

    #locations iframe {
        height:250px;
    }

    footer .container {
        padding-left:25px;
        padding-right:25px;
   }

    footer p {
        text-align:center;
        font-size:16px;
        line-height:20px;
    }

    footer img {
        display:block;
        margin:0 auto 20px auto;
    }

    #retro-photo .content {
        left:25px;
    }
}


@media (max-width: 550px) {
    h3 {
        font-size:45px;
        line-height:50px;
    }

    .testimonials-nav {
        bottom:40px;
    }
}


@media (max-width: 500px) {
    #subpage header .container {
       padding-bottom:60px;
    }

    #badge,
    #scroll {
        display:none;
    }

    #route-service img {
        left:25px;
    }
}


@media (max-width: 450px) {
    h1 {
        font-size:45px;
        line-height:45px;
    }

    #subpage h1 {
        font-size:40px;
        line-height:45px;
    }

    h2 {
        font-size:38px;
        line-height:40px;
    }

    h3 {
        font-size:40px;
        line-height:45px;
    }

    h4 {
        font-size:21px;
        line-height:26px;
    }

    blockquote {
        font-size:38px;
        line-height:42px;
    }

    #services-nav li span {
       width:auto;
       margin-right:5px;
    }

    #services-nav li {
        padding-right:50px;
        position:relative;
    }

    #services-nav li a:after {
        float:none;
        position:absolute;
        bottom:11px;
        top:auto;
        right:0;
    }

    #contact ul li {
        position:relative;
        padding-right:50px;
    }

    #contact li a:after {
        float:none;
        position:absolute;
        bottom:11px;
        top:auto;
        right:0;
    }

    .accordion h3 {
        font-size:35px;
        line-height:40px;
    }

    #route-service img {
        left:0;
    }

    #retro-photo .content h3 {
        font:300 italic 35px/40px "ivypresto-headline", arial, sans-serif;
    }
}


@media (max-width: 350px) {
    #logo img {
        width:180px;
    }

    #mobile-navigation li a {
        font:300 italic 35px/40px "ivypresto-headline", arial, sans-serif;
    }
}