/*! ragd-core.css v1.0 — Foundation 5 grid replacement (drop-in)
 *  Breakpoints: small 0, medium 40.063em (~641px), large 64.063em (~1025px)
 *  Max-width: 85rem, Column padding: 0.9375rem, 12 columns
 */

/* ================================================================
   1. RESET & BASE
   ================================================================ */
*,
*::before,
*::after {
    box-sizing: border-box;
}

body,
html {
    height: 100%;
    font-size: 100%;
}

body {
    background: #fff;
    color: #222;
    padding: 0;
    margin: 0;
    font-family: Poppins, Helvetica, Roboto, Arial, sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.5;
    position: relative;
    cursor: auto;
}

a:hover {
    cursor: pointer;
}

img {
    max-width: 100%;
    height: auto;
    display: inline-block;
    vertical-align: middle;
}

#map_canvas img,
.map_canvas img,
#map_canvas embed,
.map_canvas embed,
#map_canvas object,
.map_canvas object {
    max-width: none !important;
}

textarea {
    min-height: 50px;
    max-width: 100%;
}

/* ================================================================
   2. FLOAT HELPERS & CLEARFIX
   ================================================================ */
.left {
    float: left !important;
}

.right {
    float: right !important;
}

.clearfix::before,
.clearfix::after {
    content: " ";
    display: table;
}

.clearfix::after {
    clear: both;
}

.hide {
    display: none !important;
    visibility: hidden;
}

.invisible {
    visibility: hidden;
}

.antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ================================================================
   3. GRID — ROW
   ================================================================ */
.row {
    width: 100%;
    max-width: 85rem;
    margin: 0 auto;
}

.row::before,
.row::after {
    content: " ";
    display: table;
}

.row::after {
    clear: both;
}

.row.collapse>.column,
.row.collapse>.columns {
    padding-left: 0;
    padding-right: 0;
}

.row.collapse .row {
    margin-left: 0;
    margin-right: 0;
}

.row .row {
    width: auto;
    max-width: none;
}

.row .row::before,
.row .row::after {
    content: " ";
    display: table;
}

.row .row::after {
    clear: both;
}

.row .row.collapse {
    width: auto;
    margin: 0;
    max-width: none;
}

.bg-white {
    background-color: #fff;
}

/* ================================================================
   4. GRID — COLUMNS (base)
   ================================================================ */
.column,
.columns {
    padding-left: .9375rem;
    padding-right: .9375rem;
    width: 100%;
    float: left;
    position: relative;
}

[class*=column]+[class*=column]:last-child {
    float: right;
}

[class*=column]+[class*=column].end {
    float: left;
}

/* ================================================================
   5. GRID — SMALL (mobile-first, always applies)
   ================================================================ */
.small-1 {
    width: 8.33333%;
}

.small-2 {
    width: 16.66667%;
}

.small-3 {
    width: 25%;
}

.small-4 {
    width: 33.33333%;
}

.small-5 {
    width: 41.66667%;
}

.small-6 {
    width: 50%;
}

.small-7 {
    width: 58.33333%;
}

.small-8 {
    width: 66.66667%;
}

.small-9 {
    width: 75%;
}

.small-10 {
    width: 83.33333%;
}

.small-11 {
    width: 91.66667%;
}

.small-12 {
    width: 100%;
}

.small-offset-0 {
    margin-left: 0 !important;
}

.small-offset-1 {
    margin-left: 8.33333% !important;
}

.small-offset-2 {
    margin-left: 16.66667% !important;
}

.small-offset-3 {
    margin-left: 25% !important;
}

.small-offset-4 {
    margin-left: 33.33333% !important;
}

.small-offset-5 {
    margin-left: 41.66667% !important;
}

.small-offset-6 {
    margin-left: 50% !important;
}

.small-offset-7 {
    margin-left: 58.33333% !important;
}

.small-offset-8 {
    margin-left: 66.66667% !important;
}

.small-offset-9 {
    margin-left: 75% !important;
}

.small-offset-10 {
    margin-left: 83.33333% !important;
}

.small-offset-11 {
    margin-left: 91.66667% !important;
}

.column.small-centered,
.columns.small-centered {
    margin-left: auto;
    margin-right: auto;
    float: none;
}

.column.small-centered:last-child,
.columns.small-centered:last-child {
    float: none;
}

/* ================================================================
   6. GRID — MEDIUM (min-width: 40.063em)
   ================================================================ */
