/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */
html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;
  box-sizing: border-box; }

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

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none; }

::selection {
  background: #b3d4fc;
  text-shadow: none; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

textarea {
  resize: vertical; }

.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0; }

html {
  font-family: Futura, Futura-Medium, "Futura Medium", "Century Gothic", CenturyGothic, "Apple Gothic", AppleGothic, "URW Gothic L", "Avant Garde", sans-serif; }

a {
  color: #D40000;
  text-decoration: none;
  transition: color 100ms; }
  a:hover {
    color: #8B0100;
    text-decoration: underline; }

.row, .inner-page-nav, .catering-callout, .menu, .deep-ellum-menu, .schedule-container, .schedule-item, .press, .deep-ellum-location {
  display: flex;
  flex-wrap: wrap;
  margin-right: -0.75rem;
  margin-left: -0.75rem; }

.external-links h5, .schedule-item-header {
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
  padding: 0.75rem; }

.inner-page-nav .inner-page-nav-btn, .menu-extras li, .deep-ellum-menu > li, .press > li {
  flex: 0 0 50%;
  max-width: 50%;
  padding: 0.75rem; }

.external-links ul, .schedule-item-body {
  flex: 0 0 66.66667%;
  max-width: 66.66667%;
  padding: 0.75rem; }

.btn {
  display: block;
  font-size: 1rem;
  line-height: 1;
  padding: 1em;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 100ms; }
  @media only screen and (min-width: 55em) {
    .btn {
      font-size: 1.375rem;
      padding: 1em 3.23607em; } }
  .btn-white {
    background: white;
    border: 5px solid white;
    box-shadow: inset 0 0px 0px 1px #222;
    color: #222; }
    .btn-white:hover {
      background: #D40000;
      border-color: #D40000;
      box-shadow: inset 0 0px 0px 1px white;
      color: white;
      text-decoration: none; }
  .btn-primary {
    background: #8ED4D6;
    border: 5px solid #8ED4D6;
    box-shadow: inset 0 0px 0px 1px white;
    color: white; }
    .btn-primary:hover {
      background: #007579;
      border-color: #007579;
      color: white;
      text-decoration: none; }

nav {
  flex: 0 0 100%;
  max-width: 100%;
  padding: 0.75rem;
  background: rgba(0, 117, 121, 0.95);
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 9999;
  display: block;
  margin: 0;
  width: 100%;
  height: 2.75rem; }
  nav.active {
    height: 100%; }
    nav.active .nav-menu {
      visibility: visible; }
  @media only screen and (min-width: 55em) {
    nav {
      flex: 0 0 33.33333%;
      max-width: 33.33333%;
      padding: 0.75rem;
      order: 2;
      position: static;
      height: auto;
      background: transparent; } }
  nav ul {
    margin: 0;
    padding: 0;
    list-style-type: none; }
  nav .nav-menu {
    visibility: hidden;
    top: 3.4375rem;
    position: absolute; }
    @media only screen and (min-width: 55em) {
      nav .nav-menu {
        visibility: visible;
        position: static; } }
    nav .nav-menu a {
      border-left: 0.5rem solid transparent;
      color: #D40000;
      display: block;
      font-size: 2rem;
      letter-spacing: 2px;
      line-height: 1;
      text-decoration: none;
      padding: 0.25em 1em;
      transition: border-color 100ms, color 100ms; }
      @media only screen and (min-width: 55em) {
        nav .nav-menu a {
          border-color: #8ED4D6; } }
      nav .nav-menu a:hover, nav .nav-menu a.active {
        color: #8B0100;
        /* red-darker */
        border-color: #44B7BC;
        border-left: 0.5rem solid #8B0100; }
        @media only screen and (min-width: 55em) {
          nav .nav-menu a:hover, nav .nav-menu a.active {
            border-color: #007579; } }
  nav .nav-header {
    background: #44B7BC;
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    width: 100%;
    height: 2.75rem;
    overflow: hidden; }
    @media only screen and (min-width: 55em) {
      nav .nav-header {
        display: none; } }
    nav .nav-header-title {
      font-size: 1.5rem;
      line-height: 2.75rem; }
    nav .nav-header li:first-child {
      position: absolute;
      left: 0;
      z-index: 5; }
    nav .nav-header li:last-child {
      position: absolute;
      left: 0;
      right: 0;
      text-align: center;
      z-index: 4; }

/*
			&#nav_toggle {
				display: inline-block;
				width: $nav-height;
				text-align: center;
			}
*/
.nav-toggle {
  padding: 13px 10px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit #007579;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  outline: 0;
  overflow: visible; }
  .nav-toggle:hover {
    opacity: 0.7; }
  .nav-toggle-inner {
    display: block;
    top: 50%;
    margin-top: -1.5px;
    top: 1.5px; }
    .nav-toggle-inner, .nav-toggle-inner::before, .nav-toggle-inner::after {
      width: 30px;
      height: 3px;
      background-color: #007579;
      border-radius: 3px;
      position: absolute;
      transition-property: transform;
      transition-duration: 0.15s;
      transition-timing-function: ease; }
    .nav-toggle-inner::before, .nav-toggle-inner::after {
      content: "";
      display: block; }
    .nav-toggle-inner::before {
      top: -8px; }
    .nav-toggle-inner::after {
      bottom: -8px; }
    .nav-toggle-inner::before {
      top: 8px;
      transition-property: transform, opacity;
      transition-timing-function: ease;
      transition-duration: 0.2s; }
    .nav-toggle-inner::after {
      top: 16px; }
  .active .nav-toggle .nav-toggle-inner {
    transform: translate3d(0, 8px, 0) rotate(45deg); }
    .active .nav-toggle .nav-toggle-inner::before {
      transform: rotate(-45deg) translate3d(-4.28571px, -5px, 0);
      opacity: 0; }
    .active .nav-toggle .nav-toggle-inner::after {
      transform: translate3d(0, -16px, 0) rotate(-90deg); }

.nav-toggle-box {
  width: 30px;
  height: 19px;
  display: inline-block;
  position: relative; }

.masthead-headline, .masthead-subhead {
  color: #fff;
  text-shadow: 0 0 1rem rgba(0, 0, 0, 0.75), 0 0 5rem white;
  font-weight: normal;
  max-width: 95%;
  margin: 0 auto 0.625em;
  line-height: 1.1; }
  @media only screen and (min-width: 55em) {
    .masthead-headline, .masthead-subhead {
      max-width: 75%; } }

.masthead {
  text-align: center;
  position: relative;
  overflow: hidden; }
  .masthead-img {
    display: block;
    width: 100%; }
  .masthead-content {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    flex-direction: column; }
  .masthead-headline {
    font-size: 8vmin; }
    .masthead-headline a {
      color: inherit; }
  .masthead-subhead {
    font-size: calc(0.5rem + 2.5vmin); }
  .masthead .btn {
    width: auto;
    display: inline-block; }

.masthead-catering .masthead-img {
  width: auto;
  height: 80vh; }
  @media only screen and (min-width: 55em) {
    .masthead-catering .masthead-img {
      width: 100%;
      height: auto; } }

.masthead-catering .masthead-headline,
.masthead-catering .masthead-subhead {
  max-width: none; }
  @media only screen and (min-width: 55em) {
    .masthead-catering .masthead-headline,
    .masthead-catering .masthead-subhead {
      max-width: 85%; } }

main section {
  flex: 1;
  padding: 0.75rem; }

main h4 {
  color: #44B7BC;
  /* primary */
  font-size: 2.5rem;
  font-weight: 400;
  margin: 0;
  text-transform: uppercase; }

.badge {
  flex: 0 0 100%;
  max-width: 100%;
  padding: 0.75rem;
  display: flex;
  flex-direction: column;
  margin: 0.75rem 0; }
  @media only screen and (min-width: 55em) {
    .badge {
      flex: 0 0 50%;
      max-width: 50%;
      padding: 0.75rem; } }
  .badge-small .badge-body {
    align-items: center;
    display: flex;
    justify-content: center; }
    .badge-small .badge-body img {
      height: 75px;
      margin: 0; }
    .badge-small .badge-body h5 {
      flex: 1;
      padding-left: 1rem; }
  .badge-header {
    display: none;
    border: 0.5rem solid #44B7BC; }
    @media only screen and (min-width: 55em) {
      .badge-header {
        display: block; } }
    .badge-header img {
      max-width: 100%; }
  .badge-body {
    color: white;
    flex: 1;
    font-size: 1.25rem;
    padding: 1.125rem 2.25rem;
    display: flex;
    flex-direction: column; }
    .badge-body h3 {
      text-transform: uppercase;
      font-weight: normal;
      text-align: center; }
    .badge-body p {
      flex: 1; }
    .badge-body img {
      max-width: 100%;
      display: block;
      margin: 0 auto; }

.badge-stars .badge-body {
  background: #8ED4D6 url("../img/badge-footer.jpg") no-repeat bottom center;
  padding-bottom: 7.625rem; }

.badge-orange .badge-body {
  background: #f47f38 url("/img/open-road-shaved-ice-catering.jpg") no-repeat top center;
  background-size: cover; }
  .badge-orange .badge-body .btn-white:hover {
    background-color: #0d474f;
    border-color: #0d474f; }

.badge-brown .badge-body {
  background-color: #343031;
  background: #343031 url("/img/bar-cart-texas-catering.jpg") no-repeat top center; }
  .badge-brown .badge-body .btn-white:hover {
    background-color: #8d7348;
    border-color: #8d7348; }

.catering-callout {
  align-items: center; }
  .catering-callout-btn {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 0.75rem; }
    @media only screen and (min-width: 55em) {
      .catering-callout-btn {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
        padding: 0.75rem; } }
    .catering-callout-btn .btn {
      font-size: 1.25rem; }
  .catering-callout-body {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 0.75rem; }
    @media only screen and (min-width: 55em) {
      .catering-callout-body {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
        padding: 0.75rem; } }

.external-links {
  display: none; }
  @media only screen and (min-width: 55em) {
    .external-links {
      display: block; } }
  .external-links:first-of-type {
    border-bottom: 1px solid #222; }
  .external-links .row, .external-links .inner-page-nav, .external-links .catering-callout, .external-links .menu, .external-links .deep-ellum-menu, .external-links .schedule-container, .external-links .schedule-item, .external-links .press, .external-links .deep-ellum-location {
    align-items: center; }
  .external-links h5 {
    color: #44B7BC;
    font-size: 2.5rem;
    font-weight: normal;
    text-align: center;
    text-transform: uppercase;
    line-height: 1;
    margin: 0; }
    .external-links h5 small {
      display: block; }
  .external-links ul {
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    display: flex;
    list-style-type: none; }
  .external-links a {
    color: #838383;
    font-size: 50px;
    display: block;
    padding: 1em;
    transition: background-color 150ms;
    border-radius: 2px; }
    .external-links a:hover {
      background-color: #dadada; }
  .external-links-text {
    text-indent: -9000px;
    font-size: 0; }

.menu {
  list-style-type: none;
  padding: 0; }
  .menu li {
    border-bottom: 1px solid #e7e7e7;
    border-right: 1px solid #e7e7e7; }
    .menu li:nth-child(3n) {
      border-right: 0; }
    .menu li:nth-last-child(-n+3) {
      border-bottom: 0; }
    .menu li img {
      max-width: 100%; }
    .menu li h3 {
      margin-bottom: 0; }
    .menu li p {
      color: #888;
      margin-top: 0; }
  .menu-sliders li {
    flex: 0 0 50%;
    max-width: 50%;
    padding: 0.75rem; }
    @media only screen and (min-width: 55em) {
      .menu-sliders li {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
        padding: 0.75rem; } }

.deep-ellum-menu {
  padding: 0;
  list-style-type: none;
  margin-bottom: 1.75rem;
  margin-top: 0; }
  .deep-ellum-menu > li {
    border-bottom: 1px solid #e7e7e7;
    padding: 0.75rem; }
    .deep-ellum-menu > li:nth-child(2n-1) {
      border-right: 1px solid #e7e7e7; }
    .deep-ellum-menu > li h3 {
      margin-bottom: 0; }
    .deep-ellum-menu > li p {
      color: #888;
      margin-top: 0; }

@media only screen and (min-width: 55em) {
  .sweet-and-lowdown {
    background: url(/img/zagat.png) right center no-repeat;
    background-size: 100px;
    padding-right: 110px !important; }
    .menu-sliders .sweet-and-lowdown {
      padding-top: 1rem;
      padding-bottom: 1rem;
      margin-top: -1rem;
      margin-bottom: -1rem; } }

@media only screen and (min-width: 55em) {
  .slider-of-the-month {
    background: url(/img/sotm.png) right center no-repeat;
    background-size: 110px;
    padding-right: 110px !important; }
    .menu-sliders .slider-of-the-month {
      padding-top: 1rem;
      padding-bottom: 1rem;
      margin-top: -1rem;
      margin-bottom: -1rem; } }

.schedule {
  display: none; }
  .active .schedule,
  .open .schedule {
    display: block; }
  @media only screen and (min-width: 55em) {
    .schedule {
      display: block; } }
  .schedule-container > section {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 0.75rem;
    padding-top: 0;
    padding-bottom: 0; }
    @media only screen and (min-width: 55em) {
      .schedule-container > section {
        flex: 0 0 50%;
        max-width: 50%;
        padding: 0.75rem; } }
    .schedule-container > section:last-child h5 {
      border-bottom: 0; }
  .schedule-container .active h5 {
    background: #D40000;
    border-color: #8B0100; }
  .schedule-container h5 {
    background: #8ED4D6;
    color: white;
    padding: 0.75rem;
    margin: 0;
    border-bottom: 1px solid #007579; }
  .schedule-item > a {
    border-bottom: 1px solid #e7e7e7;
    color: inherit;
    display: flex;
    margin: 0 0.75rem; }
    .schedule-item > a:hover {
      color: inherit;
      text-decoration: none;
      background-color: rgba(142, 212, 214, 0.35); }
  .schedule-item:last-child > a {
    border-bottom: 0; }
  a .schedule-item-header {
    padding-left: 0; }
  .schedule-item-header img {
    max-width: 100%; }
  .schedule-item-body {
    padding-left: 0; }
    .schedule-item-body h6, .schedule-item-body h1 {
      margin-top: 0;
      margin-bottom: 0.125rem;
      line-height: 1; }
      .schedule-item-body h6 small, .schedule-item-body h1 small {
        font-size: .6em;
        font-weight: normal;
        border: 1px solid;
        padding: .25em 1em;
        display: inline-block;
        line-height: 1;
        vertical-align: top; }
    .schedule-item-body h1 {
      font-size: 2rem; }
    .schedule-item-body h6 {
      font-size: 1.125rem; }
    .schedule-item-body p {
      color: #888;
      margin-top: 0; }

.press {
  padding: 0;
  list-style-type: none; }
  .press > li {
    border-bottom: 1px solid #e7e7e7;
    padding: 0; }
    .press > li:nth-child(2n) {
      border-left: 1px solid #e7e7e7; }
  .press-item {
    color: inherit;
    display: block;
    padding: 0.75rem;
    transition: background-color 150ms; }
    .press-item:hover {
      text-decoration: none;
      background-color: rgba(142, 212, 214, 0.35);
      color: inherit; }
    .press-item h5 {
      font-size: 1.25rem;
      margin-top: 0; }
    .press-item-detail {
      color: #888;
      display: flex;
      justify-content: space-between; }
      .press-item-detail p {
        margin: 0; }

footer {
  background: #44B7BC;
  color: white;
  font-size: 0.875rem;
  line-height: 1.75;
  padding: 1em 0; }
  footer a {
    color: inherit;
    text-decoration: none; }
  footer .fa-inverse {
    color: #44B7BC; }
  footer .locations {
    list-style-type: none;
    padding: 0; }
    footer .locations li > a {
      border-bottom: 1px solid #8ED4D6;
      display: flex;
      margin-bottom: 1rem;
      padding-bottom: 1rem; }
      footer .locations li > a:hover {
        color: inherit;
        text-decoration: none;
        background: #007579; }
        footer .locations li > a:hover .fa-inverse {
          color: #007579; }
    footer .locations li:last-child > a {
      border-bottom: 0; }
    footer .locations h4 {
      font-weight: normal;
      margin: 0; }
    footer .locations h5 {
      font-size: 0.875rem;
      font-weight: bold;
      margin: 0;
      line-height: 1.1;
      padding-bottom: 0.5em; }
      footer .locations h5 small {
        font-size: .6em;
        font-weight: normal;
        border: 1px solid;
        padding: .25em 1em;
        display: inline-block;
        line-height: 1;
        vertical-align: top; }
    footer .locations p {
      font-size: 0.75rem;
      line-height: 1rem;
      margin: 0; }
    footer .locations-marker.fa-stack {
      height: 1.4em;
      line-height: 1.4em;
      margin: -1px 1rem 0 -2px;
      width: 1.4em; }
      footer .locations-marker.fa-stack .fa-stack-2x {
        font-size: 1.4em;
        line-height: inherit; }
  footer .footer-section {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 0.75rem; }
    @media only screen and (min-width: 55em) {
      footer .footer-section {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
        padding: 0.75rem; } }
  @media only screen and (min-width: 55em) {
    footer .footer-schedule {
      order: 3; } }
  footer .footer-schedule.show-active-day .footer-schedule-day {
    display: none; }
    footer .footer-schedule.show-active-day .footer-schedule-day.active {
      display: block; }
      footer .footer-schedule.show-active-day .footer-schedule-day.active h4:before {
        content: "Today\2019s Schedule\2002\2014\2002 "; }
  footer .footer-logo {
    display: block;
    text-align: center; }
    footer .footer-logo img {
      max-width: 50%; }
  footer .footer-header {
    margin: 0;
    font-size: 1.25rem;
    font-weight: normal; }
  footer .footer-navigation {
    line-height: 1; }
    @media only screen and (min-width: 55em) {
      footer .footer-navigation {
        padding: 0 2.25rem; } }
    footer .footer-navigation h3 {
      text-align: center;
      font-size: 1.375rem;
      font-weight: normal;
      text-transform: uppercase; }
    footer .footer-navigation ul {
      list-style-type: none;
      padding: 0; }
    footer .footer-navigation-nav {
      border-style: solid;
      border-color: white;
      border-width: 1px 0;
      padding: 1rem 0 !important; }
      footer .footer-navigation-nav a {
        display: block;
        font-size: 1.25rem;
        padding: 0.5rem 1rem;
        transition: background-color 150ms; }
        footer .footer-navigation-nav a:hover {
          background-color: #007579;
          color: white;
          text-decoration: none; }
  footer .footer-hours {
    border-style: solid;
    border-color: #8ED4D6;
    border-width: 1px 0;
    padding: 1rem 0 !important;
    margin: 1rem 0 !important; }
    footer .footer-hours h5 {
      font-size: 1rem;
      margin: 0; }
    footer .footer-hours ul {
      list-style-type: none;
      margin: 0;
      padding: 0; }
  footer .footer-external-links {
    display: flex;
    justify-content: space-around;
    padding: 0 1rem 1rem !important;
    border-bottom: 1px solid white; }
    footer .footer-external-links:last-of-type {
      border-bottom: 0; }
    footer .footer-external-links li {
      text-align: center; }
    footer .footer-external-links a {
      font-size: 1.5rem; }
      footer .footer-external-links a:hover {
        color: #007579; }
    footer .footer-external-links-text {
      text-indent: -9000px;
      font-size: 0; }
    footer .footer-external-links img {
      max-width: 50%; }

.deep-ellum-location-detail {
  flex: 0 0 100%;
  max-width: 100%;
  padding: 0.75rem; }
  @media only screen and (min-width: 55em) {
    .deep-ellum-location-detail {
      flex: 0 0 25%;
      max-width: 25%;
      padding: 0.75rem; } }

.deep-ellum-location-map {
  flex: 0 0 100%;
  max-width: 100%;
  padding: 0.75rem; }
  @media only screen and (min-width: 55em) {
    .deep-ellum-location-map {
      flex: 0 0 75%;
      max-width: 75%;
      padding: 0.75rem; } }

.deep-ellum-location-header {
  font-size: 1rem;
  font-weight: bold; }

.deep-ellum-location-hours h5 {
  font-size: 1rem;
  margin: 1rem 0 0; }

.deep-ellum-location-hours ul {
  list-style-type: none;
  margin: 0;
  padding: 0; }

.table-info {
  margin: 2rem 0;
  padding: .5rem 1rem;
  border: 1px solid; }
  .table-info h3 {
    color: #44B7BC;
    text-transform: uppercase;
    font-weight: 400; }

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
/*
*/
body {
  padding-top: 2.75rem; }
  @media only screen and (min-width: 55em) {
    body {
      padding-top: 0; } }

.container, .masthead-content {
  max-width: 1140px;
  margin: 0 auto;
  padding: 1.5rem; }

.notification {
  background: #44B7BC;
  color: #fff; }
  .notification .container, .notification .masthead-content {
    /*
    display: flex;
    justify-content: space-between;
    align-items: center;
    */
    padding-top: 0.75rem;
    padding-bottom: 0.75rem; }
  .notification p {
    color: #fff;
    margin: 0;
    line-height: 1;
    text-align: center; }
  .notification a {
    color: inherit; }

/* ==========================================================================
   Media Queries
   ========================================================================== */
/* ==========================================================================
   Helper classes
   ========================================================================== */
.hidden {
  display: none !important;
  visibility: hidden; }

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }

.invisible {
  visibility: hidden; }

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

.clearfix {
  *zoom: 1; }

/* ==========================================================================
   Print styles
   ========================================================================== */
@media print {
  *, *:before, *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: ""; }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }
