html, body { height: 100%; margin: 0; overflow: hidden; }

* { box-sizing: border-box; }

body {
  font-style: normal ;
  font-weight: normal;
  font-family: 'Ubuntu', sans-serif;
  font-size: 75%;
  line-height: 1em;
  color: #FFF;
  background: #004A8C;
}

* {
  -webkit-touch-callout:none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: default;
}
.selectable {
  -webkit-touch-callout:default !important;
  -webkit-user-select:text !important;
  -moz-user-select:text !important;
  -ms-user-select:text !important;
  user-select:text !important;
}

.scrollable {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch
  overflow-x: hidden;
}

.shadow:after {
  content: "";
  position: absolute;
  bottom: -.5em;
  left: 0;
  width: 100%;
  height: .5em;
  background: radial-gradient(at top center, rgba(0,0,0,0.3) 20%, rgba(0,0,0,0.0) 70%);
}



#main_wrapper,
section {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#center_app_container {
  height: 100%;
  background: #FFF;
  color: #666;
  transition: transform 1s ease-in-out;  
}
#app_header {
  background: #004A8C url('../img/logoHeader.png') center/auto 65% no-repeat;
}
#app_content {
  height: 100%;
}

#app_content .mockimg {
  width: 100%;
}


header {
  position: relative;
  height: 4em;
  color: #FFF;
}

header [class^="icon-"],
header [class*=" icon-"] {
  font-size: 1em;
  display: block;
  height: 4em;
  width: 4em;
  text-align: center;
  line-height: 4em;
  cursor: pointer;
}

header [class^="icon-"]:before,
header [class*=" icon-"]:before {
  font-size: 240%;
}
header [class^="icon-Search"]:before,
header  [class*=" icon-Search"]:before {
  font-size: 220%;
}
header [class^="icon-"].left,
header [class*=" icon-"].left {
  position: absolute;
  left: 0;
  top: 0;
}
header [class^="icon-"].right,
header [class*=" icon-"].right {
  position: absolute;
  right: 0;
  top: 0;
}


body.navigation_displayed #navigation_menu{
  transform: translateX(0);
  transition-timing-function: cubic-bezier(0.31, 0.31, 0.07, 1.01);;
  transition-duration: .5s;
  z-index: 100;
}
#navigation_menu {
  background: #004A8C;
  color: #FFF;
  transform: translateX(-100%);
  transform-origin: 0 0;
  transition: transform .2s ease-out;
  position: absolute;
  width: calc(100% - 1.5em);
  left: 0;
  top: 0;
  z-index: 0;
  box-shadow: 0 0 0.8em rgba(0,0,0,.5);
}

body.search_displayed #search_menu {
  pointer-events: initial;
  opacity: 1;
  transform: translateY(0);  
  transition-timing-function: cubic-bezier(0.24, 0.23, 0.19, 0.99), cubic-bezier(0.27, 1.54, 0.63, 0.98);
  transition-duration: .6s, .4s, .5s;
  transition-delay: 0ms, 0ms, 0ms;
  z-index: 100;  
}
#search_menu {
  pointer-events: none;  
  background: #004A8C;
  color: #FFF;
  opacity: 0;
  transform: translateY(-3em);
  transition-property: opacity, transform, z-index;
  transition-duration: 200ms, 300ms, 300ms;
  transition-timing-function: ease-in, cubic-bezier(0.71, 0.01, 0.9, 0.64), ease-in;
  transition-delay: 200ms, 0ms, 300ms;  
  position: absolute;
  width: 100%;
  height:calc(100% + 3em);
  left: 0;
  top: 0;
  box-shadow: 0 0 0.8em rgba(0,0,0,.5);  
  z-index: -1;    
}

#search_header,
#search_menu .input_wrapper {
  flex-shrink: 0;
}

#search_menu .input_search_wrapper {  
  display: flex;
  height: 4em;
  padding: 0 1em 0;
}
#search_menu .input_search_wrapper [class^="icon-"],
#search_menu .input_search_wrapper [class*=" icon-"] {
  width: 3em;
  height: 3em;
  display: inline-block;
  vertical-align: middle;
  line-height: 3em;  
}
#search_menu .input_search_wrapper [class^="icon-"]:before,
#search_menu .input_search_wrapper [class*=" icon-"]:before {
  color: rgba(255,255,255,1);
  font-size: 200%;
}
#search_input_clear {
  text-align: right; 
}
#search_input:placeholder-shown + .icon-Clear,
#search_input:placeholder-shown + #eac-container-search_input + .icon-Clear{
  visibility: hidden;
}

