/*
   Hands-on Project 4-1
   Sung Kim | 6-14-26 | IST-239-W01
   Program: Moving Estimate Styling
   
   Purpose:
   This stylesheet formats the moving estimate form, including layout,
   spacing, alignment, and visual structure for inputs and output display.

   Filename: styles.css
   Related: project04-01.html, project04-01.js
*/

/* Applies box-sizing model to all elements */
* {
   box-sizing: border-box;
}

/* Resets default browser styling for consistency */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, section {
   margin: 0;
   padding: 0;
   border: 0;
   font-size: 100%;
   vertical-align: baseline;
}

/* Ensures HTML5 elements display properly */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
   display: block;
}

/* Page layout styling */
body {
   line-height: 1;
   width: 960px;
   margin: 0 auto;
   background: white;
   font-family: Verdana, Geneva, sans-serif;
}

/* Removes list styling */
ol, ul {
   list-style: none;
}

/* Header styling */
header {
   background: #5472B2;
   color: #FFFFFF;
   font-size: 48px;
   text-align: center;
   line-height: 1.5em;
}

/* Main content container */
article {
   width: 960px;
   height: 250px;
   background: #FFDB70;
   position: relative;
   text-align: left;
}

/* Section title */
article h2 {
   font-weight: bold;
   font-size: 24px;
   padding: 10px;
}

/* Form layout */
form {
   padding-left: 30px;
}

/* Label styling */
label {
   display: inline-block;
   width: 400px;
   float: left;
   clear: left;
   margin-bottom: 20px;
}

/* Input field styling */
input {
   float: left;
   margin-bottom: 20px;
   text-align: right;
   padding-right: 5px;
}

/* Output box styling */
div#totalBox {
   width: 175px;
   float: left;
   outline: 1px solid gray;
   height: 20px;
   line-height: 20px;
   text-align: right;
   background-color: white;
   padding-right: 5px;
}

/* Unit labels */
span {
   float: left;
   margin-left: 8px;
}

/* Error message styling */
span#msgBox {
   color: red;
   font-size: 1.4em;
}

/* Divider line */
div#border {
   float: left;
   clear: left;
   height: 2px;
   background-color: blue;
   width: 700px;
   margin-bottom: 15px;
}