@charset "utf-8";
/* CSS Document */

/* overrides */

.gclBanner *::before,
.gclBanner *::after {
    box-sizing: content-box !important;
}

#fadSearch {
  font-family: "Open-Sans", sans-serif !important;
}

h2
{
  font-size:1.2rem;
}

.mapResultsContainer
{
    margin: 0 auto;
}

.fadContainer,
.mapContainer
{
    /* margin-top: 1rem;
    margin-bottom: 1rem; */
    margin: 1rem auto;
}

/* .fadContainer, .mapContainer {

  margin: 1rem auto;
  float: none;
  padding: 0;
} */

.mapContainer
{
    display: flex;
    padding-top: 5rem;
    justify-content: center;
    font-weight: bold;
    font-size: 40px;
}

.pageRegion
{
    display:none;
}

/* .pageRegion:first-child
{
    display:block;
} */

/* .fadForm
{
  margin-bottom:4.5rem;
} */

.premierLogo
{
    position:absolute;
    /*margin: 1.6rem 0 0 -0.4rem;*/
    top: 2.6rem;
    left: -0.4rem;
}

.premierLogoFPI
{
    position:relative;
}

.practiceBlock
{
    margin:1rem auto 2rem auto;
}

.practiceContainer
{
    position:relative;
    background-color: #F7F7F7;
    margin-bottom:2.4rem;
    float: left;
}

.practiceContainer:last-child
{
    margin-bottom: 0;
}

.practiceInfoContainer
{
    position:relative;
}

/* .practiceContainer:hover
{
    border:1px solid #E9E9E9;
    -webkit-box-shadow: 2px 2px 5px 0px rgba(204,202,204,1);
    -moz-box-shadow: 2px 2px 5px 0px rgba(204,202,204,1);
    box-shadow: 2px 2px 5px 0px rgba(204,202,204,1);
    background-color: #FFF;
    cursor:default;
} */

.backtoLink
{
    display: block;
}

.frameBrandDetails
{
    margin:0;
    border-top: 1px solid #ccc;
    padding-top: 1rem;
    padding-bottom: 1rem;

}

.practiceDetails
{
    padding: 1.0rem 1.5rem 1.0rem 4rem;
}

.practiceDetails h2
{
  line-height: inherit;
}

hr
{
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 0;
    padding: 0;
    max-width: 100%;
}

.practiceDetails p
{
    font-size:1rem;
    line-height: 1.3rem;
    color: #000;
    /* margin: 0; */
}

.practiceDetails i.fa
{
    color: #0069b5;
}

.practiceTitle
{
    display:block;
    /* font-size: 1.4rem; */
    margin: 0 0 0.5rem 0;
    font-weight: bold;
    /* padding-top:4px */
}

.practiceTitleFPI
{
    float:left;
    display:inline-block;
    font-size: 1.8rem;
    margin: 0 1rem 0 0;
    font-weight: bold;
}

.practiceDetailsFPI p
{
    font-size:0.9rem;
    line-height: 1.3rem;
    color: #000;
}


.practiceDetailsFPI > div > div
{
    margin-bottom:2rem;
}

p.practiceDistance
{
    margin:0;
    font-size:0.8rem;
    line-height:0.5rem;
    padding-left: 1.1rem;
}

p.practiceMapLink
{
    color: #2ba6cb;
}

.dirlink
{
    font-size: 0.9rem;
    line-height: 1rem;
}

.fa-usd-circle
{
    font-size: 1rem;
    margin: 0 0.3rem;
}

.featureRow .fa-glasses
{
    font-size: 1.2rem;
    margin: 0 0.3rem 0 0;
}

.detailsContainer
{
    padding-left: 0;
    padding-right: 0;
}

.detailsButton
{
    min-width: 16rem;
}

p.practicePhone, p.practiceWebSite, p.practiceSchedule
{
    font-size:1rem;
    color:#2ba6cb;
    margin-bottom:0.7rem;
    line-height:1.1;
}

p.practiceWebSite
{
    margin-bottom:1rem;
}

p.practiceSchedule
{
    font-size: 1rem;
    color: #fff;
    margin: 0 0 0.7rem 0;
    line-height: 1.1;
    padding: 0.8rem 1.5rem;

}

.practicePhone a, .practiceWebSite a, .practiceSchedule a
{
    font-size:1rem;
    color: #0069b5;
    margin-bottom:0.7rem;
    line-height:1.1;
}

.practiceSchedule a
{
    font-size:1rem;
    color:#fff;
    margin-bottom:0.7rem;
    line-height:1.1;
    text-decoration:none;
}

p.practiceMapLink a
{
    font-size:1rem;
    font-weight: normal;
    color: #2ba6cb;
    margin-bottom:0.7rem;
    line-height:1.1;
}

/* ga maps */
#map
{
    height: 180px;
    width: 100%;
    border: 1px solid #e6e6e6;
    margin-bottom: 1.4rem;
}


p.yelp, p.yelp a
{
    font-size: 0.8rem;
}

.fa-calendar
{
  padding-right:0.4rem;
}

.fa-spinner
{
    font-size: 1.5rem;
    margin: 1rem 0.6rem 1rem 0;
    font-style: normal;
    display: inline-block;
    text-align: center;

}

.fa-spinner span
{
    font-family: Arial, sans-serif;
    display: inline-block;
    margin-left: 0.8rem;
}

.fa-map-marker-alt
{
    font-style: normal;
    display: inline-block;
}

.bonusOffer
{
    padding-left:0.4rem;
    line-height: 1.2rem;
}

.bonusOffer p, .specialOffer p
{
    line-height: 1.2rem;
    margin-bottom:0.2rem;
}

.specialOffer p
{
    line-height: 1.2rem;
    margin-bottom:0;
}

.practiceHours
{
    font-size:0.8rem;
    margin-bottom:0;
    color: #000;
}

