﻿/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification\
for details on configuring this project to bundle and minify static web assets. */

:root {
    /* ===== Raw Palette ===== */
    --pd-palette-darker: #1C2A40;
    --pd-palette-dark: #27374D;
    --pd-palette-mid: #526D82;
    --pd-palette-light: #9DB2BF;
    --pd-palette-lighter: #DDE6ED;
    /* ===== Semantic Roles ===== */
    --pd-background: var(--pd-palette-darker);
    --pd-surface: var(--pd-palette-lighter);
    --pd-surface-inactive: #EDDDDD;
    --pd-surface-warning: #EDEBDD;
    --pd-surface-modal: #EDE8DD;
    --pd-text-light: var(--pd-palette-lighter);
    --pd-text-dark: var(--pd-palette-darker);
}

a.navbar-brand {
  white-space: normal;
  text-align: center;
  word-break: break-all;
}

a {
  color: #0077cc;
}

.form-control:focus {
    border-color: #0077cc;
    box-shadow: 0 0 0 0.2rem #0077cc;
}

.btn-primary {
  color: #fff;
  background-color: #1b6ec2;
  border-color: #1861ac;
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  color: #fff;
  background-color: #1b6ec2;
  border-color: #1861ac;
}

.btn-link.nav-link:focus {
  outline: black auto 1px;
}

html {
  font-size: 14px;
}
@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.container {
  max-width: 960px;
}

.pricing-header {
  max-width: 700px;
}

.border-top {
  border-top: 1px solid #e5e5e5;
}
.border-bottom {
  border-bottom: 1px solid #e5e5e5;
}

.box-shadow {
  box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}

button.accept-policy {
  font-size: 1rem;
  line-height: inherit;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
  background-color: var(--pd-palette-mid)
}

.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  overflow: scroll;
  white-space: nowrap;
  line-height: 60px;
}

/* Shared auth page styles */

.auth-page {
    min-height: 100vh;
    background: var(--pd-background);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
}

.auth-card {
    width: 100%;
    max-width: 420px;
    padding: 2rem;
    border-radius: 16px;
    background: var(--pd-surface);
    filter: drop-shadow(10px 10px 4px rgba(0,0,0,0.5));
}

.auth-body {
    margin: 0;
    background: #0b1220;
}

.auth-title {
    font-weight: 700;
}

.auth-logo img {
    max-width: 180px;
    filter: drop-shadow(10px 10px 4px rgba(0,0,0,0.5));
}

.btn-pipedream {
    background-color: var(--pd-palette-darker);
    border-color: #000000;
    color: var(--pd-surface);
}

    .btn-pipedream:hover {
        background-color: var(--pd-palette-mid);
        border-color: #000000;
        color: #DDE6ED;
    }

.custom-header {
    background-color: var(--pd-palette-darker);
    font-family: "Helvetica", sans-serif;
    color: var(--pd-palette-lighter)
}

.custom-header-body {
    color: var(--pd-palette-lighter);
    font-family: "Helvetica", sans-serif;
}

.custom-header-title {
    color: var(--pd-palette-light);
    font-family: "Helvetica", sans-serif;
}

.table-clickable tbody tr:hover {
    background-color: var(--pd-palette-mid);
    color: black;
    cursor: pointer;
}

.model-page {
    min-height: 100vh;
    background: var(--pd-background);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
}

.model-card {
    width: 100%;
    padding: 2rem;
    border-radius: 16px;
    background: var(--pd-surface);
    filter: drop-shadow(10px 10px 4px rgba(0,0,0,0.5));
    margin-bottom: 1rem;
}

.model-card-inactive {
    width: 100%;
    padding: 2rem;
    border-radius: 16px;
    background: var(--pd-surface-inactive);
    filter: drop-shadow(10px 10px 4px rgba(0,0,0,0.5));
    margin-bottom: 1rem;
}

.model-card-warning {
    width: 100%;
    padding: 2rem;
    border-radius: 16px;
    background: var(--pd-surface-warning);
    filter: drop-shadow(10px 10px 4px rgba(0,0,0,0.5));
    margin-bottom: 1rem;
    color: #AA7000
}

.model-card-modal {
    width: 100%;
    padding: 2rem;
    border-radius: 16px;
    background: var(--pd-surface-modal);
    filter: drop-shadow(10px 10px 4px rgba(0,0,0,0.5));
    margin-bottom: 1rem;
}

.model-card-title {
    font-size: clamp(1.25rem, 1.25rem + 1vw, 2.25rem);
    margin-bottom: .5rem;
    user-select: none;
}

.model-card-info {
    font-size: clamp(.75rem, .75rem + 1vw, 1.25rem);
    user-select: none;
}

.model-card-info-selectable {
    font-size: clamp(.75rem, .75rem + 1vw, 1.25rem);
}