#search_menu .input_search_wrapper .icon-Clear:before {
  color: rgba(255,255,255,.5);
}

.easy-autocomplete, 
#search_input {
  flex-grow: 1;
  flex-shrink: 0;
}

#search_input {
  font-size: 1.6em;
  border: 0;
  background: transparent;
  line-height: 1.875em;
  height: 1.875em;
  display: inline-block;
  vertical-align: middle;
  color: #FFF;
  width: 80%;
  appearance: none;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  text-decoration: none;
  border: 0;
  outline-color: transparent;
  border-color: transparent;
}
#search_input::placeholder {
  color: rgba(255,255,255,.5);
}
#search_input::-webkit-search-cancel-button {
  -webkit-appearance: none;
  display: none;
}

#search_input:focus {
  outline: 0;
}

#eac-container-search_input {display: none; }

#eac-container-search_input > ul {display: block !important;}

#search_content {
  background: #003F82;
  height: calc(100% - 8em);
}

#search_content .group {
  margin-bottom: 1em;
  display: none;
}
.group.benef {
  margin-bottom: 2em;
}

.group h5 {
  font-size: 1.2em;
  margin: 0;
  background: #003875;
  color: #A7C1D9;
  line-height: 1.2em;
  font-weight: normal;
  padding: 0.25em 0 0.25em 0.8333em;
}

.group ul {
  margin: 0;
  padding: 0;
}
.result {
  font-size: 1.6em;
  margin: 0.5em 0.25em;
  color: #FFF;
  padding: 0.75em 2.75em 0.75em 0.375em;
  position: relative;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  border-radius: .5em;
  transition: background 100ms ease-in-out;
}
.result:active {
  /*background-color: rgba(255,255,255,.25);*/
  transition-duration: 0ms;
  text-shadow: 0 0 8px rgba(255,255,255,.5);
}


.result.benef {
  top: 0.2em;
  padding-left: 3.2em;
}
.result.for_benef {
  padding-left: 2.4em;
  font-size: 1.4em;
}

.result b {
  color: #FF8000;
  font-weight: nomral;
}
.result .star {
  position: absolute;
  right: 0.75em;
  top: 0;
  bottom: 0;
  line-height: 1.875em;
  width: 1.875em;
  text-align: center;  
  color: rgba(255,255,255,.25);  
  text-shadow: none;
}
.result .star:before {
  font-size: 1.3em;
  line-height: 1.6em;
}
#search_content .group.for_benef .result.for_benef .star,
.result .icon-Favourite,
.result.favourite .icon-Favourite2 {
  opacity: 0;
  transform: scale(0);
}
.result .icon-Favourite2,
.result.favourite .icon-Favourite {
  opacity: 1;
  transform: scale(1);  
}
.result .star {
  transition: opacity 0.5s ease-out 0;
}
.result.favourite .star:active {
  color: #FFF;
  transition-duration: 0s;
  text-shadow: 0 0 4px rgba(255,255,255,.5);
}
.result.favourite .star {
  transition-property: transform, color;
  transition-duration: 0.5s, 1s;
  transition-timing-function: cubic-bezier(0.44, 1.95, 0.61, 0.97), ease-out;
  color: rgba(255,255,255,.5); 
}

.result .avatar {
  position: absolute;
  top: 0;
  bottom: 0;
  height: 100%;
  width: 1.25em;    
  left: 0.5em;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.result.benef .avatar {
  width: 1.875em;
}


#overlay {
  transition: opacity .5s ease-in 0;
  position: absolute;
  width: 0;
  height: 0;
  top: 0;
  left: 0;
  background: rgba(0,0,0,1);
  opacity: 0;
  z-index: 0;  
}

body.navigation_displayed #overlay,
body.search_displayed #overlay {
  opacity: .4;
  width: 100%;
  height: 100%;
  z-index: 99;
  transition: opacity .5s ease-in-out;
  display: none;
}