.practiceAddress
{
    font-size: 0.9rem;
    line-height: 1.4;
    margin-top: 1rem;
    margin-bottom: 1rem;
    color: #000;
}

.frameBrandDetails img
{
    float:left;
    margin-right:8px;
}

.frameBrandMessageHeader
{
    font-weight: bold;
    padding: 0;
    margin:0;
    float:left;
}

.button.specialOffer
{
    font-size: 0.875rem;
    padding: 1rem 0;
    margin: 0;
    color: #0069b5;
}

.specialOfferAffiliate
{
  font-size: 0.8rem;
  padding: 1rem 0;
  margin: 0;
}

.frameBrandMessage
{
   clear: left;
   color: #A2C534;
   font-weight: bold;
   padding: 0;
   margin:0;
}

.frameBrandLinks
{
    clear: both;
    position: relative;
    padding-bottom: 20px;
    padding-top: 0.4rem;
    font-size:0.9rem;
}

.frameBrandLinks p
{
    font-size: 0.9rem;
}

label
{
  font-weight:bold;
}

.checkboxLabel
{
  font-weight:normal;
  padding-left: .4375rem;
  padding-right: .4375rem;
}

input
{
  font-weight:normal;
}

#fad-reportInaccuracy .text-element-container input
{
    margin-bottom: 0;
}

#fad-reportInaccuracy .errorMsg
{
    /** margin-bottom: 2rem; **/
    min-height: 1.5rem;
}



/*** utility styles ***/
.no-padding-left
{
    padding-left: 0 !important;
}

.no-padding-right
{
    padding-right: 0 !important;
}

.no-padding
{
    padding: 0;
}

.no-margin
{
    margin: 0;
}

.no-border
{
    border: none !important;
}

.loadMessage
{
    margin-top: 1rem;
}

.loadMessage, .loadBrand
{
    margin-bottom:0;
}

.loadError
{
    font-size:0.9rem;
}

.errorRow
{
    display:none;
    font-size: 0.8rem;
    font-weight: bold;
    color: red;
    margin-bottom: 0.6rem;
    text-align: center;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
}

.errorRow:empty
{
    display:none;
}

.disabled
{
  background-color:#ccc;
  pointer-events:none;
}

/*** END utility styles ***/

.linkBtn {
    /* font-size: 0.78em !important; */
    margin: 0 auto;
    width:auto;
}

.orangeBtn {
    background: #f58220;
    text-transform: uppercase !important;
    color: #003046;
    font-size: 14px;
    font-weight: bold;
}

.greenBtn {
    background: #9fcc3b;
    color: #003046;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: bold;
    line-height: 1.5;
    padding: 0 1rem;
}

.buttonRow
{
  margin:1.5rem 0;
}

.prev
{
	display: inline-block;
  min-width:90px;
	margin-right:1rem;
	cursor:pointer;
	outline:none;
}

.next
{
	display: inline-block;
  min-width:90px;
  margin-left:1rem;
	cursor:pointer;
	outline:none;
}

.fpiQuickLinks .standardLink, .fpiQuickLinks .standardLink:hover
{
  display: inline-block;
  text-decoration: underline;
  font-size: 1rem;
}

.fpiLink
{
    float:right;
    background: #fff;
    color: #333;
    font-size: 14px;
    font-weight: bold;
    padding: 1rem 0;
    border: 1px solid #999;
    margin: 0 !important;
}

.dirlink
{
    font-size: 0.9rem;
    font-weight: normal;
    text-transform: none !important;
    margin: 0 !important;
    border: none;
}

.scheduleLink
{
    float:right;
    background-color: #003046;
    text-transform: uppercase !important;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    padding: 1rem 2.2rem;
    border: 1px solid #999;
    margin: 0 0 0.5rem 0 !important;
}

.fadSearchButton, .docOfficeSearchButton, .docNameSearchButton
{
    padding: 0.55rem 2.2rem;
    flex-grow: 0;
    margin: 0;
}

.filterSearchContainer
{
    margin:1.4rem 0;
    float: left;
}

.filterSearchButton
{
    padding: 0.55rem 2rem;
    float: right;
}

/* fad filters CSS */

.fadFilters
{
   margin:1.5rem 0 0 0;
   display: none;
}

.fadFilterMenu
{
   border:1px solid #CCC;
   text-align:left;
   padding:1rem 1rem;
}

.fadFilterSelectors
{
    display: block;
    margin-top: 1.5rem;
    padding: 0;
}

.tabs-panel
{
    padding: 0;
}

.tabs-panel.is-active {
    display: flex;
    align-items: center;
    flex-direction: column;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
}
.tabs {
    border-bottom: none;
    padding-top: 1.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

/* #panel1.zipOnlySearch
{
    display: flex;
    align-items: center;
    justify-content: center;
} */

.zipOnlySearch .searchFormPreamble
{

}

.zipOnlySearch #zipCode
{
    margin: 0;
}

/* .zipOnlySearch .searchPane
{
    width: auto;
} */

.tabs-content
{
    margin-bottom:1.5rem;
    padding: 1rem 0 2rem 0;
    padding-bottom:1rem;
    width:100%;
    border-radius: 0 0 0.5rem 0.5rem;
}

.tabs-content .paragraphContainer p {
    font-size: .971em;
}

.premierBlurbLocationSearch {

}

.searchBoxes label,
.searchBoxes input {
  display: inline-block;
}

.searchBoxes #zipcode {
  width: 11.56rem;
}

.searchBoxes #city,
.searchBoxes #stateLocation,
.searchBoxes label[for="city"],
.searchBoxes label[for="stateLocation"]  {
  width: 15rem;
}

.tabs-title > a {
    padding: 1rem;
    font-size: 1rem;
}

.practiceTabs .tabs-title > a {
    font-size: 1rem;
}

.searchPane, .searchPaneDoc {
    flex-direction: row;

}

