
/* ============ patriotdrones deep CSS repair ============ */
/* A. kill horizontal overflow (vc negative margins with no wrapper padding) */
html,body{overflow-x:hidden;max-width:100%}
.vc_row{margin-left:0!important;margin-right:0!important}
.vc_row.vc_row-fluid{margin-left:0!important;margin-right:0!important}
.vc_column-inner{padding-left:0!important;padding-right:0!important}
.wpb_column{padding-left:15px;padding-right:15px}
[data-vc-full-width]{width:100%!important;left:auto!important;margin-left:0!important}
.vc_row-full-width{display:none!important}

/* B. clean static hero (replaces RevSlider) */
.pd-hero{position:relative;min-height:74vh;display:flex;align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(rgba(16,26,36,.42),rgba(16,26,36,.62)),url("/wp-content/uploads/pd-hero.jpg") center/cover no-repeat;color:#fff}
.pd-hero-in{padding:0 24px;max-width:820px}
.pd-hero-in h1{color:#fff;font-size:clamp(2.6rem,6vw,4.6rem);margin:0 0 .18em;text-shadow:0 4px 26px rgba(0,0,0,.5);letter-spacing:1px}
.pd-hero-in p{font-size:clamp(1.05rem,2.2vw,1.45rem);color:#eaf2f7;margin:0 0 1.6em}
.pd-hero-btn{display:inline-block;background:#31a9e0;color:#fff;font-weight:700;padding:14px 38px;border-radius:3px;text-decoration:none;letter-spacing:.6px;transition:.2s}
.pd-hero-btn:hover{background:#1e8cc0;color:#fff}
/* any leftover revslider shell collapses */
.wpb_revslider_element,.rev_slider_wrapper,rs-module-wrap,rs-module,.forcefullwidth_wrapper_tp_banner{min-height:0!important;height:auto!important}

/* C. google map band: no API key -> give it a real backdrop, sane height */
.sc_googlemap_wrap{position:relative}
.sc_googlemap,.sc_googlemap_default{height:400px!important;min-height:0!important;
  background:linear-gradient(rgba(16,26,36,.5),rgba(16,26,36,.62)),url("/wp-content/uploads/pd-darkband.jpg") center/cover no-repeat!important}
.sc_googlemap iframe,.sc_googlemap .gm-style{display:none!important}
.sc_googlemap_content_default,.sc_googlemap_content{background:rgba(255,255,255,.95)!important;border-radius:8px;
  box-shadow:0 14px 34px rgba(0,0,0,.2);padding:2em 1.8em!important}

/* D. collapse the empty theme rows that lost their background imagery */
.vc_row.vc_row-has-fill{min-height:0}
.vc_row.wpb_row{padding-top:34px;padding-bottom:34px}
.vc_row.wpb_row.vc_row-no-padding{padding-top:0;padding-bottom:0}
.wpb_wrapper:empty,.vc_column-inner:empty,.wpb_text_column:empty{display:none}
.esg-grid,.essential-grid,.eg-grid{min-height:0!important}
/* rows that are tall but empty (lost bg image) get a modest height + backdrop */
.vc_custom_1509966513620{min-height:0!important;padding:56px 0!important;
  background:linear-gradient(rgba(16,26,36,.72),rgba(16,26,36,.82)),url("/wp-content/uploads/pd-darkband.jpg") center/cover no-repeat!important}

/* E. layout container + rhythm (the lost __styles.css) */
.page_content_wrap{padding:0}
.content_wrap{max-width:1200px;margin:0 auto;padding:0 24px;box-sizing:border-box}
@media(max-width:1280px){.content_wrap{max-width:1000px}}
@media(max-width:1023px){.content_wrap{max-width:760px}}
@media(max-width:767px){.content_wrap{max-width:100%}}
.body_style_fullscreen .content_wrap{max-width:1200px;padding:0 24px}

/* F. services 01/02/03 block */
.sc_services_item.with_number{position:relative;padding-top:1.4em;margin-bottom:1.6em}
.sc_services_item_number{position:absolute;top:-.15em;left:0;font-size:3.2rem;opacity:.13;font-weight:800;line-height:1}
.sc_services_item_info{position:relative;z-index:2}
.sc_services_item_subtitle{margin:.1em 0 .3em;font-size:.82rem;letter-spacing:1px;text-transform:uppercase}
.sc_services_item_title{margin:.1em 0 .5em;line-height:1.15}

/* G. buttons + links in the theme's blue scheme */
a{color:#31a9e0}a:hover{color:#f0a830}
.sc_button,.theme_button,.vc_btn3,button,input[type="submit"],.sc_item_button a{
  background:#31a9e0;color:#fff!important;border:0;padding:13px 30px;border-radius:3px;font-weight:700;
  display:inline-block;text-decoration:none;letter-spacing:.5px;transition:.2s}
.sc_button:hover,.theme_button:hover,.sc_item_button a:hover{background:#1e8cc0;color:#fff!important}

/* H. header + footer polish */
.top_panel,.sc_layouts_row_fixed{background:#16222e}
.sc_layouts_menu_nav>li{display:inline-block;margin:0 13px}
.sc_layouts_menu_nav>li>a{color:#fff;text-decoration:none;font-weight:600;letter-spacing:.4px}
.sc_layouts_menu_nav>li>a:hover{color:#f0a830}
.footer_wrap,.sc_layouts_row.footer{background:#111c26;color:#b9c6d1;padding:48px 0}
.footer_wrap a{color:#cfdae2}.footer_wrap a:hover{color:#f0a830}

/* I. typography rhythm */
h1,h2,h3,h4{line-height:1.14;margin:.35em 0 .45em}
p{margin:0 0 1em}
img{max-width:100%;height:auto}
.columns_wrap{display:flex;flex-wrap:wrap;margin:0 -15px}
.columns_wrap>[class*="column-"]{padding:0 15px;box-sizing:border-box}


/* ============ PASS 2: contrast, header, button, empty rows ============ */
/* 1. hero button text must be visible */
.pd-hero-btn{background:#f0a830!important;color:#12202c!important;font-weight:800;font-size:1rem;
  padding:15px 42px!important;border-radius:4px;box-shadow:0 10px 26px rgba(0,0,0,.3);line-height:1.2}
.pd-hero-btn:hover{background:#ffbe4d!important;color:#12202c!important}

/* 2. header: full-width solid bar, not a floating box over the hero */
.top_panel,.sc_layouts_row_fixed,.sc_layouts_row_type_normal{
  background:#12202c!important;margin:0!important;width:100%!important;max-width:none!important}
.top_panel .content_wrap,.sc_layouts_row .content_wrap{max-width:1200px;margin:0 auto}
.header_position_over .top_panel{position:relative!important}
.sc_layouts_row{padding:10px 0}

/* 3. ANY section that sits on a photo background must be readable:
      force a dark scrim + light text inside rows that have a background image */
.vc_row.vc_row-has-fill,.vc_row[class*="vc_custom_"]{position:relative}
.vc_row[class*="vc_custom_"]::before{content:"";position:absolute;inset:0;background:rgba(12,22,32,.66);pointer-events:none}
.vc_row[class*="vc_custom_"] > *{position:relative;z-index:2}
.vc_row[class*="vc_custom_"] h1,.vc_row[class*="vc_custom_"] h2,
.vc_row[class*="vc_custom_"] h3,.vc_row[class*="vc_custom_"] h4,
.vc_row[class*="vc_custom_"] p,.vc_row[class*="vc_custom_"] li,
.vc_row[class*="vc_custom_"] span:not(.sc_services_item_number){color:#f2f7fa!important;text-shadow:0 2px 12px rgba(0,0,0,.5)}
/* but the white info card keeps dark text */
.sc_googlemap_content_default,.sc_googlemap_content,
.sc_googlemap_content_default *,.sc_googlemap_content *{color:#16222e!important;text-shadow:none!important}
.sc_googlemap_content_default a,.sc_googlemap_content a{color:#fff!important}

/* 4. tall empty rows -> compact bands */
.vc_custom_1509966513620{padding:64px 0!important;min-height:0!important}
.vc_custom_1509966513620 .vc_column-inner,.vc_custom_1509966513620 .wpb_wrapper{min-height:0!important}
.vc_row .wpb_column:empty,.vc_row .vc_column-inner:empty{display:none!important}
/* generic: cap any row that has almost no content */
.vc_row.wpb_row{min-height:0!important}

/* 5. services grid: stop the 15px overflow */
.sc_services_columns_wrap,.sc_item_columns{margin-left:0!important;margin-right:0!important;
  display:flex;flex-wrap:wrap;gap:26px}
.sc_services_columns_wrap > *,.trx_addons_column-1_3{
  flex:1 1 280px;max-width:100%;padding:0!important;margin:0!important}
@media(max-width:900px){.trx_addons_column-1_3{flex:1 1 100%}}

/* 6. keep body from ever scrolling sideways */
body{overflow-x:hidden}


/* ============ PASS 3: full-bleed sections, kill leftover voids ============ */
/* 1. hero + photo bands go edge-to-edge (no white side strips) */
.pd-hero{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);min-height:78vh}
.vc_row[class*="vc_custom_"],.sc_googlemap_wrap,.vc_row.vc_row-has-fill{
  width:100vw;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;max-width:none!important}
.vc_row[class*="vc_custom_"] .content_wrap,.sc_googlemap_wrap .content_wrap{max-width:1200px;margin:0 auto;padding:0 24px}

/* 2. remove the gap between hero and the services block */
.pd-hero + *{margin-top:0}
.vc_row.wpb_row.vc_row-no-padding{padding:0!important;margin:0!important}

/* 3. the tall empty "LET'S FLY" band -> compact, centered, readable */
.vc_custom_1509966513620{padding:78px 0!important}
.vc_custom_1509966513620 h1,.vc_custom_1509966513620 h2{text-align:center;margin:0}
.vc_custom_1509966513620 .wpb_column,.vc_custom_1509966513620 .vc_column-inner,
.vc_custom_1509966513620 .wpb_wrapper{min-height:0!important;height:auto!important}

/* 4. services block spacing */
.sc_services,.sc_services_default{padding:56px 0}
.sc_services_columns_wrap{align-items:flex-start}
.sc_services_item{margin-bottom:0!important}

/* 5. tighten overall vertical rhythm so nothing reads as a void */
.vc_row.wpb_row{padding-top:0;padding-bottom:0}
.vc_row.wpb_row.vc_row-o-content-middle{padding:48px 0}
.wpb_text_column:last-child{margin-bottom:0}


/* ============ PASS 4: final polish ============ */
/* header bar: compact, no 270px dead space */
.top_panel,.top_panel_custom{min-height:0!important;height:auto!important;padding:0!important}
.top_panel .vc_row,.top_panel_extra{min-height:0!important;padding:8px 0!important}
.top_panel_extra .wpb_column,.top_panel_extra .vc_column-inner,.top_panel_extra .wpb_wrapper{min-height:0!important}
.sc_layouts_row{padding:6px 0!important;min-height:0!important}

/* "LET'S FLY..." band: give it presence instead of emptiness */
.vc_custom_1509966513620{padding:96px 0!important}
.vc_custom_1509966513620 h1,.vc_custom_1509966513620 h2,.vc_custom_1509966513620 h3{
  text-align:center;font-size:clamp(2rem,4.5vw,3.2rem);letter-spacing:2px;margin:0 0 .3em}
.vc_custom_1509966513620 .wpb_wrapper::after{
  content:"Ready to see your project from above? Get in touch for a free quote.";
  display:block;text-align:center;color:#e8f1f7;font-size:1.05rem;max-width:640px;margin:0 auto;opacity:.92}

/* map band a touch shorter */
.sc_googlemap,.sc_googlemap_default{height:340px!important}

/* make sure nothing inside a photo band is invisible */
.vc_row[class*="vc_custom_"] .sc_button,
.vc_row[class*="vc_custom_"] .theme_button{background:#31a9e0!important;color:#fff!important}


/* ============ PASS 5: restore repairs, 2026-08-14 ============ */

/* Self-hosted Font Awesome faces, standing in for the theme's fontello icon
   set, which was never archived (every icon rendered as an empty box). */
@font-face{font-family:'pd-fa-solid';
  src:url('/wp-content/themes/drone-media/css/font-icons/fa-solid-900.woff2') format('woff2');
  font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:'pd-fa-brands';
  src:url('/wp-content/themes/drone-media/css/font-icons/fa-brands-400.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap}

/* --- generic icon-* classes --- */
[class^="icon-"]:before,[class*=" icon-"]:before{
  font-family:'pd-fa-solid';font-weight:900;font-style:normal;font-variant:normal;
  text-transform:none;line-height:1;display:inline-block;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

.icon-twitter:before,.icon-facebook:before,.icon-instagramm:before,
.icon-instagram:before,.icon-youtube:before,.icon-pinterest-circled:before,
.icon-pinterest:before,.icon-linkedin:before{font-family:'pd-fa-brands';font-weight:400}

.icon-twitter:before{content:"\f099"}
.icon-facebook:before{content:"\f39e"}
.icon-instagramm:before,.icon-instagram:before{content:"\f16d"}
.icon-youtube:before{content:"\f167"}
.icon-pinterest-circled:before,.icon-pinterest:before{content:"\f0d2"}
.icon-linkedin:before{content:"\f0e1"}
.icon-search:before,.icon-search-alt:before{content:"\f002"}
.icon-menu:before{content:"\f0c9"}
.icon-cancel:before,.icon-delete:before{content:"\f00d"}
.icon-up:before{content:"\f077"}
.icon-down:before{content:"\f078"}
.icon-eye:before{content:"\f06e"}
.icon-mail:before{content:"\f0e0"}
.icon-phone:before{content:"\f095"}
.icon-location:before{content:"\f3c5"}
.icon-clock:before{content:"\f017"}
.icon-weddings:before{content:"\f004"}
.icon-sport:before{content:"\f091"}
.icon-concert:before{content:"\f001"}
.icon-commercial:before{content:"\f1ad"}
.icon-untitled-2:before{content:"\f030"}
.icon-untitled-3:before{content:"\f03d"}

/* The contact lines set their glyphs by fontello codepoint through selectors
   that qualify the element (span./a.), so match that specificity exactly. */
.widget_contacts .contacts_info span.contacts_email:before{
  content:"\f0e0"!important;font-family:'pd-fa-solid'!important;font-weight:900!important}
.widget_contacts .contacts_info span.contacts_address:before{
  content:"\f3c5"!important;font-family:'pd-fa-solid'!important;font-weight:900!important}
.widget_contacts .contacts_info a.contacts_phone:before{
  content:"\f095"!important;font-family:'pd-fa-solid'!important;font-weight:900!important}
.widget_contacts .contacts_info span.contacts_email:before,
.widget_contacts .contacts_info span.contacts_address:before,
.widget_contacts .contacts_info a.contacts_phone:before{
  display:inline-block;margin-right:9px;width:1em;text-align:center;color:#e02b2b}

/* --- contacts widget legibility --- */
/* The archived widget renders on a light card, but the theme's original
   dark-widget rules were lost, leaving white text on a white background. */
.widget_contacts .contacts_info,
.widget_contacts .contacts_info a,
.widget_contacts .contacts_address,
.widget_contacts .contacts_email a,
.widget_contacts .contacts_phone{color:#152029!important}
.widget_contacts .contacts_email a:hover,
.widget_contacts .contacts_phone:hover{color:#e02b2b!important}
.widget_contacts .contacts_info{font-size:15px;line-height:1.9}

/* Only a white-on-transparent wordmark survived at the widget's logo path,
   which is invisible on the light card; use the full-colour badge there. */
.widget_contacts .contacts_logo img{
  content:url('/wp-content/uploads/2019/07/Patriot-Drones-MP-Logo1.png');
  width:auto!important;height:72px!important;max-width:100%}
.widget_contacts .contacts_logo{margin-bottom:10px}

/* The card is absolutely positioned with overflow:auto and was sized for the
   original small logo; the restored badge overflowed it and pushed the
   address, email and phone out of view. Let it size to its content. */
.sc_googlemap_content{
  top:50%!important;bottom:auto!important;transform:translateY(-50%);
  height:auto!important;max-height:none!important;overflow:visible!important;
  padding:22px 26px!important;z-index:10!important}
.sc_googlemap,.sc_googlemap_default{position:relative;z-index:1}
.sc_widget_contacts,.widget_contacts{position:relative;z-index:11}

.widget_contacts .contacts_info{display:flex;flex-wrap:wrap;gap:6px 28px;align-items:flex-start}
.widget_contacts .contacts_left,
.widget_contacts .contacts_right{flex:1 1 auto;min-width:0;text-align:left!important}
.widget_contacts .contacts_email,.widget_contacts .contacts_phone{display:block;white-space:nowrap}

/* Header logo sits on the dark navy bar, where the colour badge's navy
   lettering disappears; use the white wordmark there instead. */
.sc_layouts_logo img.logo_image,
.top_panel .sc_layouts_logo img{
  content:url('/wp-content/uploads/2020/12/American-Eagle-Badge-LogoWIDE-white-stroke-small.png');
  max-height:64px;width:auto;height:auto}

/* --- CONTACT US call to action --- */
/* The archived section embedded an Ontraport-hosted form whose account is
   gone, so it rendered empty. Replaced with direct contact actions, since a
   static restore cannot process form submissions. */
.pd-contact-cta{max-width:640px;margin:0 auto;text-align:center;padding:8px 16px 4px}
.pd-contact-lead{font-size:1.05rem;color:#4a5560;margin:0 0 26px}
.pd-contact-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-bottom:22px}
.pd-contact-btn{display:inline-block;padding:14px 30px;border:2px solid #152029;border-radius:3px;
  text-decoration:none;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  font-size:.85rem;transition:background .2s,color .2s,border-color .2s}
.pd-contact-btn,.pd-contact-btn:visited{color:#152029}
.pd-contact-btn:hover{background:#152029;color:#fff!important}
.pd-contact-btn-primary{background:#e02b2b;border-color:#e02b2b}
.pd-contact-btn-primary,.pd-contact-btn-primary:visited{color:#fff!important}
.pd-contact-btn-primary:hover{background:#b81f1f;border-color:#b81f1f;color:#fff!important}
.pd-contact-meta{font-size:.9rem;color:#7c8792;margin:0}
