@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Roboto'), local('Roboto-Regular'), url('./fonts/roboto.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Ionicons";
  font-style: normal;
  font-weight: normal;
  src: url('./fonts/ionicons.woff') format('woff');
}

body {
  display: flex;
  justify-content: center;  
  margin: 0;
  user-select: none;
  -webkit-user-select: none; /* Safari */
  outline: none;
  /* overflow-y: scroll; */
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-tap-highlight-color: transparent;
  /* NAV background-color: #ededed; */
  background-color: var(--theme-background-color);
  container-type: scroll-state; /* Allows footer to stick on bottom */
  container-name: body;
}

@media (min-width: 768px) {

  body {
    user-select: auto;    
    container-type: inline-size; /* Allows footer to stick on left */
  }

  body:has(zyllio-footer) {
    justify-content: start;
  }
}

@media (max-width: 800px) {

  body::-webkit-scrollbar {
    display: none;
  }
}

#rootElement {
  /*overflow: unset !important;*/ /* Enables Sticky positions for Headers and Footers */
  min-height: 100dvh;
  height: unset !important; /* Allows vertical list to extend the screen's height */ 
  width: 100% !important;
  max-width: 1200px; /* Desktop */

  container-type: inline-size;
  container-name: screen;
}

@container body (min-width: 768px) {

  #rootElement:has(zyllio-footer) {
    padding-left: 240px; 
  }

  #rootElement:has(zyllio-footer.closed) {
    padding-left: 52px; 
  }
}

#rootElement[data-device="mobile"] [data-display-on*='mobile":false'] {  
  display: none;
}

#rootElement[data-device="tablet"] [data-display-on*='tablet":false'] {
  display: none;
}

#rootElement[data-device="desktop"] [data-display-on*='desktop":false'] {
  display: none;
}