.searchPane {
  flex-direction: column;
}

.searchPane label
{
    flex-grow: 1;
}

.searchPane span
{
    flex-grow: 0;
    font-weight: bold;
    margin: 0 2rem;
}

.searchPaneDoc label, .searchPaneDoc .buttonsFilters
{
    flex-grow: 0;
}

.searchPaneDoc label
{
    padding-right: 1rem;
}

.cityStateLabel
{
    padding-left: 0.5rem;
    padding-right: 0;
}

.locationSearch
{
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
}

.zipOnlyFormBlock .button-block
{
    display: inline-block;
}

.buttonsFilters
{
    margin-top: 0.6rem;
}

.buttonsFilters .button
{
    flex-grow: 1;
    font-weight: bold;
}


#services, #doctors
{
    padding-top:1.8rem;
}

#services
{
    padding-left:0.8rem;
}

[type="color"], [type="date"], [type="datetime-local"], [type="datetime"], [type="email"], [type="month"], [type="number"], [type="password"], [type="search"], [type="tel"], [type="text"], [type="time"], [type="url"], [type="week"], textarea {
    padding: 0.5rem 1.5rem 0.5rem 0.5rem;
    border-radius: 0;
}

select, .serviceFilter , .productFilter
{
    padding: 0.4rem 1.5rem 0.4rem 0.5rem;
    font-weight:normal;
    border-radius: 0;
}

.serviceFilter, .productFilter
{
    position:relative;
    top:0;
    left:0;
    float:left;
    font-size: 0.9rem;
    padding: 0.4rem 0.5rem 0.5rem 0.5rem;
    margin-right:0.5rem;
    margin-bottom:1rem;
    height: 2.4rem;
    border:1px solid #ccc;
    font-weight:normal;
    border-radius:0.2rem;
    background-color:#fff;
}

.closeOptions
{
    position:absolute;
    top:4px;
    right:8px;
    cursor:pointer;
}

.fa-caret-down
{
    font-size:1.1rem;
    color:#8A8A8A;
    margin-top:0.3rem;
}

#slider
{
    width:90% !important;
}

.serviceFilterOptions, .productFilterOptions
{
    display:none;
    position:absolute;
    z-index:100;
    padding:0 0.4rem 0.4rem 0.4rem;
    border:1px solid #ccc;
    border-radius:0 0 0.2rem 0.2rem;
    top:6px;
    background-color:white;
    -webkit-box-shadow: 1px 1px 4px 0px rgba(0,0,0,0.17);
    -moz-box-shadow: 1px 1px 4px 0px rgba(0,0,0,0.17);
    box-shadow: 1px 1px 4px 0px rgba(0,0,0,0.17);

}

.popupMenuHeaders
{
    display: block;
    margin: 0.5rem 0 0 0 ;
    font-size: .875rem;
    font-weight: bold;
    line-height: 1.8;
    color: #0a0a0a;

}

.serviceFilterOptions .popupMenuHeaders, .productFilterOptions .popupMenuHeaders
{
    margin: 0.5rem 0;
}

.fadFilterRow
{
    padding: 0;
}

.fadContainerSection
{
    padding-left: 0;
    padding-right: 0;
    display: none;
}

.waitMessage
{
    display: none;
    padding: 1rem 0;
}
.resultsRow
{
    display:none;
    align-items: center;
}

.fpiQuickLinks
{
    margin: 0.6rem 0 1rem 0;
}

/*** premier filter menu css */
.selectFilterMenu
{
    display: flex;
    flex-direction: row;
    align-items: center;
    border: 1px solid #cacaca;
    padding:10px 15px 10px 17px;
    width: 260px;
    border: 1px solid #0069B5;
    color: #414042;
}

.selectFilterMenu .menuText
{
    display: block;
}

.selectFilterMenu .menuCaret
{
    margin-left: auto;
}

.selectFilterMenu .menuCaret::before
{
    content: "\f107";
    font-family: "Font Awesome 5 Pro";
    padding-left: 20px;
    font-size: 1.1rem;
}

.sortDivider {
    color: black;
    display: block;
    margin: 0;
    padding: 0 0 0 1rem;
    font-size: 0.8rem;
    font-weight: bold;
    border-left: 1px solid #ccc;
}

.searchResultOptions .dropdown-pane {
    border-radius: 0;
    background-color: #fefefe;
    margin-top: -5px;
    width: 260px;
    border: 1px solid #0069B5;
    border-top: none;
    padding: 0;
}

.searchResultOptions .updateSearchResultsFilterLink
{
    width: auto;
    padding: 0.2rem 0.8rem;
    font-size: 0.8rem;
    line-height: 1.3;

}

.searchResultOptions label {
    font-weight: normal;
    font-size: 0.9rem;
    color: #003046;
}

.searchResultOptions [type="checkbox"] + label,
.searchResultOptions [type="radio"] + label
{
    margin-left: 5px;
}

.searchResultOptions .element-outline-container
{
    padding:0.5rem 17px;
}

.searchResultOptions .premierInfo
{
    color: #003046;
    margin-left: 0.4rem;
}

.searchResultOptions .has-tip {
    position: relative;
    display: inline-block;
    border-bottom: none;
    cursor: pointer;
}

.resultsRow .editSearchLink {
    flex-grow: 1;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    font-weight: bold;
    line-height: 1.0;
}

.searchResultQuery.flexGrow {
    flex-grow: 1;
}

.searchResultOptions .radiusValue
{
    padding: 0.6rem 1rem;
    width: 100%;
}

.searchResultOptions .radiusValue:hover,
.searchResultOptions .radiusValue.selected
{
    background-color: #0069B5;
    color: #fff;
}

.tooltip
{
    box-sizing: border-box;
    width: 380px;
    border: 1.5px solid #0069B5;
    background-color: #F6FAFF;
    box-shadow: 0 2px 4px 0 rgba(0,0,0,0.32);
    color: #000;
    max-width: unset;
    padding: 1rem;
}

