/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author: UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/






/* =======================
   Global Variables
======================= */
:root {
  --blue: #2c4d92;
  --light-blue: #80d8ff;
  --purple: #8253c2;
  --green: #558b2f;
  --yellow: #fdd835;
  --red: #8e0000;
  --orange: #ef6c00;
  --peach: #ffcc99;
  --grey: #757575;
}

/* =======================
   Layout / Columns
======================= */
.l-subheader.at_middle.width_full { padding: 0; }

.vc_col-sm-9 > .vc_column-inner { padding: 0 1.25rem!important; }
.vc_col-sm-3 > .vc_column-inner { padding: 0 0.25rem!important; }

.l-sidebar { padding-top: 2rem!important; }
.l-section  { padding: 0 1.5rem; } /* Remove padding inside container */

/* =======================
   Cleanup
======================= */
.ai-content { display: none; } /* Temporary fix for artifact */

/* =======================
   Headlines / Titles
======================= */
.listing .title img { margin-top: 6px; }

.post-author-meta .post-author-name { color: var(--blue) !important; }

/* Middle Column Widgets */

/* Shared Title Styling */
.listing-item-text-3 .title{
    font-weight: 400;
    line-height: 20px;
    text-align: inherit;
    text-transform: inherit;
    color: #2c4d92;
    margin: 0;
}
.listing-item-text-3 .title a {
    color: inherit;
}

/* Sidebar adjustments */
.sidebar-column-secondary .listing-text-3 {
    margin-left: 17px;
}

/* Titles as list items */
.bs-listing-listing-text-3 .item-inner p.title,
.textwidget.widget-text .item-inner p.title {
    display: list-item;
    list-style: disc outside;
}

/* Meta styles */
.listing-item-text-3 .post-meta {
    margin-top: 0 !important;
}
.post-meta,
.post-meta a {
    font-family: 'Roboto';
    font-weight: 400;
    font-size: 12px;
    line-height: 1em;
    text-transform: initial;
    color: #656565;
}
.post-meta > a:last-child,
.post-meta > span:last-child {
    margin-right: 0 !important;
}

/* Item inner styling */
.listing-item-text-3 .item-inner {
    padding-bottom: 13px !important;
    position: relative;
}

/* Sidebar Titles */
h3.widgettitle {
  font-size: 16px;
  font-weight: 700;
  display: flex;
  align-items: center;
}
h3.widgettitle::after {
  content: "";
  flex-grow: 1;
  height: 5px;
  background: var(--blue);
  margin-left: 10px;
}
.widget_polls-widget h3.widgettitle::after { background: var(--yellow); }

/* Colored Line Headings */
.vc_custom_heading[class*="line-"],
.widget_rss h2.widgettitle {
  display: flex;
  align-items: center;
  font-style: normal;
}
.vc_custom_heading[class*="line-"]::after,
.widget_rss h2.widgettitle::after {
  content: "";
  flex-grow: 1;
  height: 5px;
  margin-left: 10px;
}
.vc_custom_heading.line-blue::after,
.widget_rss h2.widgettitle::after { background: var(--blue); }
.vc_custom_heading.line-light-blue::after { background: var(--light-blue); }
.vc_custom_heading.line-purple::after { background: var(--purple); }
.vc_custom_heading.line-green::after { background: var(--green); }
.vc_custom_heading.line-yellow::after { background: var(--yellow); }
.vc_custom_heading.line-red::after { background: var(--red); }
.vc_custom_heading.line-orange::after { background: var(--orange); }
.vc_custom_heading.line-peach::after { background: var(--peach); }
.vc_custom_heading.line-grey::after { background: var(--grey); }

/* =======================
   Ads
======================= */
#top-lb, #top-bb {
  text-align: center;
}
#top-lb {
    min-height: 90px; /* desktop leaderboard height */
    display: block;
}
#top-bb {
    min-height: 0;
    display: none;
}

/* Mobile rules: show mobile container, hide desktop one */
@media (max-width: 768px) {
    #top-lb {
        min-height: 0;
        display: none;
    }
    #top-bb {
        min-height: 60px; /* mobile blockbuster / banner height */
        display: block;
    }
}

.bottom-leaderboard {
  display: block;
  margin: 0 auto;
}

/* Sidebar Ad Zones */
#bb1, #bb2, #bb3 {
  height: 250px;
  width: 300px;
}

/* =======================
   Media Elements
======================= */
.localization img { height: 108px; }

.static-list img {
  float: left;
  margin: 5px 5px 0 0;
}

figure.aligncenter {
  margin: 20px auto;
  text-align: center;
}
figcaption {
  margin-top: 5px;
  font-style: italic;
  font-size: 13px;
  line-height: 15px;
  color: #545454;
  text-align: center;
}



