/* ost2021.css
* 2021 Edition Site for One Stop Travel Center of Orlando LLC
* May 2021
*/
:root {
  --ost2021-yellow: #F7DB1C;
  --ost2021-orange: #FE8615;
  --ost2021-blue: #1FA5DA;
  --header-footer-bg: #2C4456;
  --nav_rollover: var(--ost2021-blue);
  --advantage-tab-color:#1A3144;
  --strategy-tab-color:#A39B8B;
  --strategy-tab-color-translucent:#A39B8B80;
  --products-services-tab-color: #FCEFC8;
  --slider-background: #EEEEEE;

  --header-height: 6em; /* 110px;  /* 6vw; */
  --covid-notice-height: 0em; /* 7em */
  --total-header-height: calc(var(--header-height) + var(--covid-notice-height));
  --nav-and-hdr-btn-fsize:0.9em;
  --footer-fsize:var(--nav-and-hdr-btn-fsize);
}

*,
::before,
::after {
  box-sizing: border-box;
}

body {
  margin: 0px;
  padding: 0px;
  background-color: black;
  color: white;
  font-family: Helvetica, Arial, sans-serif;
  font-size:1.5vw;
  font-size:max(min(1.5vw,1.2em),1rem); /* 1rem = 16px */
  padding-top: var(--covid-notice-height); /* offset body content by fixed-element height */
}
/* body.show_covid_notice {
  --covid-notice-height: 6em;
} */

body .hide {
  display: none !important;
}

body a:link,
body a:visited,
body a:hover,
body a:active {
  color:white;
}

#debug_div {
  min-width: 200px;
  min-height: 50px;
  background-color: rgba(255, 192, 0, 0.3);
  color: white;
  font-weight: bold;
  position: fixed;
  top: 90px;
  right: 20px;
  padding: 5px;
}

.bold {
  font-weight: bold;
}
.centered {
  text-align: center;
}
.anchor {
  cursor:pointer;
}
.input_error {
  border:1px solid red;
  background-color: pink;
}

#go_to_top {
  display:none;
  position:fixed;
  bottom:3em;
  right:1.5em;
  z-index:200;
  cursor:pointer;
  height:auto;
  width:50px;
}
#go_to_top.show {
  display:block;
}

/* -- FOOTER BLOCK -- */
footer {
  /* min-height: 4em; */
  padding: 2em 5%;
  background-color: var(--header-footer-bg);
  /* display:grid; */
  grid-template-columns: 1.25fr repeat(3,1fr);
  column-gap: 1em;
  font-size: var(--footer-fsize);
}

footer h2 {
  font-weight: normal;
}

.old footer .social_links {
  display:grid;
  grid-auto-flow: column;
  /* column-gap:1em; */
  justify-content:space-evenly;
}

.social_links a {
  display:inline-block;
  width:2em;
}
.social_links a + a {
  margin-left:1em;
}

footer > div + div {
  padding-top:1em;
}

.footer_logo {
  padding:1em 0px;
  max-width:10vw;
  margin:0 auto;
}

.footer_copyright_line {
  width:350px;
  padding:1em 0px;
  margin:0 auto;
  text-align: center;
}

.footer_logo img,
.social_links img {
  display:block;
  height: auto;
  width:100%; /* respect size of container! */
}
.old .social_links img {
	width: 65%;
}

.contact_panel .phone_and_email,
footer .phone_and_email {
  display:grid;
  grid-template-columns: 42px 1fr; /* auto 1fr doesn't work in mac-firefox :(*/
  row-gap: 1em;
  column-gap:1em;
  align-items: center;
}

.phone_and_email a {
  text-decoration: none;
}

.phone_and_email img {
  display:block;
  height:auto;
  width:100%;
}

.phone_and_email div {
  color:var(--nav_rollover);
}

.phone_and_email a:link,
.phone_and_email a:visited,
.phone_and_email a:hover,
.phone_and_email a:active,
.quick_links a:link,
.quick_links a:visited,
.quick_links a:hover,
.quick_links a:active
 {
  color:white;
  text-decoration: none;
  display: block;
}

.contact_panel .phone_and_email a:hover,
footer .phone_and_email a:hover,
footer .quick_links a:hover {
  color:var(--nav_rollover);
}

.quick_links a + a {
  margin-top:0.5em;
}

/* -- COVID NOTICE BOX -- */
.covid-notice {
  height: var(--covid-notice-height);
  /* transition: height 200ms linear; */
  position: fixed;
  top:0px;
  background-color:white;
  color:black;
  overflow: hidden;
  display:grid;
  column-gap:1em;
  grid-template-columns: 1fr 12vw;
  align-items: center;
}
body.show_covid_notice .covid-notice {
  padding: 0.5em;
  border-top:3px solid var(--ost2021-orange);
}
.verbiage-col {
  font-size:1.4vw;
  font-size:max(1.4vw,0.87rem);
}
.covid-notice img {
  height:auto;
  width:1.5em;
  vertical-align: middle;
}
.covid-notice p {
  margin: 0 0 0 2.75em;
  font-size:0.7em;
}
.close-button-col {
  padding:1em;
  border-left:1px solid lightgray;
  /* display:flex;
  align-items: center; */
}
.dismiss-covid-notice {
  width: 100%;
  height: 2em;
  font-size:1em;
}
.covid-notice a:link,
.covid-notice a:visited,
.covid-notice a:hover,
.covid-notice a:active {
  color:var(--ost2021-blue);
}
body section {
  position:relative; /* help obscure covid-box element */
}

