/*
Stylesheet Name: Landing Page Styles
Author: CCDM
Version: 1.0.0
*/

#header-extra {
    display: none;
}

.landing .site-inner {
    padding-top: 0;
}

.landing .entry {
    margin-bottom: 0px;
}

.full-width-content .content {
    padding-left: 0;
    padding-right: 0;
    padding: 0;
    float: none;
    background: none;
    border-radius: 0px;
    box-shadow: none;
    margin-bottom: 0; 
}

.modal.clarityp-modal .modal-dialog,
.modal.clarityp-modal .modal-dialog .modal-content,
.modal.clarityp-modal .modal-dialog .modal-content .modal-body {
    width: 100%;
    max-width: 100%;
}

.landing a.btn.top.form {
    font-size: 24px;
}

.landing .btn {
    padding: 8px 25px;
    display: inline-block;
    position: relative;
    font-family: 'Lato';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-decoration: none;
    font-weight: 600;
    border-radius: 5px;
    text-shadow: none;
    transition: all .1s ease-in-out;
    text-transform: none!important;
    line-height: 1.25;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    margin-bottom: 5px;
}

.landing .btn:hover {
    opacity: .6;
}

/* Page Top Bar */
.landing-main-header {
    padding: 5px 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99;
    background: rgba(255, 255, 255, 0.50)!important;
}

.landing-main-header .wrap {
    width: 100%;
    position: relative;
    display: flex;
    flex-flow: wrap;
    align-items: center;
    justify-content: space-between;
    align-content: flex-end;    
}

.landing-main-header img {
    display: inline-block;
    transition: all .5s ease;
}

.landing-main-header .one-half {
    font-size: 24px;
    display: inline-block;
    color: #444;
    vertical-align: middle; 
}

.landing-main-header .one-half.info {
    text-align: right;
}

.center-text {
    text-align: center;
}

/* Page Header */
.landing-headline-banner {
    width: 100%;
    padding: 434px 0px 373px;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    background-position: top center;
}

.landing-headline-banner .wrap {
    max-width: 100%;
    position: relative;
}

.landing-headline-banner .inner-box {
    text-align: center;
    width: auto;
    margin: 0 auto;
    display: block;
    position: relative;
    animation: fadeIn ease 3s;
    -webkit-animation: fadeIn ease 3s;
    -moz-animation: fadeIn ease 3s;
    -o-animation: fadeIn ease 3s;
    -ms-animation: fadeIn ease 3s;
}

.landing-headline-banner .inner-box h1 {
    font-size: 50px;
    color: #004A87;
    font-weight: 700;
    margin-bottom: 0;
    text-shadow: 0 1px 4px #fff;
}

.landing-headline-banner .inner-box p {
    margin: 0;
    color: #000;
    font-weight: 500;
    font-size: 36px;
    text-shadow: 0 1px 4px #fff;
}

@keyframes fadeIn{
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}

@-moz-keyframes fadeIn {
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}

@-o-keyframes fadeIn {
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}

@-ms-keyframes fadeIn {
  0% {
    opacity:0;
  }
  100% {
    opacity:1;
  }
}

/* Top Form */
.lead-form-box {
    position: relative;
    z-index: 9;
    top: -138px;
    margin-bottom: -138px;
    padding-bottom: 20px;
}

.lead-form-box .wrap {
    max-width: 100%;
}

.lead-form-box h4 {
    color: #004a87;
    font-weight: 600;
    text-shadow: 2px 2px 0 #d9dde0;
    text-transform: uppercase;
    font-size: 40px;
    padding: 0;
    margin: 0;
}

.lead-form-box .inner-box {
    padding: 1px 0 15px;
}

