/* ============================================================
   REFSQ 2027 — style2027.css
   Accent colour: #b85c52  (warm rose-red)
   ============================================================ */

div.logobar {
    padding: 10px 15px;
    background-color: rgb(248, 248, 248);
    color: #777777;
}
.logobar .container {
    border-bottom: 1px solid #e7e7e7;
}
.logobar a {
    color: #b85c52;
}
.navbar {
    border-top: none !important;
    border-radius: 0px !important;
    border: none;
}
.navbar-brand {
    font-size: 36px;
}
.place {
    float: left;
    padding: 23px 0 0 40px;
}
.place2 {
    float: right;
    padding: 23px 0 0 0px;
}

body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    margin: 20px;
    padding: 0px 0px 0px;
    background-color: #faf8f5;
    color: #333;
    min-height: 100%;
    position: relative;
}
h1, h2 {
    color: #b85c52;
}
h1 {
    text-align: center;
    margin-bottom: 20px;
}
h2 {
    border-bottom: 2px solid #b85c52;
    padding-bottom: 5px;
    margin-top: 30px;
}
p {
    margin: 10px 0;
}
ul {
    margin: 10px 0;
    padding-left: 20px;
}
li {
    margin: 5px 0;
}
.section, .panel-default {
    background-color: #fff;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}
.highlight {
    background-color: #fff3ec;
    padding: 10px;
    border-left: 4px solid #b85c52;
    margin: 10px 0;
}
.note {
    background-color: #fff3cd;
    padding: 10px;
    border-left: 4px solid #ffc107;
    margin: 10px 0;
}
.code {
    background-color: #f8f9fa;
    padding: 10px;
    border-left: 4px solid #28a745;
    font-family: monospace;
    margin: 10px 0;
}
.table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}
.table th, .table td {
    padding: 8px;
    text-align: left;
}
.table th {
    background-color: #f2f0ed;
    color: #333;
}
.table tr:nth-child(even) {
    background-color: #FFFF;
}
.image-container {
    display: flex;
    justify-content: left;
    margin-top: 10px;
}
.image-container img {
    margin-right: 10px;
    width: 33%;
}
.image-container img.full-width {
    width: 100%;
}
iframe {
    width: 100%;
    height: 600px;
    border: 0;
    margin-top: 20px;
}
address {
    font-style: normal;
    margin: 10px 0;
}
.content-box {
    background-color: #f0ede8;
    border-radius: 15px;
    padding: 20px;
    margin: 20px auto;
    font-family: Arial, sans-serif;
}
.content-box a {
    color: #b85c52;
    text-decoration: none;
}
.content-box a:hover {
    text-decoration: underline;
}

/* Generic CSS */
html {
    margin: 0;
    padding: 0;
    font-family: Arial, Helvetica, sans-serif;
    height: 100%;
    overflow-y: scroll;
}
textarea {
    min-height: 250px !important;
}
.form-control {
    min-width: 100% !important;
}
select {
    width: 100%;
    max-width: 200px;
}
input[type="text"] {
    max-width: 200px;
}
input[type="file"] {
    width: 200px;
}
.btn-file {
    position: relative;
    overflow: hidden;
}
.btn-file input[type=file] {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 100%;
    min-height: 100%;
    font-size: 999px;
    text-align: right;
    filter: alpha(opacity=0);
    opacity: 0;
    outline: none;
    background: white;
    cursor: inherit;
    display: block;
}
.inputInt {
    width: 8em !important;
    min-width: 8em !important;
}
.input-group .inputInt {
    min-width: 3.5em !important;
    width: 100% !important;
}
img {
    border-width: 0px;
}
span.highlightcontent {
    background-color: #f5d5ba;
    border-radius: 3px 3px;
    padding: 2px;
}

/* Sortable list */
.sortable { list-style-type: none; margin: 0; padding: 0; }
.sortable li { margin: 0 3px 3px 3px; padding: 0.4em; padding-left: 1.5em; min-width: 165px; }
.sortable li span.ui-icon-arrowthick-2-n-s { position: absolute; margin-left: -1.3em; }
.sortable li span.ui-icon-close { float: right; }
.ui-icon-close:hover { cursor: pointer; }

span.action-failure-msg {
    position: fixed;
    z-index: 100000;
    color: red;
    bottom: 0px;
    background-color: #ffdddd;
    padding-top: 5px;
    padding-bottom: 5px;
    left: 0;
    right: 0;
    text-align: center;
    border: 1px solid #ff9a9a;
}

/* ── Banner / Carousel ─────────────────────────────────────── */
.carousel-indicators li { visibility: hidden; }
.right.carousel-control, .left.carousel-control { display: none; }

/* Break out of body's 20px margin so banner runs edge-to-edge */
.carousel {
    margin-left: -20px;
    margin-right: -20px;
}

/* Image fills container correctly at every width */
.carousel-inner .item {
    background-size: cover !important;
    background-position: center !important;
    width: 100%;
    overflow: hidden;
}
.carousel-inner .item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}

/* Responsive heights */
@media (max-width: 439px)   { .carousel-inner .item { height: 140px !important; } }
@media (min-width: 440px)   { .carousel-inner .item { height: 140px !important; } }
@media (min-width: 600px)   { .carousel-inner .item { height: 160px !important; } }
@media (min-width: 768px)   { .carousel-inner .item { height: 180px !important; } }
@media (min-width: 1000px)  { .carousel-inner .item { height: 220px !important; } }
@media (min-width: 1440px)  { .carousel-inner .item { height: 320px !important; } }
@media (min-width: 1800px)  { .carousel-inner .item { height: 360px !important; } }
@media (min-width: 2200px)  { .carousel-inner .item { height: 420px !important; } }
@media (min-width: 2560px)  { .carousel-inner .item { height: 480px !important; } }

/* ── Panels & Buttons ──────────────────────────────────────── */
.panel {
    border: none;
}
.panel-heading,
.btn-primary {
    background-color: #b85c52;
    color: white;
}
.panel .panel-heading {
    background-color: #b85c52;
    color: white;
}

.attribution { display: none; }

.important-dates-in-sidebar .text-success {
    background-color: #fdf7f2;
}
.list-group-item {
    margin: 0 !important;
}

/* Supporter logos */
.supporter-logo {
    display: flex !important;
    justify-content: center;
    align-items: center;
    height: 100%;
}

/* Panel warning table */
.panel-warning table tbody tr td:nth-child(2) {
    text-align: center;
    vertical-align: middle;
}
.panel-warning table tbody tr td {
    display: flex;
    align-items: center;
    justify-content: space-around;
}

/* ── Track pills ───────────────────────────────────────────── */
.all-tracks {
    font-size: 0;
}
.all-tracks a {
    font-size: 16px;
    background-color: #f5ece4;
    color: #333;
    padding: 5px 6px;
    margin: 4px 2px;
    border-radius: 12px;
    text-decoration: none;
    transition: background 0.3s;
}
.all-tracks a::after {
    content: "";
}
.all-tracks a:hover {
    background-color: #c4956a;
    transform: scale(1.05);
}