@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    --font-family-sans-serif:
        'Montserrat', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-family-monospace: "JetBrains Mono", ui-monospace, "Roboto Mono", SFMono-Regular, Menlo, Monaco, Consolas,
        "Liberation Mono", "Courier New", monospace;
    --font-family-base: var(--font-family-sans-serif);

    --bs-body-font-family: var(--font-family-base);

    /* client colors */
    --dtc-blue: #003399;
    --dtc-blue-rgb: 0, 51, 153;
    --dtc-blue-hsl: 220, 100%, 30%;
    --dtc-orange: #e65124;
    --dtc-orange-rgb: 230, 81, 36;
    --dtc-orange-hsl: 14, 80%, 52%;

    --bs-link-color: var(--dtc-blue);
    --bs-link-color-rgb: var(--dtc-blue-rgb);
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--dtc-orange);
    --bs-btn-border-color: var(--dtc-orange);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: rgba(var(--dtc-orange-rgb), .85);
    --bs-btn-hover-border-color: #333;
    --bs-btn-focus-shadow-rgb: 49,132,253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--dtc-orange);
    --bs-btn-active-border-color: #333;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: rgba(var(--dtc-orange-rgb), .5);
    --bs-btn-disabled-border-color: rgba(var(--dtc-orange-rgb), .5);
}
.navbar[data-bs-theme="dark"] {
    --bs-navbar-color: rgba(255, 255, 255, .85);
}
.pagination {
    --bs-pagination-active-bg: var(--dtc-blue);
    --bs-pagination-active-border-color: var(--dtc-blue);
    --bs-pagination-disabled-color: #888;
}

.bg-duke-blue {
    background-color: var(--dtc-blue);

    &.bg-opacity-75 { background-color: rgba(var(--dtc-blue-rgb), .75) }
    &.bg-opacity-50 { background-color: rgba(var(--dtc-blue-rgb), .50) }
    &.bg-opacity-25 { background-color: rgba(var(--dtc-blue-rgb), .25) }
}
.bg-duke-orange {
    background-color: var(--dtc-orange);

    &.bg-opacity-75 { background-color: rgba(var(--dtc-orange-rgb), .75) }
    &.bg-opacity-50 { background-color: rgba(var(--dtc-orange-rgb), .50) }
    &.bg-opacity-25 { background-color: rgba(var(--dtc-orange-rgb), .25) }
}
.border-duke-blue {
    border-color: var(--dtc-blue) !important;
}
.border-duke-orange {
    border-color: var(--dtc-orange) !important;
}

.nav {
    --bs-nav-link-color: #666;
    --bs-nav-link-hover-color: #333;
}

.property.short .property-content .description-col {
    position: relative;
    z-index: -1;
}
.property.short .property-content .description-col::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3rem;
    width: 100%;
    background: linear-gradient(0deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
    pointer-events: none;
}
.search-preview {
    z-index: 99;
}
.property-search-preview .property .property-content .description-col {
    position: relative;
    z-index: 99;
}
.property.short .property-content.row div[class*="col"] {
    max-height: 100%;
    overflow: hidden;
}
.property .property-content.row .images-col {
    width: 100%;
}
.property .property-content.row .images-col .images-row {
}
.property .property-content.row .images-col .images-row .image-col {
    padding-top: 2px;
    width: 32.75%;
}
.property .property-content.row .images-col .images-row .image-col:nth-child(3n+2) {
    margin: 0 2.6px;
}
.search-preview .property .property-title.row,
.property-vert .property .property-title.row {
    h2 {
        font-size: 1.2rem;
    }
}
.property-vert .property .property-content.row {
    .description-col,
    .images-row {
        display: none !important;
    }
    .images-col {
        width: 100% !important;
    }
    .pricing-col {
        border-left: 1px solid var(--bs-border-color) !important;
    }
}
.pricing-col {
    border-top: 0px !important;
}
.description-col .description-output {
    h1,h2,h3,h4,h5,h6 {
        font-family: var(--bs-body-font-family);
        font-size: var(--bs-body-font-size);
        font-weight: 600;
        line-height: var(--bs-body-line-height);
        color: var(--bs-body-color);
        text-align: var(--bs-body-text-align);
    }
}
.amenity-row {
    font-size: 90%;

    ul {
        padding-left: 1.25em;

        li {
            list-style: none;
        }
        li::before {
            content: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="%23003399" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-check"><circle cx="12" cy="12" r="10"/><path d="m16 9-5.5 5.5L8 12"/></svg>');
            display: inline-block;
            vertical-align: middle;
            padding-top: 2px;
            padding-right: 3px;
        }
    }
    ul:first-child {
        padding-left: 0 !important;
    }
}

.fixed-aspect {
  width: 100%;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: 50% 50% !important;
}
.fixed-aspect.ratio-16x6 {
  padding-bottom: 37.5%;
}
.fixed-aspect.ratio-16x7 {
  padding-bottom: 43.75%;
}
.fixed-aspect.ratio-16x8 {
  padding-bottom: 50%;
}
.fixed-aspect.ratio-16x9 {
  padding-bottom: 56.5%;
}
.fixed-aspect.ratio-8x5 {
  padding-bottom: 62.5%;
}
.fixed-aspect.ratio-3x2 {
  padding-bottom: 66.66%;
}
.fixed-aspect.ratio-4x3 {
  padding-bottom: 75%;
}
.fixed-aspect.ratio-5x4 {
  padding-bottom: 80%;
}
.fixed-aspect.ratio-1x1 {
  padding-bottom: 100%;
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
    .property.short.has-images .property-content.row div[class*="col"] {
        max-height: 400px;
        overflow: hidden;
    }
    .property.short .property-content.row div[class*="col"] {
        max-height: 300px;
        overflow: hidden;
    }
    .property .property-content.row .images-col {
        width: 300px;
    }
    .property-hori .property .property-content.row .pricing-col {
        width: calc(100% - 300px);
        margin-left: 300px;
    }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    .property-hori .property .property-content.row .pricing-col {
        width: 100%;
        margin-left: 0;
    }
    .property .property-content.row .pricing-col {
        border-left: 0px !important;
        border-top: 1px solid var(--bs-border-color) !important;
    }
}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {}

/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {}
