/*
   Thule | Front End CSS
*/
.absolute_center { position:relative; }
.absolute_center span {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
p.tm_lead { font-size: 26px !important; margin-top:-30px; }
.ttlx_search_frm { display:flex; justify-content:center; gap: 15px; margin-top:30px; }
.ttlx_search_frm .search_col { flex-grow:1; }
.tmdir_light_bg { background:white !important; }
.tm_tmdir_llanding section { padding-bottom:30px; }
.tm_tmdir_llanding .block-content { padding-bottom:0px !important; }
.tm_tmdir_llanding article:not(.type-page) > .entry-content.post-content { margin-bottom:0px !important; }
.tm_tmdir_llanding .owl-theme .owl-nav { display:flex; justify-content:space-around; }
.tmdir_awards { display:flex; gap:10px 10px; transition:all 0.3s; }
.tmdir_awards img { max-width:100px; }
.tmdir_buttons { display:flex; gap:15px 15px; justify-content:flex-end; }
.tmdir_buttons .gem-button { margin:0px; }
.tmdir_entry .service_list li { font-weight:600; }
.tmdir_modal h4 { margin:0px !important; letter-spacing: 0; text-transform:uppercase; }
.tmdir_modal h3 { margin:-10px 0px 0px 0px !important; letter-spacing: 0; text-transform:uppercase; }
.tm_modal_btn { background:none; border:0px; font-size:30px; z-index:9999; }
.tm_modal_topleft { position:absolute; left:15px; top:15px; }
.tm_modal_topright { position:absolute; right:15px; top:15px; }
.tm_tmdir_llanding .tm_slider-counter
{
  display: flex;
  justify-content: center;
  margin-top: -30px;
}

.tm_dir_search_results
{ 
  flex: 0 0 100%; 
}

.tmdir_entry
{
  background:#ffffff;
  border:1px solid rgb(230, 230, 230);
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  padding:20px; border-radius:20px;
}
.tmdir_entry_flex {display:flex; margin-bottom:15px; gap:60px; }
.tmdir_entry_flex div { width:100%; }
.tmdir_entry ul.listing_contact,
.tmdir_entry ul.listing_hours,
.tmdir_profile ul.listing_hours,
.tmdir_entry .service_list { margin:0px; padding:0px; }
.tmdir_entry h3 { text-transform: none !important; letter-spacing:0px !important; }
.tmdir_entry h3 span.smaller { font-size:20px; }
.tmdir_entry .logo { max-width:150px; margin-left:15px; margin-bottom:15px; }

.tmdir_profile .listing_contact li,
.tmdir_profile .service_list li,
.tmdir_profile .listing_hours li,
.tmdir_entry .listing_contact li,
.tmdir_entry .service_list li { list-style:none; margin:0px 0px 10px 0px; padding:0px; }

.tmdir_profile .listing_contact li:before,
.tmdir_profile .service_list li:before,
.tmdir_entry .listing_contact li:before,
.tmdir_profile .listing_hours li:before,
.tmdir_entry .service_list li:before { display:none; }

.tmdir_profile .service_list li { font-weight:800; }

.tmdir_profile .service_list,
.tmdir_entry .service_list
{
  column-count: 2;
  column-gap: 40px;
  padding-left: 0px;
}

.tm_tmdir_llanding-template-default #page-title { display:none !important; } /* Temporary */

.contact_info,
.tmdir_entry .listing_contact { font-size:20px; }

.contact_info a,
.tmdir_entry .listing_contact a { color:#000; }

.contact_info i,
.tmdir_entry .listing_contact i { font-size:30px; margin-right:15px; }

.tmdir_landing_page_title { background:black; padding-top: 100px; }
.tmdir_landing_page_title .breadcrumbs-container { position:relative; top:-20px; }
.tmdir_landing_page_title h1 { color:#fff !important; }
.tm_tmdir_llanding-template-default .block-content { padding-top: 0; }

.tm_dir_search_results .tmdir_entry { visibility: hidden; animation-fill-mode: forwards; }

.tmdir_fade-in {
	opacity: 1;
	animation-name: fadeInOpacity;
	animation-iteration-count: 1;
	animation-timing-function: ease-in;
	animation-duration: 1s;
}

@keyframes fadeInOpacity {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
    visibility: visible;
	}
}

@keyframes placeHolderShimmer{
  0%{
      background-position: -468px 0
  }
  100%{
      background-position: 468px 0
  }
}

.tmdir_placeholders {
  animation-duration: 1.25s;
  animation-fill-mode: forwards;
  animation-iteration-count: infinite;
  animation-name: placeHolderShimmer;
  animation-timing-function: linear;
  background: darkgray;
  background-image: -webkit-linear-gradient(to right, #eeeeee 10%, #dddddd 18%, #eeeeee 33%);
  background-image: -moz-linear-gradient(to right, #eeeeee 10%, #dddddd 18%, #eeeeee 33%);
  background-image: -o-linear-gradient(to right, #eeeeee 10%, #dddddd 18%, #eeeeee 33%);       
  background: linear-gradient(to right, #eeeeee 10%, #dddddd 18%, #eeeeee 33%);
  background-size: 800px 104px;
  height: 100px;
  position: relative;
}

/* Profile Pages */

.tm_profile_flex { display:flex; }
.tmdir_profile .logo { max-width:300px; }
.owl-carousel .owl-wrapper {
  display: flex !important;
}
.owl-carousel .owl-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-width: initial;
}

/* ENDS */

.ttlx_search_frm button {
    --bg: #777d9c;
    --text-color: #fff;
    position: relative;
    width: 100%;
    border: none;
    background: var(--bg);
    color: var(--text-color);
    padding: 12px;
    font-weight: bold;
    text-transform: uppercase;
    transition: 0.2s;
    border-radius: 5px;
    opacity: 0.8;
    letter-spacing: 1px;
    box-shadow: #323b6a 0px 7px 2px, #000 0px 8px 5px;
  }
  
  .ttlx_search_frm button:hover {
    opacity: 1;
  }
  
  .ttlx_search_frm button:active {
    top: 4px;
    box-shadow: #323b6a 0px 3px 2px,#000 0px 3px 5px;
  }

button.ttlx_rstbtn 
{ 
    --bg: #cecece;
    --text-color: #626262;
    box-shadow: #a4a4a4 0px 7px 2px, #000 0px 8px 5px;
}

.ttlx_search_frm input:disabled,
.ttlx_search_frm select:disabled { background:#f2f0f0; color:#acacac; }
.ttlx_search_frm button:disabled { cursor:not-allowed; --bg: #9b9b9b; box-shadow: #7e7e7e 0px 7px 2px, #000 0px 8px 5px; }
.ttlx_search_frm input,
.ttlx_search_frm input[type="radio"] + label,
.ttlx_search_frm input[type="checkbox"] + label:before,
.ttlx_search_frm select option,
.ttlx_search_frm select {
  width: 100%;
  padding: 1em;
  line-height: 1.4;
  background-color: #f9f9f9;
  border: 1px solid #e5e5e5;
  border-radius: 3px;
  -webkit-transition: 0.35s ease-in-out;
  -moz-transition: 0.35s ease-in-out;
  -o-transition: 0.35s ease-in-out;
  transition: 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
}

.ttlx_search_frm .select2-selection--single
{
  background-color: #f9f9f9;
  border: 1px solid #e5e5e5;
  height:55px !important;
}

.ttlx_search_frm .select2-selection__rendered
{
  padding: 8px 10px 20px 10px !important;
}

.ttlx_search_frm input:focus {
  outline: 0;
  border-color: #777d9c;
}
.ttlx_search_frm input:focus + .input-icon i {
  color: #777d9c;
}
.ttlx_search_frm input:focus + .input-icon:after {
  border-right-color: #777d9c;
}
.ttlx_search_frm input[type="radio"] {
  display: none;
}
.ttlx_search_frm input[type="radio"] + label,
.ttlx_search_frm select {
  border-radius: 0;
}
.ttlx_search_frm input[type="radio"] + label:first-of-type {
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
}
.ttlx_search_frm input[type="radio"] + label:last-of-type {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}
.ttlx_search_frm input[type="radio"] + label i {
  padding-right: 0.4em;
}
.ttlx_search_frm input[type="radio"]:checked + label,
.ttlx_search_frm input:checked + label:before,
.ttlx_search_frm select:focus,
.ttlx_search_frm select:active {
  background-color: #777d9c;
  color: #fff;
  border-color: #777d9c;
}
.ttlx_search_frm input[type="checkbox"] {
  display: none;
}
.ttlx_search_frm input[type="checkbox"] + label {
  position: relative;
  display: block;
  padding-left: 1.6em;
}
.ttlx_search_frm input[type="checkbox"] + label:before {
  position: absolute;
  top: 0.2em;
  left: 0;
  display: block;
  width: 1em;
  height: 1em;
  padding: 0;
  content: "";
}
.ttlx_search_frm input[type="checkbox"] + label:after {
  position: absolute;
  top: 0.45em;
  left: 0.2em;
  font-size: 0.8em;
  color: #fff;
  opacity: 0;
  font-family: FontAwesome;
  content: "\f00c";
}
.ttlx_search_frm input:checked + label:after {
  opacity: 1;
}
.ttlx_search_frm select {
  height: 3.4em;
  line-height: 2;
}
.ttlx_search_frm select:first-of-type {
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
}
.ttlx_search_frm select:last-of-type {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}
.ttlx_search_frm select:focus,
.ttlx_search_frm select:active {
  outline: 0;
}
.ttlx_search_frm select option {
  background-color: #777d9c;
  color: #fff;
}
.ttlx_search_frm .input-group {
  margin-bottom: 1em;
  zoom: 1;
}
.ttlx_search_frm .input-group:before,
.ttlx_search_frm .input-group:after {
  content: "";
  display: table;
}
.ttlx_search_frm .input-group:after {
  clear: both;
}
.ttlx_search_frm .input-group-icon {
  position: relative;
}
.ttlx_search_frm .input-group-icon input {
  padding-left: 4.4em;
}
.ttlx_search_frm .input-group-icon .input-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 3.4em;
  height: 3.4em;
  line-height: 3.4em;
  text-align: center;
  pointer-events: none;
}
.ttlx_search_frm .input-group-icon .input-icon:after {
  position: absolute;
  top: 0.6em;
  bottom: 0.6em;
  left: 3.4em;
  display: block;
  border-right: 1px solid #e5e5e5;
  content: "";
  -webkit-transition: 0.35s ease-in-out;
  -moz-transition: 0.35s ease-in-out;
  -o-transition: 0.35s ease-in-out;
  transition: 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
}
.ttlx_search_frm .input-group-icon .input-icon i {
  -webkit-transition: 0.35s ease-in-out;
  -moz-transition: 0.35s ease-in-out;
  -o-transition: 0.35s ease-in-out;
  transition: 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
}

#ttlx_results { display:none; justify-content:center; padding-top:40px; }

.ttlx_loader {
    width: 100px;
    aspect-ratio: 1;
    display: grid;
    border: 4px solid #0000;
    border-radius: 50%;
    border-color: #ccc #0000;
    animation: l16 1s infinite linear;
    margin:40px auto auto auto;
  }
  .ttlx_loader::before,
  .ttlx_loader::after {    
    content: "";
    grid-area: 1/1;
    margin: 2px;
    border: inherit;
    border-radius: 50%;
  }
  .ttlx_loader::before {
    border-color: #12b3ff #0000;
    animation: inherit; 
    animation-duration: .5s;
    animation-direction: reverse;
  }
  .ttlx_loader::after {
    margin: 8px;
  }
  @keyframes l16 { 
    100%{transform: rotate(1turn)}
  }

  .hidden { display:none !important; }

  /* TIP BOX CSS */
.tip-box-inner { padding-left:30px; padding-right:30px; }
.new-message-box {
  padding-left: 20px;
}

.new-message-box p {
  font-size: 1.15em;
  font-weight: 600;
}

.info-tab {
  width: 40px;
  height: 40px;
  display: inline-block;
  position: relative;
}

.info-tab {
  float: left; margin-left:-2px;
}

.info-tab i::before {
  width: 24px;
  height: 24px;
  box-shadow: inset 12px 0 13px rgba(0, 0, 0, 0.5);
}

.info-tab i::after {
  width: 0;
  height: 0;
  border: 12px solid transparent;
  border-bottom-color: #fff;
  border-left-color: #fff;
  bottom: -18px;
}

.info-tab i::before, .info-tab i::after {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: -17px;
  transform: rotateX(60deg);
}

.note-box, .warning-box, .tip-box-success, .tip-box-danger, .tip-box-warning, .tip-box-info, .tip-box-alert 
{
  padding:20px 8px 20px 26px; margin-right: 30px;
}

/***Success****/
.new-message-box-success {
  background: #eeeeee;
  padding: 3px;
  margin: 10px 0;
}

.tip-icon-success {
  background: #8BC34A;
}

.tip-box-success {
  color: #33691E;
  background: #DCEDC8;
}

.tip-icon-success::before {
  font-size: 25px;
  content: "";
  top: 8px;
  left: 11px;
  font-family: FontAwesome;
  position: absolute;
  color: white;
}

.tip-icon-success i::before {
  background: #8BC34A;
}

/*******Danger*******/
.new-message-box-danger {
  background: #eeeeee;
  padding: 3px;
  margin: 10px 0;
}

.tip-icon-danger {
  background: #f44336;
}

.tip-box-danger {
  color: #b71c1c;
  background: #FFCCBC;
}

.tip-icon-danger::before {
  font-size: 25px;
  content: "";
  top: 8px;
  left: 11px;
  font-family: FontAwesome;
  position: absolute;
  color: white;
}

.tip-icon-danger i::before {
  background: #f44336;
}

/*******warning*******/
.new-message-box-warning {
  background: #eeeeee;
  padding: 3px;
  margin: 10px 0;
}

.tip-icon-warning {
  background: #FFEB3B;
}

.tip-box-warning {
  color: #212121;
  background: #FFF9C4;
}

.tip-icon-warning::before {
  font-size: 25px;
  content: "";
  top: 8px;
  left: 11px;
  font-family: FontAwesome;
  position: absolute;
  color: #212121;
}

.tip-icon-warning i::before {
  background: #FFEB3B;
}

/*******info*******/
.new-message-box-info {
  background: #eeeeee;
  padding: 3px;
  margin: 10px 0;
}

.tip-box-info {
  color: #01579B;
  background: #B3E5FC;
}

.tip-icon-info {
  background: #03A9F4;
}

.tip-icon-info::before {
  font-size: 25px;
  content: "";
  top: 8px;
  left: 11px;
  font-family: FontAwesome;
  position: absolute;
  color: white;
}

.tip-icon-info i::before {
  background: #03A9F4;
}

/*******info*******/
.new-message-box-alert {
  background: #FF6F00;
  padding: 3px;
  margin: 10px 0;
}

.tip-box-alert {
  color: #212121;
  background: #FFF8E1;
}

.tip-icon-alert {
  background: #FF6F00;
}

.tip-icon-alert::before {
  font-size: 25px;
  content: "";
  top: 8px;
  left: 11px;
  font-family: FontAwesome;
  position: absolute;
  color: white;
}

.tip-icon-alert i::before {
  background: #FF6F00;
}