/*
   Hands-on Project 4-5
   Sung Kim | 6-14-26 | IST-239-W01
   Program: Angular Degrees to Circular Radians Converter

   Purpose:
   This stylesheet formats the converter layout, including form alignment,
   input styling, and arrow display between conversion fields.

   Filename: styles.css
   Related: project04-05.html, project04-05.js
*/

/* Apply consistent box sizing to all elements */
* {
   box-sizing: border-box;
}

/* Reset default browser styles 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;
}

/* Ensure HTML5 elements behave as block elements */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
   display: block;
}

/* Page layout styling */
body {
   line-height: 1;
   max-width: 600px;
   margin: 20px auto;
   background: white;
   font-family: Arial, Helvetica, sans-serif;
   border: 4px outset gray;
}

/* Remove list styles (reset rule) */
ol, ul {
   list-style: none;
}

/* Header styling */
header {
   background: #FFC340;
   width: 100%;
   color: black;
   font-size: 48px;
   text-align: center;
   line-height: 1.5em;
}

/* Main content container */
article {
   text-align: center;
   background: white;
}

/* Form layout using flexbox */
form {
   display: flex;
   flex-flow: row wrap;
}

/* Section heading styling */
h2 {
   margin: 20px 0;
   font-size: 1.2em;
   font-weight: normal;
   letter-spacing: 0.1em;
}

/* Subheading styling */
h3 {
   font-size: 1em;
   font-weight: normal;
   font-family: sans-serif;
}

/* Input box styling */
input {
   display: block;
   margin: 10px auto;
   width: 100px;
   text-align: right;
   font-size: 1.2em;
   padding: 4px;
}

/* Flex container for each section */
div {
   flex: 1 1 100px;
}

/* Arrow styling between inputs */
div#arrow {
   line-height: 70px;
   font-size: 70px;
}

/* Footer instructions styling */
footer {
   margin: 20px 0 15px;
   text-align: center;
   font-size: 1.1em;
   line-height: 1.2;
   padding: 0 20px;
}