/* -- HEADER BLOCK -- */
header,
.home_page .header_placeholder {
  height: var(--header-height);
}
/* special offset for initial container */
/* section.homepage_sec */
.home_page section:first-of-type {
  margin-top: calc( -1 * var(--header-height) ); /* --total-header-height */
  /* transition:margin 200ms linear; */
}
body.debug .header_placeholder {
  z-index:150;
  position:relative;
  background-color:#FF000040;
}

header {
  display: grid;
  grid-template-columns: auto 50% auto;
  grid-template-rows: 1em auto;
  align-items: center;
  padding: 0.5em 1.5em 0em;
  z-index: 100;
  position: sticky;
  top: 0; /* var(--covid-notice-height); */
  /* transition: top 200ms linear; */
  color: white;
  background-color: var(--header-footer-bg);
  /* font-weight: bold; */
  /* font-size: 1.1em; */
  grid-template-areas: ". lang lang" "logo nav btn";
}
/* body.show_covid_notice header {
  top: var(--covid-notice-height);
} */

.home_page header {
  background-color: transparent;
}
header.black_out {
  background-color: var(--header-footer-bg);
}

/*
 * ---- LANGUAGE CHOICE LINK/MENU ----
 */
.language_choice {
  grid-area: lang;
  justify-self: end;
  color:gray;
  text-decoration: none;
}
header.black_out .language_choice {
  color:white;
}
.language_choice a {
  font-size:0.75em;
  text-decoration: none;
}
.language_toggle input {
  display: none;
}
.language_toggle label {
  margin-bottom: 0;
  position:relative;
  cursor: pointer;
  display: inline-flex;
  column-gap:0.5em;
  font-size:0.8em;
}
.fake-toggle {
width: 2.5rem;
position: relative;
height: 1.25rem;
border-width: .125rem;
border-radius: 1rem;
line-height: 1.25;
font-size: 1em;
flex: 0 1 auto;
background-color: var(--ost2021-blue); /* #cbced1; */
border-color: var(--ost2021-blue); /* #cbced1; */
}
input.language-toggle:checked ~ .fake-toggle.toggle-color {
background-color: #1d74f5;
border-color: #1d74f5;
}
.fake-toggle::before {
content: '';
width: 1rem;
height: 1rem;
position: absolute;
border-radius: 1rem;
background-color: currentColor;
color: white;
top: 0.125rem;
left: 0.125rem;
transition: left 0.25s ease;
}
input.language-toggle:checked ~ .fake-toggle::before {
  left:calc(100% - 1.125rem);
}
label[data-new-lang="es"] span.en,
label[data-new-lang="en"] span.es {
  color: var(--ost2021-blue);
  font-weight: bold;
}


/*
 * ---- NAVIGATION ----
 */
.nav_wrapper { /* nav element lives INSIDE this container */
  position: relative;
  grid-area: nav;
  width:100%;
}

nav {
  display: grid;
  grid-template-columns: repeat(4, auto);
  column-gap:0.5em;
  align-items: center;
  justify-content: space-between;
  font-size:1em;
}
nav .nav_btn,
.nav_burger,
button {
  cursor: pointer;
}
/* hamburger placeholder */
.nav_burger {
  display: none;
  padding: 5px; /* provide space to click/tap on */
  color:var(--ost2021-blue);
}
nav .nav_btn {
  padding: 0.45em 0em;
  position: relative;
  /* text-align: center; */
  /* height: 35px; */
  font-size: var(--nav-and-hdr-btn-fsize);
}

.nav_btn .sub_nav.old {
  font-weight: bold;
  left: -50%;
  width: 200%;
  font-size: 2em;
  height: 3em;
  line-height: 3em;
}

.nav_btn .sub_nav {
  display: none;
  position: absolute;
  top: 2em;
  background-color: white;
  text-align: left;
  border:1px solid gray;
  min-width:10.75em;
}

.nav_btn > a:link,
.nav_btn > a:visited,
.nav_btn > a:hover,
.nav_btn > a:active {
  color:var(--ost2021-blue);
  text-decoration: none;
}
header.black_out .nav_btn > a:link,
header.black_out .nav_btn > a:visited,
header.black_out .nav_btn > a:hover,
header.black_out .nav_btn > a:active {
  color:white;
}

