/*** ..... Skeleton CSS ..... ***/
/* Font-Smoothing */
html {
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
}

.TPRelatedTerms {
  width: auto !important;
}

.TPnav:before,
.TPnav:after {
  display: none;
}

/* print out for clients nicely */
@media print {
  a[href]:after {
    content: none;
  }
}

/* move ada to bottom */
div#ADAhover,
.TPadaBtn {
  bottom: 10px;
  top: initial !important;
}

/* Responsive Request Appointment page */
table.vsfBlock input[type="text"],
input[type="text"],
.vsfBlock textarea,
textarea,
.vsfSubmitBtn input[type="submit"],
input[type="submit"] {
  border: solid 1px #ccc;
  width: 100%;
}

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

  /* more Responsive Request Appointment */
  table.vsfBlock>tbody>tr>td {
    display: inline-block;
    margin-bottom: 10px;
    width: 100%;
  }

  td[class^="vsfSubmit"] {
    display: inline-block;
    width: 100%;
  }

  table.vsfBlock input[type="radio"] {
    margin: 0.5em;
  }

  /* lets email break wherever it needs to */
  a[href^="mailto"] {
    -ms-word-break: break-all;
    word-break: break-all;
  }
}

/* margin-bottom for all vids */
.TPembed-responsive {
  margin-bottom: 15px;
}

/* TPimgRight and video-right and Left and center unfloat for small screen */
.TPimgRight,
.TPimgLeft,
.TPimgCenter {
  margin-bottom: 15px;
}

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

  .TPimgRight,
  .TPimgLeft,
  .TPimgCenter {
    width: 100% !important;
    height: auto !important;
    float: none;
    margin: 0 0 15px !important;
  }

  .TPimg-responsive {
    width: 100%;
  }

  .TPvideo-right,
  .TPvideo-left {
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
  }
}

/* mobile nav width fix */
#MenuDiv1,
[id^="TPsbm"][adopen="true"],
[id^="TPsbm"][adopen="false"] {
  width: auto !important;
}

/** ..... bootstrap helpers and fancy styles ..... **/
.TPtext-white {
  color: #fff !important;
}

a.TPtext-white:hover,
a.TPtext-white:focus,
a.TPtext-white:active {
  color: inherit;
}

.TPtext-black {
  color: #000 !important;
}

a.TPtext-black:hover,
a.TPtext-black:focus,
a.TPtext-black:active {
  color: inherit;
}

.TPbtn-text-wrap {
  white-space: normal;
}

.TPbtn {
  white-space: normal;
}

a,
a:link,
a:active,
a:hover,
a:visited {
  transition: all 0.25s;
}

.TPborder-radius-0 {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}

.TPborder-radius-3 {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}