.collapse-arrow {
    transition: transform 500ms cubic-bezier(.34,1.56,.64,1);
}

.collapse-inner {
    transform: translateY(-20px);
    opacity: 0;
    transition: transform 250ms ease, opacity 250ms ease;
}

/* when open */
.collapse.show .collapse-inner {
    transform: translateY(0);
    opacity: 1;
}

/* during the collapsing animation, keep it visible until the end */
.collapse.collapsing .collapse-inner {
    opacity: 1;
}

.model-card-title[aria-expanded="true"] .collapse-arrow {
    transform: rotate(180deg);
}



.model-body {
    margin: 0;
    background: #0b1220;
}

.footer-background {
    background: var(--pd-palette-darker);
}

.footer-text {
    color: var(--pd-palette-mid);
}



.background-darkest {
    background: var(--pd-palette-darker);
}

.background-lighter {
    background: var(--pd-palette-lighter);
}

.button-color-light {
    background: var(--pd-text-light);
    color: var(--pd-palette-dark);
}

.button-color-dark {
    background: var(--pd-palette-dark);
    color: var(--pd-palette-lighter);
}

.button-color-mid {
    background: var(--pd-palette-mid);
    color: var(--pd-palette-lighter);
}

.header-dropdown {
    background: var(--pd-palette-darker);
    color: var(--pd-palette-lighter);
    z-index: 1000;
    min-width: 10rem;
    padding: 0.5rem 0;
    margin: 0;
    font-size: 1rem;
    text-align: left;
    list-style: none;
    background-clip: padding-box;
    border: 1px solid rgb(255,255,255);
    border-radius: 0.25rem;
}

.header-dropdown-item {
    display: block;
    width: 100%;
    padding: 0.25rem 1rem;
    clear: both;
    font-weight: 400;
    color: var(--pd-palette-lighter);
    text-align: inherit;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
}

    .header-dropdown-item:hover {
        color: black;
        background-color: var(--pd-palette-light);
    }

.header-dropdown-item-text {
    display: block;
    padding: 0.25rem 1rem;
    color: var(--pd-palette-lighter);
}

.header-dropdown-divider {
    height: 0;
    margin: 0.5rem 0;
    overflow: hidden;
    border-top: 2px solid rgb(255,255,255);
}

.navbar-toggler {
    position: relative;
    z-index: 1060;
}

/* Mobile bottom search container */
.mobile-search-bar {
    padding: 10px 14px 14px 14px;
    background: var(--pd-palette-darker);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-top: 1px solid rgba(255,255,255,0.08);
    z-index: 1030;
}

/* Inner form */
.mobile-search-inner {
    display: flex;
    align-items: center;
    background: var(--pd-surface);
    border-radius: 999px;
    padding: 4px 6px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}

/* Input field */
.mobile-search-input {
    border: none;
    outline: none;
    flex: 1;
    font-size: 16px; /* prevents iOS zoom */
    padding: 8px 12px;
    background: transparent;
}

/* Button */
.mobile-search-button {
    border: none;
    background: var(--pd-palette-mid);
    color: white;
    border-radius: 999px;
    padding: 8px 14px;
    font-size: 14px;
    cursor: pointer;
}

    /* Button press effect */
    .mobile-search-button:active {
        transform: scale(0.96);
    }

/* Prevent page content being hidden */
@media (max-width: 575.98px) {
    body {
        padding-bottom: 25px;
    }
}

td.clickable-cell {
    padding: 0;
}
    /* move padding to link */
    td.clickable-cell > a.row-link {
        display: block;
        width: 100%;
        height: 100%;
        padding: 1rem .75rem; /* match bootstrap td padding */
    }

.row-link {
    display: block;
    padding: .5rem .75rem; /* match Bootstrap-ish cell padding */
    color: inherit;
    text-decoration: none;
}

    .row-link:hover {
        color: #FFFFFF;
    }

.clickable-row:hover {
    background-color: #e7f1ff;
}

    .clickable-row:hover td {
        color: #FFFFFF;
    }



.table-row-borders tbody td {
    border-bottom: 1px solid var(--pd-palette-darker);
}

.table-striped {
    --bs-table-striped-bg: rgba(0,0,0,.08);
}

.text-soft {
    opacity: .5;
}

.selectable {
    user-select: text;
}

.address-map-links {
    vertical-align: bottom;
}

.address-map-links {
    display: inline-flex;
    gap: 0.75rem;
}

.map-icon-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    font-size: .75rem;
    transition: transform 150ms ease;
}

    .map-icon-link:hover {
        transform: translateY(-2px) scale(1.05);
    }

.map-icon {
    width: 50px;
    height: 50px;
}

.map-label {
    margin-top: 2px;
    color: var(--bs-body-color);
}

.pane {
    max-height: calc(100vh - 440px);
    overflow-y: auto;
}