/* only color on hover if blackout is in effect (for homepage)! */
/* body:not(.home_page) .nav_btn:hover,
body:not(.home_page) .nav_btn:hover > a,
.black_out nav .nav_btn:hover, */
.nav_btn:hover > a,
header.black_out .nav_btn:hover > a {
  color:var(--nav_rollover);
}

/* help nav a tags render well */
.sub_nav a:link,
.sub_nav a:visited,
.sub_nav a:hover,
.sub_nav a:active {
  color:black;
  text-decoration: none;
}

.nav_btn:hover .sub_nav {
  display: block;
}

.sub_nav a,
.sub_nav div {
  padding:0.5em 1em;
  color:black;
  display:block; /* for the anchor tag */
}
.sub_nav a:hover,
.sub_nav div:hover {
  background-color:var(--nav_rollover);
}

.products_services .sub_nav {
  min-width: 12em;
}

/* the following not needed because the nav class uses justify-content:space-between */
/* .products_services,
.ost2021_advantage,
.about_nav,
.contact_us {
  justify-self: center;
} */

.demo_btn_nav {
  grid-area: btn;
  justify-self: right;
}

.site_logo .mega_cap.old {
  font-size: 3em;
  display: inline-block;
  vertical-align: middle;
  line-height: 1em;
}

.site_logo img {
  /* max-height: 7vw; /* 50px; */
  align-self: center; /* will this work inside a grid member child? */
  height:3.5em;
  margin-top:-25px;
}

header:not(.black_out) .site_logo img.white_logo,
header.black_out .site_logo img.blue_logo {
  display:none;
}

.site_logo {
  grid-area:logo;
}

.orange_btn,
.big_red {
  padding: 0.45em;
  border: 0px;
  background-color: red;
  color: white;
  /* font-weight: bold; */
  font-size: var(--nav-and-hdr-btn-fsize);
}
.orange_btn {
  background-color: var(--ost2021-orange);
}

div.tall_div {
  /* cause page to always have to scroll */
  min-height: 100vh;
}

/*
 *  -- UTILITY CLASSES --
 */
 .outline_all, .outline_all * {
  outline:2px solid rgba(255, 0, 0, 0.25);
}

body.show_hover_outline .hover_outline:hover *,
.outline_children,
.outline_children * {
  outline: 1px solid #c9f29d40;
}
body.show_hover_outline .hover_outline_dark:hover * {
  outline: 1px solid #360D6240;
}

body.outline_section .section_content * {
  outline: 1px solid pink;
}

/*
 * ---- CONTENT ----
 */
section {
  min-height: 1em;
  color: black;
  padding-top: 1px; /* negate heading margins crossing container boundary */
}

.old section.homepage_sec {
  background-image: url("/assets/images/MainPanelBG2.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: right top; /* keep umbrella in view */
  min-height: 40vw; /* based on proportion of image */
}

/* section */.homepage_sec {
  padding: 1px 1.5em 2em;
  min-height: 55vw; /* 720/1280 = 0.5625 */
  color: white;
  background-color: #deb887; /* color to present until video appears */
  overflow:hidden;
  position: relative;
}

#video_bg {
  position: absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  width:100%;
  height:auto;
}

.section_content {
  position: relative;
  text-align: center;
  /* width:100%;
  top:50%;
  left:0;
  transform: translateY(-50%); */
}

.section_content.old {
  display: grid;
  grid-template-columns: 53% auto;
}

.homepage_sec h1,
.homepage_sec h3 {
  margin: 1em auto;
  font-weight: normal;
  /* line-height: 1.25; */
}
.homepage_sec h1 {
  /* font-size: 3.75vw; /* adjust header font size based on browser width */
  margin-top:0.8em;
  margin-bottom:0.5em;
  font-size:3.25em;
}
.homepage_sec h3 {
  margin-bottom:2em;
  font-size:1.75em;
}

.homepage_sec p {
  font-size:0.9em;
  line-height: 1.25;
  /* width:54%; */
  margin:0.75em auto 0.75em 0px;
}
 
.homepage_sec h1 {
  color:var(--ost2021-orange);
}
.homepage_sec h3,
span.green_letters {
  color: var(--nav_rollover);
}

div.centered_btn {
  text-align: center;
}

button.blue_btn,
button.section_btn,
button.mission_about_btn,
button.submit_btn,
button.clear_btn {
  padding: 0.5em;
  background: transparent;
  border: 1px solid var(--ost2021-blue);
  border-radius: 0.5em;
  font-size: 1em;
  font-weight: bold;
  color: white;
}
button.submit_btn,
button.section_btn {
  color:var(--ost2021-blue);
}
button.blue_btn {
  background-color:var(--ost2021-blue);
}

/* div.demo_btn_sec button.clear_btn:hover {
  background-color: var(--ost2021-orange);
  border-color:var(--ost2021-orange);
} */