.TPborder-radius-5 {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

.TPborder-radius-8 {
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
}

.TPborder-radius-10 {
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}

.TPborder-radius-12 {
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
}

.TPborder-radius-15 {
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
}

.TPborder-radius-20 {
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
}

.TPborder-radius-25 {
  -webkit-border-radius: 25px;
  -moz-border-radius: 25px;
  border-radius: 25px;
}

.TPborder-radius-30 {
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
}

.TPborder-radius-50 {
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  border-radius: 50px;
}

.TPborder-radius-max {
  -webkit-border-radius: 500px;
  -moz-border-radius: 500px;
  border-radius: 500px;
}

.TPborder-radius-bl-0 {
  -webkit-border-bottom-left-radius: 0;
  -moz-border-bottom-left-radius: 0;
  border-bottom-left-radius: 0;
}

.TPborder-radius-br-0 {
  -webkit-border-bottom-right-radius: 0;
  -moz-border-bottom-right-radius: 0;
  border-bottom-right-radius: 0;
}

.TPborder-radius-tr-0 {
  -webkit-border-top-right-radius: 0;
  -moz-border-top-right-radius: 0;
  border-top-right-radius: 0;
}

.TPborder-radius-tl-0 {
  -webkit-border-top-left-radius: 0;
  -moz-border-top-left-radius: 0;
  border-top-left-radius: 0;
}

.TPpadding-0 {
  padding: 0;
}

.TPpadding-3 {
  padding: 3px;
}

.TPpadding-5 {
  padding: 5px;
}

.TPpadding-8 {
  padding: 8px;
}

.TPpadding-10 {
  padding: 10px;
}

.TPpadding-12 {
  padding: 12px;
}

.TPpadding-15 {
  padding: 15px;
}

.TPpadding-20 {
  padding: 20px;
}

.TPpadding-25 {
  padding: 25px;
}

.TPpadding-30 {
  padding: 30px;
}

.TPpadding-50 {
  padding: 50px;
}

.TPpadding-t {
  padding-top: 30px;
}

.TPpadding-b {
  padding-bottom: 30px;
}

.TPpadding-tb-0 {
  padding-top: 0;
  padding-bottom: 0;
}

.TPpadding-tb-3 {
  padding-top: 3px;
  padding-bottom: 3px;
}

.TPpadding-tb-5 {
  padding-top: 5px;
  padding-bottom: 5px;
}

.TPpadding-tb-8 {
  padding-top: 8px;
  padding-bottom: 8px;
}

.TPpadding-tb-10 {
  padding-top: 10px;
  padding-bottom: 10px;
}

.TPpadding-tb-12 {
  padding-top: 12px;
  padding-bottom: 12px;
}

.TPpadding-tb-15 {
  padding-top: 15px;
  padding-bottom: 15px;
}

.TPpadding-tb-20 {
  padding-top: 20px;
  padding-bottom: 20px;
}

.TPpadding-tb-25 {
  padding-top: 25px;
  padding-bottom: 25px;
}

.TPpadding-tb-30 {
  padding-top: 30px;
  padding-bottom: 30px;
}

.TPpadding-tb-50 {
  padding-top: 50px;
  padding-bottom: 50px;
}

.TPpadding-l-0 {
  padding-left: 0;
}

.TPpadding-r-0 {
  padding-right: 0;
}

.TPpadding-lr-0 {
  padding-left: 0;
  padding-right: 0;
}

.TPpadding-lr-3 {
  padding-left: 3px;
  padding-right: 3px;
}

.TPpadding-lr-5 {
  padding-left: 5px;
  padding-right: 5px;
}

.TPpadding-lr-8 {
  padding-left: 8px;
  padding-right: 8px;
}

.TPpadding-lr-10 {
  padding-left: 10px;
  padding-right: 10px;
}

.TPpadding-lr-12 {
  padding-left: 12px;
  padding-right: 12px;
}

.TPpadding-lr-15 {
  padding-left: 15px;
  padding-right: 15px;
}

.TPpadding-lr-20 {
  padding-left: 20px;
  padding-right: 20px;
}

.TPpadding-lr-25 {
  padding-left: 25px;
  padding-right: 25px;
}

.TPpadding-lr-30 {
  padding-left: 30px;
  padding-right: 30px;
}

.TPpadding-lr-50 {
  padding-left: 50px;
  padding-right: 50px;
}

.TPmargin-0 {
  margin: 0;
}

.TPmargin-3 {
  margin: 3px;
}

.TPmargin-5 {
  margin: 5px;
}

.TPmargin-8 {
  margin: 8px;
}

.TPmargin-10 {
  margin: 10px;
}

.TPmargin-12 {
  margin: 12px;
}

.TPmargin-15 {
  margin: 15px;
}

.TPmargin-20 {
  margin: 20px;
}

.TPmargin-25 {
  margin: 25px;
}

.TPmargin-30 {
  margin: 30px;
}

.TPmargin-50 {
  margin: 50px;
}

.TPmargin-t {
  margin-top: 30px;
}

.TPmargin-b {
  margin-bottom: 30px;
}

.TPmargin-tb-0 {
  margin-top: 0;
  margin-bottom: 0;
}

.TPmargin-tb-3 {
  margin-top: 3px;
  margin-bottom: 3px;
}

.TPmargin-tb-5 {
  margin-top: 5px;
  margin-bottom: 5px;
}

.TPmargin-tb-8 {
  margin-top: 8px;
  margin-bottom: 8px;
}

.TPmargin-tb-10 {
  margin-top: 10px;
  margin-bottom: 10px;
}

.TPmargin-tb-12 {
  margin-top: 12px;
  margin-bottom: 12px;
}

.TPmargin-tb-15 {
  margin-top: 15px;
  margin-bottom: 15px;
}

.TPmargin-tb-20 {
  margin-top: 20px;
  margin-bottom: 20px;
}

.TPmargin-tb-25 {
  margin-top: 25px;
  margin-bottom: 25px;
}

.TPmargin-tb-30 {
  margin-top: 30px;
  margin-bottom: 30px;
}

.TPmargin-tb-50 {
  margin-top: 50px;
  margin-bottom: 50px;
}

.TPmargin-l-0 {
  margin-left: 0;
}

.TPmargin-r-0 {
  margin-right: 0;
}

.TPmargin-lr-0 {
  margin-left: 0;
  margin-right: 0;
}

.TPmargin-lr-3 {
  margin-left: 3px;
  margin-right: 3px;
}

.TPmargin-lr-5 {
  margin-left: 5px;
  margin-right: 5px;
}

.TPmargin-lr-8 {
  margin-left: 8px;
  margin-right: 8px;
}

.TPmargin-lr-10 {
  margin-left: 10px;
  margin-right: 10px;
}

.TPmargin-lr-12 {
  margin-left: 12px;
  margin-right: 12px;
}

.TPmargin-lr-15 {
  margin-left: 15px;
  margin-right: 15px;
}

.TPmargin-lr-20 {
  margin-left: 20px;
  margin-right: 20px;
}

.TPmargin-lr-25 {
  margin-left: 25px;
  margin-right: 25px;
}

.TPmargin-lr-30 {
  margin-left: 30px;
  margin-right: 30px;
}

.TPmargin-lr-50 {
  margin-left: 50px;
  margin-right: 50px;
}

.TPtransition-0ms {
  transition: all ease-in-out 0s;
}

.TPtransition-125ms {
  transition: all ease-in-out 125ms;
}

.TPtransition-250ms {
  transition: all ease-in-out 250ms;
}

.TPtransition-500ms {
  transition: all ease-in-out 0.5s;
}

.TPtransition-750ms {
  transition: all ease-in-out 750ms;
}

.TPtransition-1000ms {
  transition: all ease-in-out 1s;
}

.TPtransition-1500ms {
  transition: all ease-in-out 1.5s;
}

.TPopacity-0 {
  opacity: 0;
}

.TPopacity-10 {
  opacity: 0.1;
}

.TPopacity-20 {
  opacity: 0.2;
}

.TPopacity-30 {
  opacity: 0.3;
}

.TPopacity-40 {
  opacity: 0.4;
}

.TPopacity-50 {
  opacity: 0.5;
}

.TPopacity-60 {
  opacity: 0.6;
}

.TPopacity-70 {
  opacity: 0.7;
}

.TPopacity-80 {
  opacity: 0.8;
}

.TPopacity-90 {
  opacity: 0.9;
}

.TPopacity-100 {
  opacity: 1;
}

.TPborder-0 {
  border-width: 0;
}

.TPborder-1 {
  border-width: 1px;
}

.TPborder-2 {
  border-width: 2px;
}

.TPborder-3 {
  border-width: 3px;
}

.TPborder-5 {
  border-width: 5px;
}

.TPborder-solid {
  border-style: solid;
}

.TPborder-dashed {
  border-style: dashed;
}

.TPborder-dotted {
  border-style: dotted;
}

.TPborder-double {
  border-style: double;
}

.TPborder-groove {
  border-style: groove;
}

.TPborder-ridge {
  border-style: ridge;
}

.TPborder-inset {
  border-style: inset;
}

.TPborder-outset {
  border-style: outset;
}

.TPborder-none {
  border-style: none;
}

/** ..... Shadys Nav ..... **/
/* Navbar Stuff - responsive */
.TPwebNavBand {
  z-index: 9;
  box-shadow: none;
  width: 100%;
  position: -webkit-sticky;
  position: -moz-sticky;
  position: -ms-sticky;
  position: -o-sticky;
  position: sticky;
  top: 0;
}

.TPnavbar {
  border: none;
  margin-bottom: 0px;
}

.TPnavbar-default {
  background-color: transparent;
}

.TPnavBar>.TPnavTable>tbody>tr {
  display: inline-block;
}

@media (max-width: 1198px) {
  .TPnavbar-mobile {
    display: block;
  }

  .TPnavbar-header {
    display: none;
  }

  .TPnavbar {
    display: none;
  }
}

@media (min-width: 1199px) {
  .TPnavbar-mobile {
    display: none;
  }

  .TPnavbar-brand-alt {
    display: none;
  }
}

.TPnavbar-brand {
  padding: 8px !important;
  display: block;
  background: transparent;
  height: auto !important;
}

.TPnavbar-brand:hover,
.TPnavbar-brand:focus {
  background-color: transparent !important;
}

.TPnavbar-brand>img {
  max-width: 100%;
  width: 100%;
}

.TPnavbar-right {
  margin-right: 0px !important;
}

/* Targets only WEBSITE_NAVIGATION_ULBOOTSTRAP */

.TPnavbar>ul[id^="NB"] {
  float: left;
  margin: 0;
  list-style: none;
  padding: 0px;
  margin-bottom: 0;
  list-style: none;
}

.TPnavbar>ul[id^="NB"]>li {
  float: left;
  position: relative;
  display: block;
}

.TPnavbar>ul[id^="NB"]>li>a {
  position: relative;
  display: block;
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 20px;
}

.TPnavbar>ul[id^="NB"]>li:hover>ul[id$="sb"] {
  display: block;
}

.TPnavbar>ul[id^="NB"]>li>ul[id$="sb"] {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 0px;
  margin: 0 0 0;
  font-size: 14px;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  -webkit-background-clip: padding-box;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  transition: 0.5s 0.15s all cubic-bezier(0.75, 0, 0.5, 1), 0s top linear;
  -webkit-transition: 0.5s 0.15s all cubic-bezier(0.75, 0, 0.5, 1),
    0s top linear;
  -moz-transition: 0.5s 0.15s all cubic-bezier(0.75, 0, 0.5, 1), 0s top linear;
  -ms-transition: 0.5s 0.15s all cubic-bezier(0.75, 0, 0.5, 1), 0s top linear;
  -o-transition: 0.5s 0.15s all cubic-bezier(0.75, 0, 0.5, 1), 0s top linear;
}

.TPnavbar>ul[id^="NB"]>li>ul[id$="sb"]>li>a {
  display: block;
  padding: 10px;
  clear: both;
  font-weight: normal;
  line-height: 1.42857143;
  white-space: nowrap;
}

.TPnavbar>ul[id^="NB"]>li>ul[id$="sb"]>li:last-child>a {
  border-bottom: none;
}

/** Navigation **/
.TPnav,
#MenuDiv1 {
  transition: 0.5s 0.15s all cubic-bezier(0.75, 0, 0.5, 1), 0s top linear;
  -webkit-transition: 0.5s 0.15s all cubic-bezier(0.75, 0, 0.5, 1),
    0s top linear;
  -moz-transition: 0.5s 0.15s all cubic-bezier(0.75, 0, 0.5, 1), 0s top linear;
  -ms-transition: 0.5s 0.15s all cubic-bezier(0.75, 0, 0.5, 1), 0s top linear;
  -o-transition: 0.5s 0.15s all cubic-bezier(0.75, 0, 0.5, 1), 0s top linear;
}

