/* page setup */

html { -webkit-font-smoothing:antialiased; font-size:62.5%; height:100%; min-height:100%; text-rendering:optimizeLegibility; }
body { -webkit-font-smoothing:antialiased; color:#323232; font-family:'Raleway',arial,helvetica,sans-serif; font-size:1.4rem; margin:0; overflow-x:hidden; position:relative; text-rendering:optimizeLegibility; width:100%; }
#back { position:relative; width:100%; }
#page { margin:0 auto 0 auto; overflow:hidden; position:relative; width:100%; }


/* flow wrappers */

.flow { position:relative; width:100%; }
.limit { margin:auto; position:relative; max-width:1100px; }
.main { max-width:1040px; padding:30px; }
@media only screen and ( max-width:1140px ) {
    .limit { padding:0 20px; }
}


/* generic elements */

a { color:#33cccb; font-size:1.6rem; text-decoration:none; }
h1 { font-size:4.0rem; font-weight:900; margin:0 0 1rem 0; }
h2 { font-size:2.4rem; font-weight:600; margin:0 0 1rem 0; }
h3 { font-size:2.3rem; font-weight:300; margin:0 0 1rem 0; }
h4 { font-size:2rem; font-weight:600; margin:0 0 1rem 0; }
fieldset { border:0; margin:0; padding:0; }
p { font-size:1.6rem; margin:1.6rem 0; }


/* placeholder color */

::-webkit-input-placeholder { color:#ddd; }
:-moz-placeholder { color:#ddd; opacity:1; }
::-moz-placeholder { color:#ddd; opacity:1; }
:-ms-input-placeholder { color:#ddd; }
:placeholder-shown { color:#ddd; }

/* old browser patches */

a img { border:none; }

/* generic classes */

.inline_button { background:#33cccb; border:0; border-radius:5px; color:white !important; display:inline-block; padding:8px 20px; text-transform:uppercase; }
.center { text-align:center; }
.vpad { padding-bottom:20px; padding-top: 20px; }
.black { font-weight:900; }
.fullheight { height:100%; }

/* header */

#header { background:white; border-bottom:1px solid #eee; font-size:1.6rem; left:0; position:fixed; top:0; transition:background 0.2s; width:100%; z-index:100; }
#header_flex { align-items:center; display:flex; justify-content:space-between; text-align:center; }
#header_logo { color:#272727; display:inline-block; font-size:3rem; font-weight:800; height:4.8rem; padding:4rem 0; transition:height 0.2s, padding 0.2s; }
.header_logo_center { margin:auto; }
#header nav { display:inline-block; text-align:right; }
#header_links { display:inline-block; margin:0; }
#header_links li { display:inline-block; margin:0 0.8rem; }
#header_links li:last-child { margin-right:0; }
#header_links a { color:black; display:inline-block; }
#header_menu_link { display:none; padding:1.6rem 0; }
.header_pad { margin-top:12.8rem; transition:margin 0.2s; }
html.scrolled #header_logo img { height:3.2rem; padding:1.6rem 0; }
html.scrolled .header_pad { margin-top:2.6rem; }
@media only screen and ( max-width:900px ) {
    #header_logo { font-size:2rem; height:2.6rem; padding:0.8rem 0; }
    #header_links { display:none; }
    #header_menu_link { display:inline-block; }
    .header_pad { margin-top:4.8rem; }
    html.scrolled #header_logo img { height:2.6rem; padding:0.8rem 0; }
    html.scrolled .header_pad { margin-top:4.8rem; }

    #header.menu_active { background:#eee; height:100%; }
    #header.menu_active .limit { background:black; border-bottom:1px solid #aaa; transition:background 0.2s; }
    #header.menu_active #header_logo img { filter:invert(100%); }
    #header.menu_active #header_links { display:block; left:0; padding:0; position:absolute; top:6.4rem; width:100%; }
    #header.menu_active #header_links a { display:block; }
    #header.menu_active #header_links li {border-bottom:1px solid #ddd; display:block; margin:0; padding:1.3rem 1.9rem; text-align:left; }
    #header.menu_active #header_links .inline_button { background:transparent; color:#33cccb !important; padding:0; text-transform:none; }
}

/* breadcrumbs */

#breadcrumbs { background:#272727; color:white; font-size:1.6rem; padding:20px 0; }
#breadcrumbs_links { display:inline-block; line-height: 24px; }
.breadcrumbs_link { display:inline-block; }
.breadcrumbs_link a { color:white; font-weight:bold; }
#breadcrumbs_actions { display:inline-block; float:right; }
.breadcrumbs_action { display:inline-block; }
.breadcrumbs_action a { color:white; font-weight:bold; }


/* front end pages */
.page_top { background:#272727; color:#f1f1f1; padding:5rem 0; text-align:center; }
.page_top img { margin:3rem 0; max-width: 100%; }
.page_top .conditions { font-size:1.4rem; font-style: italic; }
.page_err { background:#b00d1e; color:white; padding:1rem 0; text-align: center; }
.page_bottom { text-align: center; }
.page_bottom .input_title { text-align: left; }
.page_bottom .input_input { text-align: left; }
.input_section { margin:0 0 3rem 0; }
.page_bottom .limit { margin: auto; }
.page_bottom p { font-size:2rem; }
.page_footer { background:black; }
@media only screen and ( max-width:900px ) {
    .page_top { padding:2rem 0; }
}


/* specific */
#order_number { font-family: monospace; font-size:2rem; }
.button_row { -moz-box-direction:normal; -ms-flex-direction:row; -webkit-box-orient:horizontal; -webkit-flex-direction:row; display:-moz-box; display:-ms-flexbox; display:-webkit-box; display:-webkit-flex; display:flex; flex-direction:row; }
.button_item { -moz-box-flex:1; -ms-flex:1 1 auto; -ms-flex-basis:auto; -ms-flex-negative:1; -ms-flex-positive:1; -webkit-box-flex:1; -webkit-flex:1; -webkit-flex-basis:auto; flex:1; flex-basis:auto; margin:0 10px; }
.button_item:first-of-type { margin-left:0; }
.button_item:last-of-type { margin-right:0; }
@media only screen and ( max-width:900px ) {
    .button_row { display:block; }
    .button_item { margin:0 0 10px 0; }
}


/* forms */

.form_frame { background:#f1f1f1; border-radius:5px; font-size:1.6rem; margin:auto; overflow:hidden; }
.form_frame_small { width:50%; }
.form_frame_medium { width:75%; }
.form_frame_large { width:100%; }
.form_header { background:#666; color:white; padding:20px; }
.form_banner { background:#cc5566; color:white; padding:20px; }
@media only screen and ( max-width:900px ) {
    .form_frame_small { width:100%; }
    .form_frame_medium { width:100%; }
}

.form { box-sizing:border-box; display:table; font-size:1.6rem; padding:24px 20px; width:100%; }
.input_line { display:table-row; }
.input_title { display:table-cell; }
.input_input { display:table-cell; padding:0 0 28px 0; position:relative; }
.input_error { box-sizing:border-box; color:#b00d1e; display:none; font-size:12px; height:18px; padding:2px 6px; }
.input_error_icon { display:none; position:absolute; right:10px; top:10px; }
.input_error_icon img { width:25px; }
@media only screen and ( max-width:900px ) {
    .input_title { display:none; }
}

input { font-size:1.6rem; }
.input_text { background-color:#fdfdfd; border:1px solid #e5e5e5; border-radius:5px; box-sizing:border-box; color:#a0a0a0; line-height:15px; padding:11px 10px 11px 10px; width:100%; }
.input_text_mini { font-size:1.2rem; padding:2px 5px; }
.input_textarea { background-color:#fdfdfd; border:1px solid #e5e5e5; border-radius:5px; box-sizing:border-box; color:#a0a0a0; height:100px; line-height:15px; padding:11px 10px 11px 10px; width:100%; }
.input_select { background-color:#fdfdfd; border:1px solid #e5e5e5; border-radius:5px; box-sizing:border-box; color:#a0a0a0; line-height:15px; padding:11px 10px 11px 10px; width:100%; }
.input_file { background-color:#33cccb; border:0; box-sizing:border-box; color:white; padding:10px 20px 10px 20px; width:100%; }
.input_button { background:#33cccb; border:0; border-radius:5px; color:white; padding:12px 20px; }
.input_button_gray { background:#ddd; }
.input_autosize { width:auto; }
.input_fullsize { width:100%; }
.input_inset { padding-right:4.5rem; }
.input_inset_button { position:absolute; top:0.9rem; }
.input_inset_button1 { right:1rem; }
.input_inset_button2 { right:3rem; }
@media only screen and ( max-width:900px ) {
    .input_button { width:100%; }
}

.line_error .input_input { padding:0 0 10px 0; }
.line_error .input_error { display:block; }
.line_error .input_error_icon { display:block; }
.line_error .input_field { border:1px solid #b00d1e; padding-right:45px; }
.submit_error { background:#b00d1e; }


/* tables */

.table_frame { background:#f6f6f6; border-radius:5px; margin:auto; overflow:hidden; }
.table_frame_small { width:50%; }
.table_frame_medium { width:75%; }
.table_frame_wide { width:100%; }
.table {  border-collapse:collapse; display:table; font-size:1.6rem; width:100%; }
.table_row { border-bottom:1px solid #eee; box-sizing:border-box; display:table-row; }
.table_row:hover { border-bottom:1px solid #ddd; }
.table_cell { display:table-cell; padding:0.8rem 1.5rem; vertical-align: middle; }
.table_right { text-align: right; }


/* flexbox generic */

.flex { display:-moz-box; display:-ms-flexbox; display:-webkit-box; display:-webkit-flex; display:flex;  }
.flex_row { -moz-box-direction:normal; -ms-flex-direction:row; -webkit-box-orient:horizontal; -webkit-flex-direction:row; flex-direction:row; }
.flex_column { -moz-box-direction:normal; -ms-flex-direction:column; -webkit-box-orient:vertical; -webkit-flex-direction:column; flex-direction:column; }
.flex_align_center { -moz-box-align:center; -ms-flex-align:center; -webkit-align-items:center; -webkit-box-align:center; align-items:center; }
.flex_align_start { -moz-box-align:start; -ms-flex-align:start; -webkit-align-items:flex-start; -webkit-box-align:start; align-items:flex-start; }
.flex_item_size_auto { -moz-box-flex:1; -ms-flex:1 1 auto; -ms-flex-basis:auto; -ms-flex-negative:1; -ms-flex-positive:1; -webkit-box-flex:1; -webkit-flex:1; -webkit-flex-basis:auto; flex:1; flex-basis:auto; }


/* material icon overrides */
.material-icons.md-red { color:#b00d1e; }
.material-icons.md-gold { background-image: radial-gradient(at center, white 40%, transparent 40%); color:#33cccb; }
.material-icons.md-black { color:black; }
.material-icons.md-white { background-image: radial-gradient(at center, #33cccb 40%, transparent 40%); color:white; }
.material-icons.md-gray { color:#f1f1f1; }
.material-icons.md-18 { font-size: 18px; }
.material-icons.md-24 { font-size: 24px; }
.material-icons.md-36 { font-size: 36px; }
.material-icons.md-48 { font-size: 48px; }