button.blue_btn:hover,
button.clear_btn:hover,
button.submit_btn:hover,
button.section_btn:hover,
button.mission_about_btn:hover {
  background-color:var(--ost2021-orange);
  border-color:var(--ost2021-orange);
}
button.submit_btn:hover,
button.section_btn:hover {
  color:white;
}
/*
 *  section panels for homepage
 */
section.innovation_panel {
  padding: 1em 10% 3em;
  background-color: white;
  display: grid;
  grid-template-areas: "H H" "L R";
  grid-template-rows: 1fr auto;
  grid-template-columns: 3fr 2fr;
  column-gap: 3em;
}

.innovation_panel .animation_debug_div {
  position: absolute;
  top:0px;
  left:50%;
  transform:translate(-50%,0);
}

.innovation_panel .animation_debug_div span {
  display:block;
  padding:0.5em;
  background-color:rgba(128,128,128,0.75);
  color:white;
  font-weight: bold;
}

.innovation_panel .threshold_above,
.innovation_panel .threshold_below {
	border: 1px solid limegreen;
	width: 100%;
	position: absolute;
	left: 0;
  top: 85%;
  z-index: 20;
}
.innovation_panel .threshold_below {
  top:95%;
}

.innovation_panel h1 {
  grid-area: H;
  text-align: center;
  font-size:2.25em;
  font-weight: normal;
  margin:0.5em auto 0.25em;
}
.innovation_panel .left_col {
  grid-area: L;
  font-size:1em;
}
.old .innovation_panel .left_col p:last-of-type {
  margin-bottom:0px;
}
.innovation_panel .right_col {
  grid-area: R;
  align-self: end;
  height: 100%;
}

.chart_with_icons {
  display: grid;
  border-bottom: 1px solid black;
  grid-template-columns: repeat(6,1fr) 5%;
  align-items: end;
}

.padded_bar {
  margin-left: 25%;
  display:grid;
  grid-template-rows: 1fr auto;
  align-items: end;
}

.padded_bar img {
  display: block;
  height: auto;
  width: 100%;
  padding:8px;
}

.padded_bar .bluebar {
  background-color:var(--ost2021-blue);
  border:1px solid var(--ost2021-blue);
  transition:height 1s ease;
  position: relative; /* support absolute positioned elements within bars */
}
.not .padded_bar .bluebar::before {
  content:attr(data-title);
  color:white;
  position: absolute;
  top:0;
  left:0;
  white-space: nowrap;
  transform: rotate(90deg);
  transform-origin: 0.75em 1em;
  opacity:0;
  transition:opacity 1s ease;
}
.uniform .padded_bar .bluebar::before {
  opacity:1;
}

.padded_bar:nth-child(1) .bluebar {
  height: 3em;
}
.padded_bar:nth-child(2) .bluebar {
  height: 5.5em;
}
.padded_bar:nth-child(3) .bluebar {
  height: 2.75em;
}
.padded_bar:nth-child(4) .bluebar {
  height: 3.5em;
}
.padded_bar:nth-child(5) .bluebar {
  height: 6em;
}
.padded_bar:nth-child(6) .bluebar {
  height: 2.5em;
}
.uniform .padded_bar .bluebar {
  height:10.5em; /* was 12em, content height of panel too short for 12em bar height */
}

/* -- MISSION PANEL -- */
section.mission_panel {
  padding: 2.5em 5%;
  background-color:#01182B;
  background-image: url("/assets/images/OST_MissionBG.jpg");
  background-size: cover;
  background-position: bottom center;
  background-repeat: no-repeat;
  color: white;
}

.mission_panel h1 {
  font-size: 2em;
  margin:0 auto 0.5em;
}
.mission_panel p {
  font-size: 1.25em;
  line-height: 1.25;
}
/* fade-in effect on page scroll */
.mission_panel * {
  opacity: 0;
  transform: translate(0, 2rem);
  transition: opacity 0.25s ease-in, transform 0.25s ease-in;
}
.mission_panel.show_content * {
  opacity: 1;
  transform: translate(0, 0);
}

/* -- PRODUCTS SERVICES PANEL -- */
section.products_services_panel {
  padding:2em 5%;
  background-color: var(--products-services-tab-color);
  overflow:hidden;
}

.strategy_details::before,
.strategy_details::after,
.not .products_services_panel::before,
.not .products_services_panel::after {
  content:'';
  position: absolute;
  left:50%;
  top:0px;
}
.not .strategy_details::before,
.not .products_services_panel::before {
  transform: translate(-50%,-50%);
  width:4em;
  height:4em;
  border-radius:50%;
  /* background-color:var(--advantage-tab-color); */
  background-color:var(--ost2021-blue);
}
.not .strategy_details::after,
.not .products_services_panel::after {
  width:1.8em;
  height:1.8em;
  background-color:white;
  transform:rotate(45deg) translate(-70%,0%);
}
.not .strategy_details::before {
  background-color:var(--strategy-tab-color);
}