.TPwebNav {
  width: 100%;
  max-width: 100%;
}

/** RESPONSIVE MOBILE NAVIGATION **/
.TPmb,
.TPmbSub {
  display: inline-block;
  font-size: 20px;
  line-height: 2;
  list-style: none;
  color: #444;
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* menu button */
.TPmenuBtn {
  background: #eee;
  padding: 10px 15px;
  display: block;
  width: 100%;
  overflow: auto;
}

.TPmenuBtn:hover,
.TPmenuBtn:focus,
.TPmenuBtn.TPfocus,
.TPmenuBtn:active {
  filter: brightness(97%);
}

/* menu button hamburger lines */
.icon-bar {
  display: block;
  width: 26px;
  height: 2px;
  border-radius: 1px;
  background: #444;
}

.icon-bar+.icon-bar {
  width: 22px;
  margin-top: 4px;
}

.icon-bar+.icon-bar+.icon-bar {
  width: 15px;
}

/* menu open and close sizes */
#MenuDiv1[adopen="false"] {
  height: 0px !important;
}

#MenuDiv1[adopen="true"] {
  height: calc(100vh - 150px) !important;
}

[id^="TPsbm"][adopen="false"] {}

[id^="TPsbm"][adopen="true"] {}

/* menu inner box size */
.TPmenuBox,
.TPmenuSubBox {
  width: 100%;
}