.lead-form-box .button,
.lead-form-box2 .button,
.xmodal .button  {
     cursor: pointer;
     -webkit-border-radius: 3px;
     -moz-border-radius: 3px;
     border-radius: 3px;
     font-size: 22px!important;
     text-shadow: 1px 1px 1px rgba(0,0,0, 0.62);
     padding: 12px 26px;
     color: #fff;
     text-transform: none;
     width: 100%;
     height: 50px;
     border: 1px solid #fff;
     float: left;
     clear: left;
     margin-top: 5px;
    background: #2F4692;
     -webkit-box-shadow: 0px 1px 5px 0px rgba(50, 50, 50, 0.32);
     -moz-box-shadow:    0px 1px 5px 0px rgba(50, 50, 50, 0.32);
     box-shadow:         0px 1px 5px 0px rgba(50, 50, 50, 0.32);
     background-repeat:no-repeat;
        background-image:-webkit-linear-gradient(
            top left,
            rgba(255, 255, 255, 0.0) 0%,
            rgba(255, 255, 255, 0.2) 37%,
            rgba(255, 255, 255, 0.8) 45%,
            rgba(255, 255, 255, 0.0) 50%
        ),
        -webkit-linear-gradient(
            #6FB5FC, #6FB5FC
        );
        background-image:-moz-linear-gradient(
            0 0,
            rgba(255, 255, 255, 0.0) 0%,
            rgba(255, 255, 255, 0.2) 37%,
            rgba(255, 255, 255, 0.8) 45%,
            rgba(255, 255, 255, 0.0) 50%
        ),
        -moz-linear-gradient(
            #6FB5FC, #6FB5FC
        );
        background-image:-o-linear-gradient(
            0 0,
            rgba(255, 255, 255, 0.0) 0%,
            rgba(255, 255, 255, 0.2) 37%,
            rgba(255, 255, 255, 0.8) 45%,
            rgba(255, 255, 255, 0.0) 50%
        ),
        -o-linear-gradient(
            #05375D, #2F4692
        );
        background-image:linear-gradient(
            0 0,
            rgba(255, 255, 255, 0.0) 0%,
            rgba(255, 255, 255, 0.2) 37%,
            rgba(255, 255, 255, 0.8) 45%,
            rgba(255, 255, 255, 0.0) 50%
        ),
        -linear-gradient(
            #05375D, #2F4692
        );
        background-position: -700px 0px, 0 0;
        -moz-background-size:150% 350%, 100% 100%;
             background-size:150% 350%, 100% 100%;
        -webkit-transition:background-position 0s ease;
           -moz-transition:background-position 0s ease;
             -o-transition:background-position 0s ease;
                transition:background-position 0s ease;
}

.lead-form-box .button:hover,
.lead-form-box2 .button:hover,
.xmodal .button:hover {
     background-position:600px 0px, 0 0;
        -webkit-transition-duration:1.2s;
           -moz-transition-duration:1.2s;
                transition-duration:1.2s;
    -webkit-box-shadow: inset 0px 0px 10px 0px rgba(255, 255, 255, 0.75);
    -moz-box-shadow:    inset 0px 0px 10px 0px rgba(255, 255, 255, 0.75);
    box-shadow:         inset 0px 0px 10px 0px rgba(255, 255, 255, 0.75);
}

/* Regular Form */
.lead-form-box2 {
    position: relative;
    z-index: 99;
    width: 100%;
    padding: 75px 0;
}

.lead-form-box2 .wrap {
    max-width:100%;
}

.landing .gform_wrapper .gform_hidden, .landing .gform_wrapper input.gform_hidden {
    font-size: 0px!important;
}

/* Left Text Area with Image Visible on Right */
.large_right_image_left_text {
    background-attachment: fixed;
    background-size: cover;
    background-position: center top;    
}

.large_right_image_left_text .wrap {
    max-width: 100%;
}

.large_right_image_left_text .inner-box {
    color: #000;
    width: 50%;
    background: rgba(255, 255, 255, 0.90);
    min-height: 700px;
    padding: 252px 138px 226px 65px;
}

.large_right_image_left_text .inner-box h1,
.large-left-image-right-text .inner-box h1 {
    font-size: 40px;
    text-transform: uppercase;
    color: #004A87;
    font-weight: 700;
    text-shadow: 0 1px 4px #fff;
}

.large_right_image_left_text .inner-box p,
.large-left-image-right-text .inner-box p,
.large-left-image-right-text .inner-box li {
    font-size: 20px;
    font-weight: 300;
}

/* Right Text Area with Image Visible on Left */
.large-left-image-right-text {
    background-attachment: fixed;
    background-size: cover;
    background-position: center top;    
}

.large-left-image-right-text .wrap {
    max-width: 100%;
}