@media only screen and (min-width: 40.063em) {
    .medium-1 {
        width: 8.33333%;
    }

    .medium-2 {
        width: 16.66667%;
    }

    .medium-3 {
        width: 25%;
    }

    .medium-4 {
        width: 33.33333%;
    }

    .medium-5 {
        width: 41.66667%;
    }

    .medium-6 {
        width: 50%;
    }

    .medium-7 {
        width: 58.33333%;
    }

    .medium-8 {
        width: 66.66667%;
    }

    .medium-9 {
        width: 75%;
    }

    .medium-10 {
        width: 83.33333%;
    }

    .medium-11 {
        width: 91.66667%;
    }

    .medium-12 {
        width: 100%;
    }

    .medium-offset-0 {
        margin-left: 0 !important;
    }

    .medium-offset-1 {
        margin-left: 8.33333% !important;
    }

    .medium-offset-2 {
        margin-left: 16.66667% !important;
    }

    .medium-offset-3 {
        margin-left: 25% !important;
    }

    .medium-offset-4 {
        margin-left: 33.33333% !important;
    }

    .medium-offset-5 {
        margin-left: 41.66667% !important;
    }

    .medium-offset-6 {
        margin-left: 50% !important;
    }

    .column.medium-centered,
    .columns.medium-centered {
        margin-left: auto;
        margin-right: auto;
        float: none;
    }

    .medium-push-0 {
        left: 0;
        right: auto;
    }

    .medium-push-1 {
        left: 8.33333%;
        right: auto;
    }

    .medium-push-2 {
        left: 16.66667%;
        right: auto;
    }

    .medium-push-3 {
        left: 25%;
        right: auto;
    }

    .medium-push-4 {
        left: 33.33333%;
        right: auto;
    }

    .medium-push-5 {
        left: 41.66667%;
        right: auto;
    }

    .medium-push-6 {
        left: 50%;
        right: auto;
    }

    .medium-pull-0 {
        right: 0;
        left: auto;
    }

    .medium-pull-1 {
        right: 8.33333%;
        left: auto;
    }

    .medium-pull-2 {
        right: 16.66667%;
        left: auto;
    }

    .medium-pull-3 {
        right: 25%;
        left: auto;
    }

    .medium-block-grid-2>li {
        width: 50%;
        list-style: none;
    }

    .medium-block-grid-3>li {
        width: 33.33333%;
        list-style: none;
    }

    .medium-block-grid-4>li {
        width: 25%;
        list-style: none;
    }
}

/* ================================================================
   7. GRID — LARGE (min-width: 64.063em)
   ================================================================ */
@media only screen and (min-width: 64.063em) {
    .large-1 {
        width: 8.33333%;
    }

    .large-2 {
        width: 16.66667%;
    }

    .large-3 {
        width: 25%;
    }

    .large-4 {
        width: 33.33333%;
    }

    .large-5 {
        width: 41.66667%;
    }

    .large-6 {
        width: 50%;
    }

    .large-7 {
        width: 58.33333%;
    }

    .large-8 {
        width: 66.66667%;
    }

    .large-9 {
        width: 75%;
    }

    .large-10 {
        width: 83.33333%;
    }

    .large-11 {
        width: 91.66667%;
    }

    .large-12 {
        width: 100%;
    }

    .large-offset-0 {
        margin-left: 0 !important;
    }

    .large-offset-1 {
        margin-left: 8.33333% !important;
    }

    .large-offset-2 {
        margin-left: 16.66667% !important;
    }

    .large-offset-3 {
        margin-left: 25% !important;
    }

    .large-offset-4 {
        margin-left: 33.33333% !important;
    }

    .column.large-centered,
    .columns.large-centered {
        margin-left: auto;
        margin-right: auto;
        float: none;
    }

    .large-push-0 {
        left: 0;
        right: auto;
    }

    .large-push-1 {
        left: 8.33333%;
        right: auto;
    }

    .large-push-2 {
        left: 16.66667%;
        right: auto;
    }

    .large-pull-0 {
        right: 0;
        left: auto;
    }

    .large-block-grid-3>li {
        width: 33.33333%;
        list-style: none;
    }

    .large-block-grid-4>li {
        width: 25%;
        list-style: none;
    }
}

/* ================================================================
   8. BLOCK GRID — general
   ================================================================ */
[class*="block-grid-"] {
    display: block;
    padding: 0;
    margin: 0 -0.625rem;
}

[class*="block-grid-"]::before,
[class*="block-grid-"]::after {
    content: " ";
    display: table;
}

[class*="block-grid-"]::after {
    clear: both;
}

[class*="block-grid-"]>li {
    display: block;
    height: auto;
    float: left;
    padding: 0 0.625rem 1.25rem;
}