/* top and bottom padding */
.TPmenuList {
  width: 100%;
  padding: 20px 0;
}

.TPmenuSubList {
  width: 100%;
  padding: 0;
}

/* divider between links */
.TPmenuList li {
  border-bottom: 1px solid #eee;
}

.TPmenuList li:last-child {
  border-bottom: 0;
}

.TPmenuList>li,
.TPmenuSubList>li {
  position: relative;
}

/* link padding */
.TPmenuLink,
.TPmenuSubLink {
  width: 100%;
  padding: 0 40px;
}

/* sub level link padding */
.TPmenuSubLink {
  padding-left: 55px;
}

/* link hover style */
.TPmenuLink:active,
.TPmenuLink:focus,
.TPmenuLink:hover {
  background: #eee;
  color: #aaa;
}

/* sub level link hover style */
.TPmenuSubLink:active,
.TPmenuSubLink:focus,
.TPmenuSubLink:hover {
  background: #eee;
  color: #aaa;
}

/* sub level dropdown */
.TPmbSubBtn {
  vertical-align: middle;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  border: 0;
  padding: 5px 20px;
  font-size: 15px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  position: absolute;
  top: 0;
  right: 0;
}

.TPmbSubBtn::after {
  content: "";
  position: relative;
  width: 1em;
  height: 1em;
  transform: rotate(-45deg);
  top: 0;
  display: inline-block;
  margin-left: 0;
  border-left: 0.1em solid;
  border-bottom: 0.1em solid;
}