/* =======================
   Mobile Quick Menu 
======================= */
button.w-popup-trigger{ 
	height:45px;
	width:45px;
}
.l-subheader-cell.at_right .w-btn.icon_atleft i {
  margin-right: 0;
}

.mobile-icons {
    padding: 0;
	margin: 0;
}

.mobile-icons li a, .mobile-icons li span {
    display: block;
    border-radius: 10px;
    margin: .5em 5px;
    overflow: hidden;
}
.mobile-keyword-search {
    padding-top: 20px;
    padding-left: 50px;
}
.mobile-keyword-search input[type="text"] {
    height: 35px;
    max-width: 200px;
}
.mobile-keyword-search input#keyword-go-text {
  position: relative;
  top: -2px;
  left: 5px;
  border-radius: 50%;
  height: 45px;
  width: 45px;
  text-transform: uppercase;
}

.mobile-quick-menu, .mobile-quick-menu ul {
  list-style: none;
  margin-left: 1.5em;
}

.mobile-quick-menu li {
  font-size: 16px;
  font-weight: 600;
  line-height: 2.5em;
}


/* =======================
   Google Search Box
======================= */
/* === GOOGLE SEARCH === */
#search_Google_Site {
  margin-top: 10px;
}

/* Apply shared box model fixes to all children of the search box */
.gsc-search-box * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.gsc-search-box,
.gsc-search-box-tools,
.gsc-input-box,
.gsc-input {
  width: 100%;
  max-width: 330px;
  height: 40px;
}

.gsc-search-box td {
  border: none !important;
  border-collapse: collapse !important;
  background: transparent !important;
  box-shadow: none !important;
}

#gsc-i-id1 {
  width: 100%;
  height: 100%;
  padding: 8px 10px;
  border: 1px solid #ccc;
  font-size: 16px;
  line-height: normal;
}

.gsc-input-box table,
.gsc-input-box table td {
  padding: 0;
  border: none;
}

.gsib_a {
  vertical-align: middle;
  height: 40px;
}

.gsc-clear-button,
.gsc-search-button {
  border: none;
  height: 40px;
  padding: 0 10px;
}

.gsst_b {
  display: none; /* hide the "x" clear icon */
}

.gsc-search-button.gsc-search-button-v2 {
  width: 69px;
  height: 27px;
  background-color: #013b82;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gsc-search-button.gsc-search-button-v2:hover {
  background-color: #245592;
}

.gsc-search-button.gsc-search-button-v2 svg {
  width: 16px;
  height: 16px;
}



/* Remove any light background or box from gsc-input-box */
.gsc-input-box {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* Ensure the input has a clean, consistent style */
#gsc-i-id1 {
  background: #fff;
  border: 1px solid #ccc;
  padding: 8px 10px;
  font-size: 16px;
  height: 100%;
  box-sizing: border-box;
}

/* Flatten the input container */
.gsib_a {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* =======================
   Misc Widgets
======================= */
#alertbox { text-align: center; display: block; }

#weatherbox-temp { font-size: 14px; }
#weatherbox a {
  color: #2c4d92 !important;
}
#todaysweather_icon { float: left; margin-left: 50px; }
#weather_sponsor {
  clear: both;
  font-size: .8em;
  text-align: center;
}

.keyword-search { padding-top: 35px; }
.keyword-search input[type="text"] { height: 28px; max-width: 100px; }
.keyword-search input#keyword-go {
  border: none;
  position: relative;
  right: -5px;
  height: 31px; width: 31px;
  background: transparent;
}
.keyword-search input:not([type="submit"]) { box-shadow: none; }

/* Buttons */
.vc_btn3.vc_btn3-size-xs.vc_btn3-style-flat.vc_btn3-color-btn-hollow-color {
  border: 1px solid var(--blue);
  padding: 4px 12px;
  font-size: 11px;
  float: right;
}
.vc_btn3.vc_btn3-size-xs.vc_btn3-style-flat.vc_btn3-color-btn-hollow-color:hover {
  background: var(--blue);
  color: #fff;
}

/* Polls */
.wp-polls input[type="checkbox"],
.wp-polls input[type="radio"] {
  display: inline-block;
  vertical-align: middle;
  margin-top: 0;
}
input.Buttons {
  background: #013b82!important;
  color: #fff;
  text-transform: uppercase;
  font-weight: 700;
  width: 100px;
  line-height: 2em;
}
.wp-polls-ul input[type="radio"] {
  border: 1px solid rgb(52,52,52);
  opacity: .5!important;
  height: 15px; width: 15px;
}