.large-left-image-right-text .inner-box {
    color: #000;
    float: right;
    width: 50%;
    background: rgba(255, 255, 255, 0.68);
    padding: 36px;
    min-height: 700px;
    padding: 272px 138px 246px 65px;
}

.large_right_image_left_text .mobilebox,
.large-left-image-right-text .mobilebox {
    display: none;
} 

/* 2 Columns */
.two-columns {
    background: #000;
    width: 100%;
    padding: 0 0;
    position: relative;
}

.two-columns .wrap {
    max-width: 100%;
}

.two-columns .one-half {
    margin: auto;
    width: 50%;
    padding: 108px 0 66px 0;
    min-height: 697px;
    background-size: cover;
}

.two-columns .one-half .inner {
    background: rgba(0,0,0,.6);
    padding: 50px;
    margin: 51px;
    text-align: center;
    color: #fff;
}


/* 3 Columns */
.three-columns {
    background: #000;
    width: 100%;
    padding: 0 0;
    position: relative;
}

.three-columns .wrap {
    max-width: 100%;
}

/* Missing since the Genesis port — Genesis's framework CSS used to float
   .one-third columns side by side; that grid CSS was never carried over to
   this standalone theme, so .all-columns had no layout rule at all and its
   three children just stacked as plain blocks. Matches the working pattern
   already used a few sections down for .regular-textarea.about-doc .inner. */
.three-columns .all-columns {
    display: flex;
    flex-flow: wrap;
}

.three-columns .one-third {
    margin: auto;
    width: 33.33%;
    min-height: 860px;
    background-size: cover;
    position: relative;
    display: flex;
    flex-flow: wrap;
    align-items: center;
    justify-content: space-between;
    align-content: flex-end;
}

.three-columns .one-third .inner {
    background: rgba(255, 255, 255, 0.93);
    padding: 25px;
    text-align: center;
    min-height: 300px;
}

.three-columns .one-third .inner h3 {
    font-size: 27px;
    text-transform: uppercase;
    color: #004A87;
    font-weight: 700;
    text-shadow: 0 1px 4px #fff;
}

.three-columns .one-third .inner p {
    font-size: 17px;
    margin-bottom: 0;
    font-weight: 400;
}

/* 4 Columns */
.four-columns {
    background: #000;
    width: 100%;
    padding: 0 0;
    position: relative;
}

.four-columns .wrap {
    max-width: 100%;
}

.four-columns .one-fourth {
    margin: auto;
    width: 25%;
    padding: 108px 0 66px 0;
    min-height: 697px;
    background-size: cover;
}

.four-columns .one-fourth .inner {
    background: rgba(0,0,0,.6);
    padding: 50px;
    margin: 51px;
    text-align: center;
    color: #fff;
}


.copyright,
.ccdmlogo {
    display: none;
}

/* Main Footer */
.regular-textarea.about-doc {
    padding: 175px 0 60px;
    position: relative;
    width: 100%;
}

.regular-textarea.about-doc .inner{
    width: 100%;
    position: relative;
    display: flex;
    flex-flow: wrap;
    align-items: center;
    justify-content: space-between;
    align-content: flex-end;    
}


.regular-textarea.about-doc p {
    font-size: 20px;
    font-weight: 300;
    color: #000;
}

.regular-textarea.about-doc h1 {
    font-size: 40px;
    text-transform: uppercase;
    color: #004A87;
    font-weight: 700;
    text-shadow: 0 1px 4px #fff;
}

.regular-textarea.about-doc h4 {
    font-size: 30px;
}


/* Main Footer */
.landing-main-footer {
    padding: 25px 0;
    color: #444;
}

.landing-main-footer a {
    font-weight: normal;
}

.landing-main-footer p {
    margin-bottom: 6px;
}

.landing-main-footer p.company {
    font-size: 13px;
    margin-bottom: 0;
}

.landing-main-footer p.tos {
    font-size: 15px;
    margin-bottom: 0;
}

/* Modal Information */
.landing .modal-backdrop.fade.in {
    background: rgba(0, 0, 0, 0.8);
}