/* ..... FANCY BUTTONS ..... */
.TPbtn,
.TPbtn:before,
.TPbtn:after,
.TPbtn:hover {
  transition: all 0.5s;
}

/* Button 1 Fill on hover */
.TPbtn-1 {
  border: solid 1px gray;
  color: gray;
}

.TPbtn-1:active,
.TPbtn-1:focus,
.TPbtn-1:hover {
  background: gray;
  color: white;
}

/* Button 2 Slide background on hover */
.TPbtn-2 {
  color: gray;
  outline: 0;
  background: 0 0;
  border: 1px solid gray;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.TPbtn-2:after,
.TPbtn-2:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  background: gray;
  z-index: -1;
}

.TPbtn-2top:after,
.TPbtn-2top:before {
  transform: translate3D(0, -100%, 0);
}

.TPbtn-2left:after,
.TPbtn-2left:before {
  transform: translate3D(-100%, 0, 0);
}

.TPbtn-2:before {
  background: transparent;
  z-index: -2;
  transform: translate3D(0, 0, 0);
}

.TPbtn-2:hover {
  color: white;
}

.TPbtn-2:hover:after {
  transform: translate3D(0, 0, 0);
  transition: all 0.5s;
}

/* Button 3 Depress on click */
.TPbtn-3 {
  background: gray;
  border-bottom: 5px solid dimgray;
  color: white;
  transition: all 0.25s;
}

