* {
    box-sizing: border-box;
}

html {
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
}

body,
a,
a:visited {
    color: #555;
}

a {
    text-decoration: none;
}

a.pintips,
a.pintips:visited {
    text-decoration: underline;
    color: #393;
}

a.rulesheets,
a.ruleseets:visited {
    text-decoration: underline;
    color: #333;
}

ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

body, input, button, select {
    font-family: arial, sans-serif;
    font-size: 16px;
    line-height: 1.5em;
}

body {
    margin: 0 auto;
    padding-top: 10px;
}

h1 { font-size: 24px; }
h2 { font-size: 18px; }
h3 { font-size: 16px; }

#header {
    color: #39f;
    text-align: center;
    font-weight: bold;
}

.unavailable {
    background-color: #f7f7f7;
    color: #999;
}

#splash-page {
    min-height: 100vh;
    padding: 10px 20px 20px 20px;
}

#guides {
    padding: 20px;
}

#searchbox {
    margin-bottom: 10px;
}

input[type=search] {
    -webkit-appearance: none;
    border-radius: 0;
}

#search-input {
    border-style: none;
    padding: 10px;
    border: 1px solid #ccc;
    width: 100%;
}

.machine:before { 
  display: block; 
  content: " "; 
  visibility: hidden; 
}

#machine-nav {
}

.nav-item {
    min-width: 280px;
    text-align: center;
    border: 1px solid #ccc;
    margin-bottom: 10px;
}
    
.nav-item a,
.nav-item span {
    display: block;
    padding: 10px;
}

.guide-nav {
    border-bottom: 1px solid #ccc;
    padding: 10px;
    text-align: center;
    display: flex;
}

.guide-nav span {
    flex-grow: 1;
    flex-basis: 0;
}

.guide-nav span:first-child {
    text-align: left;
}

.guide-nav span:last-child {
    text-align: right;
}

.machine {
    min-height: 100vh;
}

@media (min-width: 768px) {
    .nav-item {
        display: inline-block;
        margin: 10px;
    }
}

@media (min-width: 1024px) {
    body {
        max-width: 960px;
    }
}
