/* ============================================
   Ultimate Tax Muscatine — Custom CSS
   Paste this into Elementor → Site Settings → Custom CSS
   OR it is auto-loaded via functions.php as utm-custom.css
   ============================================ */

/* ---------- Base ---------- */
body { font-size: 14px !important; font-family: "Open Sans", Arial, sans-serif !important;}
.content-area { min-height: 600px; }

/* ---------- Header top bar ---------- */
.container-header-top {
    background: #A90909;
    color: #ddd;
    line-height: 35px;
    text-align: right;
    font-size: 14px;
}
.container-header-top span { font-weight: bold; font-size: 16px; color: #fff; }
.container-header-top a { color: #fff; text-decoration: underline; }

/* ---------- Header / Nav ---------- */
.container-fluid.container-header { background: #FFF; }
.main-navigation > div > ul { background-color: transparent; margin-top: 40px; }
.main-navigation a { color: #292929; }
.main-navigation > .menu > ul > li > a:hover,
.main-navigation > div > ul > li > a:hover { color: #A90909; }
.main-navigation ul ul a:hover,
.main-navigation ul ul a:focus { color: #A90909; }
.main-navigation ul ul li { white-space: nowrap; }
.menu-main-navigation-container { float: right; }

/* ---------- Hero / Banner ---------- */
.ut-img-hldr { background: #C3CCD0; }
.ut-img-hldr h1 {
    color: #28365B;
    font-size: 42px !important;
    font-weight: 100;
    text-shadow: 0px 1px 0px rgba(255,255,255,0.5);
    margin-top: 30px;
}
.ut-img-hldr p { color: #2D424A; text-shadow: 0px 1px 0px #D1E2E8; margin-bottom: 26px; }

/* ---------- Buttons ---------- */
.btn-utm {
    color: #fff !important;
    background: #A90909;
    font-size: 21px;
    line-height: 25px;
    padding: 10px 30px;
    border: none;
    box-shadow: 0px -1px 0px #FF5B5B;
    border-bottom: solid 1px #630505;
    text-transform: uppercase;
    font-weight: bold;
}
.btn-utm:hover {
    color: #fff !important;
    background: #C31313;
    border: none;
    box-shadow: 0px -1px 0px #FF5B5B;
    border-bottom: solid 1px #630505;
}
.btn-utm span { font-size: 19px; color: #F9F9F9; font-weight: 100; text-transform: initial; }
.btn-primary { color: #fff; background-color: #337ab7; border-color: #2e6da4; }
.btn-primary:visited { color: #fff; }
.btn-fb { min-width: 190px; background: #3b5998; border-color: #3b5998; }
.img-center { margin: 0 auto; }
.ctr-max-btn-width { max-width: 250px; }

/* ---------- Content ---------- */
.ut-page-content, .ut-page-content2 { background: #fff; }
.hentry { background-color: transparent; box-shadow: none; margin: 0 0 1.5em; padding: 0; }
.home .site-content { padding: 0; }
.entry-content { margin-top: 10px; margin-bottom: 30px; background: transparent; }
.entry-content h1 { font-size: 24px; display: block; color: #28365B; }
.entry-content p { margin-top: 1em; }
.entry-header h2 { color: #28365B; }
.entry-header { border-bottom: 1px solid rgba(0,0,0,0.07); margin-bottom: 0; padding: 0; position: relative; }
h2.entry-title { font-size: 36px; font-weight: 100; padding-left: 20px; }
footer.entry-footer { border-top: none; }
footer#colophon ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
footer#colophon a {
    color: #9FAFB4;
}
.textwidget li:before {
    font-family: 'FontAwesome';
    content: '\f105';
    margin: 0 5px 0 -15px;
    color: #0fa5d9;
}
.footer-widget-area ul{
    margin-left: 15px;
}
.footer-widget-area ul li a:hover{
    text-decoration: underline;
    color: #9FAFB4;
}
.widget-title {
    color: #353535;
    font-size: 1.154em;
    margin-bottom: 1em;
    font-weight: bold;
    margin-top: 0;
}
/* ---------- Dark content box ---------- */
.ut-btm-cnt { background: #28365B; color: #fff; border-radius: 2px; margin-top: 30px; }
.ut-btm-cnt h1 { min-height: auto; margin-top: 15px; color: #fff; }
.ut-btm-cnt p { color: #CCD2E2; margin-top: 0; }

/* ---------- Navbar (Bootstrap 4 overrides) ---------- */
.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .nav-link:hover { color: #A90909 !important; }
.dropdown-menu {
    box-shadow: 0 1px 2px rgb(0 0 0 / 10%);
    border: none;
    padding-bottom: 0;
    padding-top: 0;
}
.dropdown-item {
    display: block;
    width: 100%;
    padding: 0.5rem 1.5rem;
    font-weight: 400;
    color: #656565 !important;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
    font-size: 14px !important;
}
.dropdown-menu .dropdown-item { border-bottom: 1px dashed rgba(0,0,0,0.1); }
.dropdown-menu .dropdown-item:last-child { border-bottom: none; }
.dropdown-item:focus, .dropdown-item:hover { color: #A90909 !important; background-color: #fff !important; }
.dropdown-item.active, .dropdown-item:active { color: #A90909 !important; background: #fff; }

/* ---------- Footer ---------- */
.site-footer-top { background: #1f2228; border-top: solid 4px #A90909; }
.site-footer-top .widget-title { color: #fff; }
.site-footer-top .phone { font-size: 20px; font-weight: bold; margin-top: 20px; display: block; color: #fff; }
.site-footer-top a { color: #9FAFB4; }
.site-footer-top .phone .fa-phone-square { margin-right: 4px; }
.site-footer-top .widget { background: transparent; color: #9FAFB4; text-shadow: none; }
.site-footer-top .widget li:before { color: #adafb4; }
.site-footer-top .social-med a { font-size: 65px; color: #474C54; line-height: 1; }
.site-footer-top .social-med a:hover { color: #A90909; }
.social-med { text-align: center; margin-bottom: 0; }
footer#colophon { background: #2A2D32; color: #9FAFB4; }
.footer-widget-area .widget { min-height: 295px; margin-top: 30px; margin-bottom: 30px; }
aside#text-3 { border-left: solid 1px #2A2D32; }
#copyright-wrap { margin-bottom: 0; }
.widget{
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
/* ---------- Sidebar widgets ---------- */
.widget { background-color: #fff; box-shadow: none; color: #2D424A; margin: 0 0 1.5em; padding: 1.5em; text-shadow: 0px 1px 0px #D1E2E8; }
aside#text-2, aside#text-6, aside#text-7, aside#text-8 { padding: 0; }
aside#text-7 { background: transparent; border: transparent; }

/* ---------- Financial calculators ---------- */
.fincal { background: transparent; padding: 0; margin-bottom: 30px; }
.fincal ul { margin: 0; padding: 0px 0 0 20px; }
.fincal ul li { line-height: 3; }
.calculator-ul { min-height: 200px; margin-left: 0; }
.calculator-ul2 { min-height: 70px; margin-left: 0; }
.row-fcal { margin-bottom: 30px; border-bottom: solid 1px #eee; padding-bottom: 30px; }
.btn-fc { font-size: 22px; text-align: center; }
#emodal-overlay { background-color: rgba(0,0,0,0.6) !important; }
.emodal-title { font-size: 22px !important; margin-bottom: 12px; }
.emodal-content p { font-family: "Open Sans", Arial, sans-serif !important; color: #000 !important; }
.emodal-close { font-family: "Open Sans", Arial, sans-serif !important; right: 3px !important; top: 3px !important; }

/* ---------- All States Tax Sites ---------- */
.staxsites { background: transparent; padding: 0; border-radius: 8px; margin-bottom: 30px; padding-bottom: 20px; }
.staxsites a, .ut-btn-cstm {
    font-size: 17px;
    line-height: 25px;
    padding: 10px 10px;
    width: 100%;
    display: inline-block;
    border-radius: 4px;
    color: #fff !important;
    background: #283659;
    border: solid 1px transparent;
    box-shadow: 0px -1px 0px #A7C0FF;
    border-bottom: solid 1px #151C2F;
    text-decoration: none;
}
.staxsites a { margin-bottom: 10px; }
.staxsites a:hover, .staxsites a:active, .staxsites a:focus,
.ut-btn-cstm:hover, .ut-btn-cstm:active, .ut-btn-cstm:focus {
    color: #fff !important;
    background: #3B4E7D;
    border: solid 1px transparent;
    box-shadow: 0px -1px 0px #A7C0FF;
    border-bottom: solid 1px #151C2F;
    text-decoration: none;
}
.staxsites ul { margin: 0; padding: 0; list-style: none; }
.staxsites ul li { line-height: 3; }

/* ---------- Utility ---------- */
.mar-btm-20 { margin-bottom: 20px; }
.mar-btm-30 { margin-bottom: 30px; }
.mar-top-30 { margin-top: 30px; }
.mar-top-60 { margin-top: 60px; }
.br-remove br { display: none; }
.img-full-width { width: 100%; }
.light-border-btm { border-bottom: solid 1px #ddd; padding-bottom: 30px; }
.dark-border-btm { border-bottom: solid 1px #333; padding-bottom: 10px; }
.ut-spacer { height: 37px; display: block; width: auto; }
.ap-title { font-size: 42px !important; font-weight: 100; }
.ap-title2 { font-size: 38px !important; font-weight: 100; }
.mobile-main-btn .btn { margin-bottom: 15px; }
header#masthead{
    margin-top: 30px;
}
.entry-header h2 {
    color: #28365B;
}
/* ---------- Responsive ---------- */
@media only screen and (max-width: 640px) {
    header#masthead { padding-top: 15px; padding-bottom: 10px; }
}
@media (max-width: 992px) {
    .ut-img-logo { margin: 0 auto; float: none; }
    .main-navigation > div > ul { background-color: transparent; margin-top: 0px; }
    .site-branding { margin: 10px 0; text-align: center; }
    .menu-main-navigation-container { text-align: center; float: none !important; }
    #menu-main-navigation { display: inline-block; }
    .appointment-btn { display: block; white-space: inherit; }
    .appointment-frame { display: none; }
    .ut-map { display: none; }
    .home .btn-utm { margin: 0 auto !important; float: none; display: table; }
}
@media (max-width: 768px) {
    .footer-widget-area .widget { min-height: auto; }
}
@media (max-width: 992px) {
    .appointment-btn { display: block; }
}
.appointment-btn { display: none; }
