html { height:100%; }
html,body { background:#fff; color:#000; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; }
html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,form,input,button,textarea,p,th,td,header,nav,menu,menuitem,section,main,footer,figure,blockquote,cite { margin:0; padding:0; }
menu,menuitem,section,main,footer,blockquote,cite { display:block; }
img { display:block; border:0; }
iframe, textarea { border:none; display:block; }
input, textarea, select, button { outline:none; font-weight:normal; background:#fff; }
table { border-collapse:collapse; border-spacing:0; font-size:inherit; font-size:100%; margin-bottom:14px; }
th { font-weight:500; }
tr > *:not(:last-child) { padding-right:20px; }
p, ol { margin-bottom:14px; }
ul { list-style:none; }
ol { margin-left:1.6em; }
small { font-size:12px; }
b { font-weight:500; }
strong { font-weight:600; }
a { text-decoration:none; }
svg { display:block; }
label { cursor:default; }
object { -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; }

body { font-size:16px; line-height:1.38; text-align:center; position:relative; min-height:100%; min-width:100%; -webkit-font-smoothing:antialiased; }

@font-face { font-family:'BeausiteClassic'; src:url('/assets/fonts/beausite/BeausiteClassic-Black.woff2') format('woff2'); font-weight:700; font-style:normal; font-display:fallback; }

@font-face { font-family:'o-graphik'; src:url('/assets/fonts/graphik/graphik-regular.woff') format('woff'); font-weight:400; font-style:normal; font-display:fallback; }
@font-face { font-family:'o-graphik'; src:url('/assets/fonts/graphik/graphik-regular-italic.woff') format('woff'); font-weight:400; font-style:italic; font-display:fallback; }
@font-face { font-family:'o-graphik'; src:url('/assets/fonts/graphik/graphik-medium.woff') format('woff'); font-weight:500; font-style:normal; font-display:fallback; }
@font-face { font-family:'o-graphik'; src:url('/assets/fonts/graphik/graphik-semibold.woff') format('woff'); font-weight:600; font-style:normal; font-display:fallback; }
@font-face { font-family:'o-graphik'; src:url('/assets/fonts/graphik/graphik-bold.woff') format('woff'); font-weight:700; font-style:normal; font-display:fallback; }

body, input, button, select, textarea { font-family:'o-graphik',sans-serif; }

h1,h2 { font-feature-settings:'liga'; }
h1 { font-size:26px; line-height:32px; margin-bottom:16px; font-weight:600; }
h2 { font-size:24px; line-height:30px; margin-bottom:14px; font-weight:600; }
h3 { font-size:16px; line-height:22px; margin-bottom:14px; font-weight:600; }
h4 { font-size:16px; line-height:20px; margin-bottom:12px; font-weight:500; }

/* label */
label input, label textarea { margin-top:9px; }

/* initial colors */
input, textarea, select, button { color:inherit; }

/* input, textarea */
input::-ms-clear { display:none; }

input[type=text], input[type=email], input[type=password], textarea { border:1px solid #d6d6d6; border-radius:2px; -webkit-appearance:none; font-size:16px; line-height:18px; -webkit-transition:all .1s; -o-transition:all .1s; transition:all .1s; }
input[type=text]:hover, input[type=email]:hover, input[type=password]:hover, textarea:hover { border-color:#a6a6a6; -webkit-transition:none; -o-transition:none; transition:none; }
*:not(.chosen-search) > input[type=text]:focus, input[type=email]:focus, input[type=password]:focus, textarea:focus { border-color:hsl(220,92%,53%) !important;
-webkit-box-shadow:0 0 0 1px hsla(220,92%,53%,.7); box-shadow:0 0 0 1px hsla(220,92%,53%,.7); }

input[type=text], input[type=email], input[type=password] { padding:8px 10px; height:38px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; max-width:100%; }
textarea { padding:10px 11px; box-sizing:border-box; max-width:100%; line-height:22px; }

input[type=text][disabled], input[type=text][readonly], input[type=text][disabled=disabled], input[type=email][disabled], input[type=email][disabled=disabled], input[type=password][disabled], input[type=password][disabled=disabled] { background:hsl(210,11%,97%); border-color:hsl(210,11%,97%); color:rgba(0,0,0,.3); -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; }

/* buttons */
input[type=button], input[type=submit], button { -webkit-appearance:none; cursor:pointer; outline:none; overflow:visible; min-width:64px; border-radius:3px; border:1px solid rgba(0,0,0,.2); background:#fff;
-webkit-transition:all .1s; -o-transition:all .1s; transition:all .1s; }

input[type=button], input[type=submit] { padding:9px 11px; font-size:16px; line-height:18px; position:relative; /* IE10 fix */ }

button { font-size:16px; line-height:35px; padding-top:1px; white-space:nowrap; text-decoration:none; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; }
button span.label { position:relative; pointer-events:none; padding:0 12px; }
button > span { position:relative; pointer-events:none; }
button::-moz-focus-inner { padding:0; border:0; } /* fix Firefox padding */
button.clean { border-color:#d6d6d6; background:#fff; }

input[type=button]:hover, input[type=submit]:hover, button:hover { border-color:rgba(0,0,0,.35); -webkit-transition:none; -o-transition:none; transition:none; }
input[type=button]:focus, input[type=submit]:focus, button:focus { border-color:rgba(0,0,0,.35); }
button.clean:hover { background:#fff; }
input[type=button]:active, input[type=submit]:active, button:active { border-color:rgba(0,0,0,.2); background:#f9f9f9; }

input[type=submit][disabled], input[type=button][disabled], input[type=submit][disabled=disabled] { background:hsl(210,11%,97%); border-color:hsl(210,11%,97%); color:rgba(150,160,170,.7) !important; cursor:default; }
button[disabled], button[disabled=disabled] { background:hsl(210,11%,97%); border-color:hsl(210,11%,97%) !important; color:hsla(215,5%,60%); cursor:default; }

/* button - vivid */
.vivid button, .vivid button:hover { color:#fff; -webkit-box-shadow:none; box-shadow:none; -webkit-transition:all .1s; -o-transition:all .1s; transition:all .1s; }
.vivid button { background:hsl(228,100%,52%); border:none; line-height:38px; border-radius:3px; }
.vivid button:hover { background:hsl(220,100%,42%); -webkit-transition:none; -o-transition:none; transition:none; }
.vivid button:focus { background:hsl(220,100%,42%); }
.vivid button:active { background:hsl(220,90%,35%); -webkit-transition:all .1s; -o-transition:all .1s; transition:all .1s; }
.vivid button[disabled=disabled], .vivid button[disabled] { background:hsl(210,15%,97%); color:hsl(215,5%,60%) !important; cursor:default; }

.vivid-link a { display:block; background:hsl(228,100%,52%); color:#fff !important; line-height:38px; border-radius:3px; -webkit-transition:all .1s; -o-transition:all .1s; transition:all .1s; -webkit-user-drag:none; -ms-user-drag:none; user-drag:none; }
.vivid-link a:hover { background:hsl(220,100%,42%); color:#fff !important; -webkit-transition:none; -o-transition:none; transition:none; }
.vivid-link a:active { background:hsl(220,90%,35%); -webkit-transition:all .1s; -o-transition:all .1s; transition:all .1s; }

.vivid.loading button { position:relative; padding-left:28px; }
.vivid.loading button:before { content:''; position:absolute; top:calc(50% - 10px); left:12px; width:18px; height:18px; border:2px solid hsl(220,25%,50%,.3); border-left-color:transparent; border-bottom-color:transparent; border-radius:50%; box-sizing:border-box;
-webkit-animation:loadingbtn .7s linear infinite; animation:loadingbtn .7s linear infinite; }

@-webkit-keyframes loadingbtn { 50% { transform:rotate(180deg); } 100% { transform:rotate(360deg); } }
@keyframes loadingbtn { 50% { transform:rotate(180deg); } 100% { transform:rotate(360deg); } }

/* placeholder */
::-webkit-input-placeholder { color:hsl(215,4%,72%); opacity:1; } /* WebKit, Blink, Edge */
::-moz-placeholder { color:hsl(215,4%,72%); opacity:1; } /* Mozilla Firefox 19+ */
:-moz-placeholder { color:hsl(215,4%,72%); opacity:1; } /* Mozilla Firefox 4 to 18 */
:-ms-input-placeholder { color:hsl(215,4%,72%); opacity:1; } /* Internet Explorer 10-11 */
:placeholder-shown { color:hsl(215,4%,72%); opacity:1; } /* Standard */

/* checkbox */
.checkbox, .radio { padding-left:27px; position:relative; }
.checkbox input[type=checkbox], .radio input[type=radio] { float:left; top:2px; margin:0 0 0 -27px; }

.checkbox label, .radio label { cursor:pointer; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; }

input[type=checkbox], input[type=radio] { position:relative; width:16px; height:16px; box-sizing:border-box; border:1px solid #bbb; cursor:pointer; display:flex; align-items:center; justify-content:center;
-webkit-appearance:none; -moz-appearance:none; appearance:none;
-webkit-transition:all .1s; -o-transition:all .1s; transition:all .1s; }
input[type=checkbox] { border-radius:2px; }
input[type=radio] { border-radius:50%; }

/* checkbox - tick */
input[type=checkbox]:after, input[type=radio]:after { flex-shrink:0; content:''; opacity:0; }
input[type=checkbox]:after { width:16px; height:16px; background:url('/assets/svg/common/checkbox.svg'); }
input[type=radio]:after { width:8px; height:8px; background:hsl(220,100%,50%); border-radius:50%; }

/* checkbox - checked */
input[type=checkbox]:checked { border-color:hsl(228,100%,60%); background:hsl(220,100%,50%); }
input[type=radio]:checked { border-color:hsl(228,100%,60%); }
input[type=checkbox]:checked:after, input[type=radio]:checked:after { opacity:1; }

/* checkbox - hover, focus, active */
input[type=checkbox]:hover, input[type=radio]:hover { -webkit-transition:none; -o-transition:none; transition:none; }

input[type=checkbox]:not(:checked):hover, input[type=radio]:not(:checked):hover { border-color:#888; }
input[type=checkbox]:not(:checked):focus, input[type=radio]:not(:checked):focus { border-color:#888; }
input[type=checkbox]:not(:checked):active, input[type=radio]:not(:checked):active { border-color:#ccc; }

input[type=checkbox]:checked:hover { border-color:hsl(220,100%,40%); background:hsl(220,100%,40%); }
input[type=radio]:checked:hover { border-color:hsl(220,100%,40%); }
input[type=radio]:checked:hover:after { background:hsl(220,100%,40%); }

input[type=checkbox]:checked:focus { border-color:hsl(220,100%,40%); background:hsl(220,100%,40%); }
input[type=radio]:checked:focus { border-color:hsl(220,100%,40%); }
input[type=radio]:checked:active:focus { background:hsl(220,100%,40%); }

input[type=checkbox]:checked:active { border-color:hsl(220,100%,60%); background:hsl(220,100%,60%); }
input[type=radio]:checked:active { border-color:hsl(220,100%,60%); }
input[type=radio]:checked:active:after { background:hsl(220,100%,60%); }

/* interactive */
.success, .error, .report { margin-bottom:20px; }
.success { background:hsl(140,100%,96%); color:hsl(140,100%,27%); padding:12px 18px; -webkit-animation:success 1s forwards; animation:success 1s forwards; }
.error { background:hsl(0,100%,98%); color:#f00; padding:12px 18px; -webkit-animation:error 2s forwards; animation:error 2s forwards; }
.report { background:hsl(50,100%,95%); color:rgba(0,0,0,.8); padding:12px 18px; -webkit-animation:report 2s forwards; animation:report 2s forwards; }

@-webkit-keyframes success { from { background-color:hsl(130,65%,75%); } to { background-color:hsl(140,100%,96%); } }
@keyframes success { from { background-color:hsl(130,65%,75%); } to { background-color:hsl(140,100%,96%); } }

@-webkit-keyframes error { from { background-color:hsl(0,100%,92%); } to { background-color:hsl(0,100%,98.5%); } }
@keyframes error { from { background-color:hsl(0,100%,92%); } to { background-color:hsl(0,100%,98.5%); } }

@-webkit-keyframes report { from { background-color:hsl(45,100%,80%); } to { background-color:hsl(45,100%,94%); } }
@keyframes report { from { background-color:hsl(45,100%,80%); } to { background-color:hsl(45,100%,94%); } }

/* inline errors */
.form-error { color:#f00; margin-top:-3px; }

/* others */
.list { margin-bottom:14px; margin-left:26px; list-style:disc; }

.hidden { display:none }

@media screen and (max-width:760px) {
h1 { font-size:24px; line-height:30px; margin-bottom:14px; }
}
