*, *:before, *:after { -moz-box-sizing: inherit; box-sizing: inherit; outline: none; -webkit-tap-highlight-color: rgba(255, 255, 255, 0); }
html { box-sizing: border-box; margin: auto; overflow-x: hidden; }
body { font-family: neue-haas-grotesk-text, sans-serif; font-size: 16px; font-weight: normal; line-height: 1.38; position: relative; box-sizing: border-box; margin: 0; background-color: #343434; color: #FFF; }
section, header, footer { display: block; width: 100%; }
h1 { font-family: neue-haas-grotesk-display, sans-serif; font-size: 72px; font-weight: normal; line-height: 1; }
h2 { font-family: neue-haas-grotesk-display, sans-serif; font-size: 56px; font-weight: normal; line-height: 1.14; }
h3 { font-family: neue-haas-grotesk-display, sans-serif; font-size: 42px; font-weight: normal; line-height: 1.14; }
h4 { font-family: neue-haas-grotesk-display, sans-serif; font-size: 32px; font-weight: normal; line-height: 1.31; }
a { text-decoration: none; -webkit-transition: all 0.25s ease-in-out; -moz-transition: all 0.25s ease-in-out; -o-transition: all 0.25s ease-in-out; transition: all 0.25s ease-in-out; }
.button { text-align: center; padding: 12px 24px; color: #FFF; background-color: #268df4; border: 1px solid #268df4; border-radius: 4px; display: inline-block; cursor: pointer; -webkit-transition: all 0.25s ease-in-out; -moz-transition: all 0.25s ease-in-out; -o-transition: all 0.25s ease-in-out; transition: all 0.25s ease-in-out; }
.button:hover { background-color: #4aa459; border: 1px solid #4aa459; }
.button.white { color: #232421; background-color: #FFF; border: 1px solid #FFF; }
.button.white:hover { color: #FFF; background-color: #268df4; border: 1px solid #268df4; }
.button.border { color: #232421; background-color: #FFF; border: 1px solid #abb8c1; }
.button.border:hover { color: #FFF; background-color: #268df4; border: 1px solid #268df4; }



section { position: relative; padding: 10px 0; border-top: 2px solid #6b7472; max-width: 1200px; margin: 0 auto; margin-bottom: 100px; }
section:first-of-type { border-top:none; }
section#footer { margin-bottom: 200px; }
a { -webkit-tap-highlight-color: transparent; }
.ui-state-highlight { height: auto; line-height: 1.2em; border: 2px dashed #CCC; background-color: #deeefe !important; }
.container { max-width: 1200px; margin: 0 auto; }
.flex { display: flex; }
.flex.right { -webkit-justify-content: flex-end; justify-content: flex-end; }
.flex.jcsb { -webkit-justify-content: space-between; justify-content: space-between; }
.pad10 { padding: 10px; }
.options { background: #000; margin-top: 12px; padding: 6px 12px; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; }
.options * { color: #FFF; }
.options .hide { display: flex; }
.options .hide label { cursor: pointer; padding-right: 10px; }
section .top h4 { color: #FFF; font-size: 32px; margin-top: 0; margin-bottom: 24px; }
.components { position: relative; }
.components > .component { opacity: 0; visibility: hidden; position: absolute; width: 100%; transition: all 0.25s ease-in-out; top: 0; min-height: 50px; line-height: 0; }
.components > .component.selected { opacity: 1; visibility: visible; position: relative; left: 0; }
.components > .component .container { padding-left: 20px; padding-right: 20px; }
.components > .component > img { width: 100%; height: auto; }
.components > .component > section, .components > .component > footer { line-height: initial; }
.components:before { content: "Section is hidden"; display: flex; -webkit-justify-content: center; justify-content: center; align-items: center; background-color: rgba(0, 0, 0, 0.85); color: white; position: absolute; width: 100%; height: 100%; top: 0; left: 0; z-index: 10; transition: all 0.25s ease-in-out; opacity: 0; pointer-events: none; }
.components.hidden:before { opacity: 1; }
#hero { min-height: 400px; }

.options input[type="checkbox"] { -webkit-appearance: none; appearance: none; background-color: #000; margin: 0; font: inherit; color: currentColor; width: 14px; height: 14px; border: 1px solid #FFF; border-radius: 50%; position: relative; top: 4px; display: grid; place-content: center; cursor: pointer; }
.options input[type="checkbox"]::before { content: ""; width: 8px; height: 8px; transform: scale(0); transition: 120ms transform ease-in-out; box-shadow: inset 1em 1em red; border-radius: 50%; }
.options input[type="checkbox"]:checked::before { transform: scale(1); }
.preview { opacity: 0; transition: all 0.5s ease-in-out; visibility: hidden; }

.username { margin-right: auto; line-height: 18px; }
.username a.switch-user { font-size: 10px; color:#888; }
.username a.switch-user:hover { color: #CCC; }
.saved .preview { opacity: 1; visibility: visible; }
#save-buttons { padding: 40px 0; position: fixed; bottom: 0; background-color: rgba(0, 0, 0, 0.7); width: 100%; z-index: 100; }
#save-buttons a:not(.switch-user) { color: #FFF; background-color: #268DF4; padding: 12px 24px; border-radius: 4px; font-size: 16px; margin-left: 16px; }
#save-buttons a:not(.switch-user):hover { background-color: #FFF; color: #09233d; }

@media (max-width:1220px) {
  section .top, #save-buttons { padding-left: 12px; padding-right: 12px;  }
}

@media (max-width:450px) {
  #save-buttons a { font-size: 13px; display: block; margin:3px 0; }
  #save-buttons .flex { flex-wrap:wrap; }
  #save-buttons .flex > * { flex-basis:100%; }
  .preview { display: none; }
  .saved .preview { display: block; }
  section { margin-bottom: 60px; }
section#footer { margin-bottom: 120px; }
}