.xmodal {
    display: none;
    color: #fff;
    text-align: center;
    width: 600px;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    position: fixed;
    z-index: 999;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%)
}
.xopen {
    display: block!important
}
.xmodal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100%;
    z-index: 998;
    background: rgba(0, 0, 0, 0.8)
}
.xmodal-guts {
    position: absolute;
    padding: 20px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)!important;
    width: 100%;
    overflow: auto
}
.xmodal i {
    font-size: 13em
}
.xmodal i.fa-phone {
    font-size: 3em;
    margin-top: 5px
}
.xmodal i.fa-times {
    cursor: pointer;
    font-size: 1em;
    position: absolute;
    bottom: 0;
    background-color: #fff;
    color: #000;
    padding: 8px 20px;
    border-radius: .2em;
    left: 50%;
    margin-left: -50px;
    margin-bottom: -2px
}
.xmodal a {
    font-family: 'Lato';
    color: #fff;
    text-shadow: 2px 2px #000
}
.xmodal h1 {
    margin-top: 10px;
    margin-bottom: 10px
}
.xmodal i.fa-times a {
    text-shadow: none;
    color: #000;
    padding-left: 5px;
    font-weight: 600
}
.xmodal i.fa-phone:before {
    padding-right: 10px;
    text-shadow: 2px 2px #000
}

@media only screen and (max-width: 768px) {
    .xmodal i {
        font-size: 5em
    }
    .xmodal i.fa-phone {
        font-size: 2em!important;
        margin-top: 0
    }
    .xmodal img {
        max-width:200px;
    }
}

@media only screen and (min-device-width: 375px) and (max-device-width: 667px) and (orientation: landscape) {
    .xmodal img {
        display: none;
    }
    .xmodal i.fa-phone {
        display: none;
    }
}

@media only screen and (min-width: 1201px) {
    .noise:before {
        background: url(data:image/png;base64,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);
        -moz-animation: bganim .2s linear infinite;
        -webkit-animation: bganim .2s linear infinite;
        -ms-animation: bganim .2s linear infinite;
        -o-animation: bganim .2s linear infinite;
        animation: bganim .2s linear infinite
    }
    .vignette:after {
        -moz-box-shadow: inset 0 0 10em rgba(0, 0, 0, 0.3);
        -webkit-box-shadow: inset 0 0 10em rgba(0, 0, 0, 0.3);
        box-shadow: inset 0 0 10em rgba(0, 0, 0, 0.3)
    }
    .noise:before,
    .vignette:after {
        pointer-events: none;
        content: "";
        position: absolute;
        top: 10px;
        left: 47px;
        right: 47px;
        bottom: 55px
    }
    .vignette:after {
        z-index: 1
    }
    * {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -o-box-sizing: border-box;
        box-sizing: border-box
    }
}

@keyframes bganim {
    0% {background-position: 0 0}
    0.1% {background-position: -7px -7px}
    25% {background-position: -7px -7px}
    25.1% {background-position: 17px -17px}
    50% {background-position: 17px -17px}
    50.1% {background-position: 5px 5px}
    75% {background-position: 5px 5px}
    75.1% {background-position: -3px 3px}
    100% {background-position: -3px 3px}
}
@-moz-keyframes bganim {
    0% {background-position: 0 0}
    0.1% {background-position: -7px -7px}
    25% {background-position: -7px -7px}
    25.1% {background-position: 17px -17px}
    50% {background-position: 17px -17px}
    50.1% {background-position: 5px 5px}
    75% {background-position: 5px 5px}
    75.1% {background-position: -3px 3px}
    100% {background-position: -3px 3px}
}
@-webkit-keyframes bganim {
    0% {background-position: 0 0}
    0.1% {background-position: -7px -7px}
    25% {background-position: -7px -7px}
    25.1% {background-position: 17px -17px}
    50% {background-position: 17px -17px}
    50.1% {background-position: 5px 5px}
    75% {background-position: 5px 5px}
    75.1% {background-position: -3px 3px}
    100% {background-position: -3px 3px}
}
@-ms-keyframes bganim {
    0% {background-position: 0 0}
    0.1% {background-position: -7px -7px}
    25% {background-position: -7px -7px}
    25.1% {background-position: 17px -17px}
    50% {background-position: 17px -17px}
    50.1% {background-position: 5px 5px}
    75% {background-position: 5px 5px}
    75.1% {background-position: -3px 3px}
    100% {background-position: -3px 3px}
}
@-o-keyframes bganim {
    0% {background-position: 0 0}
    0.1% {background-position: -7px -7px}
    25% {background-position: -7px -7px}
    25.1% {background-position: 17px -17px}
    50% {background-position: 17px -17px}
    50.1% {background-position: 5px 5px}
    75% {background-position: 5px 5px}
    75.1% {background-position: -3px 3px}
    100% {background-position: -3px 3px}
}