.tooltipContent
{
    position: relative;
}

.tooltip p
{
    font-size: 1rem;
}

.tooltip ul,
.tooltip li
{
    font-size: 0.8rem;
}

.tooltip img
{
    margin-bottom: 0.8rem;
    width: 80px;
    height: auto;
}

.tooltip.left.align-center::before,
.tooltip.bottom.align-center::before,
.tooltip.left::before,
.tooltip.bottom::before
{
    display: none;
}

.tooltipClose
{
    display: block;
    position: absolute;
    top: 0;
    right: 0;
}

.fa-times::before {
    font-size: 0.9rem;
}

.searchQueryString
{
    font-weight: bold;
    padding-left: 1.5rem;
}

.searchResultOptions
{
    display: flex;
    flex-grow: 0;
    align-items: center;
}

.checkbox-block {
    padding-right: .9375rem;
    padding-left: 1.9375rem;
}


.buttons
{
    display: inline-block;
    padding-left: 1rem;
}

.filterActionContainer
{
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
/*     flex-grow: 1; */
/*     flex-direction: row; */
/*     align-items: center; */
}

.toggleFilters
{
    text-align: center;
    font-size: 0.9rem;
    margin: 0 2rem;
}

.clearFilters
{
    text-align: center;
    flex-grow: 2;
    font-size: 0.9rem;
    margin: 0 1rem;
}

.rightCol {
  display: flex;
  flex-grow: 1;
}

.clearFilters
{
    display: none;
    text-align: center;
    flex-grow: 2;
}

.searchResultTotal
{
    display: block;
    padding: 0 1rem 0 0;
    font-size: 1rem;
    font-weight: bold;

}

.premierBlurbLocationSearch .button-row {
  display: flex;
  flex-direction: row;
}

.sortLabel
{
    color:black;
    display:block;
    margin:0;
    padding:0 0.3rem 0 1rem;
    font-size:0.8rem;
    font-weight:bold;
    border-left:1px solid #ccc;
}

.resetButton
{
    display:inline-block;
    margin-left:1.5rem;
}

/* FPI CSS */

.fpiContainer
{
    display: none;
}

.practiceTabs
{
    display: block;
}

.headerBar
{
    background-color:#003046;
    margin-bottom:2rem;
    color:white;
    font-weight:bold;
    padding:0.6rem 0;

}

section.practiceInfoContainer
{
    border-bottom:none;
    background-color: #F7F7F7;
    padding: 1.0rem 1.5rem 0 4rem;
}

.practiceDetailsFPI
{
    padding: 1.0rem 1.5rem 0 4rem;
}

.doctorProfileOverview
{
    display: flex;
    flex-direction: column;
    text-align: center;
    margin-bottom: 3rem;
    border: 1px solid #ebebeb;
    padding: 1rem 0 0 0;
    -webkit-box-shadow: 1px 1px 4px 0px rgba(0,0,0,0.17);
    -moz-box-shadow: 1px 1px 4px 0px rgba(0,0,0,0.17);
    box-shadow: 1px 1px 4px 0px rgba(0,0,0,0.17);
    min-height: 350px;
}

.docImageContainer
{
    width:100px;
    height:100px;
    margin:0 auto 1.5rem auto;
}

.docImageContainer img.docPhoto
{
    border-radius: 50%;
    overflow: hidden;
}

.profilesOverview
{
    font-size:0.9rem;
    margin-bottom: 0.8rem;
}

.profilesName
{
    margin:0 auto;
    line-height: 1rem;
}

.doctorTitle
{
    margin-bottom:1rem;
    font-size:0.8rem;
    font-style:italic;
}

.drNetworks
{
    width: 100%;
    padding: 1rem;
    background-color:#f5f6f8;
}

.networkList
{
    margin-bottom: 0;
    font-size:0.9rem;
}

.disclaimerBlock, .disclaimerBlockFrames, .disclaimerBlockOffers
{
    border-top: 1px solid #ccc;
    padding-top: 1rem;
    margin-top: 2rem;
}

.disclaimerCopy
{
    border:1px solid #e6e6e6;
    padding:1rem;
    margin:1rem 1rem 2rem 1rem;
    border-radius: 0.5rem;
    width: auto;
}

.disclaimerCopy p
{
    font-size:0.9rem;
}



/*** page controls ***/
.pageCntrls
{
  display:flex;
  /* visibility: hidden; */
  position: relative;
  text-align: center;
	margin: 0 0 0.5rem 0;
  background-color:white;
}

.visible
{
    visibility: visible;
}

.page, .numOfPages
{

	display:inline-block;
	/*margin:0 2px;*/
  color:#003046;
	/*width:16px;*/
	position: relative;
	top: 40%;
	cursor:pointer;
	outline:none;
}

.pageElements
{
    display:inline-block;
    text-align:center;
    font-weight:bold;
}

.pageLink
{
    padding: 0 0.6rem;
}

.pageLink.selected
{
    color: #0A3046;
    font-weight:bold;
}

.pageSelected
{
	color:#666666;
  font-weight:bold;
}

.linkBtn {
    /* font-size: 0.78rem !important; */
    margin: 0 auto;
    width: auto;
    border-radius:4px;
}

.nextContainer,
.prevContainer,
.firstPage,
.lastPage
{
    color: #0069b5;
    font-size: 1rem;
    letter-spacing: 1px;
}

.prev
{
	display: inline-block;
  min-width:90px;
	margin-right:1rem;
	cursor:pointer;
	outline:none;
}

.next
{
	display: inline-block;
  min-width:90px;
  margin-left:1rem;
	cursor:pointer;
	outline:none;
}

.firstPage, .lastPage
{
  min-width:90px;
  cursor:pointer;
}

.firstPage
{
  /*margin-right:235px;*/
}