.small-block-grid-1>li {
    width: 100%;
}

.small-block-grid-2>li {
    width: 50%;
}

.small-block-grid-3>li {
    width: 33.33333%;
}

.small-block-grid-4>li {
    width: 25%;
}

/* ================================================================
   9. VISIBILITY CLASSES (Foundation 5 naming)
   ================================================================ */

/* ----- hide-for-small = hidden on small, visible on medium+ ----- */
.hide-for-small,
.hide-for-small-only {
    display: none !important;
}

@media only screen and (min-width: 40.063em) {

    .hide-for-small,
    .hide-for-small-only {
        display: inherit !important;
    }

    .hide-for-medium-up {
        display: none !important;
    }
}

/* ----- visible-for-medium-up = hidden on small, block on medium+ ----- */
.visible-for-medium-up {
    display: none !important;
}

@media only screen and (min-width: 40.063em) {
    .visible-for-medium-up {
        display: block !important;
    }

    .visible-for-small-only {
        display: none !important;
    }
}

/* ----- show-for-small = visible only on small ----- */
.show-for-small {
    display: none !important;
}

@media only screen and (max-width: 40em) {
    .show-for-small {
        display: block !important;
    }

    .hide-for-small,
    .hide-for-small-only {
        display: none !important;
    }
}

/* ----- show-for-medium-up / hide-for-large-up ----- */
@media only screen and (min-width: 64.063em) {
    .hide-for-large-up {
        display: none !important;
    }

    .show-for-large-up {
        display: block !important;
    }
}

/* ================================================================
   10. TEXT ALIGNMENT UTILITIES
   ================================================================ */
.text-left {
    text-align: left !important;
}

.text-right {
    text-align: right !important;
}

.text-center {
    text-align: center !important;
}

.text-justify {
    text-align: justify !important;
}

/* Small-only */
.small-text-left {
    text-align: left !important;
}

.small-text-right {
    text-align: right !important;
}

.small-text-center {
    text-align: center !important;
}

.small-only-text-center {
    text-align: center !important;
}

@media only screen and (min-width: 40.063em) {
    .small-only-text-center {
        text-align: inherit !important;
    }

    .medium-text-left {
        text-align: left !important;
    }

    .medium-text-right {
        text-align: right !important;
    }

    .medium-text-center {
        text-align: center !important;
    }

    .medium-only-text-center {
        text-align: center !important;
    }
}

@media only screen and (min-width: 64.063em) {
    .medium-only-text-center {
        text-align: inherit !important;
    }

    .large-text-left {
        text-align: left !important;
    }

    .large-text-right {
        text-align: right !important;
    }

    .large-text-center {
        text-align: center !important;
    }
}

/* text-center-for-small: only on small */
.text-center-for-small {
    text-align: center;
}

@media only screen and (min-width: 40.063em) {
    .text-center-for-small {
        text-align: inherit;
    }
}

/* ================================================================
   11. PADDING / MARGIN HELPERS (from app.css custom section)
   ================================================================ */
.p-right-100 {
    padding-right: 100px;
}

.p-left-15 {
    padding-left: 15px;
}

.p-right-15 {
    padding-right: 15px;
}

.p-top-0 {
    padding-top: 0 !important;
}

.p-top-10 {
    padding-top: 10px;
}

.p-top-15 {
    padding-top: 15px;
}

.p-top-80 {
    padding-top: 80px;
}

.p-bot-15 {
    padding-bottom: 15px;
}

.p-bot-80 {
    padding-bottom: 80px;
}

/* ================================================================
   12. TYPOGRAPHY (Foundation 5 defaults)
   ================================================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: Poppins, Helvetica, Roboto, Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    color: #222;
    text-rendering: optimizeLegibility;
    margin-top: .2rem;
    margin-bottom: .5rem;
    line-height: 1.4;
}

h1 {
    font-size: 2.125rem;
}

h2 {
    font-size: 1.6875rem;
}

h3 {
    font-size: 1.375rem;
}

h4 {
    font-size: 1.125rem;
}

h5 {
    font-size: 1.125rem;
}

h6 {
    font-size: 1rem;
}

.subheader {
    line-height: 1.4;
    color: #6f6f6f;
    font-weight: 400;
    margin-top: .2rem;
    margin-bottom: .5rem;
}

p {
    font-family: inherit;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 1.25rem;
    text-rendering: optimizeLegibility;
}

a {
    color: #1A365D;
    text-decoration: none;
    line-height: inherit;
}

a:focus,
a:hover {
    color: #132B4D;
}

hr {
    border: solid #ddd;
    border-width: 1px 0 0;
    clear: both;
    margin: 1.25rem 0 1.1875rem;
    height: 0;
}

em,
i {
    font-style: italic;
    line-height: inherit;
}

strong,
b {
    font-weight: 700;
    line-height: inherit;
}

small {
    font-size: 60%;
    line-height: inherit;
}

ul,
ol,
dl {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 1.25rem;
    list-style-position: outside;
    font-family: inherit;
}

ul {
    margin-left: 1.1rem;
}

ul li ul,
ul li ol {
    margin-left: 1.25rem;
    margin-bottom: 0;
}

ol {
    margin-left: 1.4rem;
}

/* ================================================================
   13. FORMS (Foundation 5 base forms)
   ================================================================ */
