img,object,iframe,.wistia_embed { max-width:100%; }

/* ------------------------------------------------------------------------------------------------------------------ */
/*    UNIVERSAL COLUMNS   */
/*    xl>1280,   lg>1024,   md,   mds<768,   sm<600,   xs<478   */
/* ------------------------------------------------------------------------------------------------------------------ */
.row { overflow:hidden; /*clear floats*/ }
@media only screen and (min-width:1280px) {
    .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5 { float:left; }

    .col-xl-1 { width:100%; float:none !important; margin-right:auto !important; margin-left:auto !important; }
    .col-xl-2 { width: 50%; }
    .col-xl-3 { width: 33.3333%; }
    .col-xl-4 { width: 25%; }
    .col-xl-5 { width: 20%; }

    .col-xl-2:nth-child(2n+1) { clear:left; }
    .col-xl-3:nth-child(3n+1) { clear:left; }
    .col-xl-4:nth-child(4n+1) { clear:left; }
    .col-xl-5:nth-child(5n+1) { clear:left; }
}
@media only screen and (min-width:1024px) and (max-width:1279px) {
    .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5 { float:left; }

    .col-lg-1 { width:100%; float:none !important; margin-right:auto !important; margin-left:auto !important; }
    .col-lg-2 { width: 50%; }
    .col-lg-3 { width: 33.3333%; }
    .col-lg-4 { width: 25%; }
    .col-lg-5 { width: 20%; }

    .col-lg-2:nth-child(2n+1) { clear:left; }
    .col-lg-3:nth-child(3n+1) { clear:left; }
    .col-lg-4:nth-child(4n+1) { clear:left; }
    .col-lg-5:nth-child(5n+1) { clear:left; }
}
@media only screen and (min-width:768px) and (max-width:1023px) {
    .col-md-2, .col-md-3, .col-md-4, .col-md-5 { float:left; }

    .col-md-1 { width:100%; float:none !important; margin-right:auto !important; margin-left:auto !important; }
    .col-md-2 { width: 50%; }
    .col-md-3 { width: 33.3333%; }
    .col-md-4 { width: 25%; }
    .col-md-5 { width: 20%; }

    .col-md-2:nth-child(2n+1) { clear:left; }
    .col-md-3:nth-child(3n+1) { clear:left; }
    .col-md-4:nth-child(4n+1) { clear:left; }
    .col-md-5:nth-child(5n+1) { clear:left; }
}
@media only screen and (min-width:600px) and (max-width:767px) {
    .col-mds-2, .col-mds-3, .col-mds-4, .col-mds-5 { float:left; }

    .col-mds-1 { width:100%; float:none !important; margin-right:auto !important; margin-left:auto !important; }
    .col-mds-2 { width: 50%; }
    .col-mds-3 { width: 33.3333%; }
    .col-mds-4 { width: 25%; }
    .col-mds-5 { width: 20%; }

    .col-mds-2:nth-child(2n+1) { clear:left; }
    .col-mds-3:nth-child(3n+1) { clear:left; }
    .col-mds-4:nth-child(4n+1) { clear:left; }
    .col-mds-5:nth-child(5n+1) { clear:left; }
}
@media only screen and (min-width:478px) and (max-width:599px) {
    .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5 { float:left; }

    .col-sm-1 { width:100%; float:none !important; margin-right:auto !important; margin-left:auto !important; }
    .col-sm-2 { width: 50%; }
    .col-sm-3 { width: 33.3333%; }
    .col-sm-4 { width: 25%; }
    .col-sm-5 { width: 20%; }

    .col-sm-2:nth-child(2n+1) { clear:left; }
    .col-sm-3:nth-child(3n+1) { clear:left; }
    .col-sm-4:nth-child(4n+1) { clear:left; }
    .col-sm-5:nth-child(5n+1) { clear:left; }
}
@media only screen and (max-width:477px) {
    .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5 { float:left; }

    .col-xs-1 { width:100%; float:none !important; margin-right:auto !important; margin-left:auto !important; }
    .col-xs-2 { width: 50%; }
    .col-xs-3 { width: 33.3333%; }
    .col-xs-4 { width: 25%; }
    .col-xs-5 { width: 20%; }

    .col-xs-2:nth-child(2n+1) { clear:left; }
    .col-xs-3:nth-child(3n+1) { clear:left; }
    .col-xs-4:nth-child(4n+1) { clear:left; }
    .col-xs-5:nth-child(5n+1) { clear:left; }
}


/* ------------------------------------------------------------------------------------------------------------------ */
/*   DESKTOP AND LARGER SCREENS   */
/* ------------------------------------------------------------------------------------------------------------------ */

