a{ text-decoration: none; }
.img-fluid {
    display: block;
    height: auto;
    max-width: 100%; margin: 0px auto 0px auto; position: relative;
}
.sec_inner a{ color: #970000 }

.head_subnav{ width: 100%; background: #1e4491; color: #ffffff; text-align: center; }
.head_subnav .container{ text-align: center; }
.subnav ul{ list-style: none; display: inline-block;vertical-align: middle; margin-bottom: 0px; font-family: 'Montserrat',sans-serif }
.subnav ul li{ list-style: none; display: inline-block; vertical-align: middle; padding: 0px 15px 15px 15px; }
.subnav ul li a{ color: #ffffff;border-top:2px solid transparent; text-transform: uppercase;font-size: 15px; line-height: 20px; padding-top: 15px; display: block; }
.subnav ul li:hover a{ border-top:2px solid #ffffff;  }
.subnav ul li.active a{ border-top:2px solid #ffffff;  }
.container.w900{ max-width: 900px; width: 95%; position: relative; margin-left: auto; margin-right: auto;  }
.head{ position: relative; background: #0a1a2f; }
/* Hero banner artwork (replaces the old head.svg background block). Scales
   full width so the type baked into the image is never cropped. */
.hero_banner{ display: block; width: 100%; height: auto; }
.hero_mobile_msg{ display: none; }

.sec{ margin-top: 30px; }
.head_img_m{ display: none;  }
.sponsor_logos{ position: relative;  }
.sponsor_logos a{ display: inline-block; vertical-align: middle; padding: 10px; }
.sec_inner{ position: relative; text-align: center; }
.sec hr{ position: relative; max-width: 500px; margin-left:auto; margin-right: auto; position: relative; }
.speakers{ display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; }
.speaker{  width: 19%; margin: 0.5%; min-width: 150px; text-align: center;  }

.f_speaker_img{ position: relative; width: 150px; margin: 0px auto 0px auto; height:150px;}
.speaker_img{ position: relative; width: 90px; margin: 0px auto 0px auto; height:90px;}
.speaker_img img{ display: block; border-radius: 50px; overflow: hidden; width: 100%; height: auto; }
.f_speaker_img img{ display: block; border-radius: 90px; overflow: hidden; width: 100%; height: auto; }
.speaker_info{ position: relative; }
.speaker_info span{ display: block;}
.speaker_name{ color: #101010; font-size: 16px; line-height: 20px; font-weight: 500;margin-top:5px;}
.speaker_position{ color: #333; font-size: 12px; line-height: 16px; margin-top:2px; }
.speaker_company{ color: #333; font-size: 12px; line-height: 16px; font-weight: bold;margin-top:1px;margin-bottom:5px;}

.more{ position: relative; margin-top: 15px;  font-size:16px; line-height: 20px }
.more a{ color: #101010; position: relative; font-weight: 600 }

a.btn:not('.me-2'){ display: inline-block; vertical-align: middle; margin: 10px; position: relative; display: inline-block; vertical-align: middle; color: #ffffff; font-size: 20px; line-height: 22px; background: #1f4491; min-width: 200px; padding: 10px 20px 10px 20px;}
a.btn:not('.me-2'):hover{  background: #132b5d }
.events_table{ width: 100%; position: relative; font-family: 'Nunito Sans', sans-serif;}
  .events_row{ position: relative; width: 100%; display: flex; justify-content: space-between; align-items: flex-start; }
  .cl{ width: 100%; position: relative; margin-top:1%;  }
  
  .cols3 .cl{ width: 32%; position: relative; margin-top:1%;  }
  .event_box{ min-height: 145px; width: 100%; border: 1px solid #787878; border-top: 5px solid #787878; text-align: left;padding: 8px 10px 8px 20px;  }
  .event_box.gray{ border-top-color:#787878; }
  .event_box.blue{ border-top-color:#208ad1; }
  .event_box.green{ border-top-color:#33b86c; }
  .event_box.red{ border-top-color:#ef403c; }
  .col_head{ position: relative; }
  .col_head{ padding: 8px 20px 8px 20px; color: #ffffff; font-size: 18px; font-weight: 700; text-align: left; }
  .event_timing{ width: 100%; display: flex; justify-content: space-between; }
  .event_start{ font-size: 15px; line-height: 20px; color: #313131; }
  .event_duration{font-size: 13px; line-height: 20px; color: #888; }
.event_badge{ position: relative; padding: 3px 5px; background: #787878; color: #ffffff; font-weight: 800; margin-left:5px; border-radius: 4px;font-size:10px; }
  .event_box.gray .event_badge{ background-color: #787878; font-size:10px;}
  .event_box.blue .event_badge{ background-color: #208ad1; font-size:10px;}
  .event_box.green .event_badge{ background-color: #33b86c; font-size:10px;}
  .event_box.red .event_badge{ background-color: #ef403c; font-size:10px;}


  .event_right_info{ text-align: right; margin-top:-4px; margin-bottom:5px; }
.event_ttl{ font-size: 16px; line-height: 18px; color: #313131; font-weight: 800 }
.event_sttl{ margin-top:0px; font-size: 13px; line-height: 17px; color: #313131; font-weight: 400; font-style: italic; }
.special_event_box{ position: relative; width: 100%; background: #d6d6d6; color:#313131; text-align: center; padding: 20px;  }
.special_event_box .se_hours{ position: absolute; left: 20px; text-align: left; }
.se_name{ font-size: 18px; line-height: 22px; font-weight: 800; }
.event_people{ position: relative; text-align: left; }
.event_people a{ display: inline-block; vertical-align: middle; width: 30px;height: 30px; margin-top:8px; margin-right: 3px; }
.event_people a img{ width: 100%; height: auto; display: block; border-radius: 30px}

.s_people_img{ width: 100%; height: auto; display: block; border-radius: 20px}
.s_people .people_info{ width: 40px; margin-right: 5px; }
.s_people_name{ position: relative; font-weight: 700;font-size: 14px; line-height: 18px; }
.s_people_company{ position: relative; font-size: 12px; line-height: 16px }

.h_people_img{ width: 100%; height: auto; display: block; border-radius: 100px; margin-left: auto;; margin-right: auto; max-width: 260px }
.h_people .people_info{ width: 100%; text-align: center; display: block; }
.h_people_name{ position: relative; font-weight: 700;font-size: 30px;
line-height: 35px;}
.h_people_company{ position: relative;
font-size: 18px;
line-height: 22px; }
.h_people_info{ text-align: center; margin-top:3px; }
.event_people_list_h{ flex-wrap: wrap; }
.event_people_list_h{ display: flex; align-items: flex-start; }
.h_people{ width: 16%; margin: 2% 5% 2% 0% !important; max-width: 200px; }
.breadcrumb{ position: relative; text-align: left }
.speaker_content{ position: relative; display: flex; justify-content: space-between; align-items: flex-start; margin-top:30px; }
.speaker_left{ width: 32% }
.speaker_right{ width: 65% }
.profile_photo{ position: relative; margin: 0px auto; width: 100%; max-width: 200px }
.profile_photo img{ width: 100%; height: auto; border-radius: 100px;  }
.profile_socials{ margin-top: 10px;  text-align: center;}
.profile_socials a{ font-size: 35px; line-height: 35px; display: inline-block;vertical-align: middle; color: #000000 !important; margin:4px; }
.speaker_head{ position: relative; padding-bottom: 15px; text-align: left; }
.speaker_head h1{ margin-top:0px;  line-height: 40px; font-size: 35px; }
.speaker_head h3{ margin-top:0px; line-height: 30px; font-size: 22px; }
.see_all{ position: relative; }
.bio_ttl{ margin-top:20px; position: relative;text-align: left; font-weight: 700; color:#101010; }
.bio_txt{ position: relative; text-align: left; }
.more_lnk{ position: relative; margin-top:0px; display: inline-block; font-weight: 700; color: #101010;  }
.see_all{ position: relative; margin: 30px 0px 0px 0px; display: block; text-align: center; font-weight: 700;  }

.see_all a{ color:#101010;display: block; width: 100%;border-radius: 4px; background: #efefef; }
.share_event{ position: relative; font-size: 25px; line-height: 35px; display: flex; justify-content: center; align-items: center; }
.s_people{ position: relative; display: flex; align-items: center; margin-top: 10px; }


.share_event span{ color:#101010;  }
.share_icons a{ display: inline-block; vertical-align: middle; margin: 5px; position: relative; color:#101010; font-size: 40px; line-height: 40px }
.videoWrapper {
    position: relative;
    padding-bottom: 51.25%; /* 16:9 */
    padding-top: 25px;
    height: 0;
}
.videoWrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; display: block; border:0px solid #ffffff; background: #cccccc center no-repeat; box-sizing: border-box;
}

.dropdown:not(.nav-item) {
  position: absolute;
  right: 0px;
  top:25px;
  height: auto;;
  background-color: #ffffff;
  box-shadow: 0px;
  outline: none;
  opacity: 1;
  z-index: 2;
  transition: opacity 0.1s, z-index 0.1s, max-height: 5s;
  border:1px solid #dddddd;
  color:#313131;
  min-width: 100px;text-align: left;
  font-size:12px;
}
.dots_container{ position: relative; display: inline-block;vertical-align: top; top:3px; width: 10px }

.dropdown-container:focus {
  outline: none;
}
/*
.dropdown-container:focus .dropdown {
  opacity: 1;
  z-index: 100;
  max-height: 100vh;
  transition: opacity 0.2s, z-index 0.2s, max-height: 0.2s;
}
*/
.dropdown:not(.nav-item)  a{ color: #313131 !important; padding-left: 10px; display: block;  }
.dropdown:not(.nav-item)  a:hover{ background:#ada8a8; }
.three-dots:after {
  cursor: pointer;
  color: #313131;
  content: '\2807';
  font-size: 20px;
  padding: 0 5px;
}

.ovr_modal{ position: fixed;top:0px; left: 0px; width: 100%; height: 100%; }
.ovr_back{ position: absolute; top:0px; left: 0px; width: 100%; height: 100%; background: rgba(0,0,0,0.7); }
.ovr_dialog{ top:20%; position: relative; max-width: 300px; margin: 0px auto; }
.dialog_header .dialog_ttl{ color: #000000; }
.dialog_close{ color: #000000; }
.frm{ width: 100%; max-width: 400px; margin: 10px auto 0px auto;position: relative; }
.in2{ position: relative; width: 100%; margin-top: 10px;  }
.in2 input,.in2 select{text-indent: 10px; width: 100%; height: 45px; border:1px solid #ffffff; background: rgba(255,255,255,0.2); color: #ffffff; font-size: 18px; line-height: 20px; vertical-align: middle; position: relative; }
.in2 select option{ color:#000000; }
.in2 .submit_btn{  position: relative; text-align: center; color: #ffffff; background: #fb4462; font-size: 18px; line-height: 22px; padding: 8px 0px 8px 0px; display: block; }
.err{ font-size: 12px; line-height: 15px;color: red; margin: 2px 0px 0px 0px; }
.ico--large{ font-size: 17px !important; line-height: 22px !important; }
.action_item{border-bottom-color: #DBDAE3;
border-bottom-style: solid;
border-bottom-width: 1px;
padding: 2px 20px 2px 20px !important;
position: relative;
display: block;
-webkit-transition: background-color .2s ease;
-moz-transition: background-color .2s ease;
transition: background-color .2s ease;
color: #39364F;
cursor: pointer;
display: block;
height: 40px;
background: #FFF;
display: block;
}
@media handheld, only screen and (max-width: 900px) {

.head_img{ display: none; }
.head_img_m{ display: block; }
}
@media handheld, only screen and (max-width: 600px) {
.cols3{ flex-wrap: wrap; }
.cols3 .cl{ width: 100% }
.col_head{ width: 100% }

}
@media handheld, only screen and (max-width: 550px) {
.se_hours{ position: relative; left: 0px; width: 100%; text-align: center; }
}

h3.sec_sttl{ font-size: 18px; line-height: 22px;font-weight: 500 }


.sec_cards_ev{ width: 100%; max-width: 1000px; margin: auto;; position: relative; }
.cards_ev_info{ position: relative; text-align: left; }
.ev_label{ position: absolute; top:25px; right: 0px; }
.ev_label .event_badge{ font-size: 18px; line-height: 22px; padding: 10px 30px; }
.sec_cards_ev h4 i{ font-style: italic; }
.cards_head{ position: relative; background: #1e4491 }
.sec_cards_ev .sec_inner{ max-width: 860px; margin-left: auto;; margin-right: auto; }
.sec_cards_ev h2{ font-size: 35px; line-height: 40px; font-weight: 700 }
.sec_cards_ev h4{ font-size: 29px; line-height: 34px; font-weight: 300 }
.sec_cards_ev .speakers{ margin-top:30px !important; }
.sec_cards_ev .sec_content{ margin-top: 50px }

.speaker_full{ width: 100%; display: block; }
.lmv{ max-width: 900px }
.rcc{ justify-content: center;  }
.rcc .speaker{ margin: 0.5% 2.5% }
.content_cols_flex{ position: relative; width: 100%; display: flex; align-items: flex-start; justify-content: space-between; }
.col_icon img{ height: 90px; width: auto; margin-left: auto;
margin-right: auto; }
.sec_startup h2{ font-size: 36px; line-height: 42px; }
.sec_startup h2.sec_ttl{ font-size: 44px; line-height: 56px; padding-bottom: 20px}
.col_con h4{ font-weight: 700 }
.col_con{ width: 31%; position: relative; text-align: left; }
ul.checkmarked  { list-style-type: square; list-style-position:outside; margin-left: 15px; }
ul.checkmarked li{font-size: 14px;
line-height: 22px;
margin-top: 10px;}
.pink_button{ position: relative; display: block; background: #bf1e2d; padding: 15px 20px; border-radius: 4px; text-align: center; color: #ffffff !important; font-size: 16px; line-height: 20px; border:2px solid #bf1e2d; }
.white_button{ position: relative; display: block; background: #ffffff; padding: 15px 20px; border-radius: 4px; text-align: center; color: #000000 !important; font-size: 16px; line-height: 20px; border:2px solid #000000; }
.buttons_cols .col_con h4{ min-height: 120px; text-align: center; position: relative; }

.sec_banner_r1{ width: 100%; background: #1f4390;  }
.sec_banner_r{ width: 100%; background: #1e4491;  }
.sec_banner_r2{ width: 100%; background: #092635;  }

.sec_2_cols{ width: 100%; align-items: center; display: flex; justify-content: space-between; }
.sec_banner_info{ width: 39%; text-align: left; }
.sec_banner_info h2{ color: #ffffff;font-size: 50px; line-height: 55px;margin-bottom: 15px }
.orange{color: #e58020 !important}
.sec_programs .sec_ttl{ font-size: 50px; line-height: 55px; }
.sec_faqs .sec_ttl{ font-size: 50px; line-height: 55px; }
.sec_banner_info p{ color: #cccccc }
.logos_columns_flex{ width: 100%; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.logos_columns_flex .logo_col{width: 17%; margin-top: 15px; margin-bottom: 15px;}
.med-width{ width: 95%; max-width: 400px; margin: 20px auto 0px auto }
.logos_columns_flex .logo_col img{-webkit-filter: grayscale(0%);
filter: grayscale(0%);}
.logos_columns_flex .logo_col img:hover{-webkit-filter: grayscale(0%);
filter: grayscale(0%);}
.gray_icons img{-webkit-filter: grayscale(100%);
filter: grayscale(100%);}
.gray_icons img:hover{-webkit-filter: grayscale(0%);
filter: grayscale(0%);}
.logo_box{ width: 80%; text-align: center; margin: 0px auto; position: relative; }

.row2cols{ position: relative; margin-top:30px; width: 100%; display: flex; align-items: center; justify-content: space-between; }
.row-col-left{ width: 48%; position: relative; }
.row-col-right{ width: 48%; position: relative; }
.video-square{ width: 100%; height: 100%; position: relative; display: block; }
.vid_square{ width: 100%; position: relative; overflow: hidden; border-radius: 10px; }
.vid_container{ position: absolute; top:0px; left: 0px; width: 100%; height: 100%; display: block; }
.row-text-left .row-col-left{ text-align: left !important }
.row-text-right .row-col-right{ text-align: left !important }
.row2cols h2{font-size: 32px; line-height: 40px}

.sec_banner_image{ width: 60% }
.sec_quotes1 {
    width: 100%;
    background: #1f4390;
    color:#ffffff;
}
.sec_quotes {
    width: 100%;
    background: #1e4491;
    color:#ffffff;
}
.sec_quotes2 {
    width: 100%;
    background: #092635;
    color:#ffffff;
}

.quote_txt{ position: relative; color: #ffffff; text-align: left; font-size: 46px; font-weight: 500; line-height: 56px; }
.quotes { padding: 40px 0px 40px 0px; }
.quote_author{ position: relative; font-size: 30px; line-height: 35px; color:#ffffff; text-align: left; margin-top:30px; font-weight: 500 }
.accordion-button{ background: transparent !important; outline: 0px !important }
.accordion-button:focus{ border:0px !important; }
.accordion-item{ border-left: 0px !important;border-radius:0px !important;border-right: 0px !important;box-shadow:0 0 0 .25rem rgba(13,110,253,0) !important }

.accordion-item:first-child{ border-top:0px !important; }
.accordion{ margin-top: 30px }
.accordion-body{ margin-top: 10px; }
.accordion div, .toggle-container{ padding: 10px 0px 20px 0px; }
.col_logos{ position: relative; margin-top: 20px }
.col_logos h3{ font-size: 14px; line-height: 22px; font-weight: 700 ;color: #bf1e2d}
.col_logos .logo_box{ position: relative; margin: 0px auto; height: 80px; }
.col_logos .logo_box a{ display: block; width: 100%; height: 100%; line-height: 80px }
.col_logos .logo_box a img{ display: inline-block; vertical-align: middle; }
.sec_banner_info{ padding-top: 40px; padding-bottom: 30px }
.form_container{ text-align: left }

.ev_table{ width: 100%; position: relative; }
.ev_table tr{ width: 100%; border:0px; border-bottom: 1px solid #cccccc !important; }
.ev_table td{ vertical-align: middle !important }
.ev_info{padding-top: 10px; padding-bottom: 10px; display: block; width: 100%; font-size: 16px; line-height: 20px; }
.ev_info span{ display: block; width: 100%; margin-bottom: 10px; }
.ev_info small{ display: block; width: 100% }
.e_title {font-weight: 900;}
.e_location {font-weight: 700;text-transform: uppercase;margin-top: -10px;font-size: 12px;color: #aaaaaa}

.ev_date span{ display: block; text-align: center; }
.ev_date span.ev_day{ font-size: 25px; line-height: 30px; font-weight: 700 }
.ev_date span.ev_mth{ font-size: 16px; line-height: 20px; font-weight: 700; color:#bf1e2d; }
.ev_date{padding-top: 10px; padding-bottom: 10px;}
.ev_picture{padding-top: 10px; padding-bottom: 10px;}
@media handheld, only screen and (max-width: 1200px) {
.sec_2_cols .sec_banner_info{ margin-right: 0px !important  }
.sec_2_cols .sec_banner_info{ margin-left: 0px !important }
.quote h2{ margin-left: 0px !important; margin-right: 0px !important}
.quote .quote_author{ margin-left: 0px !important; margin-right: 0px !important}
}
@media handheld, only screen and (max-width: 800px) {
  .sec_2_cols{ flex-wrap: wrap-reverse; }
  .sec_2_cols .sec_banner_info{ width: 100% }
  .sec_2_cols .sec_banner_image{ width: 100% }
  .logos_columns_flex .logo_col{ width: 47% }
  .content_cols_flex.main_cols{ flex-wrap: wrap; }
  .content_cols_flex.main_cols .col_con{ width: 100% }
  }
@media handheld, only screen and (max-width: 800px) {
  .row2cols { flex-wrap: wrap; width: 100% }
  .row-col-left{ width: 100%; }
  .row-col-right{ width: 100% }
}

.investors_horizontal{ width: 100%; justify-content: space-between; display: flex; align-items: center; flex-wrap: wrap; }
.investors_horizontal .logo_box{ width:19%; margin: 0px 1% 0px 1%; min-width: 100px; }
.investors_horizontal .logo_box:first-child{ margin-left: 0px }
.logo_box_s{ height: 0px !important;  width:19%; margin:1%;}
@media handheld, only screen and (max-width: 1100px) {
.new-header #navigation{ position: absolute; top:80px; right: 10px; }
#navigation ul{ position: relative; width: 150px; background: #ffffff; border:#cccccc; border-radius: 4px; }
#navigation.sh ul{ position: relative; display: block;}
#navigation.sh ul li{ width: 100%; display: block; border-bottom: 1px solid #cccccc; }

}
.speaker_company{ text-transform:uppercase; }
/* ============================================================
   NatSec + Space Innovation Summit (NSSIS) additions
   ============================================================ */

:root{
  --nssis-navy: #0a1a2f;
  --nssis-blue: #1e4491;
  --nssis-steel: #35507d;
  --nssis-gold: #c8a24a;
}

/* --- Hero eyebrow / title block --- */
.nssis_hero{ position: relative; text-align: center; color:#ffffff; padding: 45px 20px 45px 20px; }
.nssis_hero .hero_eyebrow{ font-size: 13px; line-height: 18px; letter-spacing: 3px; text-transform: uppercase; color:#c8a24a; font-weight: 700; }
.nssis_hero h1{ color:#ffffff; font-size: 54px; line-height: 60px; font-weight: 800; margin: 12px 0px 12px 0px; }
.nssis_hero .hero_meta{ font-size: 20px; line-height: 26px; color:#dfe6f2; font-weight: 300; }
.nssis_hero .hero_tag{ display:inline-block; margin-top:18px; border:1px solid rgba(255,255,255,0.5); border-radius: 40px; padding: 6px 18px; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; }

/* --- Buttons --- */
.blue_button{ background:#1e4491; color:#fff !important; text-decoration:none; padding: 15px 20px; border-radius: 4px; text-align:center; font-size:16px; line-height:20px; border:2px solid #1e4491; }
.blue_button:hover{ background:#132b5d; border-color:#132b5d; }
.blue_button_outline{ background:#fff; color:#1e4491 !important; text-decoration:none; padding: 15px 20px; border-radius:4px; text-align:center; font-size:16px; line-height:20px; border:2px solid #1e4491; }
.gold_button{ background:#c8a24a; color:#0a1a2f !important; text-decoration:none; padding: 15px 20px; border-radius:4px; text-align:center; font-size:16px; line-height:20px; border:2px solid #c8a24a; font-weight:700; }

/* --- Dark banner variant for NatSec sections --- */
.sec_banner_navy{ width:100%; background:#0a1a2f; }
.sec_banner_navy .sec_banner_info h2{ color:#ffffff }
.sec_banner_navy .sec_banner_info p{ color:#cfd8e6 }

/* --- Day One / Day Two cards --- */
.day_cards{ display:flex; align-items: stretch; justify-content: space-between; flex-wrap: wrap; margin-top: 30px; }
.day_card{ width: 48%; text-align:left; background:#ffffff; border:1px solid #dfe3ea; border-top: 6px solid #1e4491; border-radius: 6px; padding: 28px 28px 24px 28px; }
.day_card.day_two{ border-top-color:#c8a24a; }
.day_card .day_label{ font-size: 12px; letter-spacing: 2px; text-transform: uppercase; font-weight: 700; color:#1e4491; }
.day_card.day_two .day_label{ color:#a4802f; }
.day_card h3{ font-size: 28px; line-height: 34px; font-weight: 700; margin: 6px 0px 12px 0px; color:#101010; }
.day_card p{ font-size: 16px; line-height: 26px; color:#333; }

/* --- Attendee archetype list --- */
.who_list{ text-align:left; margin-top: 25px; list-style: none; padding-left: 0px; }
.who_list li{ position: relative; padding: 12px 0px 12px 34px; border-bottom: 1px solid #e6e9ef; font-size: 16px; line-height: 24px; }
/* SVG check mark rather than a Font Awesome pseudo-element: the FA kit loads
   under a family name that varies by version, which renders tofu. */
.who_list li:before{ content:""; position:absolute; left:0px; top:14px; width:19px; height:19px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e4491' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 L9 17 L4 12'/%3E%3C/svg%3E") no-repeat center center; background-size: contain; }

/* --- Stat strip --- */
.stat_strip{ display:flex; justify-content: space-between; flex-wrap: wrap; margin-top: 30px; }
/* flex-based so the strip adapts to however many tiles it holds, rather than
   a fixed 23% that orphans a fifth tile onto its own row */
.stat_box{ flex: 1 1 0; min-width: 110px; text-align:center; padding: 18px 10px; }
.stat_box .stat_num{ display:block; font-size: 40px; line-height: 46px; font-weight: 800; color:#1e4491; }
.stat_box .stat_lbl{ display:block; font-size: 13px; line-height: 18px; text-transform: uppercase; letter-spacing: 1px; color:#555; margin-top: 6px; }

/* --- Sponsorship pillars --- */
.pillars{ display:flex; flex-wrap: wrap; justify-content: space-between; margin-top: 25px; }
.pillar{ width: 48%; text-align:left; background:#f6f8fb; border-left: 4px solid #1e4491; border-radius: 4px; padding: 22px 24px; margin-bottom: 20px; }
.pillar h3{ font-size: 22px; line-height: 28px; font-weight: 700; color:#1e4491; margin-bottom: 8px; }
.pillar p{ font-size: 15px; line-height: 24px; color:#333; margin-bottom: 0px; }

/* --- Sponsor tier placeholder table --- */
.tier_table{ width:100%; margin-top: 25px; border-collapse: collapse; text-align:left; }
.tier_table th{ background:#0a1a2f; color:#ffffff; font-size: 13px; letter-spacing: 1px; text-transform: uppercase; padding: 12px 15px; }
.tier_table td{ border-bottom: 1px solid #e6e9ef; padding: 14px 15px; font-size: 15px; line-height: 22px; vertical-align: top; }
.tier_table td.tier_name{ font-weight: 700; color:#1e4491; white-space: nowrap; }
.placeholder_txt{ color:#8a93a3; font-style: italic; }

/* --- Timeline (long-term vision) --- */
.timeline{ position: relative; margin-top: 30px; text-align:left; }
.timeline:before{ content:""; position:absolute; left: 14px; top: 8px; bottom: 8px; width: 2px; background:#dfe3ea; }
.tl_item{ position: relative; padding: 0px 0px 30px 50px; }
.tl_item:before{ content:""; position:absolute; left: 7px; top: 6px; width: 16px; height: 16px; border-radius: 50%; background:#1e4491; border: 3px solid #ffffff; box-shadow: 0 0 0 2px #1e4491; }
.tl_item h3{ font-size: 24px; line-height: 30px; font-weight: 700; color:#101010; margin-bottom: 6px; }
.tl_item p{ font-size: 16px; line-height: 26px; color:#333; }

/* --- Critical technology areas grid --- */
.tech_grid{ display:flex; flex-wrap: wrap; justify-content: space-between; margin-top: 25px; }
.tech_card{ width: 32%; text-align:left; border: 1px solid #e6e9ef; border-radius: 6px; padding: 20px; margin-bottom: 18px; }
.tech_card .tech_code{ display:inline-block; font-size: 11px; font-weight: 800; letter-spacing: 1px; background:#0a1a2f; color:#ffffff; border-radius: 3px; padding: 3px 8px; }
.tech_card h3{ font-size: 18px; line-height: 24px; font-weight: 700; margin: 10px 0px 6px 0px; color:#1e4491; }
.tech_card p{ font-size: 14px; line-height: 22px; color:#444; margin-bottom: 0px; }

/* --- Placeholder image frame --- */
.img_placeholder{ position: relative; width: 100%; border: 2px dashed #c3cbd8; border-radius: 8px; background:#f6f8fb; color:#8a93a3; text-align:center; padding: 60px 20px; font-size: 14px; letter-spacing: 1px; text-transform: uppercase; }

/* --- Contact / CTA --- */
.cta_box{ background:#0a1a2f; color:#ffffff; border-radius: 8px; padding: 45px 30px; text-align:center; }
.cta_box h2{ color:#ffffff; font-size: 40px; line-height: 46px; font-weight: 800; }
.cta_box p{ color:#cfd8e6; font-size: 17px; line-height: 27px; }
.cta_contact{ margin-top: 25px; font-size: 16px; line-height: 28px; color:#ffffff; }
.cta_contact .placeholder_txt{ color:#94a2ba; }

@media handheld, only screen and (max-width: 900px) {
  .nssis_hero h1{ font-size: 34px; line-height: 40px; }
  .nssis_hero .hero_meta{ font-size: 16px; line-height: 22px; }
  .day_card{ width: 100%; margin-bottom: 20px; }
  .pillar{ width: 100%; }
  .tech_card{ width: 100%; }
  .stat_box{ flex: 0 0 50%; }
}

/* --- Secondary page hero (compact navy band) --- */
.page_hero .nssis_hero{ padding: 38px 20px 34px 20px; }
.page_hero .nssis_hero h1{ font-size: 44px; line-height: 50px; }
.page_hero .hero_eyebrow a{ color:#c8a24a; letter-spacing: 3px; }
.page_hero .hero_eyebrow a:hover{ color:#e0bd67; }

/* --- Explore cards (cross-links between pages) --- */
.explore_cards{ display:flex; flex-wrap: wrap; justify-content: space-between; margin-top: 20px; }
.explore_card{ display:block; width: 32%; text-align:left; background:#ffffff; border:1px solid #dfe3ea; border-top:5px solid #1e4491; border-radius:6px; padding: 24px 22px; color:#243044 !important; transition: box-shadow .15s ease, transform .15s ease; }
.explore_card:hover{ box-shadow: 0 6px 18px rgba(10,26,47,.12); transform: translateY(-2px); }
.explore_card h3{ font-size: 22px; line-height: 28px; font-weight: 700; color:#1e4491; margin-bottom: 8px; }
.explore_card p{ font-size: 14px; line-height: 22px; color:#444; margin-bottom: 14px; }
.explore_cta{ font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color:#1e4491; }

@media handheld, only screen and (max-width: 900px) {
  .page_hero .nssis_hero h1{ font-size: 30px; line-height: 36px; }
  .explore_card{ width: 100%; margin-bottom: 18px; }
}

/* Parent theme underlines links inside content sections; suppress it for the
   subnav and for the explore cards (whole card is an anchor). */
.subnav ul li a,
.explore_card,
.explore_card h3,
.explore_card p,
.explore_card .explore_cta{ text-decoration: none !important; }

/* Under 767px the type inside the banner image is too small to read, so show a
   plain-text hero summary beneath it. */
@media handheld, only screen and (max-width: 1000px) {
    .head_desk{display: none;}
}
@media handheld, only screen and (min-width: 1000px) {
    .head_mob{display: none;}
}
@media handheld, only screen and (max-width: 767px) {
  .hero_mobile_msg{ display: block; text-align: center; padding: 22px 18px 26px 18px; }
  .hero_mobile_msg .hero_eyebrow{ font-size: 11px; line-height: 16px; letter-spacing: 2px; text-transform: uppercase; color:#c8a24a; font-weight: 700; }
  .hero_mobile_msg h1{ color:#ffffff; font-size: 26px; line-height: 32px; font-weight: 800; margin: 10px 0px 8px 0px; }
  .hero_mobile_msg .hero_meta{ font-size: 15px; line-height: 21px; color:#dfe6f2; font-weight: 300; }
  .hero_mobile_msg .hero_tag{ display:inline-block; margin-top:14px; border:1px solid rgba(255,255,255,0.5); border-radius: 40px; padding: 5px 14px; font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color:#ffffff; }

.subnav ul{ margin:0px; padding:10px 0px !important }
.subnav ul li{ margin:5px 8px;padding:0px }
.subnav ul li a{ padding:0px; font-size:12px !important }
section h2.sec_ttl{ font-size:30px !important; line-height:1.4 !important }
.sec_banner_info{ text-align:center !important; }

}



