/* motiva.css
* Motiva Loyalty Promo Site for One Stop Travel Center of Orlando LLC
* April 2020
*/
:root {
  --motiva-green: #77c043;
  --motiva-yellow: #F7DB1C;
  --header-footer-bg: #2C4456;
  --nav_rollover: #C9F29D;
  --advantage-tab-color:#1A3144;
  --strategy-tab-color:#A39B8B;
  --strategy-tab-color-translucent:#A39B8B80;

  --header-height: 6em; /* 110px;  /* 6vw; */
  --nav-and-hdr-btn-fsize:0.9em;
}

*,
::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;
}

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;
}

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

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:20vw;
}

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

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;
}

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

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

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) );
}

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: 0px;
  color: white;
  background-color: var(--header-footer-bg);
  /* font-weight: bold; */
  /* font-size: 1.1em; */
  grid-template-areas: ". . lang" "logo nav btn";
}

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

/*
 * ---- LANGUAGE CHOICE LINK/MENU ----
 */
.language_choice {
  grid-area: lang;
  align-self: right;
  text-align: right;
  color:white;
  text-decoration: none;
}
.language_choice a {
  font-size:0.75em;
  text-decoration: none;
}
/*
 * ---- NAVIGATION ----
 */
.nav_wrapper { /* nav element lives INSIDE this container */
  position: relative;
  grid-area: nav;
}

nav {
  display: grid;
  grid-template-columns: repeat(4, auto);
  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 */
}
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:white;
  text-decoration: none;
}

/* only color on hover if blackout is in effect (for homepage)! */
:not(.home_page) .nav_btn:hover,
:not(.home_page) .nav_btn:hover > a,
.black_out nav .nav_btn:hover {
  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;
}

.products_services,
.motiva_advantage,
.about_nav {
  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:-5px;
}

.site_logo {
  grid-area:logo;
}

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

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 */
}

section.homepage_sec {
  background-image: url("/assets/images/MainPanelBG.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  min-height: 40vw; /* based on proportion of image */
  color: white;
  padding: 1px 1.5em 2em;
  /* font-size:1.5vw; */
}

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

.homepage_sec h1 {
  /* font-size: 3.75vw; /* adjust header font size based on browser width */
  font-size:2.5em;
  margin: 1em 0px 0.2em;
  font-weight: normal;
  line-height: 1.25;
}

.homepage_sec p {
  font-size:1em;
  line-height: 1.25;
  /* width:54%; */
  margin:0.75em auto 0.75em 0px;
}
 
span.green_letters {
  color: #c9f29d;
}

div.about_btn_sec,
div.demo_btn_sec {
  text-align: center;
}
div.demo_btn_sec button.clear_btn:hover {
  background-color: red;
  border-color:red;
}

button.mission_about_btn,
button.clear_btn {
  padding: 0.5em;
  background: transparent;
  border: 1px solid green;
  border-radius: 0.5em;
  font-size: 1em;
  font-weight: bold;
  color: white;
}

button.mission_about_btn:hover {
  background-color:green;
  border-color:white;
}
/*
 *  section panels for homepage
 */
section.innovation_panel {
  background-color: white;
  padding: 1em 10% 3em;
  display: grid;
  grid-template-areas: "H H" "L R";
  grid-template-rows: 1fr auto;
  grid-template-columns: 3fr 2fr;
  column-gap: 3em;
  position: relative;
  /* font-size:1.5vw; */
}

.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.5em;
  font-weight: normal;
  margin:0.5em auto 0.25em;
}
.innovation_panel .left_col {
  grid-area: L;
  font-size:1em;
}
.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 .greenbar {
  /* margin-top:5px; */
  background-color:var(--motiva-green);
  border:1px solid var(--motiva-green);
  transition:height 1s ease;
}

.padded_bar:nth-child(1) .greenbar {
  height: 3em;
}
.padded_bar:nth-child(2) .greenbar {
  height: 5.5em;
}
.padded_bar:nth-child(3) .greenbar {
  height: 2.75em;
}
.padded_bar:nth-child(4) .greenbar {
  height: 3.5em;
}
.padded_bar:nth-child(5) .greenbar {
  height: 6em;
}
.padded_bar:nth-child(6) .greenbar {
  height: 2.5em;
}
.uniform .padded_bar .greenbar {
  height:12em;
}

/* -- MISSION PANEL -- */
section.mission_panel {
  padding: 2.5em 5% 10em;
  background-image: url("/assets/images/Motiva_MissionBG.jpg");
  background-size: cover;
  background-position: bottom center;
  background-repeat: no-repeat;
  color: white;
  /* font-size:1.5vw; */
}

.mission_panel h1 {
  font-size: 3.5em;
  margin:0.5em auto;
}
.mission_panel p {
  font-size: 1.5em;
  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);
}

/* -- ADVANTAGE PANEL -- */
section.advantage_panel {
  background-color: white;
  padding:3.5em 5% 0em;
  overflow:hidden;
  position: relative;
  /* font-size:1.5vw; */
}

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