/* Media queries */
@media only screen and (max-width: 1310px) {
    .landing-main-header .wrap {
        max-width: 98%;
    }
}

@media only screen and (max-width: 1200px) {


}

@media only screen and (max-width: 1180px) {
    .three-columns .one-third {
        width: 100%;
        align-items: flex-end;
        background-position: top center;
    }
}

@media only screen and (max-width: 1023px) {
    .landing-headline-banner {
        padding: 425px 0;
    }

    .landing-headline-banner .inner-box h1 {
        font-size: 36px;
    }    

    .landing-headline-banner .inner-box p {
        font-size: 23px;
    }

    .lead-form-box .wrap {
        max-width: 100%;
        padding: 0 15px;
    }

     .bullets-testimonial .wrap {
        max-width: 840px;
     }  
}

@media only screen and (max-width: 960px) {
    .landing .lead-form-box .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
        font-size: 11px!important;
    }
}

@media only screen and (max-width: 860px) {
    .landing-main-header .wrap {
        max-width: 100%;
        padding-left: 2%;
        padding-right: 2%;
    }
    .landing-main-header .one-half.first,
    .landing-main-header .one-half {
        float: none;
        width: 48%;
    }
    .landing-main-header a.btn.top.form.openmodal {
        position: fixed;
        bottom: 0;
        z-index: 999;
        left: 0;
        width: 100%;
        border-radius: 0px;
        border: 0;
        margin-bottom: 0;
    }
    .landing-headline-banner .inner-box {
        width: auto;
    }
    .large_right_image_left_text .wrap,
    .large-left-image-right-text .wrap,
    .two-columns .wrap,
    .three-columns .wrap,
    .four-columns .wrap {
        padding-left: 0;
        padding-right: 0;
    }
    .large_right_image_left_text .inner-box,
    .large-left-image-right-text .inner-box {
        width: 100%;
        min-height: auto;
        padding: 20px;
    }
    .large_right_image_left_text .inner-box h1, .large-left-image-right-text .inner-box h1 {
        letter-spacing: 0;
        font-size: 25px;
    }
    .large-left-image-right-text,
    .large_right_image_left_text{
       background: none!important;
    }
    .large_right_image_left_text .mobilebox,
    .large_right_image_left_text .mobilebox img,
    .large-left-image-right-text .mobilebox,
    .large-left-image-right-text .mobilebox img {
        display: block;
    }    
    .lead-form-box {
        top: 0;
        margin-bottom: 0;
        padding-top: 20px;
    }

    .lead-form-box h4 {
        font-size: 32px;
    }

    .lead-form-box2 .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield {
        display: block;
    }    

    .landing .lead-form-box .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
        font-size: 16px!important;
    }

    .landing .lead-form-box .gform_wrapper .gform_footer {
        padding-top: 0px!important;
        margin-top: 0px!important;
    }

    .landing .lead-form-box .gform_wrapper .gf_hidden,
    .landing .lead-form-box .gform_wrapper .gform_hidden,
    .landing .lead-form-box .gform_wrapper input.gform_hidden,
    .landing .lead-form-box .gform_wrapper input[type=hidden] {
            display: none!important;
            max-height: 0px!important;
            margin: 2px 0!important;
            overflow: hidden;
            font-size: 0px!important;
    }   

    .landing .lead-form-box .gform_wrapper form.gf_simple_horizontal div.gform_body,
    .landing .lead-form-box .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label,
    .landing .lead-form-box .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield {
        display: block !important; 
    }

    .lead-form-box .inner-box {
        padding-left: 5%;
        padding-right: 5%;
    }
    .regular-textarea.about-doc .wrap {
        padding: 0 10%;
    }

    .regular-textarea.about-doc h1 {
        font-size: 32px;
    }   

    .regular-textarea.about-doc {
        padding: 0;
    }

    .landing-main-footer {
        padding: 25px 0 65px;
    }
}

