/* Base Styles & Variables */
html {
    scroll-behavior: smooth;
}

:root {
    --bg: #ffffff;
    --text: #1f2937;
    --muted: #6b7280;
    --surface: #f7f7f7;
    --primary: #0f172a;
    --primary-contrast: #ffffff;
    --accent: #0064c8;
    --radius: 14px;
    --shadow-sm: 0 2px 6px rgba(0, 0, 0, 0.08);
    --shadow-md: 0 6px 24px rgba(0, 0, 0, 0.1);
}

body {
    color: #4f4f4f;
    font-size: 20px;
    line-height: 1.7;
}

/* HTML5 Elements */
article,
aside,
dialog,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
    display: block;
}

/* Clearfix */
.clearL,
.clearR,
.clear {
    clear: both;
}

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

/* Selection */
::-moz-selection {
    background: #0064c8;
    color: #ffffff;
}

::selection {
    background: #0064c8;
    color: #ffffff;
}

/* Links */
A {
    text-decoration: none;
    color: #3c3c3c;
}

b {
    color: #3c3c3c;
}

.allcont P A,
#contactform .field.privacy A {
    border-bottom: 2px solid #a3a3a3;
}

#contactform .field.privacy A {
    color: #666;
}

.allcont P A:hover,
#contactform .field.privacy A:hover {
    border-bottom: 2px solid #3c3c3c;
}

/* Horizontal Rule */
HR {
    background: transparent;
    border: 0 solid #000000;
    height: 0;
    padding: 0;
    margin: 30px auto;
    border-bottom: 1px solid #3c3c3c;
}

/* Tables */
table {
    width: auto;
    border-collapse: collapse;
    border-spacing: 0;
}

/* Images */
img,
embed,
object,
video {
    max-width: 100%;
    height: auto;
    width: auto;
}