.products_services_panel h1 {
  font-size:2em;
  font-weight: normal;
  margin:auto;
}
.products_services_panel h2 {
  margin:0.25em auto;
}

.thirds_grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  row-gap: normal;
  column-gap: normal;
}

.thirds_grid > div {
  text-align: center;
  padding:1.25em 2em;
}
.thirds_grid p {
  font-size:0.9em;
  margin:0.5em auto;
}
.thirds_grid div img {
  display: block;
  height: auto;
  width: 40%;
  margin: auto;
}
.thirds_grid a:link,
.thirds_grid a:visited,
.thirds_grid a:hover,
.thirds_grid a:active {
  color:var(--ost2021-orange);
  text-decoration: none;
}

.products_services_panel img {
  opacity:0;
  transition:opacity 0.5s ease;
}
.products_services_panel.show_content img {
  opacity:1;
}

.notbold {
  font-weight: normal;
}

/* -- CRAWLER PANEL -- */
section.crawler_panel {
  --crawler-height: 7vw;
  --icon-height:4vw;
  /* padding:0 5%; */
  background-color: var(--slider-background);
  min-height: var(--crawler-height);
}
.crawler_wrapper, .crawler_wrapper * {
  position: relative;
}
.crawler_wrapper, .crawler_viewport {
  height: var(--crawler-height);
}
.crawler_viewport {
  width: 100%;
  overflow: hidden;
}
.crawler_cell {
  white-space: nowrap;
}
.marquee0 img,
.crawler_cell img {
  max-height: var(--icon-height);
  display:inline-block;
  margin-right:6em;
}
.crawler_panel::before {
  content:'';
  position: absolute;
  width: 100%;
  height:15px;
  top:-15px;
  background-color: white;
}

/* -- SLIDER PANEL -- */
section.slider_panel {
  padding:0 5%;
  background-color: var(--slider-background);
  min-height: 11vw; /* 144px; */
}
.slider_wrapper, .slider_wrapper * {
  position:relative;
}
.slider_wrapper, .slider_viewport {
  height: 11vw; /* 144px; */
}
.slider_viewport {
  width:100%;
  overflow:hidden;
}
.slide.current {
  z-index:4;
  opacity:1;
  left:0;
}
.slide.prev {
  z-index:5;
  left:-100%;
  opacity:1;
  /* background-color:purple; */
}
.slide.next {
  z-index:5;
  /* left:100%; */
  opacity:1;
  /* background-color:pink; */
}
.not .slide.current {
  left:0%;
  right:0%;
}
.not .slide.animate {
  transition:left 1s ease, right 1s ease;
  /* margin-left:0%;
  margin-right:0%; */
  opacity:1;
}
/* .slide1, .slide2, .slide3, */
.slide {
  width:100%;
  position: absolute;
  left:100%;
  top:1.5vw; /* 20px; */
  background-color:var(--slider-background);
  text-align:center;
  opacity:0;
  /* transition:margin-left 1s ease, margin-right 1s ease; */
  transition:left 1s ease, right 1s ease;
}
.slide img {
  max-height: 8vw; /* 104px; */
}
.slider_wrapper .controls {
  z-index:10;
  font-size:2.5em;
  height:3em;
  position: absolute;
  top:0px;
  left:0px;
  width:100%;
}
.controls .left_arrow {
  left:0px;
}
.controls .right_arrow {
  right:0px;
}
.controls .left_arrow,
.controls .right_arrow {
  position: absolute;
  top:50%;
  transform: translate(0,-50%);
  padding:1em 0.5em;
  cursor:pointer;
  width:2em;
  color:darkgray;
}
.controls .left_arrow:hover,
.controls .right_arrow:hover {
  color:black;
}

/* -- DNA PANEL -- */
section.dna_panel {
  padding:2.5em 5%;
  background-color: var(--ost2021-blue);
  background-image: url("/assets/images/happy.png");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 40%;
  color:white;
}

.dna_panel div:first-child {
  margin-left: auto;
  width:60%;
}

.dna_panel h1 {
  font-size:2em;
  font-weight: normal;
  margin:auto;
}

.dna_panel p {
  line-height: 1.25;
  font-size:1.25em;
}
.yellow_header {
  color:var(--ost2021-yellow);
}
.orange_header {
  color:var(--ost2021-orange);
}

/* -- CONTACT PANEL -- */
section.contact_panel {
  display:flow-root; /* prevent header margin from escaping container */
  padding:0 5% 2.5em;
  background-color:white;
  color:var(--ost2021-blue);
}

.two-col {
  display:grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 1em;
}
.two-col iframe {
  width: 100%;
}