.TPbtn-3:hover {
  background: dimgray;
  border-color: black;
}

.TPbtn-3:active {
  border-bottom-width: 0;
  margin-top: 5px !important;
}

/* Button 4 Popup shadow on hover */
.TPbtn-4 {
  background: gray;
  color: white;
}

.TPbtn-4:hover {
  margin-top: -5px;
  margin-bottom: 5px;
  -webkit-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.5);
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.5);
}

/* Button 5 Double line on hover */
.TPbtn-5 {
  background: gray;
  color: white;
  position: relative;
  cursor: pointer;
  outline: 0;
}

.TPbtn-5:hover {
  background: transparent;
  color: gray;
}

.TPbtn-5:after,
.TPbtn-5:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  height: 2px;
  width: 0;
  background: gray;
  transition: 0.4s ease all;
}

.TPbtn-5:after {
  right: inherit;
  top: inherit;
  left: 0;
  bottom: 0;
}

.TPbtn-5:hover:after,
.TPbtn-5:hover:before {
  width: 100%;
  transition: 0.8s ease all;
}

/* Button 6 Double border */
.TPbtn-6 {
  position: relative;
  background: gray;
  border: solid 1px gray;
  color: white;
}

.TPbtn-6:hover {
  background: dimgray;
}

.TPbtn-6:before {
  content: " ";
  position: absolute;
  z-index: 0;
  top: 1px;
  bottom: 1px;
  left: 1px;
  right: 1px;
  border: 1px solid white;
}

.TPbtn-6:hover:before {
  border-color: darkgray;
}

/* Button 7 Round on hover */
.TPbtn-7 {
  background: gray;
  color: white;
}

.TPbtn-7:hover {
  background: dimgray;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
}

/* Button 8 Zoom on hover */
.TPbtn-8:hover {
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -ms-transform: scale(1.05);
  -o-transform: scale(1.05);
  transform: scale(1.05);
}

/*....  FANCY LINKS  ....*/

/* Link 1 Underline slide from left */
.TPlink-1 {
  background: transparent;
  border: none;
  position: relative;
  overflow: hidden;
  outline: 0;
  transition: 0.8s ease all;
}

.TPlink-1:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  width: 0;
  max-width: 100%;
  background: gray;
  transition: 0.4s ease all;
}

.TPlink-1:hover:before {
  width: 100%;
  transition: 0.8s ease all;
}

/* Link 2 highlight from left  */
.TPlink-2 {
  position: relative;
  z-index: 1;
  border: none;
  position: relative;
  overflow: hidden;
  outline: 0;
}

.TPlink-2:after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  height: 100%;
  max-width: 100%;
  width: 0;
  background: gray;
  transition: 0.4s ease all;
}

.TPlink-2:hover:after {
  width: 100%;
  transition: 0.8s ease all;
}

/* Link 3 highlight from bottom  */
.TPlink-3 {
  position: relative;
  z-index: 1;
  border: none;
  border-bottom: solid 1px gray;
  position: relative;
  overflow: hidden;
  outline: 0;
}

.TPlink-3:after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  height: 0;
  width: 100%;
  max-height: 100%;
  background: gray;
  transition: 0.4s ease all;
}

.TPlink-3:hover:after {
  height: 100%;
  transition: 0.4s ease all;
}

