/*
Theme Name: DOT Physicals & CDL Medical Exams | DOTSTG Custom
Theme URI: https://dotstg.com/
Author: Create Local Marketing
Author URI: https://www.createlocalmarketing.com/
Description: Independent custom-built Elementor Pro-compatible WordPress theme for DOTSTG. Re-created from the October 2026 DOT Physicals & CDL Medical Exams Kinsta backup design specifications: original red/blue shield branding, conversion-focused local medical examiner layout, full-width two-column hero, interactive navigation, and accessible responsive components. The theme is not a Hello Elementor child theme.
Version: 1.2.0
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: dotstg-clm-2026
License: GPL-2.0-or-later
Tags: custom-logo,custom-menu,featured-images,accessibility-ready,translation-ready,full-width-template
*/
:root{--dotstg-blue:#3C54A4;--dotstg-red:#EE2B2F;--dotstg-white:#fff;--dotstg-ink:#132838;--dotstg-body:#476276;--dotstg-charcoal:#142838;--dotstg-offwhite:#F1F5F8;--dotstg-gold:#b19a55;--dotstg-muted:#dee7ef;--dotstg-max:1440px;--dotstg-gutter:25px;}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#fff;color:var(--dotstg-ink);font:400 17px/1.65 Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--dotstg-blue);text-decoration:none}a:hover{color:var(--dotstg-red)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--dotstg-blue);outline-offset:4px}
img,video,iframe{max-width:100%}img{height:auto}h1,h2,h3,h4,h5,h6{font-family:Poppins,Arial,sans-serif;line-height:1.18;letter-spacing:-.025em;color:var(--dotstg-ink)}h1{font-size:clamp(2rem,3vw,3.3rem)}h2{font-size:clamp(1.6rem,2.5vw,2.6rem)}
.dotstg-container{width:min(100%,var(--dotstg-max));padding-inline:var(--dotstg-gutter);margin-inline:auto}
.dotstg-skip{position:absolute;top:-110px;left:12px;z-index:10000;background:#fff;padding:12px 16px}.dotstg-skip:focus{top:10px}
.dotstg-utility{background:var(--dotstg-charcoal);color:#fff;font:500 13px/1.5 Oswald,Poppins,Arial,sans-serif;letter-spacing:.03em}
.dotstg-utility .dotstg-container{min-height:51px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.dotstg-utility a{color:#fff}.dotstg-utility a:hover{color:#fff;text-decoration:underline}.dotstg-utility-group{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.dotstg-utility-item{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.dotstg-utility-icon{width:17px;height:17px;display:inline-block;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.dotstg-nav{background:#fff;border-bottom:1px solid var(--dotstg-muted)}.dotstg-nav .dotstg-container{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:114px}.dotstg-brand{display:flex;align-items:center;justify-content:center;min-height:60px}.dotstg-brand img{width:min(280px,100%);max-height:80px;object-fit:contain}.dotstg-brand-label{color:var(--dotstg-blue);font:700 34px Poppins,Arial,sans-serif}.dotstg-brand-label strong{color:var(--dotstg-red)}
.dotstg-nav-menu{display:flex;align-items:center;flex-wrap:wrap;gap:21px;list-style:none;padding:0;margin:0}.dotstg-nav-menu a{font:600 13px Poppins,Arial,sans-serif;color:var(--dotstg-ink);text-transform:uppercase}.dotstg-nav-menu a:hover,.dotstg-nav-menu .current-menu-item>a{color:var(--dotstg-red)}.dotstg-nav-toggle{display:none;border:1px solid var(--dotstg-muted);background:#fff;padding:11px 14px;border-radius:6px;cursor:pointer}
.dotstg-btn,.elementor a.elementor-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 21px;border:2px solid var(--dotstg-charcoal);border-radius:6px;font:600 13px/1.3 Poppins,Arial,sans-serif;text-transform:uppercase;transition:background-color .15s,color .15s,border-color .15s;cursor:pointer}
.dotstg-btn-dark{color:#fff;background:var(--dotstg-charcoal)}.dotstg-btn-dark:hover{background:var(--dotstg-blue);border-color:var(--dotstg-blue);color:#fff}.dotstg-btn-accent{background:#fff;border-color:var(--dotstg-red);color:var(--dotstg-red)}.dotstg-btn-accent:hover{background:var(--dotstg-red);color:#fff}
.dotstg-footer{background:var(--dotstg-charcoal);color:#fff;padding:45px 0 20px}.dotstg-footer h2,.dotstg-footer h3{color:#fff}.dotstg-footer a{color:#fff}.dotstg-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}.dotstg-footer-bottom{border-top:1px solid #3a505d;margin-top:30px;padding-top:18px;color:#cbd5dd;font-size:13px}
/* Elementor remains the source of all visible header/footer, hero, loop cards, and archive layouts when Theme Builder conditions match. */
.elementor .e-n-carousel{position:relative}.elementor-widget-nested-carousel .swiper{position:relative;overflow:hidden}.elementor-widget-nested-carousel .swiper-button-prev,.elementor-widget-nested-carousel .swiper-button-next,.elementor-widget-nested-carousel .elementor-swiper-button{position:absolute!important;z-index:25!important;width:46px!important;height:46px!important;top:50%!important;transform:translateY(-50%);display:flex!important;align-items:center;justify-content:center;border-radius:50%;background:rgba(19,40,56,.88)!important;color:#fff!important;border:1px solid rgba(255,255,255,.65)!important;box-shadow:0 4px 18px rgba(0,0,0,.25);opacity:1!important;visibility:visible!important;cursor:pointer}
.elementor-widget-nested-carousel .swiper-button-prev,.elementor-widget-nested-carousel .elementor-swiper-button-prev{left:10px!important}.elementor-widget-nested-carousel .swiper-button-next,.elementor-widget-nested-carousel .elementor-swiper-button-next{right:10px!important}.elementor-widget-nested-carousel .swiper-button-prev:after,.elementor-widget-nested-carousel .swiper-button-next:after{font-size:20px!important;font-weight:800}
.elementor-widget-nested-carousel .swiper-pagination,.elementor-widget-nested-carousel .swiper-pagination-bullets{position:absolute!important;bottom:12px!important;left:50%!important;transform:translateX(-50%)!important;width:auto!important;z-index:30!important;display:flex!important;gap:10px!important;justify-content:center;align-items:center;opacity:1!important;visibility:visible!important}
.elementor-widget-nested-carousel .swiper-pagination-bullet{display:block!important;width:12px!important;height:12px!important;background:#fff!important;border:2px solid var(--dotstg-charcoal)!important;box-shadow:0 1px 5px rgba(0,0,0,.5);opacity:1!important}.elementor-widget-nested-carousel .swiper-pagination-bullet-active{width:29px!important;border-radius:9px!important;background:var(--dotstg-red)!important;border-color:#fff!important}
.elementor .elementor-widget-image-box .elementor-image-box-img{width:100%;max-width:100%;display:block;margin:0!important}.elementor .elementor-widget-image-box .elementor-image-box-img img{display:block;width:100%!important;height:225px!important;object-fit:cover!important}.elementor .elementor-widget-image-box .elementor-image-box-content{padding:18px 18px 20px!important}.elementor .elementor-widget-image-box .elementor-image-box-title{font-family:Poppins,Arial,sans-serif!important;font-weight:700!important}.elementor .elementor-widget-image-box .elementor-image-box-description{font-family:Inter,Arial,sans-serif!important}
/* Native Elementor cards only. No duplicated image assets and no HTML-widget layout. */
@media(max-width:1100px){.dotstg-nav .dotstg-container{min-height:95px;gap:16px}.dotstg-nav-menu{gap:12px}.dotstg-nav-menu a{font-size:12px}.dotstg-brand img{max-width:230px}}
@media(max-width:767px){.dotstg-utility .dotstg-container{min-height:52px;gap:9px;padding-block:9px}.dotstg-utility-group{gap:9px}.dotstg-nav .dotstg-container{flex-wrap:wrap;min-height:90px}.dotstg-nav-toggle{display:block}.dotstg-nav-collapse{display:none;width:100%}.dotstg-nav-collapse.is-open{display:block}.dotstg-nav-menu{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-bottom:15px}.dotstg-nav-menu li{border-bottom:1px solid var(--dotstg-muted)}.dotstg-nav-menu a{display:block;padding:12px 5px}.dotstg-nav-cta{margin-left:auto}.dotstg-footer-grid{grid-template-columns:1fr}.elementor-widget-nested-carousel .swiper-button-prev,.elementor-widget-nested-carousel .swiper-button-next,.elementor-widget-nested-carousel .elementor-swiper-button{width:34px!important;height:34px!important}.elementor .elementor-widget-image-box .elementor-image-box-img img{height:200px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}

/* DOC 2026-11-03: native Elementor full-width website design and accessible carousel */
body .elementor-location-single,body .elementor-location-single .elementor,body .dotstg-2026-page,body .dotstg-2026-page .elementor{max-width:none!important;width:100%!important;margin-inline:0!important}
body .elementor-location-single .e-con-full,body .elementor-location-single .elementor-section-stretched{max-width:none!important}
body .elementor-20>.e-con,body .elementor-20>.elementor-element{width:100%!important;max-width:none!important}
body .elementor-20 .elementor-widget-nested-carousel{width:100%!important;max-width:none!important}
body .elementor-20 .elementor-widget-nested-carousel .swiper{overflow:hidden!important}
body .elementor-20 .elementor-widget-nested-carousel .elementor-swiper-button,body .elementor-20 .elementor-widget-nested-carousel .swiper-button-prev,body .elementor-20 .elementor-widget-nested-carousel .swiper-button-next{display:flex!important;opacity:1!important;visibility:visible!important;background:#fff!important;color:#EE2B2F!important;border:2px solid #EE2B2F!important;z-index:100!important;box-shadow:0 3px 13px #13283830!important}
body .elementor-20 .elementor-widget-nested-carousel .swiper-pagination{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;padding:17px 0!important;margin:0 auto!important;display:flex!important;justify-content:center!important;align-items:center!important;z-index:100!important}
body .elementor-20 .elementor-widget-nested-carousel .swiper-pagination-bullet{opacity:1!important;background:#D4DFE8!important;border-color:#132838!important;width:13px!important;height:13px!important;cursor:pointer}
body .elementor-20 .elementor-widget-nested-carousel .swiper-pagination-bullet-active{background:#EE2B2F!important;border-color:#EE2B2F!important;width:28px!important}
body .elementor-20 .elementor-widget-nested-carousel .swiper-slide{height:auto!important;min-width:0!important}
body .elementor-20 .elementor-widget-nested-carousel .swiper-slide>.e-con{height:100%!important}
body .elementor-20 .elementor-widget-nested-carousel .swiper-slide img{width:100%!important;height:100%!important;min-height:440px;object-fit:cover!important;object-position:center!important;display:block!important}
body .elementor-20 .elementor-widget-nested-carousel .elementor-widget-video .elementor-wrapper,body .elementor-20 .elementor-widget-nested-carousel .elementor-widget-video .elementor-custom-embed-image-overlay{min-height:440px!important;height:100%!important;aspect-ratio:16/10!important;overflow:hidden!important}
body .elementor-20 .elementor-widget-nested-carousel .elementor-widget-video .elementor-custom-embed-image-overlay{background-position:center!important;background-size:cover!important}
body .elementor-20 .elementor-widget-nested-carousel .elementor-widget-button .elementor-button{min-width:195px!important;min-height:49px!important}
.dotstg-live-clock,.dotstg-weather-live{white-space:nowrap}
.dotstg-utility-item i,.elementor-location-header .elementor-heading-title i{margin-right:7px}
.elementor-20 .elementor-widget-image img{object-fit:cover!important}
@media(max-width:767px){body .elementor-20 .elementor-widget-nested-carousel .swiper-slide img,body .elementor-20 .elementor-widget-nested-carousel .elementor-widget-video .elementor-wrapper,body .elementor-20 .elementor-widget-nested-carousel .elementor-widget-video .elementor-custom-embed-image-overlay{min-height:260px!important}body .elementor-20 .elementor-widget-nested-carousel .elementor-swiper-button{width:35px!important;height:35px!important}}