.phone_and_email div {
  color:var(--ost2021-blue);
}
.contact_form_wrapper input,
.contact_form_wrapper select,
.contact_form_wrapper textarea {
  font-size:1em;
  width:100%;
  margin:1em auto;
  display: block;
  padding:0.25em;
}
.contact_form_wrapper textarea {
  font-family: Arial, Helvetica, sans-serif;
}
.name_row {
  margin: 0 auto -1em;
  display:grid;
  grid-template-columns: 4em 1fr 1fr;
  column-gap: 0.5em;
}
/* .name_row input,
.name_row select {
  width:40%;
  display:inline-block;
} */
/* .name_row */ select { /* apply to all select elements */
  /* width:13%; */
  height:1.8em; /* help height match text input */
}
.text-black {
  color:black;
}

.submit_result {
  display:none;
}
.submit_result.show {
  display:block;
  margin:1em auto;
  text-align: center;
  color:black;
  border:2px solid red;
  background-color:pink;
  max-width: 400px;
  padding:0.25em;
}
.submission_successful {
  margin:1em auto;
  text-align: center;
  max-width: 400px;
  padding:1em;
  border:2px solid green;
  background-color:lightgreen;
  color:black;
}
.contact-left-column {
  color: var(--ost2021-blue);
  font-size: 60px;
  line-height: 1;  
}
.arrow-line-svg {
  width: 360px;
  max-width: 100%;
}
.arrow-line {
  stroke: var(--ost2021-blue);
}

/* -- INCENTIVES PAGE -- */
section.incentives_sec {
  padding:2.5em 5%;
}

.incentives_sec h1 {
  font-size:2em;
  font-weight: normal;
  margin:auto;
  color:white;
}

.incentives_sec p {
  color:white;
  font-size:1.25em;
  line-height: 1.25;
}

/* -- ABOUT US PAGE -- */
section.about_sec {
  padding:2.5em 5%;
  color:white;
  background-color:#4c4c4c;
}

.about_sec h1 {
  font-size:2em;
  font-weight: normal;
  margin:auto;
}

.about_sec p {
  font-size:1.25em;
  line-height: 1.25;
}
.about_sec a:link,
.about_sec a:visited,
.about_sec a:hover,
.about_sec a:active {
  color:var(--ost2021-blue);
  text-decoration: underline;
}

/* -- CONSUMER STRATEGY PAGE -- */

section.strategy_sec {
  display:flow-root; /* prevent header margin from escaping container */
  padding:0 1.5em;
  background-image: url('/assets/images/OST_Adv_HeadPanelBG.jpg');
  background-size:cover;
  background-repeat: no-repeat;
  color:black;
  height:20.85em;
}

.strategy_sec h1 {
  font-size:2.12em;
  font-weight: normal;
  margin:1em 0px;
  line-height: 1.25;
}

.strategy_sec h1.old {
  position: absolute;
  bottom:0px;
}

.strategy_sec h1 + h1 {
  margin-top:2em;
  /* font-size:2em; */
}
span.blue_letters2 {
  color:var(--ost2021-blue);
}

/* -- DETAILS PANEL -- */
section.strategy_details {
  padding:3.5em 5% 2em;
  background-color:white;
  color:black;
  overflow:hidden;
}

.old .strategy_details::before,
.old .strategy_details::after {
  content:'';
  position: absolute;
  left:50%;
  top:0px;
}
.old .strategy_details::before {
  transform: translate(-50%,0%);
  width:4em;
  height:4em;
  border-radius:50%;
  /* background-color:rgba(73,42,42,0.5); */
  background-color:var(--strategy-tab-color-translucent);
  top:-3em;
}
.old .strategy_details::after {
  width:0em;
  height:0em;
  transform:translate(-50%,0%);
  border:0.5em solid transparent;
  border-top-color: white;
}

.strategy_details h1 {
  font-size:2em;
  font-weight: normal;
  margin:auto;
}
.strategy_details p {
  font-size:1.5em;
  line-height:1.25;
}

.strategy_grid {
  display:grid;
  grid-template-columns: repeat(3,1fr);
  column-gap:4em;
  justify-content:space-between;
}

.strategy_grid .icon_header_body {
  display:grid;
  grid-template-areas: "icon headline" "body body";
  grid-template-columns: minmax(4em, 25%) auto;
  grid-template-rows:5em auto;
  row-gap:1em;
}

.icon_header_body img {
  grid-area:icon;
  display:block;
  height:auto;
  width:3.5em;
}
.icon_header_body img.old {
  margin:0px auto auto 0px;
}
.icon_header_body h3 {
  grid-area:headline;
  margin-top:auto;
  font-size:1.25em;
  font-weight: normal;
}
.icon_header_body > div {
  grid-area:body;
}
.icon_header_body ul {
	padding-left: 1em;
}

.tech .icon_header_body img {
  margin:auto auto auto 0px;
}
.old .award .icon_header_body img {
  margin-left:0px;
}
.old .marketing .icon_header_body img {
  margin-left:0px;
}
.infrastructure .icon_header_body img {
  /* margin-left:0px; */
  /* margin-top:0px; */
  width:3.5em;
}
.cust_strategy .icon_header_body img {
  width:2.75em;
  /* margin-left:0px; */
  /* margin-top:0px; */
}
.analytics .icon_header_body img {
  /* margin-left:0px; */
  margin-top:0.5em;
}