/* Link 4 strikethrough from left  */
.TPlink-4 {
  background: transparent;
  border: none;
  position: relative;
  overflow: hidden;
  outline: 0;
}

.TPlink-4:before {
  content: "";
  position: absolute;
  bottom: 45%;
  left: 0;
  height: 2px;
  width: 0;
  max-width: 100%;
  background: gray;
  transition: 0.4s ease all;
}

.TPlink-4:hover:before {
  width: 100%;
  transition: 0.8s ease all;
}

/* Link 5 Underline slide from center */
.TPlink-5 {
  background: transparent;
  border: none;
  position: relative;
  overflow: hidden;
  outline: 0;
  max-width: 100%;
}

.TPlink-5:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  height: 2px;
  width: 0;
  max-width: 100%;
  background: gray;
  transition: 0.4s ease all;
}

.TPlink-5:hover:before {
  left: 0;
  width: 100%;
  transition: 0.8s ease all;
}

/* ..... FANCY SOCIAL MEDIA ICONS ..... */
.TPsm .fa,
.TPsm-circle .fa,
.TPsm-rounded .fa,
.TPsm-square .fa {
  transition: 150ms all;
}

.TPsm .fa {
  vertical-align: middle;
  font-size: 24px;
  color: #555;
  width: 45px;
  height: 45px;
  padding: 9px 0;
  margin: 3px 2px;
  text-align: center;
}

.TPsm.TPsm-xl .fa {
  font-size: 40px;
  width: 70px;
  height: 70px;
  padding: 15px 0;
}

.TPsm.TPsm-lg .fa {
  font-size: 30px;
  width: 55px;
  height: 55px;
  padding: 12px 0;
}

.TPsm.TPsm-sm .fa {
  font-size: 20px;
  width: 35px;
  height: 35px;
  padding: 7px 0;
  margin: 3px 0;
}

.TPsm.TPsm-xs .fa {
  font-size: 16px;
  width: 30px;
  height: 30px;
  padding: 6px 0;
  margin: 3px 0;
}

.TPsm:hover .fa {
  color: #fff;
}

.TPsm-circle .fa {
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  border-radius: 50px;
}