.advantage_panel h1 {
  font-size:2em;
  font-weight: normal;
  margin:auto;
}
.advantage_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(--motiva-green);
  text-decoration: none;
}

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

.notbold {
  font-weight: normal;
}

/* -- SLIDER PANEL -- */
section.slider_panel {
  background-color: lightgray;
  min-height: 10em;
  padding:2em 5%;
}
.slider_wrapper, .slider_wrapper * {
  position:relative;
}
.slider_wrapper, .slider_viewport {
  height:7.5em;
}
.slider_viewport {
  width:100%;
  overflow:hidden;
}
.slide.current {
  z-index:4;
  opacity:1;
}
.slide.prev {
  z-index:5;
  margin-left:-100%;
  /* opacity:1; */
  background-color:purple;
}
.slide.next {
  z-index:5;
  margin-right:-100%;
  /* opacity:1; */
  background-color:pink;
}
.slide.current {
  margin-left:0%;
  margin-right:0%;
}
.slide.animate {
  transition:margin-left 1s ease, margin-right 1s ease;
  /* margin-left:0%;
  margin-right:0%; */
  opacity:1;
}
/* .slide1, .slide2, .slide3, */
.slide {
  width:100%;
  line-height:3;
  position: absolute;
  left:0px;
  top:0px;
  background-color:lightgray;
  text-align:center;
  font-size:2.5em;
  opacity:0;
  /* transition:margin-left 1s ease, margin-right 1s ease; */
}
.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 {
  background-color: var(--motiva-green);
  background-image: url("/assets/images/Motiva_hmDNAImage.png");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 40%;
  padding:2.5em 5%;
  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(--motiva-yellow);
}


/* -- INCENTIVES PAGE -- */
section.incentives_sec {
  position: relative;
  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 {
  position: relative;
  padding:2.5em 5%;
}

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

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

/* -- CONSUMER STRATEGY PAGE -- */

section.strategy_sec {
  background-image: url('/assets/images/Motiva_Adv_HeadPanelBG.jpg');
  background-size:cover;
  background-repeat: no-repeat;
  /* min-height:35vw; */
  color:black;
  padding:1px 1.5em 0em;
  height:20.85em;
  position: relative;
}

.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.green_letters2 {
  color:var(--motiva-green);
}

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

.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: 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;
}


/* -- DEMO REQUEST BAR -- */
.demo_request_bar  {
  background-color:red;
  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: 1800px) {
  .old section.homepage_sec {
    background-image: url("/assets/images/umbrella1800.jpg");
  }
}
@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;
  }
}
@media (max-width: 1200px) {
  .old section.homepage_sec {
    background-image: url("/assets/images/umbrella1200.jpg");
  }
}
@media (max-width: 960px) {
  .old section.homepage_sec {
    background-image: url("/assets/images/umbrella960.jpg");
  }
}

/* speculative media queries to help resolve specific render issues */
@media (max-width: 900px) {
  header,
  .header_placeholder {
    height: 95px;
  }
  section {
    margin-top: -95px;
  }
  #debug_div {
    top: 100px;
  }
  .nav_wrapper {
    justify-self: center;
  }
  nav {
    max-width: 280px;
  }
  nav .nav_btn {
    height: 60px;
  }
  .nav_btn .sub_nav {
    top: 60px;
  }
  .nav_btn.about_nav {
    padding-top: 1em;
  }
  .demo_btn_nav {
    max-width: 115px;
  }
}

/* speculative media query to shift "left_col" content to center of page and cease squeezing */
@media (max-width: 750px) {
  .section_content {
    grid-template-columns: auto;
  }
  .left_col,
  .right_col {
    max-width: 360px;
    margin: 0px auto 10px;
  }
  .homepage_sec h1 {
    text-align: center;
    font-size: 1.75em;
  }
}

@media (max-width: 650px) {
  header,
  .header_placeholder {
    height: 85px;
    max-height: 85px;
  }
  header {
    align-content: center;
    grid-template-columns: repeat(3, auto);
    grid-template-areas: "logo btn nav";
  }
  nav,
  .nav_burger {
    display: block;
  }
  nav.outline_orange {
    outline: 1px solid orange;
  }
  nav {
    position: absolute;
    top: 59px;
    right: -25px;
    width: 12em;
  }
  .nav_wrapper { /* hamburger menu */
    position: relative;
    justify-self: right;
    grid-area: nav;
  }
  .demo_btn_nav {
    grid-area: btn;
    justify-self: center;
  }
  .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;
  }
  .nav_btn.products_services {
    height: 4em;
  }
  .products_services .sub_nav {
    min-width: 12em;
    left: -1em;
  }

  nav .nav_btn:hover,
  nav .nav_btn .sub_nav:hover {
    background-color: lightgray;
  }
}

@media (max-width: 470px) {
  .demo_btn_nav {
    display: none;
  }
}
