@opencage/leaflet-opencage-geosearch
Version:
A Leaflet geosearch control that uses OpenCage's geosearch API.
1,206 lines (1,151 loc) • 29.8 kB
CSS
/* ---------------- */
/* 1. CSS Variables */
/* 2. Dark Mode */
/* 3. Autocomplete */
/* 4. Panel */
/* 5. Sources */
/* 6. Hit Layout */
/* 7. Panel Header */
/* 8. Panel Footer */
/* 9. Detached Mode */
/* 10. Gradients */
/* 11. Utilities */
/* ---------------- */
/* Note: */
/* This theme reflects the markup structure of autocomplete with SCSS indentation. */
/* We use the SASS `@at-root` function to keep specificity low. */
/* ---------------- */
/* 1. CSS Variables */
/* ---------------- */
:root {
/* Input */
--aa-search-input-height: 44px;
--aa-input-icon-size: 20px;
/* Size and spacing */
--aa-base-unit: 16;
--aa-spacing-factor: 1;
--aa-spacing: calc(var(--aa-base-unit) * var(--aa-spacing-factor) * 1px);
--aa-spacing-half: calc(var(--aa-spacing) / 2);
--aa-panel-max-height: 650px;
/* Z-index */
--aa-base-z-index: 9999;
/* Font */
--aa-font-size: calc(var(--aa-base-unit) * 1px);
--aa-font-family: sans-serif;
--aa-font-weight-medium: 500;
--aa-font-weight-semibold: 600;
--aa-font-weight-bold: 700;
/* Icons */
--aa-icon-size: 20px;
--aa-icon-stroke-width: 1.6;
--aa-icon-color-rgb: 26, 136, 101;
--aa-icon-color-alpha: 1;
--aa-action-icon-size: 20px;
/* Text colors */
--aa-text-color-rgb: 38, 38, 39;
--aa-text-color-alpha: 1;
--aa-primary-color-rgb: 26, 136, 101;
--aa-primary-color-alpha: 0.2;
--aa-muted-color-rgb: 128, 126, 163;
--aa-muted-color-alpha: 0.6;
/* Border colors */
--aa-panel-border-color-rgb: 128, 126, 163;
--aa-panel-border-color-alpha: 0.3;
--aa-input-border-color-rgb: 128, 126, 163;
--aa-input-border-color-alpha: 0.8;
/* Background colors */
--aa-background-color-rgb: 255, 255, 255;
--aa-background-color-alpha: 1;
--aa-input-background-color-rgb: 255, 255, 255;
--aa-input-background-color-alpha: 1;
--aa-selected-color-rgb: 227, 245, 237;
--aa-selected-color-alpha: 1;
--aa-description-highlight-background-color-rgb: 227, 245, 237;
--aa-description-highlight-background-color-alpha: 0.5;
/* Detached mode */
--aa-detached-media-query: (max-width: 680px);
--aa-detached-modal-media-query: (min-width: 680px);
--aa-detached-modal-max-width: 680px;
--aa-detached-modal-max-height: 500px;
--aa-overlay-color-rgb: 115, 114, 129;
--aa-overlay-color-alpha: 0.4;
/* Shadows */
--aa-panel-shadow: 0 0 0 1px rgba(35, 38, 59, 0.1),
0 6px 16px -4px rgba(35, 38, 59, 0.15);
/* Scrollbar */
--aa-scrollbar-width: 13px;
--aa-scrollbar-track-background-color-rgb: 234, 234, 234;
--aa-scrollbar-track-background-color-alpha: 1;
--aa-scrollbar-thumb-background-color-rgb: var(--aa-background-color-rgb);
--aa-scrollbar-thumb-background-color-alpha: 1;
/* Touch screens */
}
@media (hover: none) and (pointer: coarse) {
:root {
--aa-spacing-factor: 1.2;
--aa-action-icon-size: 22px;
}
}
/* ---------------- */
/* 2. Dark Mode */
/* ---------------- */
body {
/* stylelint-disable selector-no-qualifying-type, selector-class-pattern */
/* stylelint-enable selector-no-qualifying-type, selector-class-pattern */
}
body[data-theme='dark'],
body.dark {
/* Text colors */
--aa-text-color-rgb: 183, 192, 199;
--aa-primary-color-rgb: 146, 138, 255;
--aa-muted-color-rgb: 146, 138, 255;
/* Background colors */
--aa-input-background-color-rgb: 0, 3, 9;
--aa-background-color-rgb: 21, 24, 42;
--aa-selected-color-rgb: 146, 138, 255;
--aa-selected-color-alpha: 0.25;
--aa-description-highlight-background-color-rgb: 0 255 255;
--aa-description-highlight-background-color-alpha: 0.25;
/* Icons */
--aa-icon-color-rgb: 119, 119, 163;
/* Shadows */
--aa-panel-shadow: inset 1px 1px 0 0 rgb(44, 46, 64), 0 3px 8px 0 rgb(0, 3, 9);
/* Scrollbar */
--aa-scrollbar-track-background-color-rgb: 44, 46, 64;
--aa-scrollbar-thumb-background-color-rgb: var(--aa-background-color-rgb);
}
/* Reset for `@extend` */
.aa-Panel *,
.aa-Autocomplete *,
.aa-DetachedFormContainer * {
box-sizing: border-box;
}
/* Init for `@extend` */
.aa-Panel,
.aa-Autocomplete,
.aa-DetachedFormContainer {
color: #262627;
color: rgba(var(--aa-text-color-rgb), var(--aa-text-color-alpha));
font-family: inherit;
font-family: var(--aa-font-family);
font-size: 16px;
font-size: var(--aa-font-size);
font-weight: normal;
line-height: 1.2em;
margin: 0;
padding: 0;
text-align: left;
}
/* ---------------- */
/* 3. Autocomplete */
/* ---------------- */
.aa-Autocomplete,
.aa-DetachedFormContainer {
/* Search box */
width: 250px;
}
.aa-Form {
align-items: center;
background-color: white;
background-color: rgba(
var(--aa-input-background-color-rgb),
var(--aa-input-background-color-alpha)
);
border: 1px solid rgba(128, 126, 163, 0.8);
border: 1px solid
rgba(var(--aa-input-border-color-rgb), var(--aa-input-border-color-alpha));
border-radius: 3px;
display: flex;
line-height: 1em;
margin: 0;
position: relative;
width: 100%;
}
.aa-Form[focus-within] {
border-color: #3e34d3;
border-color: rgba(var(--aa-primary-color-rgb), 1);
box-shadow: rgba(62, 52, 211, 0.2) 0 0 0 2px,
inset rgba(62, 52, 211, 0.2) 0 0 0 2px;
box-shadow: rgba(var(--aa-primary-color-rgb), var(--aa-primary-color-alpha)) 0
0 0 2px,
inset rgba(var(--aa-primary-color-rgb), var(--aa-primary-color-alpha)) 0 0 0
2px;
outline: currentColor none medium;
}
.aa-Form:focus-within {
border-color: #3e34d3;
border-color: rgba(var(--aa-primary-color-rgb), 1);
box-shadow: rgba(62, 52, 211, 0.2) 0 0 0 2px,
inset rgba(62, 52, 211, 0.2) 0 0 0 2px;
box-shadow: rgba(var(--aa-primary-color-rgb), var(--aa-primary-color-alpha)) 0
0 0 2px,
inset rgba(var(--aa-primary-color-rgb), var(--aa-primary-color-alpha)) 0 0 0
2px;
outline: currentColor none medium;
}
.aa-InputWrapperPrefix {
align-items: center;
display: flex;
flex-shrink: 0;
height: 44px;
height: var(--aa-search-input-height);
order: 1;
/* Container for search and loading icons */
}
.aa-Label,
.aa-LoadingIndicator {
cursor: auto;
cursor: initial;
flex-shrink: 0;
height: 100%;
padding: 0;
text-align: left;
}
.aa-Label svg,
.aa-LoadingIndicator svg {
color: #3e34d3;
color: rgba(var(--aa-primary-color-rgb), 1);
height: auto;
max-height: 20px;
max-height: var(--aa-input-icon-size);
stroke-width: 1.6;
stroke-width: var(--aa-icon-stroke-width);
width: 20px;
width: var(--aa-input-icon-size);
}
.aa-SubmitButton,
.aa-LoadingIndicator {
height: 100%;
padding-left: 11px;
padding-left: calc(var(--aa-spacing) * 0.75 - 1px);
padding-right: 8px;
padding-right: var(--aa-spacing-half);
width: 47px;
width: calc(var(--aa-spacing) * 1.75 + var(--aa-icon-size) - 1px);
}
@media (hover: none) and (pointer: coarse) {
.aa-SubmitButton,
.aa-LoadingIndicator {
padding-left: 3px;
padding-left: calc(var(--aa-spacing-half) / 2 - 1px);
width: 39px;
width: calc(var(--aa-icon-size) + var(--aa-spacing) * 1.25 - 1px);
}
}
.aa-SubmitButton {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: none;
border: 0;
margin: 0;
}
.aa-LoadingIndicator {
align-items: center;
display: flex;
justify-content: center;
}
.aa-LoadingIndicator[hidden] {
display: none;
}
.aa-InputWrapper {
order: 3;
position: relative;
width: 100%;
/* Search box input (with placeholder and query) */
}
.aa-Input {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: none;
border: 0;
color: #262627;
color: rgba(var(--aa-text-color-rgb), var(--aa-text-color-alpha));
font: inherit;
height: 44px;
height: var(--aa-search-input-height);
padding: 0;
width: 100%;
/* Focus is set and styled on the parent, it isn't necessary here */
/* Remove native appearence */
}
.aa-Input::-moz-placeholder {
color: rgba(128, 126, 163, 0.6);
color: rgba(var(--aa-muted-color-rgb), var(--aa-muted-color-alpha));
opacity: 1;
}
.aa-Input:-ms-input-placeholder {
color: rgba(128, 126, 163, 0.6);
color: rgba(var(--aa-muted-color-rgb), var(--aa-muted-color-alpha));
opacity: 1;
}
.aa-Input::placeholder {
color: rgba(128, 126, 163, 0.6);
color: rgba(var(--aa-muted-color-rgb), var(--aa-muted-color-alpha));
opacity: 1;
}
.aa-Input:focus {
border-color: none;
box-shadow: none;
outline: none;
}
.aa-Input::-webkit-search-decoration,
.aa-Input::-webkit-search-cancel-button,
.aa-Input::-webkit-search-results-button,
.aa-Input::-webkit-search-results-decoration {
-webkit-appearance: none;
appearance: none;
}
.aa-InputWrapperSuffix {
align-items: center;
display: flex;
height: 44px;
height: var(--aa-search-input-height);
order: 4;
/* Accelerator to clear the query */
}
.aa-ClearButton {
align-items: center;
background: none;
border: 0;
color: rgba(128, 126, 163, 0.6);
color: rgba(var(--aa-muted-color-rgb), var(--aa-muted-color-alpha));
cursor: pointer;
display: flex;
height: 100%;
margin: 0;
padding: 0 12.8333333333px;
padding: 0 calc(var(--aa-spacing) * 0.8333333333 - 0.5px);
}
@media (hover: none) and (pointer: coarse) {
.aa-ClearButton {
padding: 0 10.1666666667px;
padding: 0 calc(var(--aa-spacing) * 0.6666666667 - 0.5px);
}
}
.aa-ClearButton:hover,
.aa-ClearButton:focus {
color: #262627;
color: rgba(var(--aa-text-color-rgb), var(--aa-text-color-alpha));
}
.aa-ClearButton[hidden] {
display: none;
}
.aa-ClearButton svg {
stroke-width: 1.6;
stroke-width: var(--aa-icon-stroke-width);
width: 20px;
width: var(--aa-icon-size);
}
/* ---------------- */
/* 4. Panel */
/* ---------------- */
.aa-Panel {
z-index: var(--aa-base-z-index);
background-color: white;
background-color: rgba(
var(--aa-background-color-rgb),
var(--aa-background-color-alpha)
);
border-radius: 4px;
border-radius: calc(var(--aa-spacing) / 4);
box-shadow: 0 0 0 1px rgba(35, 38, 59, 0.1),
0 6px 16px -4px rgba(35, 38, 59, 0.15);
box-shadow: var(--aa-panel-shadow);
margin: 8px 0 0;
overflow: hidden;
position: absolute;
transition: opacity 200ms ease-in, filter 200ms ease-in;
/* When a request isn't resolved yet */
}
@media screen and (prefers-reduced-motion) {
.aa-Panel {
transition: none;
}
}
.aa-Panel button {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: none;
border: 0;
margin: 0;
padding: 0;
}
.aa-PanelLayout {
height: 100%;
margin: 0;
max-height: 650px;
max-height: var(--aa-panel-max-height);
overflow-y: auto;
padding: 0;
position: relative;
text-align: left;
}
.aa-PanelLayoutColumns--twoGolden {
display: grid;
grid-template-columns: 39.2% auto;
overflow: hidden;
padding: 0;
}
.aa-PanelLayoutColumns--two {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
overflow: hidden;
padding: 0;
}
.aa-PanelLayoutColumns--three {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
overflow: hidden;
padding: 0;
}
.aa-Panel--stalled .aa-Source {
filter: grayscale(1);
opacity: 0.8;
}
.aa-Panel--scrollable {
margin: 0;
max-height: 650px;
max-height: var(--aa-panel-max-height);
overflow-x: hidden;
overflow-y: auto;
padding: 8px;
padding: var(--aa-spacing-half);
scrollbar-color: white #eaeaea;
scrollbar-color: rgba(
var(--aa-scrollbar-thumb-background-color-rgb),
var(--aa-scrollbar-thumb-background-color-alpha)
)
rgba(
var(--aa-scrollbar-track-background-color-rgb),
var(--aa-scrollbar-track-background-color-alpha)
);
scrollbar-width: thin;
}
.aa-Panel--scrollable::-webkit-scrollbar {
width: 13px;
width: var(--aa-scrollbar-width);
}
.aa-Panel--scrollable::-webkit-scrollbar-track {
background-color: #eaeaea;
background-color: rgba(
var(--aa-scrollbar-track-background-color-rgb),
var(--aa-scrollbar-track-background-color-alpha)
);
}
.aa-Panel--scrollable::-webkit-scrollbar-thumb {
background-color: white;
background-color: rgba(
var(--aa-scrollbar-thumb-background-color-rgb),
var(--aa-scrollbar-thumb-background-color-alpha)
);
border-color: #eaeaea;
border-color: rgba(
var(--aa-scrollbar-track-background-color-rgb),
var(--aa-scrollbar-track-background-color-alpha)
);
border-radius: 9999px;
border-style: solid;
border-width: 3px 2px 3px 3px;
}
/* ---------------- */
/* 5. Sources */
/* Each source can be styled independently */
/* ---------------- */
.aa-Source {
margin: 0;
padding: 0;
position: relative;
width: 100%;
/* List of results inside the source */
/* Source title */
/* See all button */
}
.aa-Source:empty {
/* Hide empty section */
display: none;
}
.aa-SourceNoResults {
font-size: 1em;
margin: 0;
padding: 16px;
padding: var(--aa-spacing);
}
.aa-List {
list-style: none;
margin: 0;
padding: 0;
position: relative;
}
.aa-SourceHeader {
margin: 8px 0.5em 8px 0;
margin: var(--aa-spacing-half) 0.5em var(--aa-spacing-half) 0;
padding: 0;
position: relative;
/* Hide empty header */
/* Title typography */
/* Line separator */
}
.aa-SourceHeader:empty {
display: none;
}
.aa-SourceHeaderTitle {
background: white;
background: rgba(
var(--aa-background-color-rgb),
var(--aa-background-color-alpha)
);
color: #3e34d3;
color: rgba(var(--aa-primary-color-rgb), 1);
display: inline-block;
font-size: 0.8em;
font-weight: 600;
font-weight: var(--aa-font-weight-semibold);
margin: 0;
padding: 0 8px 0 0;
padding: 0 var(--aa-spacing-half) 0 0;
position: relative;
z-index: 9999;
z-index: var(--aa-base-z-index);
}
.aa-SourceHeaderLine {
border-bottom: solid 1px #3e34d3;
border-bottom: solid 1px rgba(var(--aa-primary-color-rgb), 1);
display: block;
height: 2px;
left: 0;
margin: 0;
opacity: 0.3;
padding: 0;
position: absolute;
right: 0;
top: 8px;
top: var(--aa-spacing-half);
z-index: 9998;
z-index: calc(var(--aa-base-z-index) - 1);
}
.aa-SourceFooterSeeAll {
background: linear-gradient(180deg, white, rgba(128, 126, 163, 0.14));
background: linear-gradient(
180deg,
rgba(var(--aa-background-color-rgb), var(--aa-background-color-alpha)),
rgba(128, 126, 163, 0.14)
);
border: 1px solid rgba(128, 126, 163, 0.6);
border: 1px solid rgba(var(--aa-muted-color-rgb), var(--aa-muted-color-alpha));
border-radius: 5px;
box-shadow: inset 0 0 2px #fff, 0 2px 2px -1px rgba(76, 69, 88, 0.15);
color: inherit;
font-size: 0.95em;
font-weight: 500;
font-weight: var(--aa-font-weight-medium);
padding: 0.475em 1em 0.6em;
text-decoration: none;
}
.aa-SourceFooterSeeAll:focus,
.aa-SourceFooterSeeAll:hover {
border: 1px solid #3e34d3;
border: 1px solid rgba(var(--aa-primary-color-rgb), 1);
color: #3e34d3;
color: rgba(var(--aa-primary-color-rgb), 1);
}
/* ---------------- */
/* 6. Hit Layout */
/* ---------------- */
.aa-Item {
align-items: center;
border-radius: 3px;
cursor: pointer;
display: grid;
min-height: 40px;
min-height: calc(var(--aa-spacing) * 2.5);
padding: 4px;
padding: calc(var(--aa-spacing-half) / 2);
/* When the result is active */
/* The result type icon inlined SVG or image */
/* wrap hit with url but we don't need to see it */
/* Secondary click actions */
}
.aa-Item[aria-selected='true'] {
background-color: rgba(179, 173, 214, 0.205);
background-color: rgba(
var(--aa-selected-color-rgb),
var(--aa-selected-color-alpha)
);
}
.aa-Item[aria-selected='true'] .aa-ItemActionButton,
.aa-Item[aria-selected='true'] .aa-ActiveOnly {
visibility: visible;
}
.aa-ItemIcon {
align-items: center;
background: white;
background: rgba(
var(--aa-background-color-rgb),
var(--aa-background-color-alpha)
);
border-radius: 3px;
box-shadow: inset 0 0 0 1px rgba(128, 126, 163, 0.3);
box-shadow: inset 0 0 0 1px
rgba(var(--aa-panel-border-color-rgb), var(--aa-panel-border-color-alpha));
color: #7777a3;
color: rgba(var(--aa-icon-color-rgb), var(--aa-icon-color-alpha));
display: flex;
flex-shrink: 0;
font-size: 0.7em;
height: 28px;
height: calc(var(--aa-icon-size) + var(--aa-spacing-half));
justify-content: center;
overflow: hidden;
stroke-width: 1.6;
stroke-width: var(--aa-icon-stroke-width);
text-align: center;
width: 28px;
width: calc(var(--aa-icon-size) + var(--aa-spacing-half));
}
.aa-ItemIcon img {
height: auto;
max-height: 20px;
max-height: calc(var(--aa-icon-size) + var(--aa-spacing-half) - 8px);
max-width: 20px;
max-width: calc(var(--aa-icon-size) + var(--aa-spacing-half) - 8px);
width: auto;
}
.aa-ItemIcon svg {
height: 20px;
height: var(--aa-icon-size);
width: 20px;
width: var(--aa-icon-size);
}
.aa-ItemIcon--alignTop {
align-self: flex-start;
}
.aa-ItemIcon--noBorder {
background: none;
box-shadow: none;
}
.aa-ItemIcon--picture {
height: 96px;
width: 96px;
}
.aa-ItemIcon--picture img {
max-height: 100%;
max-width: 100%;
padding: 8px;
padding: var(--aa-spacing-half);
}
.aa-ItemContent {
align-items: center;
cursor: pointer;
display: grid;
grid-gap: 8px;
gap: 8px;
grid-gap: var(--aa-spacing-half);
gap: var(--aa-spacing-half);
grid-auto-flow: column;
line-height: 1.25em;
overflow: hidden;
}
.aa-ItemContent:empty {
display: none;
}
.aa-ItemContent mark {
background: none;
color: #262627;
color: rgba(var(--aa-text-color-rgb), var(--aa-text-color-alpha));
font-style: normal;
font-weight: 700;
font-weight: var(--aa-font-weight-bold);
}
.aa-ItemContent--dual {
display: flex;
flex-direction: column;
justify-content: space-between;
text-align: left;
}
.aa-ItemContent--dual .aa-ItemContentTitle,
.aa-ItemContent--dual .aa-ItemContentSubtitle {
display: block;
}
.aa-ItemContent--indented {
padding-left: 36px;
padding-left: calc(var(--aa-icon-size) + var(--aa-spacing));
}
.aa-ItemContentBody {
display: grid;
grid-gap: 4px;
gap: 4px;
grid-gap: calc(var(--aa-spacing-half) / 2);
gap: calc(var(--aa-spacing-half) / 2);
}
.aa-ItemContentTitle {
display: inline-block;
margin: 0 0.5em 0 0;
max-width: 100%;
overflow: hidden;
padding: 0;
text-overflow: ellipsis;
white-space: nowrap;
}
.aa-ItemContentSubtitle {
font-size: 0.92em;
}
.aa-ItemContentSubtitleIcon::before {
border-color: rgba(128, 126, 163, 0.64);
border-color: rgba(var(--aa-muted-color-rgb), 0.64);
border-style: solid;
content: '';
display: inline-block;
left: 1px;
position: relative;
top: -3px;
}
.aa-ItemContentSubtitle--inline .aa-ItemContentSubtitleIcon::before {
border-width: 0 0 1.5px;
margin-left: 8px;
margin-left: var(--aa-spacing-half);
margin-right: 4px;
margin-right: calc(var(--aa-spacing-half) / 2);
width: 10px;
width: calc(var(--aa-spacing-half) + 2px);
}
.aa-ItemContentSubtitle--standalone {
align-items: center;
color: #262627;
color: rgba(var(--aa-text-color-rgb), var(--aa-text-color-alpha));
display: grid;
grid-gap: 8px;
gap: 8px;
grid-gap: var(--aa-spacing-half);
gap: var(--aa-spacing-half);
grid-auto-flow: column;
justify-content: start;
}
.aa-ItemContentSubtitle--standalone .aa-ItemContentSubtitleIcon::before {
border-radius: 0 0 0 3px;
border-width: 0 0 1.5px 1.5px;
height: 8px;
height: var(--aa-spacing-half);
width: 8px;
width: var(--aa-spacing-half);
}
.aa-ItemContentSubtitleCategory {
color: #807ea3;
color: rgba(var(--aa-muted-color-rgb), 1);
font-weight: 500;
}
.aa-ItemContentDescription {
color: #262627;
color: rgba(var(--aa-text-color-rgb), var(--aa-text-color-alpha));
font-size: 0.85em;
max-width: 100%;
overflow-x: hidden;
text-overflow: ellipsis;
}
.aa-ItemContentDescription:empty {
display: none;
}
.aa-ItemContentDescription mark {
background: rgba(245, 223, 77, 0.5);
background: rgba(
var(--aa-description-highlight-background-color-rgb),
var(--aa-description-highlight-background-color-alpha)
);
color: #262627;
color: rgba(var(--aa-text-color-rgb), var(--aa-text-color-alpha));
font-style: normal;
font-weight: 500;
font-weight: var(--aa-font-weight-medium);
}
.aa-ItemContentDash {
color: rgba(128, 126, 163, 0.6);
color: rgba(var(--aa-muted-color-rgb), var(--aa-muted-color-alpha));
display: none;
opacity: 0.4;
}
.aa-ItemContentTag {
background-color: rgba(62, 52, 211, 0.2);
background-color: rgba(
var(--aa-primary-color-rgb),
var(--aa-primary-color-alpha)
);
border-radius: 3px;
margin: 0 0.4em 0 0;
padding: 0.08em 0.3em;
}
.aa-ItemWrapper,
.aa-ItemLink {
align-items: center;
color: inherit;
display: grid;
grid-gap: 4px;
gap: 4px;
grid-gap: calc(var(--aa-spacing-half) / 2);
gap: calc(var(--aa-spacing-half) / 2);
grid-auto-flow: column;
justify-content: space-between;
width: 100%;
}
.aa-ItemLink {
color: inherit;
text-decoration: none;
}
.aa-ItemActions {
display: grid;
grid-auto-flow: column;
height: 100%;
justify-self: end;
margin: 0 -5.3333333333px;
margin: 0 calc(var(--aa-spacing) / -3);
padding: 0 2px 0 0;
}
.aa-ItemActionButton {
align-items: center;
background: none;
border: 0;
color: rgba(128, 126, 163, 0.6);
color: rgba(var(--aa-muted-color-rgb), var(--aa-muted-color-alpha));
cursor: pointer;
display: flex;
flex-shrink: 0;
padding: 0;
}
.aa-ItemActionButton:hover svg,
.aa-ItemActionButton:focus svg {
color: #262627;
color: rgba(var(--aa-text-color-rgb), var(--aa-text-color-alpha));
}
@media (hover: none) and (pointer: coarse) {
.aa-ItemActionButton:hover svg,
.aa-ItemActionButton:focus svg {
color: inherit;
}
}
.aa-ItemActionButton svg {
color: rgba(128, 126, 163, 0.6);
color: rgba(var(--aa-muted-color-rgb), var(--aa-muted-color-alpha));
margin: 0;
margin: 5.3333333333px;
margin: calc(var(--aa-spacing) / 3);
stroke-width: 1.6;
stroke-width: var(--aa-icon-stroke-width);
width: 20px;
width: var(--aa-action-icon-size);
}
.aa-ActiveOnly {
visibility: hidden;
}
/*---------------- */
/* 7. Panel Header */
/*---------------- */
.aa-PanelHeader {
align-items: center;
background: #3e34d3;
background: rgba(var(--aa-primary-color-rgb), 1);
color: #fff;
display: grid;
height: var(--aa-modal-header-height);
margin: 0;
padding: 8px 16px;
padding: var(--aa-spacing-half) var(--aa-spacing);
position: relative;
}
.aa-PanelHeader::after {
background-image: linear-gradient(white, rgba(255, 255, 255, 0));
background-image: linear-gradient(
rgba(var(--aa-background-color-rgb), 1),
rgba(var(--aa-background-color-rgb), 0)
);
bottom: -8px;
bottom: calc(var(--aa-spacing-half) * -1);
content: '';
height: 8px;
height: var(--aa-spacing-half);
left: 0;
pointer-events: none;
position: absolute;
right: 0;
z-index: 9999;
z-index: var(--aa-base-z-index);
}
/*---------------- */
/* 8. Panel Footer */
/*---------------- */
.aa-PanelFooter {
background-color: white;
background-color: rgba(
var(--aa-background-color-rgb),
var(--aa-background-color-alpha)
);
box-shadow: inset 0 1px 0 rgba(128, 126, 163, 0.3);
box-shadow: inset 0 1px 0
rgba(var(--aa-panel-border-color-rgb), var(--aa-panel-border-color-alpha));
display: flex;
justify-content: space-between;
margin: 0;
padding: 16px;
padding: var(--aa-spacing);
position: relative;
z-index: 9999;
z-index: var(--aa-base-z-index);
}
.aa-PanelFooter::after {
background-image: linear-gradient(
rgba(255, 255, 255, 0),
rgba(128, 126, 163, 0.6)
);
background-image: linear-gradient(
rgba(var(--aa-background-color-rgb), 0),
rgba(var(--aa-muted-color-rgb), var(--aa-muted-color-alpha))
);
content: '';
height: 16px;
height: var(--aa-spacing);
left: 0;
opacity: 0.12;
pointer-events: none;
position: absolute;
right: 0;
top: -16px;
top: calc(var(--aa-spacing) * -1);
z-index: 9998;
z-index: calc(var(--aa-base-z-index) - 1);
}
/*---------------- */
/* 9. Detached Mode */
/*---------------- */
.aa-DetachedContainer {
background: white;
background: rgba(
var(--aa-background-color-rgb),
var(--aa-background-color-alpha)
);
bottom: 0;
box-shadow: 0 0 0 1px rgba(35, 38, 59, 0.1),
0 6px 16px -4px rgba(35, 38, 59, 0.15);
box-shadow: var(--aa-panel-shadow);
display: flex;
flex-direction: column;
left: 0;
margin: 0;
overflow: hidden;
padding: 0;
position: fixed;
right: 0;
top: 0;
z-index: 9999;
z-index: var(--aa-base-z-index);
}
.aa-DetachedContainer::after {
height: 32px;
}
.aa-DetachedContainer .aa-SourceHeader {
margin: 8px 0 8px 2px;
margin: var(--aa-spacing-half) 0 var(--aa-spacing-half) 2px;
}
.aa-DetachedContainer .aa-Panel {
background-color: white;
background-color: rgba(
var(--aa-background-color-rgb),
var(--aa-background-color-alpha)
);
border-radius: 0;
box-shadow: none;
flex-grow: 1;
margin: 0;
padding: 0;
position: relative;
}
.aa-DetachedContainer .aa-PanelLayout {
bottom: 0;
box-shadow: none;
left: 0;
margin: 0;
max-height: none;
overflow-y: auto;
position: absolute;
right: 0;
top: 0;
width: 100%;
}
.aa-DetachedFormContainer {
border-bottom: solid 1px rgba(128, 126, 163, 0.3);
border-bottom: solid 1px
rgba(var(--aa-panel-border-color-rgb), var(--aa-panel-border-color-alpha));
display: flex;
flex-direction: row;
justify-content: space-between;
margin: 0;
padding: 8px;
padding: var(--aa-spacing-half);
}
.aa-DetachedCancelButton {
background: none;
border: 0;
border-radius: 3px;
color: inherit;
color: #262627;
color: rgba(var(--aa-text-color-rgb), var(--aa-text-color-alpha));
cursor: pointer;
font: inherit;
margin: 0 0 0 8px;
margin: 0 0 0 var(--aa-spacing-half);
padding: 0 8px;
padding: 0 var(--aa-spacing-half);
}
.aa-DetachedCancelButton:hover,
.aa-DetachedCancelButton:focus {
box-shadow: inset 0 0 0 1px rgba(128, 126, 163, 0.3);
box-shadow: inset 0 0 0 1px
rgba(var(--aa-panel-border-color-rgb), var(--aa-panel-border-color-alpha));
}
.aa-DetachedContainer--modal {
border-radius: 6px;
bottom: inherit;
height: auto;
margin: 0 auto;
max-width: 680px;
max-width: var(--aa-detached-modal-max-width);
position: absolute;
top: 3%;
}
.aa-DetachedContainer--modal .aa-PanelLayout {
max-height: 500px;
max-height: var(--aa-detached-modal-max-height);
padding-bottom: 8px;
padding-bottom: var(--aa-spacing-half);
position: static;
}
/* Search Button */
.aa-DetachedSearchButton {
align-items: center;
background-color: white;
background-color: rgba(
var(--aa-input-background-color-rgb),
var(--aa-input-background-color-alpha)
);
border: 1px solid rgba(128, 126, 163, 0.8);
border: 1px solid
rgba(var(--aa-input-border-color-rgb), var(--aa-input-border-color-alpha));
border-radius: 3px;
color: rgba(128, 126, 163, 0.6);
color: rgba(var(--aa-muted-color-rgb), var(--aa-muted-color-alpha));
cursor: pointer;
display: flex;
font: inherit;
font-family: inherit;
font-family: var(--aa-font-family);
font-size: 16px;
font-size: var(--aa-font-size);
height: 44px;
height: var(--aa-search-input-height);
margin: 0;
padding: 0 5.5px;
padding: 0 calc(var(--aa-search-input-height) / 8);
position: relative;
text-align: left;
width: 100%;
}
.aa-DetachedSearchButton:focus {
border-color: #3e34d3;
border-color: rgba(var(--aa-primary-color-rgb), 1);
box-shadow: rgba(62, 52, 211, 0.2) 0 0 0 3px,
inset rgba(62, 52, 211, 0.2) 0 0 0 2px;
box-shadow: rgba(var(--aa-primary-color-rgb), var(--aa-primary-color-alpha)) 0
0 0 3px,
inset rgba(var(--aa-primary-color-rgb), var(--aa-primary-color-alpha)) 0 0 0
2px;
outline: currentColor none medium;
}
.aa-DetachedSearchButtonIcon {
align-items: center;
color: #3e34d3;
color: rgba(var(--aa-primary-color-rgb), 1);
cursor: auto;
cursor: initial;
display: flex;
height: 100%;
justify-content: center;
width: 36px;
width: calc(var(--aa-icon-size) + var(--aa-spacing));
}
/* Remove scroll on `body` */
.aa-Detached {
height: 100vh;
overflow: hidden;
}
.aa-DetachedOverlay {
background-color: rgba(115, 114, 129, 0.4);
background-color: rgba(
var(--aa-overlay-color-rgb),
var(--aa-overlay-color-alpha)
);
height: 100vh;
left: 0;
margin: 0;
padding: 0;
position: fixed;
right: 0;
top: 0;
z-index: 9998;
z-index: calc(var(--aa-base-z-index) - 1);
}
/*---------------- */
/* 10. Gradients */
/*---------------- */
.aa-GradientTop,
.aa-GradientBottom {
height: 8px;
height: var(--aa-spacing-half);
left: 0;
pointer-events: none;
position: absolute;
right: 0;
z-index: 9999;
z-index: var(--aa-base-z-index);
}
.aa-GradientTop {
background-image: linear-gradient(white, rgba(255, 255, 255, 0));
background-image: linear-gradient(
rgba(var(--aa-background-color-rgb), 1),
rgba(var(--aa-background-color-rgb), 0)
);
top: 0;
}
.aa-GradientBottom {
background-image: linear-gradient(rgba(255, 255, 255, 0), white);
background-image: linear-gradient(
rgba(var(--aa-background-color-rgb), 0),
rgba(var(--aa-background-color-rgb), 1)
);
border-bottom-left-radius: 4px;
border-bottom-left-radius: calc(var(--aa-spacing) / 4);
border-bottom-right-radius: 4px;
border-bottom-right-radius: calc(var(--aa-spacing) / 4);
bottom: 0;
}
/*---------------- */
/* 11. Utilities */
/*---------------- */
@media (hover: none) and (pointer: coarse) {
.aa-DesktopOnly {
display: none;
}
}
@media (hover: hover) {
.aa-TouchOnly {
display: none;
}
}
.leaflet-control-opencage-geosearch .aa-Autocomplete {
width: 500px;
}
.leaflet-control-opencage-geosearch .aa-Form {
box-shadow: none;
}
.leaflet-control-opencage-geosearch .aa-Form:focus-within {
border-color: #1a8865;
box-shadow: none;
}