@media only screen and (max-width: 767px) {
    .landing-headline-banner .leftbox,
    .landing-headline-banner .rightbox {
        max-width: 100%;
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    }

    .large-left-image-right-text .one-half.image,
    .large_right_image_left_text .one-half.image {
        display: none;
    }

    .large-left-image-right-text .one-half,
    .large_right_image_left_text .one-half {
        max-width: 100%;
        width: 100%;
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    }

}

@media only screen and (max-width: 755px) {

    .pricing-columns {
        display: block;
    }

    .pricing-table {
        margin-bottom: 30px;
    }

    .pricing-table:last-child {
        margin-bottom: 0;
    }

}

@media only screen and (max-width: 640px) {
    .landing-headline-banner {
        padding: 360px 0 190px;
    }

    .landing-headline-banner .wrap {
        padding: 0 3%;
    }

    .landing-headline-banner .inner-box h1 {
        letter-spacing: 0;
        font-size: 30px;
    }

    .landing-headline-banner .inner-box p {
        font-size: 15px;
    }    

}

@media only screen and (max-width: 567px) {
    .landing-main-header img {
        width: 165px;
    }
    .large_right_image_left_text,
    .large-left-image-right-text{
        background-attachment: initial;
    }

    .landing-headline-banner .inner-box p {
        font-size: 21px;
    }    
}

@media only screen and (max-width: 420px) {
    .landing .xmodal {
        max-width: 315px!important;
    }
    .landing .modal-header {
        display: none;
    }
    .landing .modal-body {
        padding-top: 5px!important;
    }
    .landing .modal-body p {
        margin-bottom: 0;
    }
    .landing-main-header .one-half {
        font-size: 20px; 
    }
    .landing-headline-banner .inner-box h1 {
        letter-spacing: 0;
        font-size: 27px;
        margin: 0;
    }    
    .three-columns .one-third .inner {
        background: rgba(255,255,255,.93);
        padding: 25px;
        text-align: center;
        min-height: 300px;
    }
    .three-columns .one-third .inner p {
        font-size: 16px;
    }
    .three-columns .one-third .inner h3 {
        font-size: 22px;
    }    
}

/* ----------- iPhone 5 ----------- */
@media only screen and (max-width: 320px) {
    .landing-main-header .one-half {
        font-size: 0;
    }

    .landing-main-header .one-half .fa {
        font-size: 34px;
    }
}

/* ----------- iPhone 6 ----------- */
@media only screen and (min-device-width : 375px) and (max-device-width : 667px) {

} 

/* ----------- iPhone 6 Plus ----------- */
@media only screen and (min-device-width : 414px) and (max-device-width : 736px) {

}

/* ----------- iPad Regualr ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
    .large_right_image_left_text, .large-left-image-right-text{ background-attachment: initial; }
}

/* iPad in portrait */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) {

}

/* iPad in landscape */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) {
    .three-columns .one-third .inner {
        min-height: auto;
    }
    .large_right_image_left_text, .large-left-image-right-text{ background-attachment: initial; }
    .large_right_image_left_text .inner-box,
    .large-left-image-right-text .inner-box {
        padding: 55px;
    }
    .large_right_image_left_text .inner-box h1, .large-left-image-right-text .inner-box h1 {
        font-size: 31px;
    }    
}

/* ----------- iPad Pro ----------- */
/* Portrait and Landscape */

@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (-webkit-min-device-pixel-ratio: 1.5) {
    .large_right_image_left_text, .large-left-image-right-text{ background-attachment: initial; }
    .large_right_image_left_text .inner-box,
    .large-left-image-right-text .inner-box {
        padding: 55px;
    }
    .large_right_image_left_text .inner-box h1, .large-left-image-right-text .inner-box h1 {
        font-size: 31px;
    }    
    .landing-main-header .one-half.first,
    .landing-main-header .one-half {
        width: 47%;
        margin: 0;
    }
}

/* Portrait */
@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1.5) {
    .three-columns .one-third .inner {
        min-height: auto!important;
    }
}

/* Landscape */
@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 1.5) {
    .three-columns .one-third .inner {
        min-height: 367px;
    }
}