/* =======================
   Radio Logos Widget
======================= */
.widget-radio-station-logos {
  margin: 3px 0 3px 8px;
  overflow: hidden;
  padding: 0!important;
}
.widget-radio-station-logos li {
  background: url(/wp-content/themes/Impreza-child/theme-images/widget-radio-station-logos-lg.png) no-repeat;
  float: left;
  list-style: none;
  margin-right: 7px;
}
.widget-radio-station-logos li.kvml-logo {
  background-position: -79px 0;
  float: none;
  width: 130px; height: 36px;
  margin: 0 auto 10px;
}
.widget-radio-station-logos li.kzsq-logo {
  background-position: -6px -42px;
  width: 132px; height: 37px;
}
.widget-radio-station-logos li.kkbn-logo {
  background-position: -146px -43px;
  width: 143px; height: 34px;
}
.widget-radio-station-logos li a,
.widget-radio-station-logos li span { display: block; }
.widget-radio-station-logos li span {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

/* =======================
   Events Widget
======================= */
#event-cal-widget { background: #fff!important; margin: 0 10px; }
#event-cal-widget .section-heading.sh-t1 .h-text { background: #fff!important; }

#info.ui-tabs, #info.ui-tabs .ui-tabs-nav { padding: 0!important; }
#info.ui-tabs .ui-tabs-nav { border-bottom: 3px solid #543184; }
.ui-tabs-nav li.ui-corner-top {
  width: 19%;
  text-align: center!important;
}
.ui-tabs-nav a, .community-section .ui-tabs-nav a {
  background: var(--purple)!important;
  border-radius: 5px 5px 0 0;
  color: #fff;
  width: 100%;
}
.ui-tabs .ui-tabs-nav .ui-tabs-anchor { padding: .5em 0!important; }
.ui-tabs .ui-tabs-nav li { margin: 1px 2px 0 0!important; }
.ui-tabs-nav a:hover { color: var(--yellow)!important; }

.ui-tabs-active a, .community-section .ui-tabs-active a {
  background: #543184!important;
  color: var(--yellow);
}

.ui-tabs-panel a { color: var(--blue); }
#info .ui-tabs-panel { padding: 1em 0; }
.ui-tabs-panel hr { margin: 10px 0; }

.btn-all-events, .btn-add-event {
  background: var(--purple)!important;
  color: #fff!important;
  font-size: .85em;
  font-weight: 700!important;
}
.btn-all-events { float: left; margin-right: 8px; }
.btn-add-event { float: right; }

.excerpt-desktop {
  margin-top: 5px;
  font-size: .8em;
  line-height: 1.2;
  color: #000;
}
.btn-all-events-link {
  display: block;
  text-align: center;
  text-decoration: underline;
  padding: .5em;
}

/* Responsive for Events */
@media screen and (min-width: 768px) and (max-width: 1170px) {
  .btn-all-events, .btn-add-event { display: block; float: none; width: 100%; }
  .btn-all-events { margin-bottom: 1em; }
  #follow-us a img { max-width: 12%!important; }
}

/* =======================
   Classifieds Widget
======================= */
#w2-mp-widget2 {
  overflow: hidden !important;
  height: auto !important;
  max-height: none !important;
}

#w2-mp-widget2 iframe,
#w2-mp-widget2 > div {
  overflow: visible !important;
  height: auto !important;
}
.w2-mp-summary {
  line-height: 17px;
  margin-left: 85px;
}

.w2-mp-listing {
    background: none repeat scroll 0 0 #EEEEEE;
    border-bottom: 1px solid;
    font-size: 9px;
    max-height: 150px !important;
    overflow: hidden;
    padding: 4px 12px;
    position: relative;
}