.fa-angle-double-left,
.fa-angle-left
{
    margin-right: 0.5rem;
}

.fa-angle-double-right,
.fa-angle-right
{
    margin-left: 0.5rem;
}

.disabled
{
  visibility: hidden;
  background-color: transparent;
  pointer-events:none;
}

/*** FPI CSS ***/

.serviceList, .productsList, .premierServiceList
{
    margin-bottom:3rem;
    display: block;
}

.serviceList h3, .productsList h3, .doctorsList h3, .offerList h3, .frameList h3, .premierServiceList h3, .specialOfferContainer h3
{
    font-size:1.2rem;
    font-weight:bold;
    margin-bottom:1.5rem;
}

.serviceInfo
{
    display: block;
    margin-bottom: 1rem;
    min-height: 90px;
}

.serviceContainer
{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-items: flex-start;
}

.serviceIcon img
{
     width: 70%;
}

.serviceTitle
{
    font-size:1rem;
    font-weight:bold;
    margin-bottom:0;
}

.serviceDescription
{
    font-size:0.8rem;
    margin-bottom: 0;
}

.slideLabel
{
    padding:0 0 0 10px;
    text-align:left;

}

.featuredFrameList .column
{
    margin: 1.4rem 0;
}

.featuredFrameList h2
{
    line-height: 1.4rem;
}

.featuredFrameList p
{
    font-size: 0.8rem;
    margin-bottom: 0.6rem;
}

.featuredFrameList a
{
    font-size: 0.9rem;
}

.featuredFrameList .fa-glasses
{
    color: #A2C534;
    font-size: 0.9rem;
    border-radius: 100%;
    border: 1px solid #A2C534;
    padding: 0.4em;
    margin-right: 0.5rem;

}

.fpiDest {
    /* margin-bottom: 0.4rem; */
    display: inline-block;
}

.reportInaccuracy
{
    font-size: 1rem;
    margin-right: 2rem;
}

/* switch CSS */

label
{
  display:inline-block;
}


#custom-handle {
  width: 3em;
  height: 1.5em;
  top: 50%;
  margin-top: -.8em;
  text-align: center;
  line-height: 1.6em;
}

/*.slider-handle
{
  width: 3em;
  height: 1.4em;
  top: 50%;
  text-align: center;
  line-height: 1.4em;
  color:white;
}*/

#slider
{
  width:250px;
  margin-bottom:0.5rem;
  margin-top:0.5rem;
}

/* switch CSS */

.switch
{
    margin-bottom:0;
    display: flex;
    align-items: center;
}

.switch.large {
    height: auto;
    line-height: 1.0;
}

.switch-paddle {
    background: #fff;
    border-radius:50px;
    border:1px solid #ccc;
}

.switch.large input:checked ~ .switch-paddle::after {
    left: 5.6rem;
    border: 1px solid #f58220;
}

.switch.large .switch-paddle {
    width: 13.5rem;
    height: 1.6rem;
    font-size: 0.8rem;
}

input:checked ~ .switch-paddle {
    background: #fff;
}

.switch-active {
    left: 11%;
    display: block;
    color:#2ba6cb;
}

.switch-inactive {
    right: 12%;
    color:#f58220;
}

input:checked + label > .switch-inactive {
    display: block;
    color:#f58220;
}

input:checked + label > .switch-active {
    display: block;
    color:#2ba6cb;
}

.switch.large .switch-paddle::after {
    width: 6rem;
    height: 2rem;
    border: 1px solid #2ba6cb;
    background-color:transparent;
    height:1.2rem;
    top: 0.12rem;
}

.switch.large input:checked ~ .switch-paddle::after {
    left: 7.25rem;
    border: 1px solid #f58220;
}

.switch-paddle::after {
    top: 0.165rem;
    left:7.1rem;
    border-radius:50px;
}

/* print - email css */

/* .fpiQuickLinks
{
    margin-bottom: 1.5rem;
} */

.printLink
{
    margin-right: 2rem;
}

.fadCheckboxType {
  width: 0.875rem;
  height: 0.875rem;
}

.checkbox-element-container .fadFormitemLabel,
.checkbox-element-container .fadCheckboxType {
  display: inline-block;
}

.checkbox-element-container .fadFormitemLabel,
.checkbox-element-container .fadCheckboxType {
  padding-right: 0.25rem;
}

.checkbox-element-container .groupLabel {
  padding-left: 0;
  padding-right: 0.5rem;
  font-weight: normal;
}

.printLink,
.emailLink
{
  display: none;
  font-weight: bold;
}

.premierBlurbLocationSearch .spread img {
    width: auto;
}

.fadFilterSelectors.filterSearchContainer {
  margin-bottom: 2.1rem;
}

.pageCntrls:not(.visible) {
  display:none;
}
.premierBlurbLocationSearch .spread {
  padding-top: 2rem;
}

