/* 
Written by Joachim Reichwaldt for Ancora
All rights reserved  
 */
 
/*1.Media Queries. */
@media screen and (min-width: 0px) and (max-width: 600px) {
#meal_list, #hotness_selector, #drink_selection, #side_dish_selection, #cart, #personal_popup, #opening_popup, #summary{
    width:95%;
}
}
@media screen and (min-width: 601px) and (max-width: 900px) {
#meal_list,#hotness_selector, #drink_selection, #side_dish_selection, #cart, #personal_popup, #opening_popup, #summary{
    width:90%;
}
}
@media screen and (min-width: 901px) and (max-width: 1200px) {
#meal_list,#hotness_selector, #drink_selection, #side_dish_selection, #cart, #personal_popup, #opening_popup, #summary{
    width:90%;
}
}
@media screen and (min-width: 1201px) {
#meal_list, #hotness_selector, #drink_selection, #side_dish_selection, #cart, #personal_popup, #opening_popup, #summary{
    width:66%;
}
}

/*1.Styles for dark wrapper that engulfs popups. */
#fixed_wrapper{
  width: 100%;
  height:100vh;
  z-index:0;
  padding: 0 0 0 0;
  position: fixed;
  display:none;
  flex-direction:column;
  justify-content: center;
  box-sizing: border-box;
  background-color: rgba(4, 7, 9, 0.8);
}
#fixed_wrapper.closed{
  opacity:0;
  z-index:0;
/*  transition: opacity 1200ms ease-in;
transition:z-index 1200ms ease;*/
}
#fixed_wrapper.open{
  opacity:1;
/*  transition: opacity 1200ms ease-in;*/
  z-index:2;
  display: flex;
}
#footer{
    position:relative;    
    /*! margin-bottom:0.25em; */
    width:100%;
/*    background-color: #1a6ea4;*/
    background-color: #342e2e;
    border: 1px solid #fff;
    box-shadow: -0.07em -0.07em #a2b3c1, -0.2em -0.2em 1em #090a1c;    
    z-index: 2;
    display:flex;
    flex-direction:row;
    justify-content:space-around;
    align-items:center;
}
/*4.Styles for popups. */
#hotness_selector, #drink_selection, #side_dish_selection, #cart, #personal_popup, #opening_popup, #summary{
    background-color: #e1e1e1;
    border: 1px solid gray;
    border-radius:1em;
    position: relative;
    box-sizing: border-box;
    margin-bottom: 0.5em;
    padding:2em 2em 2em 2em;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    box-shadow: 2px 2px #3c6b6c;
    margin: 0 auto;
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: hidden;
}
#bill_field{
    overflow-y: scroll;
    padding-right: 1em;
    scrollbar-width: thin;
    margin-top: 1em;
    margin-bottom: 1em;
}

/*5.Styles for cart. */
.cart_headline_container{
    display:flex; 
    justify-content:flex-start; 
    flex-direction:row; 
    width:100%;
    line-height:1.5em;
}
.cart_headline_container img{
    height:2em;
    margin-right:0.5em;
}  
.cart_headline_container h2{
    margin-bottom:0em;
}

/*5.a.Styles for bill. */
.bill_name.sub_line{
    margin-left: 1em;
}
.bill_name.sub_line:before{
    content: "-";
}
.sum_line .bill_price, .discount_line .bill_price{
    margin-right:2em;
}
.bill_price_no_button{
    margin-right:0em;
    flex:0 0 0em;
    display:flex; 
    justify-content:end;
    align-items: center;
}
.bill_line{
    display:flex;
    flex-direction: row;
    justify-content: space-between;
    margin-top: 0em;
    margin-bottom: 0em;
}
.bill_price{
    flex:0 0 0em;
    display:flex; 
    justify-content:end;
    align-items: center;
}
.bill_name{ 
    color: #333;
    margin: 0 0 0 0;
    flex:1 1 0em;
}
.sum_line{
  border-top:1px solid black;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-top: 0em;
  margin-bottom: 0em;
}
.discount_line{
  display: flex;
  opacity:0;
  flex-direction: row;
  justify-content: space-between;
  margin-top: 0em;
  margin-bottom: 1em;

}
.discount_line.visible
{
  transition-delay: 2s;
  transition-duration: 500ms;
  transition-property: opacity;
  transition-timing-function: ease-in-out;
  opacity:1;
}

/*6.Styles for meal list. */
#meal_list{
    position:relative;
    margin:0 auto;
    box-sizing: border-box;
    margin-bottom: 5em;
}