/* ---------------------------------------------------------------------
 * SVG icon patch (solomon-md port).
 * Original CCDM template used Font Awesome 4 (netdna.bootstrapcdn.com,
 * long dead) for the phone-square and times glyphs. The active theme has
 * no Font Awesome dependency, so those two icons are inline SVG instead
 * (.ppc-icon-phone, .ppc-modal-close). Rules below reproduce the original
 * sizing/position of the .fa icons they replace.
 * --------------------------------------------------------------------- */

.landing-main-header .one-half .ppc-icon-phone,
.landing-main-footer .ppc-icon-phone {
	vertical-align: -3px;
	margin-right: 4px;
}

@media only screen and (max-width: 320px) {
	.landing-main-header .one-half .ppc-icon-phone {
		width: 34px;
		height: 34px;
	}
}

.xmodal i.ppc-modal-close {
	cursor: pointer;
	font-size: 1em;
	position: absolute;
	bottom: 0;
	background-color: #fff;
	color: #000;
	padding: 8px 20px;
	border-radius: .2em;
	left: 50%;
	transform: translateX(-50%);
	margin-bottom: -2px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.xmodal i.ppc-modal-close a {
	text-shadow: none;
	color: #000;
	font-weight: 600;
}

/* ============================================
	Sticky sidebar lead form (Penile Revision, page 57 only)
	Replaces the exit-intent modal — see STATE.md.
	============================================ */
.pr-bodygrid {
	display: grid;
	grid-template-columns: 1fr 360px;
	gap: 48px;
	max-width: 1400px;
	margin: 0 auto;
	padding: 40px 24px 0;
	align-items: start;
}

.pr-main {
	min-width: 0;
}

.pr-sidebar {
	position: sticky;
	top: 24px;
}

.pr-formcard {
	background: #fff;
	border: 1px solid #e2e2e2;
	border-radius: 6px;
	padding: 28px 26px;
	box-shadow: 0 12px 32px -20px rgba(5, 79, 125, 0.35);
}

.pr-formcard h3 {
	font-size: 20px;
	color: #054f7d;
	margin: 0 0 4px;
}

.pr-formcard .pr-form-sub {
	font-size: 13px;
	color: #6b6b6b;
	margin: 0 0 18px;
}

.pr-step-progress {
	display: flex;
	gap: 6px;
	margin-bottom: 14px;
}

.pr-step-progress span {
	flex: 1;
	height: 3px;
	border-radius: 2px;
	background: #e6e6e6;
}

.pr-step-progress span.on {
	background: #00a1dd;
}

.pr-step-label {
	font-size: 10.5px;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: #8a8a8a;
	font-weight: 700;
	margin-bottom: 12px;
}

.pr-step-continue,
.pr-step-back {
	font: inherit;
	cursor: pointer;
	border-radius: 3px;
}

.pr-step-continue {
	display: block;
	width: 100%;
	margin-top: 6px;
	padding: 13px;
	font-size: 14px;
	font-weight: 700;
	background: #00a1dd;
	color: #fff;
	border: none;
}

.pr-step-continue:hover {
	background: #0090c7;
}

.pr-step-back {
	display: inline-block;
	background: none;
	border: 1px solid #d5d5d5;
	color: #555;
	padding: 12px 16px;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 14px;
}

#pr-sidebar-form .gfield.pr-step-hidden {
	/* !important needed: GF's own "gravity-theme" stylesheet sets
	   .gform_wrapper.gravity-theme #field_submit { display: flex; } on the
	   submit button field, which ties this rule's specificity (1 ID + 2
	   classes each) and wins the cascade tie-break by loading later. */
	display: none !important;
}

#pr-sidebar-form .gform_footer:not(.pr-step-visible) {
	display: none;
}

@media (max-width: 860px) {
	.pr-bodygrid {
		grid-template-columns: 1fr;
		gap: 0;
		padding-top: 0;
	}

	.pr-sidebar {
		position: static;
		margin: 0 0 40px;
	}
}

/*
 * The rows-2-5 section styles above (.large_right_image_left_text,
 * .large-left-image-right-text, .three-columns, .regular-textarea.about-doc)
 * were built for a full-viewport-width single column: fixed ~138-252px
 * paddings, background-attachment:fixed, 33%-width thirds. Their own
 * responsive fallback only fires under a 860px *viewport*, so a normal
 * desktop browser never triggers it — even though .pr-main is now a
 * ~632px *column*, not the full viewport. Below 860px this is moot (the
 * grid already collapses to one full-width column and the legacy
 * breakpoint fires normally), so this only needs to apply above it —
 * reusing the exact values from that already-proven mobile fallback.
 */