form {
    margin: 0 0 1rem;
}

label {
    font-size: .875rem;
    color: #4d4d4d;
    cursor: pointer;
    display: block;
    font-weight: 400;
    line-height: 1.5;
    margin-bottom: 0;
}

input[type=color],
input[type=date],
input[type=datetime-local],
input[type=datetime],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],
textarea {
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    background-color: #fff;
    font-family: inherit;
    border: 1px solid #ccc;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
    color: rgba(0, 0, 0, .75);
    display: block;
    font-size: .875rem;
    margin: 0 0 1rem;
    padding: .5rem;
    height: 2.3125rem;
    width: 100%;
    box-sizing: border-box;
    transition: box-shadow .45s, border-color .45s ease-in-out;
}

input[type=color]:focus,
input[type=date]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=text]:focus,
input[type=url]:focus,
textarea:focus {
    background: #fafafa;
    border-color: #999;
    outline: none;
}

/* ================================================================
   14. BUTTONS (Foundation 5 base)
   ================================================================ */
button,
.button {
    border-style: solid;
    border-width: 0;
    cursor: pointer;
    font-family: Poppins, Helvetica, Roboto, Arial, sans-serif;
    font-weight: 400;
    line-height: normal;
    margin: 0 0 1.25rem;
    position: relative;
    text-decoration: none;
    text-align: center;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    display: inline-block;
    padding: .85em 2em;
    font-size: 1rem;
    background-color: #E8740C;
    color: #fff;
    transition: background-color .3s ease-out;
}

button:hover,
.button:hover {
    background-color: #C86000;
}

/* ================================================================
   15. OFF-CANVAS WRAPPER (keep for header.php compatibility)
   ================================================================ */
.off-canvas-wrap {
    overflow: hidden;
    position: relative;
    width: 100%;
}

.inner-wrap {
    position: relative;
    width: 100%;
}

/* ================================================================
   16. ALERT BOX (used 1x in library/foundation.php)
   ================================================================ */
.alert-box {
    border-style: solid;
    border-width: 1px;
    display: block;
    font-size: .8125rem;
    font-weight: 400;
    margin-bottom: 1.25rem;
    padding: .875rem 1.5rem .875rem .875rem;
    position: relative;
    transition: opacity .3s ease-out;
}

.alert-box.secondary {
    background-color: #e7e7e7;
    border-color: #c3c3c3;
    color: #4d4d4d;
}

/* ================================================================
   17. TABLE
   ================================================================ */
table {
    background: #fff;
    margin-bottom: 1.25rem;
    border: solid 1px #ddd;
    table-layout: auto;
}

table thead,
table tfoot {
    background: #f5f5f5;
}

table thead tr th,
table thead tr td,
table tfoot tr th,
table tfoot tr td {
    padding: .5rem .625rem .625rem;
    font-size: .875rem;
    color: #222;
    text-align: left;
}

table tr th,
table tr td {
    padding: .5625rem .625rem;
    font-size: .875rem;
    color: #222;
}

table tr.even,
table tr.alt,
table tr:nth-of-type(even) {
    background: #f9f9f9;
}

table thead tr th,
table tfoot tr th,
table tbody tr td,
table tr td,
table tfoot tr td {
    display: table-cell;
    line-height: 1.125rem;
}

/* ================================================================
   18. INLINE-LIST & BREADCRUMBS
   ================================================================ */
.inline-list {
    margin: 0 auto 1.0625rem;
    margin-left: -.875rem;
    margin-right: 0;
    padding: 0;
    list-style: none;
    overflow: hidden;
}

.inline-list>li {
    list-style: none;
    float: left;
    margin-left: 1.375rem;
    display: block;
}

/* ================================================================
   19. PRINT STYLES
   ================================================================ */
@media print {
    * {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]::after {
        content: " (" attr(href) ")";
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: .5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}