.premierBlurbLocationSearch .imageComponent .image {
  width: auto;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.premierBlurbLocationSearch .rightCol {
    display: flex;
    flex-grow: 1;
    align-items: center;
    /* justify-content: space-evenly; */
    margin-bottom: 0;
}

.premierBlurbLocationSearch .spreadCol2 h2,
.premierBlurbLocationSearch .spreadCol2 h3 {
  margin-bottom: 0;
  font-size: 1rem;
}

.premierBlurbLocationSearch .fadCheckboxType {
    vertical-align: middle;
    margin: 0 0.5rem;
}

.premierBlurbLocationSearch .checkbox-element-container {
    margin-bottom: 0.5rem;
}

.premierBlurbLocationSearch .checkbox-element-container .groupLabel {
    padding-left: 0;
    padding-right: 0;
    font-weight: normal;
    font-family: open-sans, sans-serif;
    font-size: 0.875rem;
    line-height: 1.2rem;
}

.premierBlurbLocationSearch .checkbox-element-container div {
    display:inline-block;
}

.premierBlurbLocationSearch .checkbox-element-container div  label{
    line-height: 1.2rem;
}


.locationSearch .cityStateLabel {
    /* padding-left: 2.5rem; */
}

.searchPane .locationSearch span {
	margin: 0.5rem 2.9375rem 0 2.9375rem;
}

.premierBlurbLocationSearch .buttonsFilters {
    display: flex;
    flex-grow: 1;
    align-items: center;
    margin-top: 0.6rem;
    justify-content: flex-end;
}

.premierBlurbLocationSearch .button-block {
  text-align: center;
  flex: 1;
}

.premierBlurbLocationSearch .checkbox-block {
    padding-left: .8rem;
}

.buttonsFilters .toggleFilters,
.buttonsFilters .clearFilters {
  font-size: 1rem;
  font-family: "franklin-gothic-urw-cond", sans-serif !important;
}

.premierBlurbLocationSearch .button-row {
	margin-top: 0.3rem;
}

.checkbox-block .element-outline-container:nth-child(2) {
  margin-top: 0.42rem;
  margin-bottom: 1rem;
}

/*** Adjust the spread column widths here to override the component values for tablet ***/
.premierBlurbLocationSearch .spreadCol1 {
  width: 8.33333%;
}

.premierBlurbLocationSearch .spreadCol2,
.premierBlurbLocationSearch .rightCol {
  width: 91.66667%;
}

.premierBlurbLocationSearch .rightCol .checkbox-block {
  padding-left: 0;
}

.bonusOfferContainer .fadOffersTitle p,
.bonusOfferContainer .fadOffersTitle span {
  font-size: var(--h4-font-size) !important;
  font-family: var(--base-header-font-family) !important;
  font-weight: var(--base-header-weight) !important;
}

.offerList h2 {
  font-size: var(--h2-font-size);
}



/**********************   Media queries start here *************************/

/********************** Medium only up to 1023px *************************/
@media screen and (max-width: 63.9375em)
{

  .locationSearch #zipCode,
  .locationSearch #city,
  .locationSearch #stateLocation {
  width: 100%;
  }

    .searchPane
    {
        display: flex;
        align-items: center;
        flex-direction: column;
    }

    .searchPaneDoc {
        display: flex;
        align-items: center;
        flex-direction: row;
        justify-content: space-evenly;
    }

    .searchPaneDoc label {
        flex-grow: 0;
    }

    .searchPane span, .searchPaneDoc span
    {
      margin: 0 1rem;
    }

    .searchPane .buttonsFilters {
        flex-direction: row;
        width: 50%;
    }

    .searchPaneDoc .buttonsFilters {
        flex-grow: 0;
    }

    .locationSearch
    {
        flex-grow: 1;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: row;
    }

    .filterActionContainer
    {
        margin-top: 1rem;
        margin-bottom: 1.4rem;
        margin-left: 2rem;
        margin-right: 2rem;
    }

    .fpiDest
    {
        padding-left: 0;
    }

    .premierBlurbLocationSearch .leftCol {
      /* display: none; */
    }

    .premierBlurbLocationSearch .leftCol {
      width: 8.33333%;
    }

    .premierBlurbLocationSearch .checkbox-block {
        display: flex;
        align-content: flex-start;
        justify-content: flex-start;
        flex-direction: column;
    }

    .premierBlurbLocationSearch .button-block {
        /* max-width: 30%; */
    }


    .premierBlurbLocationSearch .checkbox-element-container {
        display: flex;
        flex-direction: row !important;
    }


}

/********************** Medium and up min-width:640px *************************/
@media screen and (min-width: 40em) {

  .premierBlurbLocationSearch .leftCol {
    width: 8.33333%;
  }

  .premierBlurbLocationSearch .checkbox-block {
      display: flex;
      align-content: flex-start;
      justify-content: flex-start;
      flex-direction: column;
/*      max-width: 80%; */
      max-width: 54%;
  }

  .premierBlurbLocationSearch .button-block {
      margin-right: 2rem;
/*      margin-left: 2rem; */
      margin-left: 0.5rem;
      text-align: left
  }


  .premierBlurbLocationSearch .checkbox-block .checkbox-element-container {
      display: flex;
      flex-direction: row;
  }

  .premierBlurbLocationSearch .checkbox-block .checkbox-element-container div:first-child {
      padding-right: 0.5rem;
      /* white-space: nowrap; */
  }

  .premierBlurbLocationSearch .checkbox-block .checkbox-element-container:first-child div:first-child {
      padding-right: 0.9rem;
      /* flex-basis: 190px; */
      flex-basis: 100%;
      padding-bottom: 0.3rem;
  }

  .premierBlurbLocationSearch .checkbox-block .checkbox-element-container:first-child div:nth-child(2) {
      flex-shrink: 3;
  }

  .premierBlurbLocationSearch .checkbox-block .checkbox-element-container:first-child div:nth-child(3) {
      flex-shrink: 4;
  }

  .premierBlurbLocationSearch .fadCheckboxType {
  	vertical-align: middle;
  	margin: 0.3rem 0.5rem ;
  	margin-top: 0.3rem;
  }

  /** Checkbox styling for tablet starts here **/

      .checkbox-block {
        display: flex;
        flex-direction: column;
      }

      .element-outline-container {
        display: flex;
      }

  .premierBlurbLocationSearch  .checkbox-element-container {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
      }

      .checkbox-element-container label:first-child {
        flex-basis: 100%;
      }

      .checkbox-element-container label[for="sortByPremierPrivate"] {
        flex-basis: 85%;
      }

  /** Checkbox styling for tablet ends here **/

}

