@font-face {
  font-family: "Hind Siliguri";
  font-style: normal;
  font-weight: normal;
  src: local("Hind Siliguri Regular"),
    url("/static/fonts/hind_siliguri/HindSiliguri-Regular.woff") format("woff"); }

  @font-face {
    font-family: "Permanent Marker";
    font-style: normal;
    font-weight: normal;
    src: local("Permanent Marker"),
        url("/static/fonts/permanent_marker/PermanentMarker-webfont.woff") format("woff"); }

    html {
      box-sizing: border-box; }

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

        html {
          font-family: "Hind Siliguri", sans-serif;
          background: #666;
          background-image: linear-gradient(#666, #aaa);
          padding: 1rem;
          min-height: 100vh; }

          body {
            margin: 0 auto;
            background: white; }

            h1 {
              font-family: "Permanent Marker", cursive;
              color: #527383;
              margin: 1rem 0; }

              a {
                color: #779aaa; }

                hr {
                  border: none;
                  border-top: 1px solid lightgray; }

                  .navbar {
                    background: lightgray;
                    display: flex;
                    align-items: center;
                    padding: 0 0.5rem; }
                    .navbar h1 {
                      flex: auto;
                      margin: 0; }
                      .navbar h1 a {
                        text-decoration: none;
                        padding: 0.25rem 0.5rem; }
                    .navbar ul {
                      display: flex;
                      list-style: none;
                      margin: 0;
                      padding: 0; }

nav ul li a, nav ul li span, header .action {
  display: block;
  padding: 0.5rem; }

  footer {
    font-size: 8px; }

    .content {
      padding: 0 1rem 1rem;
      min-height: 80vh; }
      .content > header {
        display: flex;
        align-items: flex-end; }
        .content > header h1 {
          flex: auto; }
          .content form {
            display: flex;
            flex-direction: column; }
            .content label {
              font-weight: bold;
              margin-bottom: 0.5em; }
              .content textarea {
                min-height: 12em;
                resize: vertical;
                width: 100%; }
                .content:last-child {
                  margin-bottom: 0; }

.flash {
  margin: 1em 0;
  padding: 1em;
  background: #cae6f6;
  border: 1px solid #779aaa; }

  input.danger {
    color: #cc2f2e; }

    input[type="submit"] {
      align-self: start;
      min-width: 10em; }

      .messagebox {
        padding: 1em;
        background-color: #eeeeee;
        display: none; }

        .tabs .tab-menu {
          list-style-type: none;
          width: 100%;
          position: relative;
          height: 27px;
          font-size: 13px;
          font-weight: bold;
          margin: 0;
          padding: 0; }
          .tabs .tab-menu li {
            display: block;
            float: left;
            margin: 0 0 0 4px;
            height: 27px; }
            .tabs .tab-menu li a {
              display: block;
              float: left;
              color: #fff;
              background: #4a6867;
              line-height: 27px;
              text-decoration: none;
              padding: 0 17px 0 18px;
              height: 27px; }
              .tabs .tab-menu li a a:hover {
                background: #2e4560; }
                .tabs .tab-menu li a a.current {
                  color: #2e4560;
                  background: #fff; }
                  .tabs .tab-menu li a a.current:hover {
                    color: #2e4560;
                    background: #fff; }
        .tabs .tab-content {
          border: 1px solid black;
          padding: 2px; }

.page .splitcontainer {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch; }
  .page .splitcontainer > div, .page .splitcontainer section {
    flex-grow: 1; }
    .page .splitcontainer .portrait {
      flex-grow: 0;
      flex-shrink: 0;
      align-items: center; }
.page .box {
  border: 1px solid gray;
  padding: 2px; }
  .page .box section {
    padding-left: 0.5em;
    padding-right: 0.5em; }
    .page .box h3 {
      text-align: center;
      background-color: #779aaa;
      margin-top: 0;
      margin-bottom: 0.5em; }
