/* ~~~~~~~~~~~~~~~~~~~~~~~~~~ Calefaction Main CSS ~~~~~~~~~~~~~~~~~~~~~~~~~ */ /* =============================== Universal =============================== */ @import url(//fonts.googleapis.com/css?family=Open+Sans:400,400italic,700); body { display: flex; min-height: 100vh; flex-direction: column; margin: 0; font-family: "Open Sans", sans-serif; line-height: 1.3; color: #EAEAEA; background-color: black; background-size: cover; background-position: center; background-attachment: fixed; } a { color: #78CEFF; text-decoration: none; } a:hover { color: #68BEDD; text-decoration: underline; } h2 { margin: 0.5em 0; } .understate { font-weight: normal; } #container { display: flex; flex: 1; } #container > div { width: 100%; } .styled-border { border-color: #4A4A4A; border-style: solid; } main, header, footer { background-color: rgba(0, 0, 0, 0.8); } main { border-width: 1px; } header { border-width: 0 0 1px 0; } footer { padding: 0.5em 0; font-size: 85%; text-align: center; color: #BABABA; border-width: 1px 0 0; } header > div, footer > div { margin: 0 auto; } @media (min-width: 800px) { main, header > div, footer > div { max-width: 1000px; width: 80%; } main { margin: 2em auto; padding: 0.5em 1.5em; } header > div { display: table; } footer > div { padding: 0.5em 1.5em; } header > div > div { display: table-row; } header > div > div > div { display: table-cell; } header .left { padding: 0.5em 1.5em 0.5em 0; } header .right { padding: 0.5em 0; text-align: right; white-space: nowrap; } } @media (max-width: 799px) { main { margin: 1.5em auto; padding: 0 1em; } footer > div { padding: 0.5em 1em; } header > div > div > div { display: inline-block; } header .left { margin: 0.5em 1em 0em 1em; } header .right { margin: 0.25em 1em 0.5em 1em; } } header nav { display: inline-block; vertical-align: middle; padding: 0.25em 0; } header nav > ul { display: inline-block; margin: 0; padding: 0; } header nav > ul > li { display: inline-block; } header nav > ul > li:not(:last-child)::after { content: " \007c"; color: #777; } header .spacer { height: 32px; vertical-align: middle; visibility: hidden; } header .sep { color: #777777; } footer ul { margin: 0; padding: 0; } footer ul li { display: inline-block; list-style: none; } footer ul li:not(:last-child)::after { content: " \00b7"; } #corp-masthead { color: #EAEAEA; margin-right: 1.5em; } #corp-masthead:hover { color: #BABABA; text-decoration: none; } #corp-masthead img { height: 32px; margin-right: 0.25em; } #corp-masthead h1 { display: inline; font-size: 120%; font-weight: normal; } #corp-masthead > * { vertical-align: middle; } #flashes { margin-top: 0.5em; } #flashes > div { padding: 0.5em 0.75em; border-left-width: 4px; border-left-style: solid; } #flashes > .success { border-color: #33AA22; background-color: rgba(60, 255, 30, 0.2); } #flashes > .error { border-color: #AA3322; background-color: rgba(255, 60, 30, 0.2); } #flashes .dismiss { float: right; margin: 0 0 0.5em 0.5em; } #character-portrait { position: relative; display: inline-block; } #character-portrait img { height: 32px; width: 32px; margin-right: 0.25em; box-sizing: border-box; border-width: 1px; vertical-align: middle; } #character-summary { font-size: 90%; vertical-align: middle; } #character-options { position: absolute; margin-top: 1em; margin-left: -5px; background-color: rgba(0, 0, 0, 0.8); border-width: 1px; } #character-options::after, #character-options::before { bottom: 100%; left: 20px; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; } #character-options::after { border-bottom-color: black; border-width: 10px; margin-left: -10px; } #character-options::before { border-bottom-color: #4A4A4A; border-width: 12px; margin-left: -12px; } #style-options { margin: 4px; line-height: 0; } #style-options > * { display: inline-block; padding: 4px; } #style-options > * > * { display: inline-block; height: 24px; width: 24px; margin: 0; padding: 0; background-color: transparent; background-size: contain; background-position: center; background-repeat: no-repeat; font-size: 0; border: 0; vertical-align: middle; } #style-options .cur { background-color: rgba(255, 255, 255, 0.3); } #style-options > :not(.cur) > * { cursor: pointer; } #error pre { white-space: pre-wrap; } #login-button { height: 30px; padding-bottom: 2px; vertical-align: middle; } #logout-form { margin-bottom: 1em; } /* ================================ Modules ================================ */ /* ------------------------------- Campaigns ------------------------------- */ #campaigns-select { display: inline-block; padding-right: 1em; background: transparent 100% 50%/contain no-repeat; border-width: 1px; } #campaigns-select select { max-width: 120px; padding: 0 0.25em; font-size: 100%; color: inherit; background: transparent; border: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; } h2 .disabled { color: #989898; text-decoration: line-through; } h2 .disabled::after { display: inline-block; padding-left: 0.75em; font-size: 75%; content: "✘"; } /* -------------------------------- Members -------------------------------- */ #members-list { list-style: none; margin: 1em 0 0.5em 0; padding: 0; column-count: 2; } #members-list li { margin-bottom: 0.5em; } #members-list a:hover { text-decoration: none; } #members-list img { width: 48px; height: 48px; vertical-align: middle; border-width: 1px; } #members-list span { margin-left: 0.5em; vertical-align: middle; } #members-list em { font-size: 90%; } #members-list em::before { content: ", "; }