.TPsm-round .fa {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

.TPsm-outline .fa {
  border: 2px solid #555;
}

.TPsm-outline:hover .fa {
  border-color: transparent;
}

.TPsm-outline:hover .fa,
.TPsm-fill .fa {
  background: #555;
  color: #fff;
}

.TPsm-fill:hover .fa {
  background: transparent;
  color: #555;
}

.TPsm-color .fa-facebook-f,
.TPsm-color-hover:hover .fa-facebook-f {
  color: #3b5998;
  border-color: #3b5998;
}

.TPsm-outline.TPsm-color-hover:hover .fa-facebook-f,
.TPsm-fill.TPsm-color .fa-facebook-f {
  background: #3b5998;
  color: #fff;
}

.TPsm-fill.TPsm-color:hover .fa-facebook-f {
  background: transparent;
  color: #3b5998;
}

.TPsm-color .fa-twitter,
.TPsm-color-hover:hover .fa-twitter {
  color: #1da1f2;
  border-color: #1da1f2;
}

.TPsm-outline.TPsm-color-hover:hover .fa-twitter,
.TPsm-fill.TPsm-color .fa-twitter {
  background: #1da1f2;
  color: #fff;
}

.TPsm-fill.TPsm-color:hover .fa-twitter {
  background: transparent;
  color: #1da1f2;
}

.TPsm-color .fa-google,
.TPsm-color-hover:hover .fa-google {
  color: #4285f4;
  border-color: #4285f4;
}

.TPsm-outline.TPsm-color-hover:hover .fa-google,
.TPsm-fill.TPsm-color .fa-google {
  background: #4285f4;
  color: #fff;
}

.TPsm-fill.TPsm-color:hover .fa-google {
  background: transparent;
  color: #4285f4;
}

.TPsm-color .fa-google-plus,
.TPsm-color-hover:hover .fa-google-plus {
  color: #db4437;
  border-color: #db4437;
}

.TPsm-outline.TPsm-color-hover:hover .fa-google-plus,
.TPsm-fill.TPsm-color .fa-google-plus {
  background: #db4437;
  color: #fff;
}

.TPsm-fill.TPsm-color:hover .fa-google-plus {
  background: transparent;
  color: #db4437;
}

.TPsm-color .fa-yelp,
.TPsm-color-hover:hover .fa-yelp {
  color: #d32323;
  border-color: #d32323;
}

.TPsm-outline.TPsm-color-hover:hover .fa-yelp,
.TPsm-fill.TPsm-color .fa-yelp {
  background: #d32323;
  color: #fff;
}

.TPsm-fill.TPsm-color:hover .fa-yelp {
  background: transparent;
  color: #d32323;
}

.TPsm-color .fa-linkedin,
.TPsm-color-hover:hover .fa-linkedin {
  color: #007bb5;
  border-color: #007bb5;
}

.TPsm-outline.TPsm-color-hover:hover .fa-linkedin,
.TPsm-fill.TPsm-color .fa-linkedin {
  background: #007bb5;
  color: #fff;
}

.TPsm-fill.TPsm-color:hover .fa-linkedin {
  background: transparent;
  color: #007bb5;
}

.TPsm-color .fa-pinterest-p,
.TPsm-color-hover:hover .fa-pinterest-p {
  color: #bd081c;
  border-color: #bd081c;
}

.TPsm-outline.TPsm-color-hover:hover .fa-pinterest-p,
.TPsm-fill.TPsm-color .fa-pinterest-p {
  background: #bd081c;
  color: #fff;
}

.TPsm-fill.TPsm-color:hover .fa-pinterest-p {
  background: transparent;
  color: #bd081c;
}

.TPsm-color .fa-youtube,
.TPsm-color-hover:hover .fa-youtube {
  color: #ff0000;
  border-color: #ff0000;
}

.TPsm-outline.TPsm-color-hover:hover .fa-youtube,
.TPsm-fill.TPsm-color .fa-youtube {
  background: #ff0000;
  color: #fff;
}

.TPsm-fill.TPsm-color:hover .fa-youtube {
  background: transparent;
  color: #ff0000;
}

.TPsm-color .fa-instagram,
.TPsm-color-hover:hover .fa-instagram {
  color: #c32aa3;
  border-color: #c32aa3;
}

.TPsm-outline.TPsm-color-hover:hover .fa-instagram,
.TPsm-fill.TPsm-color .fa-instagram {
  background: #c32aa3;
  color: #fff;
}

.TPsm-fill.TPsm-color:hover .fa-instagram {
  background: transparent;
  color: #c32aa3;
}

.TPsm-color .fa-healthgrades,
.TPsm-color-hover:hover .fa-healthgrades {
  color: #0202ea;
  border-color: #0202ea;
}

.TPsm-outline.TPsm-color-hover:hover .fa-healthgrades,
.TPsm-fill.TPsm-color .fa-healthgrades {
  background: #0202ea;
  color: #fff;
}

.TPsm-fill.TPsm-color:hover .fa-healthgrades {
  background: transparent;
  color: #0202ea;
}

/* 2021 Truncated Mobile Menu Fix */
#MenuDiv1 {
  overflow: scroll !important;
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */
}

#MenuDiv1::-webkit-scrollbar {
  display: none;
}

/* Breadcrumb Styles */
.TPbcBand {
  background-color: [C11];
}

.TPbcNav {
  padding-top: 40px;
  display: block;
  font-size: 2rem;
}

.TPbcNavItem a {
  color: [C12];
}

.TPbcNavItem a:hover {
  filter: brightness(50%);
}

.TPbcNavSep {
  color: [C12];
}

.TPbcNav .TPbcNavItem:last-child a {
  font-weight: 900;
}