/* =======================
   Carousels
======================= */
.carousel-uniform .w-grid-item-h {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.carousel-uniform .w-grid-item-h img {
  width: 100%; height: 100%;
  object-fit: cover;
}

/* =======================
   Section Menu
======================= */
.news-section { background: var(--blue); }
.sports-section { background: var(--red); }
.community-section { background: var(--yellow); }
.entertainment-section { background: var(--purple); }
.dining-section { background: var(--peach); }
.real-estate-section { background: var(--green); }
.more-section { background: var(--grey); }

.community-section a,
.community-section a:hover,
.dining-section a,
.dining-section a:hover { color: var(--blue)!important; }


/* =======================
   Priority Nav Scroller
======================= */
.nav-scroller-item {
    flex: 1 0 auto;
    display: block;
    font-size: 14px;
    text-align: center;
    padding: 8px 2rem !important;
    margin: .25rem 0 !important;
}

.l-subheader.at_top, .l-subheader.at_bottom {
	padding-left: 1rem;
	padding-right: 1rem;
}

.l-subheader.at_top li.nav-scroller-item {
  padding: 8px 2.5rem !important;
}

.nav-scroller-icon path {
    fill: rgb(255, 255, 255);
}
.nav-scroller--expand {width: 100%!important;}


.nav-scroller .w-menu > .menu {
    justify-content: initial;
    width: auto !important;
    flex-wrap: initial;
}

.header_hor .l-subheader-cell.at_left > * {
  margin-right: 0;
}

.header_hor .l-header .w-menu {
  line-height: 29px;
  overflow: hidden;
}

.l-subheader-cell:has(.nav-scroller) {
    max-width: 100%;
}

.nav-scroller, .nav-scroller-wrapper {
  display: -ms-flexbox;
  display: flex;
}

.nav-scroller {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.nav-scroller-nav {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  z-index: 1;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  margin-bottom: -30px;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}

#page-header ul.menu {
  position: relative;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
      align-items: center;
  white-space: nowrap;
  min-height: 35px;
  transition: transform 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}

#page-header ul.menu.no-transition {
  transition: none;
}

#page-header ul.menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-scroller-btn {
  position: absolute;
  top: 26px;
  transform: translateY(-50%);
  z-index: 10;
  width: 28px;
  height: 43px;
  padding: .5rem;
  font-size: 1rem;
  color: #000;
  background: rgba(255,255,255,.35)!important;
  transition: color .3s, opacity .3s;
  cursor: pointer;
}

.nav-scroller-btn:hover {
  color: #666;
}

.nav-scroller-btn:focus {
  outline: 0;
  background: rgba(255,255,255,.5);
}

.nav-scroller-btn:not(.active) {
  opacity: 0;
  pointer-events: none;
}

.nav-scroller-btn--left {
  left: 0;
}

.nav-scroller-btn--right {
  right: 0;
}
.icon path { fill: #fff; }






/* =======================
   Footer
======================= */
.site-footer.full-width .copy-footer { clear: both; }

.footer-menu {
  padding-top: 1.5em;
  font-size: .85em;
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
}
.footer-menu-col { width: 12.5%; margin-bottom: 2em; }
.footer-menu ul {
  list-style: none;
  margin: 0;
  padding-left: 20px;
  font-size: 1.15em;
  font-weight: 800;
}
.footer-menu ul ul {
  font-size: .9em;
  font-weight: 300;
  margin-top: .25em;
  padding-left: 0;
}
.footer-menu li {
  margin-bottom:0;
}
.footer-menu a { text-decoration: underline; }

.footer-company-links {
  text-align: center;
  padding: 1em 0;
}
.footer-company-links a {
  margin: 0 .5em;
  text-decoration: none;
  font-size: .85em;
  color: inherit;
}
.footer-company-links a:hover,
.legal a:hover, .legal-links a:hover { color: #ff9; }

.legal { text-align: center; }
.legal a { color: #fff; }
.legal-links a { display: inline-block; margin: 1em; }

.copy { display: inline-block; font-size: .85em; margin-bottom: 1em; }

/* =======================
   Responsive
======================= */
@media (max-width: 750px) {
  #keyword-search { display: none; }
  #weatherbox { margin-bottom: 0; }
}
@media (max-width: 600px) {
  #search_Google_Site { display: none; }
  .home .g-cols.via_flex.type_default > div > .vc_column-inner { padding: 0 .75rem; }
  .featured-image { float: none!important; }
  .featured-img-alt { max-width: 100%!important; }

  /* Mobile Quick Menu */
  .us-btn-style_11 .fas { margin: 0!important; }
  .mobile-quick-menu, .mobile-quick-menu ul, .mobile-icons {
    list-style: none;
  }
  .mobile-quick-menu {
    margin: 0 0 2em 0;
    font-size: 21px;
    line-height: 1.5;
    font-weight: 600;
  }
  
  .mobile-icons li {
		float: left;
		list-style: none;
		width: 33%;
	}
  .mobile-icons li a, .mobile-icons li span {
    display: block;
    border-radius: 10px;
    margin: .5em 5px;
    overflow: hidden;
  }
  .keyword-search, .mobile-keyword-search {
    padding-top: 20px;
    padding-left: 50px;
  }
  .mobile-keyword-search input[type="text"] {
    height: 35px;
    max-width: 200px;
  }
  .mobile-keyword-search input#keyword-go-text {
    border-radius: 50%;
    font-size: 14px;
    font-weight: 700;
    height: 45px; width: 45px;
    padding: 8px 12px;
    text-transform: uppercase;
    transition: all .3s ease;
    position: relative;
    top: -2px; left: 5px;
    vertical-align: middle;
  }
}