/********************** Small only max width 639px *************************/
@media screen and (max-width: 39.9375em)
{

  /*** Adjust the spread column widths here to override the component values for tablet ***/
  .premierBlurbLocationSearch .spreadCol1 {
    width: 100%;
  }

  .premierBlurbLocationSearch .spreadCol2 {
    width: 100%;
  }

/** Checkbox styling for mobile starts here **/

    .checkbox-block {
      display: flex;
      flex-direction: column;
    }

    .element-outline-container {
      display: flex;
    }

  .premierBlurbLocationSearch .checkbox-element-container {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: center;
    }

    .checkbox-element-container label:first-child {
      flex-basis: 100%;
    }

    .checkbox-element-container label[for="sortByPremierPrivate"] {
      flex-basis: 85%;
    }

/** Checkbox styling for mobile ends here **/

    .premierBlurbLocationSearch .button-block {
      margin-top: 2rem;
    }

    .premierBlurbLocationSearch .leftCol {
      display: none;
    }

    .premierBlurbLocationSearch .rightCol {
      flex-direction: column;
    }

    .premierBlurbLocationSearch .spread img {
    max-width: 30%;
    }

    .premierBlurbLocationSearch .spread {
    	padding-top: 1rem;
    }

    .locationSearch #zipCode,
    .locationSearch #city,
    .locationSearch #stateLocation {
    width: 100%;
    }

    .fadForm {
        margin-bottom: 2.5rem;
    }

    .practiceTitle, .practiceTitleFPI {
        font-size: 1.2rem;
        margin: 0 0 0.5rem 0;
    }

    .premierLogo {
        position: absolute;
        margin: 0;
        top: -0.6rem;
        left: -0.4rem;
    }

    .practiceDetails, .practiceDetailsFPI {
        margin-top: 0.4rem;
        padding: 1.2rem 0rem 0 0rem;
    }

    .fpiLink, .scheduleLink
    {
        float:none;
        display:block;
    }

    .detailsButton
    {
        min-width: auto;
    }

    .frameCount
    {
      border-radius: 50px;
      background-color: #2ba6cb;
      color: white;
      font-size: 0.7rem;
      padding: 0.2rem 0.4rem;
      font-weight: bold;
      margin-left: 0.4rem;
      text-align: center;
    }

    .orangeBtn, .greenBtn {
        font-size: 12px;
        padding:0.5rem;
        margin:0.5rem auto 1rem auto;
    }

    .practiceContainer
    {
        border:1px solid #E9E9E9;
    }

    .practiceContainer:hover
    {
        border:1px solid #E9E9E9;
        -webkit-box-shadow:none;
        -moz-box-shadow:none;
        box-shadow:none;
        background-color: #F7F7F7;
        cursor:default;
    }

    .resultsRow {
        display: none;
        border-collapse: separate;
        float:none;
        flex-direction: column;
        justify-content: center;
    }

    .searchResultQuery
    {
        margin-bottom: 1rem;
    }

    .searchResultOptions, .sortLabel
    {
        border: none;
    }

    .searchResultOptions
    {
        line-height: 1.0;
    }

    .specialOffer
    {
        padding-left: 0;
        text-align: left;
        float: left !important;
    }

    .searchPane
    {
        display: flex;
        align-items: center;
        flex-direction: column;
    }

    .searchPane label
    {
        flex-grow: 0;
        width:100%;
    }

    .searchPane .buttonsFilters {
        flex-direction: column;
        width: 100%;
    }

    .searchPaneDoc {
        display: flex;
        align-items: center;
        flex-direction: column;
    }

    .searchPaneDoc label {
        flex-grow: 0;
        width: 100%;
    }

    .searchPaneDoc .buttonsFilters {
        flex-grow: 0;
    }

    .locationSearch
    {
        flex-grow: 1;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: column;
        width: 100%
    }

    .locationSearch span
    {
        width: 100%;
        margin: 0;
        display: inline-block;
        text-align: center;
    }

    .buttons
    {
        margin-bottom:1.6rem;
        margin-left: 2rem;
        text-align:center;
    }

    .buttonsFilters {
        flex-direction: column;
        align-items: normal;
    }

    .fadFilters {
        margin: 0;
    }

    .fadSearchButton, .docOfficeSearchButton, .docNameSearchButton
    {
        padding: 0.55rem 2.2rem;
        flex-grow: 0;
        margin: 0;
    }

    .cityStateLabel
    {
        padding-left: 0;
        padding-right: 0;
    }

    .searchResultTotal
    {
        display:none;
        /*vertical-align:middle;*/
        padding: 0 0 0.6rem 0;
        font-size:0.8rem;
        font-weight:bold;
        border-right:none;
        width:100%;
        text-align:center;
        float:left;
        margin-bottom: 0.6rem;
        border-bottom: 1px solid #ccc;
    }

    .sortLabel
    {
        color:black;
        display:none;
        padding:0;
        font-size:0.8rem;
        font-weight:bold;
        width:100%;
        text-align:center;
        float:none;
        margin-top: 0;
        margin-right: 1rem;
    }

    .switch
    {
        margin-bottom:0;
        display:none;
        padding:0 0 0 0;
        width:100%;
        text-align:center;
    }

    .switch.large
    {
        height: auto
    }

    .frameAd-mobile
    {
      display:block;
    }


    .firstPage
    {
      min-width:40px;
    }

    .firstPage span
    {
      display:none;
    }

    .fa.fa-caret-left, .fa.fa-fast-backward
    {
      display:inline-block;
    }

    .lastPage
    {
      min-width:40px;
    }

    .lastPage span
    {
      display:none;
    }

    .fa.fa-caret-right, .fa.fa-fast-forward
    {
      display:inline-block;
    }

    .prev, .next
    {
      min-width:40px;
    }

    .prev span, .next span
    {
      display:none;
    }

    .fa.fa-caret-left, .fa.fa-caret-right, .fa.fa-fast-forward, .fa.fa-fast-backward, .fa.fa-bars, .fa.fa-caret-right
    {
      font-size:1rem;
    }

    .fa.fa-bars
    {
      font-size: 1.4rem;
    }

    .mobileMenu
    {
      font-family:inherit;
      font-size:1.2rem;
      /*border-top:1px solid #C7C7C7;*/
      /*border-bottom:1px solid #C7C7C7;*/
      padding-top:0.6rem;
      padding-bottom:0.6rem;
    }

    .mobileMenu .fa.fa-caret-right, .mobileMenu .fa-caret-down
    {
      margin-right:0.8rem;
    }

    .mobileMenu .fa-caret-right
    {
      display:none;
    }

    .next {
        margin-left: 0.5rem;
    }

    .prev {
        margin-right: 0.5rem;
    }

    .serviceInfo {
        display: block;
        min-height: auto;
    }

    .tabs-title > a {
    font-size: 0.8rem;
    }

    /* zip only search */
    /* #panel1.zipOnlySearch {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    } */

    .fadFormGridContainer .tabs-content {
      border-radius: 0;
      padding: 1.8rem 0;
      margin-bottom: 0.5rem;
    }

    .zipOnlyFormBlock
    {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-self: flex-start;
        width: 100%
    }

    .fadFormGridContainer .zipOnlyFormBlock .zipLabelContainer
    {
        width: 55%;
        margin-left: 0;
    }

    .fadFormGridContainer .zipOnlyFormBlock .button-block
    {
        width: 45%;
    }

    .fadFormGridContainer .zipOnlyFormBlock .button-block .button
    {
        width: 100%;
    }

}