/*7.Styles for single meal element. */
.meal_element{
  background-color: whitesmoke;
  border: 1px solid gray;
  width: 100%;
  border-radius:1em;
  position: relative;
  box-sizing: border-box;
  margin-bottom: 0.5em;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding-left: 0.5em;
  padding-right: 1em;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  transition: height 2s;
  box-shadow: 2px 2px #3c6b6c;
  }
.details_container{
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
}
.number_container{
  
    display:flex; 
    align-items:end;
    flex-direction:column;
    justify-content:space-between;
    margin-right:1em;
}
.meal_headline{
    color: #333;
    margin: 0 0 0 0;
    flex:1 1 0em;
}
.price_container{
    flex:0 0 0em;
    display:flex; 
    justify-content:end;
    align-items: center;
}
.meal_headline_container{
    display:flex; 
    justify-content:space-between; 
    flex-direction:row; 
    width:100%;
    align-items: center;
}
.meal_symbol{
   display:flex;
   justify-content:right;
   align-items:center;   
  }
.meal_admin_info{
  
    display:flex; 
    flex:1 1 0px; 
    align-items:stretch; 
    flex-direction: column;
    /*! margin-right:1em; */
  }
  .button_section
  {
    flex:0 0 0px; 
    display:flex; 
    justify-content:space-between; 
    align-items: center; 
    flex-direction: row;
  }
  .button_container
  {
    width:40px;
    margin-left:0.4em;
  }
/*7.Allergen Section. */  
.maintext.allergen_sub_headline{
    margin-bottom:0em;
    /*! font-weight: bold; */
    /*! text-decoration: underline; */
}
.allergen_box{
    display:flex;
/*    background-color: #c3e0ff;*/
    background-color: #fcebda;
    border-radius:3em;
    border:1px solid #6a6363;
    height:2em;
    margin: 0.25em;
    box-shadow: 0.1em 0.1em #324351;
}
.allergen_icon_container{
    display:flex;
    justify-content: center;
    align-items:center;
    width:2em;
    height:2em;
}
.allergen_icon_container img{
    width:1.9em;
    height:1.9em;
}
.allergen_name{
    display:inline;
    color:black;
    font-weight: normal;
    margin-right: 1em;
    /*! text-shadow: 0px 0px 4px #000; */
}
.allergy_headline{
    margin-bottom: 0.25em;
}
.add_to_cart_button{
    width:1em;
    height:1em;
    margin-left:1em;
    border-radius:0.2em;
    display:flex;
    justify-content:center;
    align-items: center;
/*    background-color: #006699;*/
    background-color: #990033;
    border: 0.0001em solid #fff;
    box-shadow: 0.1em 0.1em #a2b3c1;
    padding-left: 0.05em;
    padding-bottom: 0.15em;
    box-sizing: border-box;
    color: white;
}
.add_to_cart_button:active{
    box-shadow:none;
    transform: translate(0.1em, 0.1em);
    
}
.add_to_cart_button img{
    width:0.8em;
    height:0.8em;    
}
.learn_more{
    margin-bottom: 0em;
    position:absolute;
    bottom:0em;
    width:100%;
    cursor: help;
}

/*Close Span X*/
.close_span:after{
    position:absolute;
    right:0.5em;
    top:0.5em;
    color: #333333;
    content: "\274C\fe0e";
    cursor:pointer;
}

.extra_buttons{
    margin-top:1.1793em;
    position:relative;
    display:flex;
    flex:1 1 0em;
    flex-direction: row;
    justify-content: space-between;
    width:100%
}
.extra_buttons .customer_form_button{
    width:20%;
    flex: 0 0 20%;
}
.extra_text{
    position:relative;
    flex:1 1 0em;
    text-align: center;
    display:flex;
    justify-content: center;
    align-items: center;
    margin-bottom:1.1793em;
}


@keyframes strike{
  0%   { width : 0; }
  100% { width: 100%; }
}
#strike {
  position: relative;
}
.active::after {
  content: ' ';
  position: absolute;
  top: calc(50% - 0.07em);
  left: 0;
  width: 100%;
  height: 0.15em;
  background: black;
  animation-name: strike;
  animation-duration: 2s;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; 
}
.summary_section{
    margin-bottom:2.073em;
    
}

@media screen and (min-width: 0px) and (max-width: 600px){#footer{height:3em;padding:0.5em}}
                                                        


@media screen and (min-width: 601px) {#footer{height:5em;padding:0.5em}}
                                  