*,
*::before,
*::after {
  box-sizing: border-box;
}
html, body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
main {
  flex: 1;
}
/* ========================================================================
   Root Theme Variables
======================================================================== */
:root {
  /* Color Palette */
  --primary-blue: #1a6bff;
  --secondary-grey: #cacacb;
  --transparent: transparent;
  --teal: #077A7D;
  --red: #F9041B;
  --light-red: #FDCCD1;
  --orange: orange;
  --light-orange: #ffe4c9;
  --green: #00b300;
  --light-green: #d2ffd2;
  --white: #ffffff;
  --black: #000000;
  --blue: #3399ff;
  --light-blue: #80bfff;
  --dark-green: #31511E;
  --light-green2: #65B741;

  /* Typography */
  --font-body: 'Roboto', sans-serif;
  --font-heading: 'Roboto Slab', serif;
}

/* ========================================================================
   Base Typography
======================================================================== */
h1, h2, h3, h4, h5, h6 {
  margin: 0; /* reset default spacing */
  font-family: var(--font-heading);
}


header {
    background-color:   #00baff;
}
#top-header h3 {
    font-size: 1.2rem;
    color: #fff;
    font-weight: bold;
    padding: 10px 0;
    text-decoration: underline;
    text-decoration-color: var(--orange);
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}
.navbar {
    padding: 10px;
}
.navbar-brand {
    color:  #fff;
    text-decoration: underline;
    text-decoration-color: var(--orange);
    text-decoration-thickness: 2px; 
    text-underline-offset: 2px;
    font-weight:    bold;
    padding: 0 10px;
}
.navbar-toggler {
    color: #fff;
    border-color:  #fff;
    padding: 0 10px;
}
.nav-item .active  {
    color: var(--light-blue);
    text-decoration: underline;
    text-decoration-color: var(--orange);
    text-decoration-thickness: 2px; 
    text-underline-offset: 2px;
}
a .active {
    color: var(--light-blue);
}
.nav-item a {
    font-size: 1.2rem;
    color: #fff;
    text-decoration: underline;
    text-decoration-color: var(--white);
    text-decoration-thickness: 2px; 
    text-underline-offset: 2px;
}
.nav-item a:hover {
    color: var(--light-blue);
    font-weight: bolder;
    text-decoration: underline;
    text-decoration-color: var(--orange);
    text-decoration-thickness: 2px; 
    text-underline-offset: 2px;
}
footer {
    color: #fff;
    background-color: #000;
    padding: 20px;
    text-align: center;
}
footer a {
    color:  var(--primary-blue);
    text-decoration: underline;
    text-decoration-color: var(--orange);
    text-decoration-thickness: 2px; 
    text-underline-offset: 2px;
    font-weight:    bold;
}
body {
    background: linear-gradient(to right, #fddbea , #fef3f8);
}
.container-sm, .container-lg {
  max-width: calc(960px + 24px * 2) !important;
  padding: 0 24px !important;
}
.more-chat-rooms a {
    color: var(--light-green2);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#intro a {
    color:  var(--primary-blue);
    text-decoration: underline;
    text-decoration-color: var(--orange);
    text-decoration-thickness: 2px; 
    text-underline-offset: 2px;
    font-weight:    bold;
}