/********************** Large and up min-width:1024px *************************/
@media screen and (min-width: 64em) {

  .premierBlurbLocationSearch .checkbox-block {
    max-width: 80%;
  }

  .premierBlurbLocationSearch .checkbox-block .checkbox-element-container:first-child div:first-child {
    flex-basis: inherit;
  }

  .premierBlurbLocationSearch .spreadCol2,
  .premierBlurbLocationSearch .rightCol {
    width: 91.66667%;
    padding-left: calc(var(--double-gutter-padding)*2);
    padding-right: calc(var(--double-gutter-padding)*2);
    justify-content: unset;
  }

  .premierBlurbLocationSearch .rightCol .checkbox-block {
    padding-left: 0;
  }

}

/********************** iPad Both Orientations *************************/
@media only screen
and (min-device-width: 768px)
and (max-device-width: 1024px)
and (-webkit-min-device-pixel-ratio: 2) {

  .premierBlurbLocationSearch .checkbox-block {
    max-width: 50%;
  }

  .premierBlurbLocationSearch .checkbox-block .checkbox-element-container:first-child div:first-child {
  	flex-basis: 100%;
  }

}


/****  Print styling ****/

@media print {


    .tabsContainer,
    .notification-bar,
    .title-bar,
    .navLinkContainer,
    #toTop,
    footer,
    .fpiQuickLinks,
    .fadSearch,
    .detailsButton,
    p a.dirlink,
    .fa-map-marker-alt,
    .detailsLinks,
    .pageCntrls,
    div.testimonials,
    #premierInfoTooltip,
    #editSearchLink,
    .noPrint,
    header
    {
        display: none !important;
    }

    .XXnavbar-fixed .navLogoContainer a img {
        display:none;
    }

    .XXnavLogoContainer a img {
        display:block;
        text-align: center;
    }

    /* search form */

    .fadForm
    {
        padding-top: 0;
    }

    .fadForm::before {
      content: "Choose VSP -- Find A Doctor Search Results";
      font-size: 2rem;
      margin-top: 2rem;
      padding: 0 0 0 0.9375rem;
      font-weight: bold;
      display: block;
    }


    .practiceContainer {
      border-top: 1px solid #333;
      margin-bottom: none;
      padding-top: 1rem;
    }

    .XXpracticeDistance {
      padding-top: 1rem;
    }


    .premierLogo {
        position: relative;
        margin: 0;
        top: 0;
        left: 0;
        padding: 0 0.9375rem 0.5rem 0.9375rem;
    }

    #toTop
    {
        opacity: 1.0;
        display: none;
    }

    a:link:after,
    a:visited:after
    {
        content: "" !important;
    }

    .tabs-content,
    .tabs-panel
    {
        float: left !important;
        border: none;
    }

    .doctorsList .column
    {
        width: 50% !important;
    }

    /* Premier dropdown box */
    .sortDivider, .selectFilterMenu {
      display: none;
    }


    /* Hide countdown timer */
    .countdownTimer {
      display:none;
    }

    .practiceDetails {
        margin-top: 0;
        padding: 0;
    }

    .detailAddress,
    .phoneHours
    {
        width: 50% !important;
    }

    .practiceDistance
    {
        padding-bottom: 1rem;
    }

    .fpiDest
    {
        width: 33% !important;
    }

    .pageRegion
    {
        display: block !important;
    }

    .practiceTitle,
    .featureRow
    {
        width: 100% !important;
        white-space: nowrap;
    }

    .disclaimerCopy p
    {
        font-size: 0.8rem !important;
    }

    .premierServiceList,
    .serviceList
    {
        page-break-before: always;
    }

    .large-up-3 > .column:nth-of-type(1n+1), .large-up-3 > .columns:nth-of-type(1n+1)
    {
        clear: none;
    }

    .serviceList, .productsList, .premierServiceList {
        margin-bottom: 1rem;
        display: flex !important;
        flex-direction: column;
    }

    .serviceContainer {
        display: flex;
        flex-direction: column;
        align-items: unset;
        justify-items: unset;
    }

    .practiceDetailsFPI {
        padding: 1.0rem 1.5rem 0 0;
        float: left;
    }

    .practiceBlock
    {
        page-break-after: always;
    }

    .frameBrandDetails {
      border-top: none;
      padding-top: 0;
      page-break-inside: avoid;

    }

    .resultsRow {
      margin-bottom: 2rem;
    }

    .searchResultTotal,
    .searchResultQuery {
    }

}