/* -- REQUEST DEMO PANEL -- */
section.request_demo_panel {
  display:flow-root; /* prevent header margin from escaping container */
  padding:0 5% 1em;
  background-color:white;
  color:black;
}
.request_demo_image {
  /* background-color:#DDD;
  height:100%; */
  display: flex;
  justify-content: center;
  overflow: hidden;
}
.request_demo_image img {
  width:auto;
  height:100%;
}
.request_demo_form {
  display: flex;
  align-items: center;
}
.request_demo_form form {
  flex-grow:1;
}
.request_demo_panel input,
.request_demo_panel select {
  font-size:1em;
  margin:1em auto;
  display: block;
  width:100%;
  /* max-width: 400px; */
}
.demo_form_verbiage {
  text-align: center;
}
.demo_name_row {
  display:grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 0.5em;
  /* max-width: 400px; */
  margin-bottom:-1em;
}
/* only need this for inline recaptcha box within form */
.not .g-recaptcha > div {
  margin:0 auto 0.5em;
}
.g-recaptcha > div {
  display:none; /* hide bottom corner 'bug' icon */
}

/* -- DEMO REQUEST BAR -- */
.demo_request_bar  {
  background-color:var(--ost2021-blue);
  color:white;
  font-size:2em;
  line-height: 1.5;
}
.demo_request_bar a {
  display:block;
  padding:0.25em;
  width:100%;
  text-align: center;
}
.demo_request_bar a:link,
.demo_request_bar a:visited,
.demo_request_bar a:hover,
.demo_request_bar a:active {
  color:white;
  text-decoration: none;
}

/*
 * ---- RESPONSIVE (MOBILE RENDER) RULES ----
 */
@media (max-width: 1366px) {
  .old header, .old .header_placeholder {
    height:8vw;
  }
  .old section:first-of-type {
    margin-top:-8vw;
  }
  /* stupid browser width tricks */
  .old section:first-of-type .section_content {
    height: 34.3vw;
  }
}

/* lock font-size beyond this width */
@media (min-width: 1281px) {
  body {
    font-size:1.2em;
  }
  .covid-notice {
    grid-template-columns: 1fr 8em;
  }
  .verbiage-col {
    font-size:0.932em;
  }
}

/* speculative media queries to help resolve specific render issues */
@media (max-width: 900px) {
  /* header,
  .header_placeholder {
    height: 95px;
  } */
  .old section {
    margin-top: -95px;
  }
  #debug_div {
    top: 100px;
  }
  .old .nav_wrapper {
    justify-self: center; /* don't need because width is 100% */
  }
  .old nav {
    max-width: 280px;
  }
  .old nav .nav_btn {
    height: 60px;
  }
  .old .nav_btn .sub_nav {
    top: 60px;
  }
  .not .nav_btn.about_nav {
    padding-top: 1em;
  }
  .demo_btn_nav {
    max-width: 115px;
  }
  .innovation_panel h1 {
    font-size:2em;
  }
  .footer_logo {
    max-width: 25vw;
  }
}

@media (max-width: 768px) {
  :root {
    --covid-notice-height: 0em; /* 8em; */
  }
  body {
    font-size:inherit;
  }
  .covid-notice {
    grid-template-columns: 1fr 7em;
  }
  .verbiage-col {
    font-size:1.8vw;
    font-size:max(1.8vw,0.87rem);
  }
  .homepage_sec h1 {
    font-size:2em;
    margin:0.5em auto;
  }
  .homepage_sec h3 {
    font-size:1.1em;
  }
  .homepage_sec p {
    font-size:0.8em;
  }
  section.innovation_panel {
    column-gap: 2em;
    padding:1em 5% 3em;
  }
  .innovation_panel h1 {
    font-size: 2em;
  }
  section.mission_panel {
    padding:2.5em 5%;
  }
  .strategy_grid {
    grid-template-columns: 1fr 1fr;
    column-gap:2em;
  }
  .request_demo_form {
    min-height: unset;
    display:block;
  }
  .request_demo_image {
    margin:0 auto;
    /* max-width:400px; */
    max-width:100%;
  }
  .about_sec p {
    font-size:inherit;
    line-height: inherit;
  }
  .contact_form_wrapper input,
  .contact_form_wrapper textarea,
  .contact_form_wrapper .name_row {
    max-width: 400px;
  }
  .contact_panel .two-col {
    grid-template-columns: auto;
  }
  .two-col {
    grid-template-columns: auto;
    column-gap: 0;
    row-gap: 1em;
  }
  .arrow-line-svg {
    display: none;
  }
}