/* --- Tablet Portrait, Desktop ------------------------------------------------------------------------------------- */
@media only screen and (min-width:768px) {
    .show-mobile { display:none !important; }

    /* --- Sticky header on scroll --- */
    body.sticky-header { padding-top:271px; }
    body.sticky-header .page-header { position:fixed; top:0; left:0; right:0; height:72px; background:#ecf9ff; box-shadow:0 4px 10px rgba(0, 0, 0, 0.12); }
    body.sticky-header .mainNav .section, body.sticky-header .topNav .section  { width:auto; height:inherit; padding-left:0; padding-right:0; }
    body.sticky-header .smallNav, body.sticky-header .header-links { display:none; }
    body.sticky-header .mainNav { float:right; background:none; border:none; }
    body.sticky-header .mainNav > ul > li > a, body.sticky-header .mainNav > ul > li > span { line-height:46px; }
    body.sticky-header .topNav { float:left; height:inherit; }
    body.sticky-header .logo { margin:3px 7px; height:67px; }
}

/* --- Special for sticky header only ------------------------------------------------------------------------------- */
@media only screen and (min-width:768px) and (max-width:900px) {
    /* Fit sticky header to single row */
    body.sticky-header .mainNav > ul > li > a, body.sticky-header .mainNav > ul > li > span { padding-right:8px; padding-left:8px; }
    body.sticky-header .logo { margin:18px 8px; height:37px; }
}

/* --- Desktop ------------------------------------------------------------------------------------------------------ */
@media only screen and (min-width:1024px) {

    /* --- Page Width, DEFAULT --- */
    /*.section, .internalTitleSection .title, .wrapper.breadCrumbs { width:960px; }*/

    /* --- Homepage --- */
    .header-coverphoto .text-block { height:610px; }
    /* Systems title, used together with threeAcross */
    .systems-title { float:left; margin: 7px 0 0; width:30%; line-height:1.3; }
}

/* --- Large Desktop ------------------------------------------------------------------------------------------------ */
@media only screen and (min-width:1280px) {

    /* --- Page Width --- */
    .section, .internalTitleSection .title, .wrapper.breadCrumbs { width:1240px; }
    .contentSection .left_col { width:800px; }

    /* Increase default text size */
    .contentSection { font-size:17px; }

    /* --- Homepage --- */
    /* 3 rows with image alternating on left/right, transforms to 3 columns */
    ul.visaVersus.three-column-on-large-screen { overflow:hidden; }
    ul.visaVersus.three-column-on-large-screen > li.odd,
    ul.visaVersus.three-column-on-large-screen > li.even { float:left; padding:0 1px; width:33.3333%; text-align:center; }
    ul.visaVersus.three-column-on-large-screen > li.odd img,
    ul.visaVersus.three-column-on-large-screen > li.even img { float:none; margin-right:0; margin-left:0; width:100%; }
    ul.visaVersus.three-column-on-large-screen > li .title,
    ul.visaVersus.three-column-on-large-screen > li p,
    ul.visaVersus.three-column-on-large-screen > li ul { margin-right:30px; margin-left:30px; }

    /* Text inside 3 stylish boxes */
    ul.difference-block { line-height:1.5; }
    ul.difference-block > li.leftDifference, ul.difference-block > li.rightDifference { width:340px; min-height:280px; }
    ul.difference-block > li.middleDifference { width:560px; min-height:360px;  }
}


/* ------------------------------------------------------------------------------------------------------------------ */
/*   TABLET AND SMALLER SCREENS   */
/* ------------------------------------------------------------------------------------------------------------------ */

/* --- Tablet Landscape, Small Desktop ------------------------------------------------------------------------------ */
@media only screen and (max-width:1024px) {

    /* --- Typography --- */
    .highlightBlueLarge .title.title-size-1 { font-size:38px; }
    .highlightBlue .title                   { font-size:34px; }
    .title.title-size-1                     { font-size:34px; }
    .title.title-size-2, .title             { font-size:32px; }
    .title.title-size-3                     { font-size:23px; }
    .title.title-size-4                     { font-size:22px; }
    .highlightBlue .contact                 { font-size:19px; }
    .subTitle                               { font-size:17px; }
    blockquote.large { font-size:23px; }

    /* --- Page Width --- */
    .section, .internalTitleSection .title, .wrapper.breadCrumbs { width:728px; }

    /* Fit MainNav into single row */
    .mainNav a, .mainNav span { padding-right:13px; padding-left:13px; }
    .mainNav > ul > li:first-child { margin-left:-13px; } /* align with logo */

    /* --- Content --- */
    .contentSection{ font-size:16px; }
    .contentSection .left_col { width:360px; } /* reduce content area */

    /* --- Sidebar --- */
    .panel, .we-are-local { width:336px; } /* reduce sidebar area */
    .form { margin:30px 0 0 0; } /* make space for breadcrumbs */
    .formHeader { border-radius:0; }

    /* --- Footer --- */
    .highlightBlue .contact { margin-bottom:0.35em; }

    /* --- Images --- */
    img.left,  a.left  { float:none; display:block; margin:0 auto 1.4em; }
    img.right, a.right { float:none; display:block; margin:0 auto 1.4em; }
    a.left  { display:inline-block; margin-bottom:0; }
    a.right { display:inline-block; margin-bottom:0; }

    /* --- Home Page --- */
    /* coverphoto */
    .header-coverphoto .section { padding-left:60px; }
    .header-coverphoto .text-block { height:460px; }

    /* Reduce spacing */
    ul.visaVersus { margin:1.5em 0 0.5em; }
    ul.visaVersus > li { padding-top:0.5em; }
    ul.visaVersus > li > img { margin-top:0; }

    /* No columns */
    ul.difference-block { margin-top:2em; }
    ul.difference-block > li { float:none; padding-left:1.3em; padding-right:1.3em; }
    ul.difference-block > li.leftDifference, ul.difference-block > li.rightDifference { margin-top:0; margin-left:120px; width:auto; min-height:0; }
    ul.difference-block > li.leftDifference  { border-right-width:1px; }
    ul.difference-block > li.rightDifference { border-left-width: 1px; }
    ul.difference-block > li.middleDifference { margin-top:0; padding-left:200px; width:auto; min-height:310px; }

    /* --- Contact page --- */ /* reduce spacing */
    .section.formContainer .formBlock { padding:2em 1.5em 0.5em;}
    .section.formContainer .formContentBlock { padding-left:0; }

    /* --- Services --- */
    ul.service-list-large > li, ul.service-list-large ul, ul.service-list-large .title { float:none; text-align:center; }

    /* --- Our Doctors --- */
    ul.staff-list.two-column { text-align:center; }
}

/* --- Tablet Portrait ---------------------------------------------------------------------------------------------- */
@media only screen and (max-width:767px) {
    .hide-mobile { display:none !important; }
    .show-mobile { display:block !important; }

    /* --- Typography --- */
    .highlightBlueLarge .title.title-size-1     { font-size:34px; }
    .highlightBlue .title                       { font-size:34px; }
    .title.title-size-1                         { font-size:30px; }
    .title.title-size-2, .title                 { font-size:32px; }
    .title.title-size-3                         { font-size:23px; }
    .title.title-size-4                         { font-size:22px; }
    .highlightBlue .contact                     { font-size:19px; }
    .subTitle                                   { font-size:17px; }
    th                                          { font-size:17px; }
    td                                          { font-size:15px; }
    blockquote.large { font-size:20px; }
    blockquote.large cite { font-size:90%; }

    /* --- Page Width --- */
    .section, .internalTitleSection .title, .wrapper.breadCrumbs { width:570px; }

    /* --- Transform header --- */
    .page-header { height:auto; }
    .logo { display:block; float:none; margin:20px auto; padding:0; height:60px; text-align:center; }
    .header-links { float:none; margin:5px auto 15px; }
    .smallNav { float:none; margin-top:4px; width:auto; max-width:100%; height:auto; padding:0; overflow:visible; text-align:center; }
    .smallNav .face-link { margin:0 10px 0 0; line-height:30px; }

    /* fix the page so logo stays on top when form is on */
    .sticky-contact-form-on { overflow:hidden; }

    /* --- CENTER EVERYTHING --- */
    .contentSection, .title, .internalTitleSection .title, .wrapper.breadCrumbs, .contentSection .center { text-align:center; }
    .contentSection ul, .footerLinks .title, .securityInformation .title { text-align:left; }
    table, .wistia_embed { margin-right:auto; margin-left:auto; }

    /* No content columns */
    /* --- Content --- */
    .contentSection .left_col { display:block; float:none; width:100%; }
    .content { margin:0 auto; width:100%; }
    .contentSection { font-size:15px; }

    /* --- Sidebar --- */
    .panel { display:block; float:none; width:100%; margin-top:130px; }
    .we-are-local { display:block; position:relative; right:auto; bottom:auto; margin:-84px auto 2px; width:auto; max-width:360px; padding-left:40px; padding-right:130px; }
    .form { margin-top:85px; /* make space for .we-are-local */ }
    .formHeader { margin-right:auto; margin-left:auto; }

    /* --- Footer --- */
    .footerLinks ul { padding:0 20px; }
    .footerLinks ul:first-child { padding-left:0; }
    .footerLinks ul:last-child { padding-right:0; }

    /* --- Homepage --- */
    /* video */
    .play-video a { width:60px; height:60px; }
    .play-video a:after { margin:-14px 0 0 -7px; border-width:15px; border-left-width:20px; }
    .action-links { margin-top:-60px; }
    .action-links .buttons a { padding:0.5em 0.8em; font-size:16px; }
    /* coverphoto */
    .header-coverphoto .section { padding-top:20px; padding-bottom:0; padding-left:0; }
    .header-coverphoto .text-block { height:360px; }
    /* hide title, mak image smaller */
    .header-partners { height:auto; line-height:1; }
    .header-partners .active-members { display:none; }
    .header-partners img { display:inline-block; margin:0.5em 0; max-width:60%; }

    ul.threeAcross:not(.systems) > li { float:none; margin:0 auto 0.5em; width:100%; max-width:300px; }
    ul.threeAcross > li + li blockquote { margin-top:0.8em; padding-top:1.2em; border-top:1px solid #e6e6e6; }


    /* Make image smaller, fix alignment */
    ul.visaVersus > li.odd .title  { text-align:left; }
    ul.visaVersus > li.even .title { text-align:right; }
    ul.visaVersus > li > img { width:40%; }

    /* Two locations, no columns */
    ul.twoAcross > li { width:100%; padding-right:0; }
    ul.twoAcross > li + li { margin-top:20px; padding-left:0; }

    /* --- Services --- */ /* make 2 columns */
    ul.service-grid { margin-top:0; }
    ul.service-grid > li { max-width:300px; }

    /* --- Contact page --- */
    .section.formContainer .formBlock { margin-bottom:0; padding:3em 2.5em; }
    .section.formContainer .formContentBlock { margin:0; padding:1em 0 2em; border-top:1px solid #e6e6e6; }
    .address-block { display:none; }

    /* --- Our Doctors Page --- */
    .bottomContent { padding-top:0; border-top:none; }
}

/* --- Kindle Fire -------------------------------------------------------------------------------------------------- */
@media only screen and (max-width:599px) {

    /* --- Typography --- */
    .highlightBlueLarge .title.title-size-1 { font-size:32px; }
    .highlightBlue .title                   { font-size:32px; }
    .title.title-size-1                     { font-size:32px; }
    .title.title-size-2, .title             { font-size:30px; }
    .title.title-size-3                     { font-size:21px; }
    .title.title-size-4                     { font-size:20px; }
    .highlightBlue .contact                 { font-size:18px; }
    .subTitle                               { font-size:16px; }
    .subTitle br { display:none; }
    th                                      { font-size:16px; }
    td                                      { font-size:14px; }
    .apply_btn                              { font-size:20px; }

    blockquote.large { font-size:18px; line-height:1.5; }
    blockquote.large cite { width:200px; }
    blockquote.large cite > img { width:80px; height:80px; }
    /* make large stars smaller */
    span.stars.large,                        blockquote.large span.stars { margin-bottom:1em; }
    span.stars.large, span.stars.large span, blockquote.large span.stars, blockquote.large span.stars span { width:130px; height:24px; background-image:url(../images/icn-stars-medium.png); background-position: 0 -26px; }
    span.stars.large span,                   blockquote.large span.stars span { background-position: 0 0; }
    span.stars.large.white, span.stars.large.white span { background-position:0 -77px; }
    span.stars.large.white span { background-position:0 -52px; }

    /* --- Page Width --- */
    .section, .internalTitleSection .title, .wrapper.breadCrumbs { width:450px; }

    /* --- Header --- */

    /* --- Content --- */

    /* --- Sidebar --- */

    /* --- Footer --- */
    .highlightBlue .contact { display:block; line-height:1.5; padding:0.2em 0;}
    .highlightBlue .contact strong { display:block; }
    /* no columns, center */
    .footerLinks .section, .footerLinks .title { text-align:center; }
    .footerLinks .inner { display:inline-block; }
    .footerLinks ul { display:block; padding:0; max-width:100%; }
    .footerLinks ul + ul { margin-top:2.2em; }

    /* --- Homepage --- */
    /* coverphoto */
    .header-coverphoto .text-block { height:200px; }

    /* No columns */
    ul.visaVersus { margin-top:2.5em; }
    ul.visaVersus > li.odd,  ul.visaVersus > li.odd .title,
    ul.visaVersus > li.even, ul.visaVersus > li.even .title { text-align:center; }
    ul.visaVersus > li.odd > img,
    ul.visaVersus > li.even > img { float:none; display:inline-block; margin:0 auto 0.5em; width:100%; max-width:300px; }

    .google-maps { margin:0 1em; /* more space for ability to scroll */ }

    /* Full width */
    ul.difference-block > li.leftDifference, ul.difference-block > li.rightDifference { margin-left:0; }
    ul.difference-block > li.middleDifference { margin-top:1.5em; margin-bottom:1.5em; padding-left:180px; min-height:390px; }
    ul.difference-block > li.middleDifference .title, ul.difference-block > li.middleDifference .title + p { margin-left:-160px; } /* first p full width */

    ul.partners.four-column li { float:left; width:50%; }

    /* --- Contact Page --- */
    .section.formContainer .formBlock { padding: 2em 1.5em 0.5em; }

    /* --- Our Doctors, no columns --- */
    ul.staff-list.two-column,           ul.staff-list.three-column           { margin:0; }
    ul.staff-list.two-column > li,      ul.staff-list.three-column > li      { margin:0; padding:1.75em 0 0.5em; border:none; border-top:1px solid #e6e6e6; border-bottom:1px solid #e6e6e6; }
    ul.staff-list.two-column > li + li, ul.staff-list.three-column > li + li { margin-top:-1px; }
    .bottomContent .staff-list + .hr { display:none; }
}

.show-sm { display:none !important; }
/* --- Phone Landscape & Portrait ----------------------------------------------------------------------------------- */
@media only screen and (max-width:479px) {
    .hide-sm { display:none !important; }
    .show-sm { display:block !important; }

    /* --- Typography --- */
    .highlightBlueLarge .title.title-size-1 { font-size:30px; }
    .highlightBlue .title                   { font-size:28px; }
    .title.title-size-1                     { font-size:28px; }
    .title.title-size-2                     { font-size:26px; }
    .title.title-size-3                     { font-size:22px; }
    .title.title-size-4                     { }
    .highlightBlue .contact                 { font-size:17px; }
    .subTitle                               { font-size:17px; }
    blockquote.large { font-size:16px; }

    /* --- Page Width --- */
    .section, .internalTitleSection .title, .wrapper.breadCrumbs { width:100%; min-width:320px; padding-right:10px; padding-left:10px; }

    /* --- Header --- */
    .smallNav { margin-top:0; padding-bottom:16px; }
    .smallNav .face-link { float:none; display:block; margin:0; line-height:22px; }
    .mean-container .mean-push {float:none;}
    .header-links { width:250px; margin:-15px auto 5px; }
    #btn_financing { margin-top:4px; width:226px; }
    #btn_financing br { display:none; }

    /* --- Sidebar --- */
    .we-are-local p { font-size:11px; }
    .we-are-local p br { display:none; }
    .we-are-local .local-image { right:10px; }
     .form, .differenceContainer { margin-right:-10px; margin-left:-10px; /* stick to screen sides */ }
    .formHeader { font-size:24px; width:100%; }
    .form .contact-form, .page-contact .contact-form { padding-right:1em; padding-left:1em; }
    .differenceBlock { padding-right:1.5em; padding-left:1.5em; /* more space for ability to scroll */ }
    .differenceBlock iframe { margin-top:0.5em; }

    /* --- Footer --- */
    /* Testimonials, wrap text around images */
    ul.twoAcross > li { padding-left:0; }
    ul.twoAcross > li + li { padding-right:0; }
    /* img not in use */
    ul.twoAcross > li img { margin-left:0;}
    ul.twoAcross > li + li img { margin-right:0; }

    /* --- Images --- */
    .fancybox img { width:100% !important; height:auto !important; }

    /* --- Homepage --- */
    /* coverphoto */
    .header-coverphoto .text-block { height:auto; min-height:100px;}

    /* fit to 1 row */
    .action-links .buttons a { margin:0; padding:0.5em 0.6em; font-size:15px; }

    /* Image on bottom */
    ul.difference-block > li.middleDifference { padding-left:1.3em; padding-bottom:290px; min-height:0; background-position:center bottom; }
    ul.difference-block > li.middleDifference .title, ul.difference-block > li.middleDifference .title + p { margin-left:0; } /* first p full width */

    /* no columns, smaller images */
    ul.threeAcross.systems { margin-top:0; }
    ul.threeAcross.systems > li { float:none; margin:0 auto 0.5em; width:100%; max-width:200px; }

    /* --- Contact page --- */
    .section.formContainer .formBlock { padding-right:0; padding-left:0; border-right:none; border-left:none; }
}