@media (min-width: 861px) {
	.pr-main .large_right_image_left_text,
	.pr-main .large-left-image-right-text {
		background: none !important;
		background-attachment: initial;
	}

	.pr-main .large_right_image_left_text .wrap,
	.pr-main .large-left-image-right-text .wrap,
	.pr-main .three-columns .wrap {
		padding-left: 0;
		padding-right: 0;
	}

	.pr-main .large_right_image_left_text .inner-box,
	.pr-main .large-left-image-right-text .inner-box {
		width: 100%;
		min-height: auto;
		padding: 20px;
		/* .large-left-image-right-text .inner-box floats right in its base
		   rule; at width:100% with nothing clearing the float, the parent
		   collapses to zero height and later sections paint over this
		   content instead of after it. Cancel the float now that it's
		   full-width. */
		float: none;
	}

	.pr-main .large-left-image-right-text .mobilebox,
	.pr-main .large-left-image-right-text .mobilebox img {
		display: block;
	}

	/* Rox: no image above "Penile Revision Surgery" — leave this section's
	   mobilebox at its base display:none (its background photo is already
	   disabled above), text-only. "How It's Done" keeps its photo. */
	.pr-main .large_right_image_left_text .mobilebox {
		display: none;
	}

	/* At the sidebar layout's narrower column width, each card's text wraps
	   to more lines than it did at full viewport width, so the base
	   min-height:300px is only enough for the shortest copy ("Post Op").
	   The other two grow past it by different amounts, and since all three
	   still bottom-anchor to the photo (align-content:flex-end on
	   .one-third), the mismatched heights show up as jagged, uneven-looking
	   card tops. Measured tallest at ~501px live; 520px gives it a little
	   breathing room. */
	.pr-main .three-columns .one-third .inner {
		min-height: 520px;
	}

}

/*
 * Doctor bio ("regular_text_area" row) — pulled out of .pr-bodygrid
 * entirely (see template-ppc-landing-legacy.php) so it reads as its own
 * closing section, full width, no sidebar beside it. Centered per Rox.
 * Unlike the .pr-main-scoped rules above, this applies at every width —
 * centering doesn't have the fixed-pixel-padding problem the other
 * sections had, so there's no need to gate it behind the 861px breakpoint.
 * The .one-third.first / .two-thirds classes have no width rule anywhere
 * else in the theme (the only .one-third sizing rule is scoped to
 * .three-columns, a different section), so this rebuilds the whole layout
 * rather than overriding an existing one.
 */
/* Fully qualified (.regular-textarea.about-doc.pr-doctor-standalone, not
   just .pr-doctor-standalone) so these reliably beat the 2- and 3-class
   base/mobile rules on the same element regardless of source order —
   .regular-textarea.about-doc alone is already 2 classes, and its mobile
   breakpoint .wrap rule is 3. */
.regular-textarea.about-doc.pr-doctor-standalone {
	padding: 64px 24px;
}

.regular-textarea.about-doc.pr-doctor-standalone .wrap {
	max-width: 640px;
	margin: 0 auto;
	padding: 0;
}

.regular-textarea.about-doc.pr-doctor-standalone .inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 18px;
}

.regular-textarea.about-doc.pr-doctor-standalone .one-third.first {
	flex: none;
	width: 160px;
}

.regular-textarea.about-doc.pr-doctor-standalone .one-third.first img {
	width: 160px;
	height: 160px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	margin: 0 auto;
}

.regular-textarea.about-doc.pr-doctor-standalone .two-thirds {
	width: 100%;
}

.regular-textarea.about-doc.pr-doctor-standalone h4 {
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #00a1dd;
	font-weight: 700;
	margin: 0 0 6px;
}

.regular-textarea.about-doc.pr-doctor-standalone h2 {
	color: #054f7d;
	margin: 0 0 12px;
}

.regular-textarea.about-doc.pr-doctor-standalone p {
	text-align: center;
}