/* speculative media query to shift "left_col" content to center of page and cease squeezing */
@media (max-width: 750px) {
  .site_logo img {
    height:3em;
  }
  .section_content {
    grid-template-columns: auto;
  }
  .left_col,
  .right_col {
    /* max-width: 360px; */
    margin: 0px auto 10px;
  }
  .not .homepage_sec h1 {
    text-align: center;
    font-size: 1.75em;
  }
  .homepage_sec p br {
    display:none; /* suppress line breaks */
  }
  .homepage_sec h1 span {
    text-shadow: 0px 0px 4px black; /* help blue letters appear over umbrella */
  }
}

@media (max-width: 650px) {
  /* header,
  .header_placeholder {
    height: 85px;
    max-height: 85px;
  } */
  :root {
    --covid-notice-height: unset;
  }
  body {
    padding-top:0px;
  }
  body .covid-notice {
    display:none;
  }
  body.show_covid_notice .covid-notice {
    grid-template-columns: auto;
    margin:0 0.5em;
    top:50%;
    transform:translateY(-50%);
    display:block;
    z-index:200;
    box-shadow: 0 0 6px gray;
  }
  .covid-notice p {
    font-size:inherit;
    margin:0 0 0 1.75em;
  }
  .close-button-col {
    display:flex;
    justify-content: center;
    border-left:none;
  }
  .dismiss-covid-notice {
    max-width: 250px;
  }
  header {
    align-content: center;
    grid-template-columns: repeat(3, auto);
    grid-template-areas: "lang lang lang" "logo nav nav";
  }
  .site_logo img {
    margin-top:0px;
  }
  .not .language_choice {
    display:none;
  }
  nav,
  .nav_burger {
    display: block;
  }
  nav.outline_orange {
    outline: 1px solid orange;
  }
  nav {
    position: absolute;
    top: 59px;
    right: -25px;
    width: 12em;
    box-shadow: 0px 0px 10px 0px black;
  }
  .nav_wrapper { /* hamburger menu */
    justify-self: right;
    width:auto;
  }
  .demo_btn_nav {
    grid-area: btn;
    justify-self: center;
  }
  .demo_btn_nav {
    display: none;
  }
  .nav_wrapper.responsive nav,
  .nav_wrapper.responsive nav .nav_btn,
  .nav_wrapper.responsive nav .nav_btn .sub_nav /* ,
  .nav_wrapper.responsive .nav_btn.about_nav */ {
    display: block;
  }
  nav .nav_btn /* ,
  .nav_btn.about_nav */ {
    display: none;
    border-radius: 0px;
    height: 2em;
    padding: 5px;
    border-top: 1px solid lightgray;
  }
  .nav_btn,
  .nav_btn .sub_nav {
    background-color: white;
    color: black;
  }
  .nav_btn .sub_nav {
    border-radius: 0px;
    padding: 9px 0px 5px;
    width: inherit;
    font-size: inherit;
    position: relative;
    height: 2em;
    top: inherit;
    left: inherit;
    line-height: inherit;
  }
  .not .nav_btn.products_services {
    height: 4em;
  }
  .products_services .sub_nav {
    min-width: 12em;
    left: -1em;
  }
  .nav_btn > a:link,
  .nav_btn > a:visited,
  .nav_btn > a:hover,
  .nav_btn > a:active {
    color:black;
  }

  nav .nav_btn:hover,
  nav .nav_btn .sub_nav:hover {
    background-color: lightgray;
  }
  .homepage_sec h1 {
    font-size:1.5em;
  }
  .homepage_sec h3 {
    font-size:0.8em;
    font-weight: bold;
  }
}

@media (max-width:600px) {
  .homepage_sec {
    min-height: 57vw;
    padding:1px 1.5em 1.5em;
  }
  .homepage_sec h1,
  .homepage_sec h3 {
    color:black;
    /* text-shadow:0 0 1px #777; */
  }
  #video_bg {
    width: auto;
    height:100%;
  }
  .strategy_grid {
    grid-template-columns: 1fr;
    column-gap:0;
    row-gap:1em;
  }
  .strategy_grid .icon_header_body {
    grid-template-columns: 5em auto;
    row-gap: 0;
  }
  .thirds_grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(3,1fr);
  }
  section.dna_panel {
    background-position:left 20px;
    background-size:85%;
  }
  .dna_panel div:first-child {
    margin-left: unset;
    width:auto;
    margin-top:26vw;
  }
  section.crawler_panel {
    --crawler-height:9vw;
    --icon-height:5vw;
  }
  .marquee0 > div {
    height:9vw !important;
  }
}

@media (max-width:500px) {
  .site_logo img {
    height:2.5em;
  }
  section.innovation_panel {
    grid-template-areas: "H" "R" "L";
    grid-template-columns: 1fr;
  }
  .thirds_grid {
    grid-template-columns: 1fr;
    grid-template-rows: unset;
  }
  .products_services_panel img {
    opacity:1;
  }
  section.crawler_panel {
    --crawler-height:11vw;
    --icon-height:8vw;
  }
  .marquee0 > div {
    height:11vw !important;
  }
}