| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/framework7/node_modules/framework7/ |
Upload File : |
/**
* Framework7 8.3.3
* Full featured mobile HTML framework for building iOS & Android apps
* https://framework7.io/
*
* Copyright 2014-2024 Vladimir Kharlampidi
*
* Released under the MIT License
*
* Released on: March 25, 2024
*/
/*====================
Core
==================== */
:root {
--f7-safe-area-left: 0px;
--f7-safe-area-right: 0px;
--f7-safe-area-top: 0px;
--f7-safe-area-bottom: 0px;
--f7-safe-area-outer-left: 0px;
--f7-safe-area-outer-right: 0px;
--f7-device-pixel-ratio: 1;
}
@supports (left: env(safe-area-inset-left)) {
:root {
--f7-safe-area-top: env(safe-area-inset-top);
--f7-safe-area-bottom: env(safe-area-inset-bottom);
}
:root .ios-left-edge,
:root .ios-edges,
:root .safe-area-left,
:root .safe-areas,
:root .popup,
:root .sheet-modal,
:root .panel-left {
--f7-safe-area-left: env(safe-area-inset-left);
--f7-safe-area-outer-left: env(safe-area-inset-left);
}
:root .ios-right-edge,
:root .ios-edges,
:root .safe-area-right,
:root .safe-areas,
:root .popup,
:root .sheet-modal,
:root .panel-right {
--f7-safe-area-right: env(safe-area-inset-right);
--f7-safe-area-outer-right: env(safe-area-inset-right);
}
:root .no-safe-areas,
:root .no-safe-area-left,
:root .no-ios-edges,
:root .no-ios-left-edge {
--f7-safe-area-left: 0px;
--f7-safe-area-outer-left: 0px;
}
:root .no-safe-areas,
:root .no-safe-area-right,
:root .no-ios-edges,
:root .no-ios-right-edge {
--f7-safe-area-right: 0px;
--f7-safe-area-outer-right: 0px;
}
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
:root {
--f7-device-pixel-ratio: 2;
}
}
@media (-webkit-min-device-pixel-ratio: 3), (min-resolution: 3dppx) {
:root {
--f7-device-pixel-ratio: 3;
}
}
/*====================
Fonts & Bars
==================== */
:root {
--f7-font-size: 14px;
--f7-bars-translucent-opacity: 0.8;
--f7-bars-translucent-blur: 20px;
}
.ios {
--f7-font-family: -apple-system, SF Pro Text, SF UI Text, system-ui, Helvetica Neue, Helvetica, Arial, sans-serif;
--f7-line-height: 1.4;
/*
--f7-bars-link-color: var(--f7-theme-color);
*/
--f7-bars-text-color: #000;
--f7-text-color: #000;
--f7-bars-bg-color: #f7f7f8;
--f7-bars-bg-color-rgb: 247, 247, 248;
--f7-bars-border-color: rgba(0, 0, 0, 0.25);
}
.ios .dark,
.ios.dark {
--f7-bars-text-color: #fff;
--f7-text-color: #fff;
--f7-bars-bg-color: #121212;
--f7-bars-bg-color-rgb: 22, 22, 22;
--f7-bars-border-color: rgba(255, 255, 255, 0.16);
}
.md {
--f7-font-family: Roboto, system-ui, Noto, Helvetica, Arial, sans-serif;
--f7-line-height: 1.5;
--f7-bars-border-color: transparent;
--f7-text-color: #212121;
}
.md .dark,
.md.dark {
--f7-text-color: rgba(255, 255, 255, 0.87);
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-bars-link-color: var(--f7-md-on-surface);
--f7-bars-bg-color: var(--f7-md-surface-2);
--f7-bars-bg-color-rgb: var(--f7-md-surface-2-rgb);
}
/*====================
Color Themes
==================== */
.text-color-primary {
--f7-theme-color-text-color: var(--f7-theme-color);
}
.bg-color-primary {
--f7-theme-color-bg-color: var(--f7-theme-color);
}
.border-color-primary {
--f7-theme-color-border-color: var(--f7-theme-color);
}
.ripple-color-primary {
--f7-theme-color-ripple-color: rgba(var(--f7-theme-color-rgb), 0.3);
}
@font-face {
font-family: 'framework7-core-icons';
src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAA0sABAAAAAAGLwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABbAAAABoAAAAcmrEdT0dERUYAAAGIAAAAIwAAACQAewBXR1BPUwAAAawAAAAuAAAANuAY7+xHU1VCAAAB3AAAAZ4AAAP6ALYH7k9TLzIAAAN8AAAASgAAAGBRKF+WY21hcAAAA8gAAACJAAABYt6F0cBjdnQgAAAEVAAAAAQAAAAEABEBRGdhc3AAAARYAAAACAAAAAj//wADZ2x5ZgAABGAAAATOAAAKDJkUuoRoZWFkAAAJMAAAADAAAAA2IlX292hoZWEAAAlgAAAAIAAAACQHgQM7aG10eAAACYAAAABgAAABHCxp//lsb2NhAAAJ4AAAAJAAAACQQrpFRm1heHAAAApwAAAAHwAAACAAjQBPbmFtZQAACpAAAAFVAAAC3EU7ispwb3N0AAAL6AAAAUIAAAJaVPgZiHicY2BgYGQAgts30q6A6Ps50bYwGgBRFwa1AAB4nGNgZGBg4AFiGSBmAkJmBk0GRgYtBjcgmwUsxgAADWAA0wB4nGNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB4nHVTW07CQBQ9Q2vAJwhVGwW0UJEgvt+Kb+XDT3dAYjQmxA9DXIDLMC7CLz9dg3EJfrkLPDMF+pg0TTPTe84998ydWwgAIyiiDtFudZ6QgskIul1IRLQfH1qMwfsiZqo1BWF8IAkLL4lO4scwDddowGC8iia2kYbDp4gKd5Ncy3yKyPMrjxyuMBHAHdiYxgwZHrqK8QA6xxpTAyyNBdzgGW/4wq8wRUU0xb14Fe/iU3yLP9a2qGRhUeUXIuoZuCrucHdGtTDTrxTk7Wq8nHJWiPCOeM4wz8V8hLOscYLubMZKWCcvzpfHuNAY0Q6ucI3TkPh+D89iVt3OUsTnBm8grsI5xrRcz9dmD9GrNjSk38M1jGpq0uEBZ1LvppyvGu//kh4tpV7mm1Ycl6zcwMsxd3EMqX+C4RAuY3K6t3hKOa02fdt0lVF7z0GWfKltDarIjFP2qkx92UF/an18h5UyVJeRfnyI/ajSwy3ucMh8S+VmeeLwPdTYhSDmZdeVdz8qvV+zMzLHn5I9/p39iHe6JHOy3BXYSQelf3GmQG8AAHicY2Bh/MI4gYGVgYHRhzGNgYHBHUp/ZZBkaGFgYGJgZWaAAUYGJBCQ5prC0MCgwFDFeOD/AQY9ps+MxTA1jAfAShQYxABDtQxkAAB4nGNgYGBmgGAZBkYGEIgB8hjBfBYGByDNw8DBwARkKzDoMlgyxDNU/f8PFAXxDIC8xP///z/+f/3/1f8b/q+HmgAHjGwMcCFGJiDBxICmAGI1HLAwMLCysXNwcnHz8PIxEAP4GQQEhYRFRMXEJSSlpGVk5eQVFJWUVVTV1DU0iTKA1gAAxH4T6AAAAAARAUQAAAAB//8AAnic7VXPTxtHFJ63xh6DY++uf+yq0FJs1l6ktk7x2l4aDEaFEMkCUlXQUi5A6nAprYoqu1IVbG6gKNRVBUJBuUVqpeYSfGirHID2QhrVrWQ1UlXlRA+VWnri0EYK677ZtRMg/0EVaWZn3puZN2++9723hCMiIeQ6TBAboSS6BeRsqkybyN+xLYf9Qaps43BKtmxMbWfqMnXAo1QZmF4TNVHVxE5x5eO5OZgwbomgoTXAtmt2nIndbP5M90z3v9dxx3Q21L7GmWrShL0Z3oApzDCe+EiAEG/I4ZdiyXgkJvkdoUgcdJXK6lfjqdR46sZ8JjOfgUTbQltxAQZS4319429lmNJ4+PyHbe8uEOv+2neg4QVeQsIhnmNW0qBG4snYiyCBCgC/uzok186OSwq69vkyx+27pA7X9g7T7vOWv7U/YBe+wBrwHFqRqZpQHZ0hZkMK+KkcYh6ipzCwFFmi0fT52dmrl7ro1zNDQzODq0uRYoB2zV6dnT3fH6WDM4ODM6ZfJEK28a12QnwUTerb+byyuQlJc2j4fgibsEqceGsgyDbJFDaNuyWlUlFKv8Wtsb6XuOF7yDJ7Osig6iXgFaNSUibqI4HaQ8TiJcQCa5meTAO67+dBZtCehYgd8OX45u1t9v59/mew7TNMULaQYHf4yZ7ls47OqPreTaVYVL7BbyF8cj2Brsq0vhwuFBUTR2O1aY47JC4i44swlFTWZTSjch0KJ3iVjiavwHEDe8m9Rus1fjKONjbABjGwbWz8uac3lvRHDx6rjSO27WnMGGBYe3XYZDhpn+2yAXoQwAZmGeiBJBFQsMAwkTC5AW7qF5zfOv3OUeqRaC9EnYIfZRQlD+2tn5+H1yHCzpOTp/UkxD10hUrYPZIzl3NCxMMEpvPQXI6aeJApqOB59k8hfRAM2BPBAFQMDSqHmnZd0zBm/5J3yC/wCvEQghGTJR48gLfoSTkz0yIILe/bfY5zbg9/5trnfIuL/9IJdIA/4/ZY/k3DMNpnHEP2UPWmGRCImAOxuE0kGMKYuVm+YdCOMdtR5/XBpG9SeVUfG/tgbGuyv3+yf+lt32Q7SmN697k005zEgjELk8ukFWUJdwIIybPRgCGfR91JP5ENyAnLz+mbSqGgsBpR+wtuwTqiJJIXsCrUq4GP+dfJSkQaGNtUk5NXyouL5Sv3L2SzF4az2eHR9lFsI+0jI+2wvnh7cfG2cXT52uXsp9kfrCWzPcmhOfgI+UngsT1Zh7lSSWk0uHhMwPjUjB3ugNslrYTYRRM3Ue9nSUXBoYZUiCIXYjL0KPHwj964z+s17gVaW33GPS/4vAnve9xBazjceuSvMDnOVjkfJL0a7qz71E7uwCWGa9Li15PEvXOSUlHBuYJ8XXEKksUwYvKnB5yQYud9SB6MrskeiXH0H9G17HC10Itu3iHa05+4oNsl3G+m07zbzjlGdsVTdYpVIBWrk5LLwRQO+XydQ7UprsJFSDPjUFxIajFJwIt8xzK8urZera6vrRWSBWxF9n0ZuqpV49cq3CjqhYJeNL+nc9i8M5gIqhWWu8Zd6CnBKpvGzRy2Mf84Df1jOYRxExNWFrHOaUcVqyNq8SWzncZUsKjKctf6MSBJlylddlr0hDefwvQ/M6nleQAAeJxjYGRgYADis2XfmeP5bb4ycDMxgMD9nGhbGP3/x79eljSmz0AuBwNYGgBQ5wydeJxjYGRgYPr8r5dBjyXt/w8GBpY0BqAICnAHAJFTBcN4nGPYzSDIAAKrGAY1YAwAYh0gPgDk7APSs4D4EEjs/0+G40AxIGZJg4pbALETEJ8Fip/9/4PRDch2gYqB2KuBGKiW6c3//wy7gWyG/z9AZjKdhehnMgbqA4oDAJFZGHgAAAAqACoAKgA0AD4ASABSAFwAZgBwAHoAhACOAJgAogCsALYAwADKANQA3gDoAPIA/AEGARABGgEkAS4BOAFCAUwBVgFgAWoBdAF+AYgBkgGcAaYBsgHcAf4CKAI6AlACYgKCApICogLUAuoDCgMqAzwDWgNsA5ADrgO+A/IEDAQ8BFwEfASOBLYEzATmBQZ4nGNgZGBgcGeQY2BhAAEmIGZkAIk5MOiBBAAN5gDdAHicrZC9asMwFIWP8gftUDo00FFjEmIjawlkTcmSpXTwbhw3EYmtoARC6ON06Na9Q5+iY6FP0IfosaJChwwdYri6n6/Olc4VgCu8QuD49fAQWKCLl8ANXOIjcBNa3AVuoSueA7dxLT4Dd9Bt3FIpWhf8u/ddNQsM8BS4gRu8B25ijq/ALQzEPnAbUrwF7rD+jQksNjjAwWCBJXaQ9Jyjz6yhGBpDcoo1Mp5qUDIcKzOqM1JdL3mG8buY2M3BmcVyJ3t5X2ql9VCm62xuSuPkbJm5dVZuzJzKRzbXrQX2NOGwwggRr665IBnPFbaUuqws9tatRlFuXRGZ3FYsn9T+FUx9ceez43yFnyrmXBJjxv8tHPUJuyOuiuvv62Bqq93UukUhdazkWJ40y3qio0RF9YucY/aUOsd943WSZhSNxT7X4yEt3NbYSiqVxEopeYZLfwCb64ZqAAAAeJxtUIlOwkAUnAGVW4rch36M8b7v2zSlLdIIXbJdxL/HhbaBJm6yyb6ZebPzHlJYnvkcxH/nWF8ihTQMVFFDHQ000UIbHXTRwz4OcIgjrTvBKc5wjgtc4grXuMEt7nCPBzziCc94wSve8I4PfDLFNDe4yS1mmGWOeRZYZInbLNNghTusssY6G2yyxTY77LLHXe7lA9eS9tD0RFCxh+6PFL4pva+hWiC5iBw75ZgbuQOl65IlpZjFVUGz9ndf/Oq3kVBqk1LCtrhON3yhvIFnW8rTiD0SgbvoKIfmfaGUGGvLnLQcTyyYatztiJlvWlMppJUJhFRRxDBEiOdj7XRSiuYIicqKiJDium3ZcUeuck0ppr6z+D2q9dATJc0w23qW5aArozCDFhjJferVJJy1Yjs0i/nschKN15Kdofcf+xC0ZgAA') format('woff');
font-weight: 400;
font-style: normal;
}
html {
overscroll-behavior: none;
}
html,
body,
.framework7-root {
position: relative;
height: 100%;
width: 100%;
overflow-x: hidden;
}
body {
margin: 0;
padding: 0;
width: 100%;
background: #fff;
overflow: hidden;
overflow-y: scroll;
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
font-family: var(--f7-font-family);
font-size: var(--f7-font-size);
line-height: var(--f7-line-height);
color: var(--f7-text-color);
scrollbar-width: none;
scrollbar-color: transparent;
}
body::-webkit-scrollbar {
-webkit-appearance: none;
appearance: none;
width: 0px;
display: none;
opacity: 0;
background: transparent;
}
body::-webkit-scrollbar-track {
box-shadow: none;
background: transparent;
}
body::-webkit-scrollbar-thumb {
background-color: transparent;
outline: none;
border-radius: 9999px;
position: relative;
}
.dark body,
body.dark {
background: #000;
}
.dark {
color: var(--f7-text-color);
}
.framework7-root {
overflow: hidden;
box-sizing: border-box;
}
.framework7-initializing *,
.framework7-initializing *:before,
.framework7-initializing *:after {
transition-duration: 0ms !important;
}
.device-ios,
.device-android {
cursor: pointer;
}
.device-ios {
touch-action: manipulation;
}
@media (width: 1024px) and (height: 691px) and (orientation: landscape) {
html,
body,
.framework7-root {
height: 671px;
}
}
@media (width: 1024px) and (height: 692px) and (orientation: landscape) {
html,
body,
.framework7-root {
height: 672px;
}
}
* {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-webkit-touch-callout: none;
}
a,
input,
textarea,
select {
outline: 0;
}
a {
cursor: pointer;
text-decoration: none;
color: var(--f7-theme-color);
}
.link,
.item-link {
cursor: pointer;
}
p {
margin: 1em 0;
}
.disabled {
opacity: 0.55 !important;
pointer-events: none !important;
}
html.device-full-viewport,
html.device-full-viewport body {
height: 100vh;
}
.ios .md-only,
.ios .if-md,
.ios .if-not-ios,
.ios .not-ios {
display: none !important;
}
@media (width: 1024px) and (height: 691px) and (orientation: landscape) {
.ios,
.ios body,
.ios .framework7-root {
height: 671px;
}
}
@media (width: 1024px) and (height: 692px) and (orientation: landscape) {
.ios,
.ios body,
.ios .framework7-root {
height: 672px;
}
}
.md .ios-only,
.md .if-ios,
.md .if-not-md,
.md .not-md {
display: none !important;
}
/* === Statusbar === */
/* === Views === */
.views,
.view {
position: relative;
height: 100%;
z-index: 5000;
overflow: hidden;
box-sizing: border-box;
}
.framework7-root > .view,
.framework7-root > .views {
height: 100%;
}
.view-resize-handler {
width: 6px;
height: 100%;
position: absolute;
left: var(--f7-page-master-width);
margin-left: -3px;
top: 0;
cursor: col-resize;
z-index: 1000;
display: none;
}
.view-master-detail .view-resize-handler {
display: block;
}
/* === Pages === */
:root {
--f7-page-master-width: 320px;
--f7-page-master-border-color: rgba(0, 0, 0, 0.1);
--f7-page-master-border-width: 1px;
--f7-page-swipeback-transition-duration: 300ms;
--f7-page-parallax-transition-duration: 500ms;
--f7-page-cover-transition-duration: 450ms;
--f7-page-dive-transition-duration: 500ms;
--f7-page-fade-transition-duration: 500ms;
--f7-page-flip-transition-duration: 700ms;
--f7-page-push-transition-duration: 500ms;
/*
--f7-page-content-extra-padding-top: 0px;
--f7-page-content-extra-padding-bottom: 0px;
*/
--f7-page-title-line-height: 1.2;
--f7-page-title-text-color: inherit;
--f7-page-title-padding-left: 16px;
--f7-page-title-padding-right: 16px;
}
.ios {
--f7-page-transition-duration: 400ms;
--f7-page-title-font-size: 34px;
--f7-page-title-font-weight: 700;
--f7-page-title-letter-spacing: -0.03em;
--f7-page-title-padding-vertical: 6px;
--f7-page-bg-color: #efeff4;
}
.ios .dark,
.ios.dark {
--f7-page-bg-color: #000;
}
.md {
--f7-page-transition-duration: 400ms;
--f7-page-title-font-size: 34px;
--f7-page-title-font-weight: 500;
--f7-page-title-letter-spacing: 0;
--f7-page-title-padding-vertical: 8px;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-page-bg-color: var(--f7-md-surface);
}
.dark {
--f7-page-master-border-color: rgba(255, 255, 255, 0.2);
}
.pages {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
}
.page {
box-sizing: border-box;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
transform: none;
background-color: var(--f7-page-bg-color);
z-index: 1;
}
.page-with-navbar-large-collapsed {
--f7-navbar-large-collapse-progress: 1;
}
.page-previous {
pointer-events: none;
}
.page-content {
overflow: auto;
-webkit-overflow-scrolling: touch;
box-sizing: border-box;
height: 100%;
position: relative;
z-index: 1;
padding-top: calc(var(--f7-page-navbar-offset, 0px) + var(--f7-page-toolbar-top-offset, 0px) + var(--f7-page-subnavbar-offset, 0px) + var(--f7-page-searchbar-offset, 0px) + var(--f7-page-content-extra-padding-top, 0px));
padding-bottom: calc(var(--f7-page-toolbar-bottom-offset, 0px) + var(--f7-safe-area-bottom) + var(--f7-page-content-extra-padding-bottom, 0px));
}
.page-transitioning,
.page-transitioning .page-shadow-effect,
.page-transitioning .page-opacity-effect {
transition-duration: var(--f7-page-transition-duration);
}
.page-transitioning-swipeback,
.page-transitioning-swipeback .page-shadow-effect,
.page-transitioning-swipeback .page-opacity-effect {
transition-duration: var(--f7-page-swipeback-transition-duration);
}
.router-transition-forward .page-next,
.router-transition-backward .page-next,
.router-transition-forward .page-current,
.router-transition-backward .page-current {
pointer-events: none;
}
.page-shadow-effect {
position: absolute;
top: 0;
width: 16px;
bottom: 0;
z-index: -1;
content: '';
opacity: 0;
right: 100%;
background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.01) 50%, rgba(0, 0, 0, 0.2) 100%);
}
.page-opacity-effect {
position: absolute;
left: 0;
top: 0;
background: rgba(0, 0, 0, 0.1);
width: 100%;
bottom: 0;
content: '';
opacity: 0;
z-index: 10000;
}
.ios .page-previous {
transform: translate3d(-20%, 0, 0);
}
.ios .page-next {
transform: translate3d(100%, 0, 0);
}
.ios .page-previous .page-opacity-effect {
opacity: 1;
}
.ios .page-previous:after {
opacity: 1;
}
.ios .page-current .page-shadow-effect {
opacity: 1;
}
.ios .router-transition-forward .page-next {
animation: ios-page-next-to-current var(--f7-page-transition-duration) forwards;
}
.ios .router-transition-forward .page-next:before {
position: absolute;
top: 0;
width: 16px;
bottom: 0;
z-index: -1;
content: '';
opacity: 0;
right: 100%;
background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.01) 50%, rgba(0, 0, 0, 0.2) 100%);
animation: ios-page-element-fade-in var(--f7-page-transition-duration) forwards;
}
.ios .router-transition-forward .page-current {
animation: ios-page-current-to-previous var(--f7-page-transition-duration) forwards;
}
.ios .router-transition-forward .page-current:after {
position: absolute;
left: 0;
top: 0;
background: rgba(0, 0, 0, 0.1);
width: 100%;
bottom: 0;
content: '';
opacity: 0;
z-index: 10000;
animation: ios-page-element-fade-in var(--f7-page-transition-duration) forwards;
}
.ios .router-transition-backward .page-previous {
animation: ios-page-previous-to-current var(--f7-page-transition-duration) forwards;
}
.ios .router-transition-backward .page-previous:after {
position: absolute;
left: 0;
top: 0;
background: rgba(0, 0, 0, 0.1);
width: 100%;
bottom: 0;
content: '';
opacity: 0;
z-index: 10000;
animation: ios-page-element-fade-out var(--f7-page-transition-duration) forwards;
}
.ios .router-transition-backward .page-current {
animation: ios-page-current-to-next var(--f7-page-transition-duration) forwards;
}
.ios .router-transition-backward .page-current:before {
position: absolute;
top: 0;
width: 16px;
bottom: 0;
z-index: -1;
content: '';
opacity: 0;
right: 100%;
background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.01) 50%, rgba(0, 0, 0, 0.2) 100%);
animation: ios-page-element-fade-out var(--f7-page-transition-duration) forwards;
}
@keyframes ios-page-next-to-current {
from {
transform: translate3d(100%, 0, 0);
}
to {
transform: translate3d(0%, 0, 0);
}
}
@keyframes ios-page-previous-to-current {
from {
transform: translate3d(-20%, 0, 0);
}
to {
transform: translate3d(0%, 0, 0);
}
}
@keyframes ios-page-current-to-previous {
from {
transform: translate3d(0, 0, 0);
}
to {
transform: translate3d(-20%, 0, 0);
}
}
@keyframes ios-page-current-to-next {
from {
transform: translate3d(0, 0, 0);
}
to {
transform: translate3d(100%, 0, 0);
}
}
@keyframes ios-page-element-fade-in {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes ios-page-element-fade-out {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
.md .page-previous {
transform: translate3d(0, -20px, 0);
}
.md .page-next {
pointer-events: none;
transform: translate3d(0, 128px, 0);
opacity: 0;
}
.md .page-next.page-next-on-right {
transform: translate3d(100%, 0, 0);
opacity: 1;
}
.md .router-transition-forward .page-next {
opacity: 1;
animation: md-page-next-to-current var(--f7-page-transition-duration) forwards cubic-bezier(0, 0.8, 0.3, 1);
}
.md .router-transition-forward .page-current {
animation: md-page-current-to-previous var(--f7-page-transition-duration) forwards cubic-bezier(0, 0.8, 0.3, 1);
}
.md .router-transition-backward .page-current {
animation: md-page-current-to-next calc(var(--f7-page-transition-duration) / 4) forwards cubic-bezier(0.8, 0, 1, 0.3), md-page-current-to-next-opacity 0ms calc(var(--f7-page-transition-duration) / 4) forwards;
}
.md .router-transition-backward .page-previous {
animation: md-page-previous-to-current var(--f7-page-transition-duration) forwards;
}
@keyframes md-page-next-to-current {
from {
transform: translate3d(0, 128px, 0);
}
to {
transform: translate3d(0, 0px, 0);
}
}
@keyframes md-page-current-to-next {
from {
transform: translate3d(0, 0, 0);
}
to {
transform: translate3d(0, 128px, 0);
}
}
@keyframes md-page-current-to-next-opacity {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@keyframes md-page-current-to-previous {
from {
transform: translate3d(0, 0, 0);
}
to {
transform: translate3d(0, -20px, 0);
}
}
@keyframes md-page-previous-to-current {
from {
transform: translate3d(0, -20px, 0);
}
to {
transform: translate3d(0, 0px, 0);
}
}
.view:not(.view-master-detail) .page-master-stacked {
display: none;
}
.view:not(.view-master-detail) .navbar-master-stacked {
display: none;
}
.view-master-detail .page-master,
.view-master-detail .navbar-master {
width: var(--f7-page-master-width);
--f7-safe-area-right: 0px;
--f7-safe-area-outer-right: 0px;
border-right: var(--f7-page-master-border-width) solid var(--f7-page-master-border-color);
}
.view-master-detail .page-master-detail,
.view-master-detail .navbar-master-detail {
width: calc(100% - var(--f7-page-master-width));
--f7-safe-area-left: 0px;
--f7-safe-area-outer-left: 0px;
left: var(--f7-page-master-width);
}
.view-master-detail .page-master-detail > .navbar-master-detail {
left: 0;
right: 0;
width: 100%;
}
.view-master-detail .page-master {
z-index: 2;
transform: none;
pointer-events: auto;
}
.view-master-detail .page-master:before,
.view-master-detail .page-master:after {
display: none;
}
.view-master-detail.router-transition .page-master {
animation: none;
}
.md .router-transition-custom .page-previous,
.ios .router-transition-custom .page-previous,
.md .router-transition-custom .page-next,
.ios .router-transition-custom .page-next {
opacity: 1;
transform: none;
}
.md .router-transition-custom.view-master-detail .page-master,
.ios .router-transition-custom.view-master-detail .page-master {
animation: none;
}
.page-title {
position: relative;
z-index: 10;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--f7-page-title-text-color);
letter-spacing: var(--f7-page-title-letter-spacing);
font-size: var(--f7-page-title-font-size);
font-weight: var(--f7-page-title-font-weight);
line-height: var(--f7-page-title-line-height);
padding-left: calc(var(--f7-page-title-padding-left) + var(--f7-safe-area-left));
padding-right: calc(var(--f7-page-title-padding-right) + var(--f7-safe-area-right));
padding-top: var(--f7-page-title-padding-vertical);
padding-bottom: var(--f7-page-title-padding-vertical);
box-sizing: border-box;
overflow: hidden;
width: 100%;
}
.router-transition-f7-circle-forward:after,
.router-transition-f7-circle-backward:after {
content: '';
position: absolute;
left: 50%;
top: 50%;
width: 100vmax;
height: 100vmax;
margin-left: -50vmax;
margin-top: -50vmax;
background: var(--f7-page-bg-color);
z-index: 100;
}
.router-transition-f7-circle-forward .page,
.router-transition-f7-circle-backward .page {
pointer-events: none;
}
.router-transition-f7-circle-forward:after {
transform: scale(0);
border-radius: 50%;
animation: f7-circle-circle-in 400ms forwards;
}
.ios .router-transition-f7-circle-forward .page-next,
.md .router-transition-f7-circle-forward .page-next {
opacity: 0;
transform: scale(0.9);
animation: f7-circle-next-to-current 300ms forwards;
animation-delay: 300ms;
z-index: 150;
}
.router-transition-f7-circle-backward:after {
animation: f7-circle-circle-out 300ms forwards;
animation-delay: 350ms;
}
.ios .router-transition-f7-circle-backward .page-current,
.md .router-transition-f7-circle-backward .page-current {
animation: f7-circle-current-to-next 700ms forwards;
z-index: 150;
}
@keyframes f7-circle-circle-in {
from {
transform: scale(0);
border-radius: 50%;
}
50% {
border-radius: 50%;
}
to {
transform: scale(1);
border-radius: 0%;
}
}
@keyframes f7-circle-circle-out {
from {
transform: scale(1);
border-radius: 0%;
}
50% {
border-radius: 50%;
}
to {
transform: scale(0);
border-radius: 50%;
}
}
@keyframes f7-circle-next-to-current {
from {
transform: scale(0.9);
opacity: 0;
}
40% {
transform: scale(1.035);
opacity: 1;
}
to {
transform: scale(1);
opacity: 1;
}
}
@keyframes f7-circle-current-to-next {
from {
transform: scale(1);
opacity: 1;
}
34% {
transform: scale(1.035);
opacity: 1;
}
57% {
transform: scale(0.9);
opacity: 0;
}
to {
transform: scale(0.9);
opacity: 0;
}
}
.router-transition-f7-cover-v-forward,
.router-transition-f7-cover-v-backward {
background: #000;
perspective: 1200px;
}
.router-transition-f7-cover-v-forward .page,
.router-transition-f7-cover-v-backward .page {
pointer-events: none;
}
.router-transition-f7-cover-v-forward .page-next {
animation: f7-cover-v-next-to-current var(--f7-page-cover-transition-duration) forwards;
}
.router-transition-f7-cover-v-forward .page-current {
animation: f7-cover-v-current-to-prev var(--f7-page-cover-transition-duration) forwards;
}
.router-transition-f7-cover-v-backward .page-current {
animation: f7-cover-v-current-to-next var(--f7-page-cover-transition-duration) forwards;
}
.router-transition-f7-cover-v-backward .page-previous {
animation: f7-cover-v-prev-to-current var(--f7-page-cover-transition-duration) forwards;
}
@keyframes f7-cover-v-next-to-current {
from {
transform: translateY(100%);
}
to {
transform: translateY(0%);
}
}
@keyframes f7-cover-v-current-to-next {
from {
transform: translateY(0%);
}
to {
transform: translateY(100%);
}
}
@keyframes f7-cover-v-current-to-prev {
from {
transform: translateZ(0);
opacity: 1;
}
to {
transform: translateZ(-300px);
opacity: 0.5;
}
}
@keyframes f7-cover-v-prev-to-current {
from {
transform: translateZ(-300px);
opacity: 0.5;
}
to {
transform: translateZ(0);
opacity: 1;
}
}
.router-transition-f7-cover-forward,
.router-transition-f7-cover-backward {
background: #000;
perspective: 1200px;
}
.router-transition-f7-cover-forward .page,
.router-transition-f7-cover-backward .page {
pointer-events: none;
}
.router-transition-f7-cover-forward .page-next {
animation: f7-cover-next-to-current var(--f7-page-cover-transition-duration) forwards;
}
.router-transition-f7-cover-forward .page-current {
animation: f7-cover-current-to-prev var(--f7-page-cover-transition-duration) forwards;
}
.router-transition-f7-cover-backward .page-current {
animation: f7-cover-current-to-next var(--f7-page-cover-transition-duration) forwards;
}
.router-transition-f7-cover-backward .page-previous {
animation: f7-cover-prev-to-current var(--f7-page-cover-transition-duration) forwards;
}
@keyframes f7-cover-next-to-current {
from {
transform: translateX(100%);
}
to {
transform: translateX(0%);
}
}
@keyframes f7-cover-current-to-next {
from {
transform: translateX(0%);
}
to {
transform: translateX(100%);
}
}
@keyframes f7-cover-current-to-prev {
from {
transform: translateZ(0);
opacity: 1;
}
to {
transform: translateZ(-300px);
opacity: 0.5;
}
}
@keyframes f7-cover-prev-to-current {
from {
transform: translateZ(-300px);
opacity: 0.5;
}
to {
transform: translateZ(0);
opacity: 1;
}
}
.router-transition-f7-dive-forward,
.router-transition-f7-dive-backward {
background: var(--f7-page-bg-color);
perspective: 1200px;
}
.router-transition-f7-dive-forward .page,
.router-transition-f7-dive-backward .page {
pointer-events: none;
}
.router-transition-f7-dive-forward .page-next {
animation: f7-dive-next-to-current var(--f7-page-dive-transition-duration) forwards;
}
.router-transition-f7-dive-forward .page-current {
animation: f7-dive-current-to-prev var(--f7-page-dive-transition-duration) forwards;
}
.router-transition-f7-dive-backward .page-current {
animation: f7-dive-current-to-next var(--f7-page-dive-transition-duration) forwards;
}
.router-transition-f7-dive-backward .page-previous {
animation: f7-dive-prev-to-current var(--f7-page-dive-transition-duration) forwards;
}
@keyframes f7-dive-next-to-current {
from {
opacity: 0;
transform: translateZ(-150px);
}
50% {
opacity: 0;
}
to {
opacity: 1;
transform: translateZ(0px);
}
}
@keyframes f7-dive-current-to-next {
from {
opacity: 1;
transform: translateZ(0px);
}
50% {
opacity: 0;
}
to {
opacity: 0;
transform: translateZ(-150px);
}
}
@keyframes f7-dive-current-to-prev {
from {
transform: translateZ(0px);
opacity: 1;
}
50% {
opacity: 0;
}
to {
opacity: 0;
transform: translateZ(150px);
}
}
@keyframes f7-dive-prev-to-current {
from {
opacity: 0;
transform: translateZ(150px);
}
50% {
opacity: 0;
}
to {
opacity: 1;
transform: translateZ(0px);
}
}
.router-transition-f7-fade-forward,
.router-transition-f7-fade-backward {
background: var(--f7-page-bg-color);
}
.router-transition-f7-fade-forward .page,
.router-transition-f7-fade-backward .page {
pointer-events: none;
}
.ios .router-transition-f7-fade-forward .page-next,
.md .router-transition-f7-fade-forward .page-next {
opacity: 0;
animation: f7-fade-in var(--f7-page-fade-transition-duration) forwards;
}
.ios .router-transition-f7-fade-forward .page-current,
.md .router-transition-f7-fade-forward .page-current {
animation: f7-fade-out var(--f7-page-fade-transition-duration) forwards;
}
.ios .router-transition-f7-fade-backward .page-current,
.md .router-transition-f7-fade-backward .page-current {
animation: f7-fade-out var(--f7-page-fade-transition-duration) forwards;
}
.ios .router-transition-f7-fade-backward .page-previous,
.md .router-transition-f7-fade-backward .page-previous {
animation: f7-fade-in var(--f7-page-fade-transition-duration) forwards;
}
@keyframes f7-fade-in {
from {
opacity: 0;
}
50% {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes f7-fade-out {
from {
opacity: 1;
}
50% {
opacity: 0;
}
to {
opacity: 0;
}
}
.router-transition-f7-flip-forward,
.router-transition-f7-flip-backward {
background: #000;
perspective: 1200px;
}
.router-transition-f7-flip-forward .page,
.router-transition-f7-flip-backward .page {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
overflow: hidden;
pointer-events: none;
}
.router-transition-f7-flip-forward .page-next {
transform-style: preserve-3d;
animation: f7-flip-next-to-current var(--f7-page-flip-transition-duration) forwards;
}
.router-transition-f7-flip-forward .page-current {
transform-style: preserve-3d;
animation: f7-flip-current-to-prev var(--f7-page-flip-transition-duration) forwards;
}
.router-transition-f7-flip-backward .page-current {
transform-style: preserve-3d;
animation: f7-flip-current-to-next var(--f7-page-flip-transition-duration) forwards;
}
.router-transition-f7-flip-backward .page-previous {
transform-style: preserve-3d;
animation: f7-flip-prev-to-current var(--f7-page-flip-transition-duration) forwards;
}
@keyframes f7-flip-next-to-current {
from {
border-radius: 32px;
transform: translateZ(-100vmax) rotateY(180deg);
}
to {
border-radius: 0;
transform: translateZ(0px) rotateY(0deg);
}
}
@keyframes f7-flip-current-to-next {
from {
border-radius: 0px;
transform: translateZ(0px) rotateY(0deg);
}
to {
border-radius: 32px;
transform: translateZ(-100vmax) rotateY(180deg);
}
}
@keyframes f7-flip-current-to-prev {
from {
border-radius: 0px;
transform: translateZ(0px) rotateY(0deg);
}
to {
border-radius: 32px;
transform: translateZ(-100vmax) rotateY(-180deg);
}
}
@keyframes f7-flip-prev-to-current {
from {
border-radius: 32px;
transform: translateZ(-100vmax) rotateY(-180deg);
}
to {
border-radius: 0px;
transform: translateZ(0px) rotateY(0deg);
}
}
.router-transition-f7-parallax-forward .page {
pointer-events: none;
}
.router-transition-f7-parallax-forward .page-next {
animation: f7-parallax-next-to-current var(--f7-page-parallax-transition-duration) forwards;
}
.router-transition-f7-parallax-forward .page-current {
animation: f7-parallax-current-to-prev var(--f7-page-parallax-transition-duration) forwards;
}
.router-transition-f7-parallax-backward .page {
pointer-events: none;
}
.router-transition-f7-parallax-backward .page-current {
animation: f7-parallax-current-to-next var(--f7-page-parallax-transition-duration) forwards;
}
.router-transition-f7-parallax-backward .page-previous {
animation: f7-parallax-prev-to-current var(--f7-page-parallax-transition-duration) forwards;
}
@keyframes f7-parallax-next-to-current {
from {
transform: translateX(100%);
}
to {
transform: translateX(0%);
}
}
@keyframes f7-parallax-current-to-next {
from {
transform: translateX(0%);
}
to {
transform: translateX(100%);
}
}
@keyframes f7-parallax-current-to-prev {
from {
transform: translateX(0%);
}
to {
transform: translateX(-20%);
}
}
@keyframes f7-parallax-prev-to-current {
from {
transform: translateX(-20%);
}
to {
transform: translateX(0%);
}
}
.router-transition-f7-push-forward .page {
pointer-events: none;
}
.router-transition-f7-push-forward .page-next {
animation: f7-push-next-to-current var(--f7-page-push-transition-duration) forwards;
}
.router-transition-f7-push-forward .page-current {
animation: f7-push-current-to-prev var(--f7-page-push-transition-duration) forwards;
}
.router-transition-f7-push-backward .page {
pointer-events: none;
}
.router-transition-f7-push-backward .page-current {
animation: f7-push-current-to-next var(--f7-page-push-transition-duration) forwards;
}
.router-transition-f7-push-backward .page-previous {
animation: f7-push-prev-to-current var(--f7-page-push-transition-duration) forwards;
}
@keyframes f7-push-next-to-current {
from {
transform: translateX(100%);
}
to {
transform: translateX(0%);
}
}
@keyframes f7-push-current-to-next {
from {
transform: translateX(0%);
}
to {
transform: translateX(100%);
}
}
@keyframes f7-push-current-to-prev {
from {
transform: translateX(0%);
}
to {
transform: translateX(-100%);
}
}
@keyframes f7-push-prev-to-current {
from {
transform: translateX(-100%);
}
to {
transform: translateX(0%);
}
}
/* === Link === */
:root {
--f7-link-highlight-black: rgba(0, 0, 0, 0.1);
--f7-link-highlight-white: rgba(255, 255, 255, 0.15);
--f7-link-highlight-color: rgba(var(--f7-theme-color-rgb), 0.15);
}
.ios {
--f7-link-pressed-opacity: 0.3;
}
.link,
.tab-link {
display: inline-flex;
align-items: center;
align-content: center;
justify-content: center;
position: relative;
box-sizing: border-box;
z-index: 1;
--f7-touch-ripple-color: var(--f7-link-touch-ripple-color, rgba(var(--f7-theme-color-rgb), 0.25));
}
.link i + span,
.link i + i,
.link span + i,
.link span + span {
margin-left: 4px;
}
.link[class*='color-'] {
color: var(--f7-theme-color);
}
.ios .link {
transition: opacity 300ms;
}
.ios .link.active-state {
opacity: var(--f7-link-pressed-opacity);
transition-duration: 0ms;
}
/* === Navbar === */
:root {
/*
--f7-navbar-bg-color: var(--f7-bars-bg-color);
--f7-navbar-bg-color-rgb: var(--f7-bars-bg-color-rgb);
--f7-navbar-border-color: var(--f7-bars-border-color);
*/
--f7-navbar-hide-show-transition-duration: 400ms;
--f7-navbar-title-line-height: 1.2;
--f7-navbar-subtitle-text-align: inherit;
--f7-navbar-large-title-line-height: 1.2;
--f7-navbar-large-title-text-color: inherit;
--f7-navbar-large-title-padding-left: 16px;
--f7-navbar-large-title-padding-right: 16px;
}
.ios {
/*
--f7-navbar-link-color: var(--f7-bars-link-color);
--f7-navbar-text-color: var(--f7-bars-text-color);
*/
--f7-navbar-height: 44px;
--f7-navbar-font-size: 17px;
--f7-navbar-title-font-size: inherit;
--f7-navbar-inner-padding-left: 8px;
--f7-navbar-inner-padding-right: 8px;
--f7-navbar-title-font-weight: 600;
--f7-navbar-title-margin-left: 0;
--f7-navbar-title-margin-right: 0;
--f7-navbar-title-text-align: center;
--f7-navbar-subtitle-font-size: 10px;
--f7-navbar-subtitle-line-height: 1;
--f7-navbar-large-title-height: 52px;
--f7-navbar-large-title-font-size: 34px;
--f7-navbar-large-title-font-weight: 700;
--f7-navbar-large-title-letter-spacing: -0.03em;
--f7-navbar-large-title-padding-vertical: 6px;
/*
--f7-navbar-link-height: var(--f7-navbar-height);
--f7-navbar-link-line-height: var(--f7-navbar-height);
*/
--f7-navbar-subtitle-text-color: rgba(0, 0, 0, 0.55);
}
.ios .dark,
.ios.dark {
--f7-navbar-subtitle-text-color: rgba(255, 255, 255, 0.55);
}
.md {
--f7-navbar-height: 64px;
--f7-navbar-font-size: 16px;
--f7-navbar-title-font-size: 22px;
--f7-navbar-inner-padding-left: 0px;
--f7-navbar-inner-padding-right: 0px;
--f7-navbar-title-font-weight: 400;
--f7-navbar-title-margin-left: 0px;
--f7-navbar-title-margin-right: 16px;
--f7-navbar-title-text-align: left;
--f7-navbar-subtitle-font-size: 14px;
--f7-navbar-subtitle-line-height: 1.2;
--f7-navbar-large-title-font-size: 28px;
--f7-navbar-large-title-height: 88px;
--f7-navbar-large-title-font-weight: 400;
--f7-navbar-large-title-letter-spacing: 0;
--f7-navbar-large-title-padding-vertical: 8px;
--f7-navbar-link-height: 48px;
--f7-navbar-link-line-height: 48px;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-navbar-link-color: var(--f7-md-on-surface);
--f7-navbar-text-color: var(--f7-md-on-surface);
--f7-navbar-subtitle-text-color: var(--f7-md-on-surface-variant);
}
.navbars,
.navbar {
z-index: 500;
left: 0;
top: 0;
width: 100%;
}
.navbars {
position: absolute;
}
.navbars .navbar {
z-index: auto;
}
.navbars .navbar-transitioning {
z-index: 500;
}
.navbar {
--f7-navbar-large-collapse-progress: 0;
position: relative;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
box-sizing: border-box;
margin: 0;
height: calc(var(--f7-navbar-height) + var(--f7-safe-area-top));
color: var(--f7-navbar-text-color, var(--f7-bars-text-color));
font-size: var(--f7-navbar-font-size);
}
.navbar b {
font-weight: 500;
}
.navbar a {
color: var(--f7-navbar-link-color, var(--f7-bars-link-color, var(--f7-theme-color)));
}
.navbar a.link {
display: flex;
justify-content: flex-start;
line-height: var(--f7-navbar-link-line-height, var(--f7-navbar-height));
height: var(--f7-navbar-link-height, var(--f7-navbar-height));
}
.navbar .title,
.navbar .left,
.navbar .right {
position: relative;
z-index: 10;
}
.navbar .title {
position: relative;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex-shrink: 10;
font-weight: var(--f7-navbar-title-font-weight);
display: inline-block;
line-height: var(--f7-navbar-title-line-height);
text-align: var(--f7-navbar-title-text-align);
font-size: var(--f7-navbar-title-font-size);
margin-left: var(--f7-navbar-title-margin-left);
margin-right: var(--f7-navbar-title-margin-left);
}
.navbar .subtitle {
display: block;
color: var(--f7-navbar-subtitle-text-color);
font-weight: normal;
font-size: var(--f7-navbar-subtitle-font-size);
line-height: var(--f7-navbar-subtitle-line-height);
text-align: var(--f7-navbar-subtitle-text-align);
}
.navbar .left,
.navbar .right {
flex-shrink: 0;
display: flex;
justify-content: flex-start;
align-items: center;
}
.navbar .right:first-child {
position: absolute;
height: 100%;
}
.navbar.no-outline .navbar-bg:after,
.navbar .no-outline .navbar-bg:after {
display: none !important;
}
.navbar.no-outline .title-large:after,
.navbar .no-outline .title-large:after {
display: none !important;
}
.navbar.navbar-hidden .navbar-bg:before,
.navbar-hidden .navbar .navbar-bg:before {
opacity: 0 !important;
}
.navbar-bg {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 0;
background: var(--f7-navbar-bg-color);
background-color: var(--f7-navbar-bg-color, var(--f7-bars-bg-color));
transition-property: transform;
}
@supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
.ios-translucent-bars .navbar-bg {
background-color: rgba(var(--f7-navbar-bg-color-rgb, var(--f7-bars-bg-color-rgb)), var(--f7-bars-translucent-opacity));
-webkit-backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
}
}
.navbar-bg:after,
.navbar-bg:before {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.navbar-bg:after {
content: '';
position: absolute;
background-color: var(--f7-navbar-border-color, var(--f7-bars-border-color));
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.navbar-bg:after {
z-index: 1;
}
.navbar-transitioning,
.navbar-transitioning .left,
.navbar-transitioning .title,
.navbar-transitioning .right,
.navbar-transitioning .title-large-text,
.navbar-transitioning .navbar-bg,
.navbar-transitioning .subnavbar,
.navbar-transitioning .navbar-bg:before {
transition-duration: var(--f7-navbar-hide-show-transition-duration);
}
.navbar-page-transitioning {
transition-duration: var(--f7-page-swipeback-transition-duration) !important;
}
.navbar-page-transitioning .title-large-text,
.navbar-page-transitioning .navbar-bg {
transition-duration: var(--f7-page-swipeback-transition-duration) !important;
}
.navbar-hidden {
transform: translate3d(0, calc(-1 * var(--f7-navbar-height)), 0);
}
.navbar-hidden .navbar-inner {
pointer-events: none;
}
.navbar-hidden .navbar-inner > .left,
.navbar-hidden .navbar-inner > .title,
.navbar-hidden .navbar-inner > .right {
opacity: 0 !important;
}
.navbar-hidden .subnavbar {
pointer-events: auto;
}
.navbar-hidden-statusbar {
transform: translate3d(0, calc(-1 * var(--f7-navbar-height) - var(--f7-safe-area-top)), 0);
}
.navbar-large-hidden .navbar-large {
--f7-navbar-large-collapse-progress: 1;
}
.navbar-inner {
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 100%;
display: flex;
align-items: center;
box-sizing: border-box;
padding: var(--f7-safe-area-top) calc(var(--f7-navbar-inner-padding-right) + var(--f7-safe-area-right)) 0 calc(var(--f7-navbar-inner-padding-left) + var(--f7-safe-area-left));
transform: translate3d(0, 0, 0);
z-index: 10;
}
.views > .navbar,
.view > .navbar,
.page > .navbar,
.navbars > .navbar {
position: absolute;
}
.navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible):not(
.with-searchbar-expandable-enabled
) .navbar-bg,
.navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible):not(
.with-searchbar-expandable-enabled
) .title {
opacity: 0;
}
.navbar-large .navbar-bg {
height: calc(100% + var(--f7-navbar-large-title-height));
transform: translate3d(0px, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0);
}
.navbar-large-transparent .navbar-bg,
.navbar-large.navbar-transparent .navbar-bg {
opacity: var(--f7-navbar-large-collapse-progress);
}
.ios .router-navbar-transition-to-large .navbar-bg,
.ios .router-navbar-transition-from-large .navbar-bg,
.navbar-bg.ios-swipeback-navbar-bg-large,
.navbar-large-transparent .navbar-bg.ios-swipeback-navbar-bg-large,
.navbar-large.navbar-transparent .navbar-bg.ios-swipeback-navbar-bg-large {
height: calc(100% + var(--f7-navbar-large-title-height));
transform: translate3d(0px, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0);
}
.ios .navbar:not(.navbar-large) .navbar-bg {
--f7-navbar-large-collapse-progress: 1;
}
.navbar-large .title {
opacity: var(--f7-navbar-large-collapse-progress);
}
.navbar-large-collapsed {
--f7-navbar-large-collapse-progress: 1;
}
.navbar-large-collapsed .title-large {
pointer-events: none;
}
.navbar .title-large {
box-sizing: border-box;
position: absolute;
left: 0;
right: 0;
top: 100%;
display: flex;
white-space: nowrap;
overflow: hidden;
height: var(--f7-navbar-large-title-height);
z-index: 5;
}
.navbar .title-large-text {
text-overflow: ellipsis;
white-space: nowrap;
color: var(--f7-navbar-large-title-text-color);
letter-spacing: var(--f7-navbar-large-title-letter-spacing);
font-size: var(--f7-navbar-large-title-font-size);
font-weight: var(--f7-navbar-large-title-font-weight);
line-height: var(--f7-navbar-large-title-line-height);
padding-left: calc(var(--f7-navbar-large-title-padding-left) + var(--f7-safe-area-left));
padding-right: calc(var(--f7-navbar-large-title-padding-right) + var(--f7-safe-area-right));
padding-top: var(--f7-navbar-large-title-padding-vertical);
padding-bottom: var(--f7-navbar-large-title-padding-vertical);
box-sizing: border-box;
overflow: hidden;
width: 100%;
transform: translate3d(0px, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0);
transform-origin: calc(var(--f7-navbar-large-title-padding-left) + var(--f7-safe-area-left)) center;
}
.navbar-no-title-large-transition .title-large-text {
transition-duration: 0ms;
}
.navbar ~ *,
.navbars ~ * {
--f7-page-navbar-offset: calc(var(--f7-navbar-height) + var(--f7-safe-area-top));
}
.navbar ~ * .page-with-navbar-large,
.navbar ~ .page-with-navbar-large,
.navbars ~ * .page-with-navbar-large,
.navbars ~ .page-with-navbar-large,
.page-with-navbar-large .navbar ~ * {
--f7-page-navbar-offset: calc(var(--f7-navbar-height) + var(--f7-navbar-large-title-height) + var(--f7-safe-area-top));
}
.page.no-navbar,
.page.no-navbar .navbar ~ * {
--f7-page-navbar-offset: var(--f7-safe-area-top);
}
.ios {
--f7-navbarLeftTextOffset: calc(4px + 12px + var(--f7-navbar-inner-padding-left));
--f7-navbarTitleLargeOffset: var(--f7-navbar-large-title-padding-left);
--f7-navbar-large-bg-center-top: translateX(0) translateY(calc(-1 * var(--f7-navbar-large-title-height)));
--f7-navbar-large-bg-center-bottom: translateX(0) translateY(0);
--f7-navbar-large-bg-left-top: translateX(-100%) translateY(calc(-1 * var(--f7-navbar-large-title-height)));
--f7-navbar-large-bg-left-bottom: translateX(-100%) translateY(0);
--f7-navbar-large-bg-right-top: translateX(100%) translateY(calc(-1 * var(--f7-navbar-large-title-height)));
--f7-navbar-large-bg-right-bottom: translateX(100%) translateY(0);
}
.ios .navbar .title-large {
align-items: flex-end;
}
.ios .navbar a.icon-only {
width: 44px;
margin: 0;
justify-content: center;
}
.ios .navbar .left a + a,
.ios .navbar .right a + a {
margin-left: 16px;
}
.ios .navbar b {
font-weight: 600;
}
.ios .navbar .left {
margin-right: 10px;
}
.ios .navbar .right {
margin-left: 10px;
}
.ios .navbar .right:first-child {
right: calc(8px + var(--f7-safe-area-right));
}
.ios .navbar-inner {
justify-content: space-between;
}
.ios .navbar-inner-left-title {
justify-content: flex-start;
}
.ios .navbar-inner-left-title .right {
margin-left: auto;
}
.ios .navbar-inner-left-title .title {
text-align: left;
margin-right: 10px;
}
.ios .view-master-detail .navbar-previous:not(.navbar-master) .left,
.ios .view:not(.view-master-detail) .navbar-previous .left,
.ios .navbar-next .left,
.ios .view-master-detail .navbar-previous:not(.navbar-master) .title,
.ios .view:not(.view-master-detail) .navbar-previous .title,
.ios .navbar-next .title,
.ios .view-master-detail .navbar-previous:not(.navbar-master) .right,
.ios .view:not(.view-master-detail) .navbar-previous .right,
.ios .navbar-next .right,
.ios .view-master-detail .navbar-previous:not(.navbar-master) .subnavbar,
.ios .view:not(.view-master-detail) .navbar-previous .subnavbar,
.ios .navbar-next .subnavbar,
.ios .view-master-detail .navbar-previous:not(.navbar-master) .fading,
.ios .view:not(.view-master-detail) .navbar-previous .fading,
.ios .navbar-next .fading {
opacity: 0;
}
.ios .view-master-detail .navbar-previous:not(.navbar-master),
.ios .view:not(.view-master-detail) .navbar-previous {
pointer-events: none;
}
.ios .view-master-detail .navbar-previous:not(.navbar-master) .title-large,
.ios .view:not(.view-master-detail) .navbar-previous .title-large {
opacity: 0;
transition-duration: 0ms;
}
.ios .view-master-detail .navbar-previous:not(.navbar-master) .title-large .title-large-text,
.ios .view:not(.view-master-detail) .navbar-previous .title-large .title-large-text {
transform: scale(0.5);
transition-duration: 0ms;
}
.ios .view-master-detail .navbar-previous:not(.navbar-master) .subnavbar.sliding,
.ios .view:not(.view-master-detail) .navbar-previous .subnavbar.sliding,
.ios .view-master-detail .navbar-previous:not(.navbar-master) .sliding .subnavbar,
.ios .view:not(.view-master-detail) .navbar-previous .sliding .subnavbar {
opacity: 1;
transform: translate3d(-100%, 0, 0);
}
.ios .view:not(.view-master-detail) .navbar-previous .navbar-bg,
.ios .view-master-detail .navbar-previous:not(.navbar-master) .navbar-bg {
transform: translateX(-100%);
}
.ios .navbar-next {
pointer-events: none;
}
.ios .navbar-next .navbar-bg {
transform: translateX(100%);
}
.ios .navbar-next .title-large .title-large-text {
transition-duration: 0ms;
transform: translateX(100%) translateY(calc(-1 * var(--f7-navbar-large-title-height)));
}
.ios .navbar-next .subnavbar.sliding,
.ios .navbar-next .sliding .subnavbar {
opacity: 1;
transform: translate3d(100%, 0, 0);
}
.ios .router-transition .navbar,
.ios .router-transition .navbar-bg {
transition-duration: var(--f7-page-transition-duration);
}
.ios .router-transition .navbar-bg {
animation-duration: var(--f7-page-transition-duration);
animation-fill-mode: forwards;
}
.ios .router-transition .title-large,
.ios .router-transition .title-large-text {
transition-duration: 0ms;
}
.ios .router-transition .navbar-current .left,
.ios .router-transition .navbar-current .title,
.ios .router-transition .navbar-current .right,
.ios .router-transition .navbar-current .subnavbar {
animation: ios-navbar-element-fade-out var(--f7-page-transition-duration) forwards;
}
.ios .router-transition .navbar-current .sliding.left,
.ios .router-transition .navbar-current .sliding.left .icon + span,
.ios .router-transition .navbar-current .sliding.title,
.ios .router-transition .navbar-current .sliding.right,
.ios .router-transition .navbar-current .sliding .left,
.ios .router-transition .navbar-current .sliding .left .icon + span,
.ios .router-transition .navbar-current .sliding .title,
.ios .router-transition .navbar-current .sliding .right {
transition-duration: var(--f7-page-transition-duration);
opacity: 0 !important;
animation: none;
}
.ios .router-transition .navbar-current .sliding .subnavbar,
.ios .router-transition .navbar-current .sliding.subnavbar {
transition-duration: var(--f7-page-transition-duration);
animation: none;
opacity: 1;
}
.ios .router-transition-forward .navbar-next .left,
.ios .router-transition-backward .navbar-previous .left,
.ios .router-transition-forward .navbar-next .title,
.ios .router-transition-backward .navbar-previous .title,
.ios .router-transition-forward .navbar-next .right,
.ios .router-transition-backward .navbar-previous .right,
.ios .router-transition-forward .navbar-next .subnavbar,
.ios .router-transition-backward .navbar-previous .subnavbar {
animation: ios-navbar-element-fade-in var(--f7-page-transition-duration) forwards;
}
.ios .router-transition-forward .navbar-next .sliding.left,
.ios .router-transition-backward .navbar-previous .sliding.left,
.ios .router-transition-forward .navbar-next .sliding.left .icon + span,
.ios .router-transition-backward .navbar-previous .sliding.left .icon + span,
.ios .router-transition-forward .navbar-next .sliding.title,
.ios .router-transition-backward .navbar-previous .sliding.title,
.ios .router-transition-forward .navbar-next .sliding.right,
.ios .router-transition-backward .navbar-previous .sliding.right,
.ios .router-transition-forward .navbar-next .sliding .left,
.ios .router-transition-backward .navbar-previous .sliding .left,
.ios .router-transition-forward .navbar-next .sliding .left .icon + span,
.ios .router-transition-backward .navbar-previous .sliding .left .icon + span,
.ios .router-transition-forward .navbar-next .sliding .title,
.ios .router-transition-backward .navbar-previous .sliding .title,
.ios .router-transition-forward .navbar-next .sliding .right,
.ios .router-transition-backward .navbar-previous .sliding .right,
.ios .router-transition-forward .navbar-next .sliding .subnavbar,
.ios .router-transition-backward .navbar-previous .sliding .subnavbar {
transition-duration: var(--f7-page-transition-duration);
animation: none;
transform: translate3d(0, 0, 0) !important;
opacity: 1 !important;
}
.ios .router-transition-forward .navbar-next.navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible) .title,
.ios .router-transition-backward .navbar-previous.navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible) .title {
animation: none;
}
.ios .router-transition-forward .navbar-next.navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible) .sliding.title,
.ios .router-transition-backward .navbar-previous.navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible) .sliding.title,
.ios .router-transition-forward .navbar-next.navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible) .sliding .title,
.ios .router-transition-backward .navbar-previous.navbar-transparent:not(.navbar-large):not(.navbar-transparent-visible) .sliding .title {
opacity: 0 !important;
}
.ios .router-transition-backward .navbar-previous.with-searchbar-expandable-enabled-no-transition .left,
.ios .router-transition-backward .navbar-previous.with-searchbar-expandable-enabled .left,
.ios .router-transition-backward .navbar-previous.with-searchbar-expandable-enabled-no-transition .title,
.ios .router-transition-backward .navbar-previous.with-searchbar-expandable-enabled .title,
.ios .router-transition-backward .navbar-previous.with-searchbar-expandable-enabled-no-transition .right,
.ios .router-transition-backward .navbar-previous.with-searchbar-expandable-enabled .right,
.ios .router-transition-backward .navbar-previous.with-searchbar-expandable-enabled-no-transition .subnavbar,
.ios .router-transition-backward .navbar-previous.with-searchbar-expandable-enabled .subnavbar {
animation: none;
}
.ios .router-transition-forward .navbar-current.router-navbar-transition-from-large.router-navbar-transition-to-large .title-large,
.ios .router-transition-forward .navbar-current.router-navbar-transition-from-large:not(.router-navbar-transition-to-large) .title-large {
overflow: visible;
}
.ios .router-transition-forward .navbar-current.router-navbar-transition-from-large.router-navbar-transition-to-large .title-large .title-large-text,
.ios .router-transition-forward .navbar-current.router-navbar-transition-from-large:not(.router-navbar-transition-to-large) .title-large .title-large-text {
animation: ios-navbar-large-title-text-slide-up var(--f7-page-transition-duration) forwards, ios-navbar-large-title-text-fade-out var(--f7-page-transition-duration) forwards;
}
.ios .router-transition-forward .navbar-next.router-navbar-transition-from-large .left .back span {
animation: ios-navbar-back-text-next-to-current var(--f7-page-transition-duration) forwards;
transition: none;
transform-origin: left center;
}
.ios .router-transition-forward .navbar-next.router-navbar-transition-from-large.router-navbar-transition-to-large .title-large {
overflow: visible;
}
.ios .router-transition-forward .navbar-next.router-navbar-transition-from-large.router-navbar-transition-to-large .title-large .title-large-text {
animation: ios-navbar-large-title-text-slide-left var(--f7-page-transition-duration) forwards;
}
.ios .router-transition-forward .navbar-next.router-navbar-transition-to-large:not(.router-navbar-transition-from-large) .title-large .title-large-text {
animation: ios-navbar-large-title-text-slide-left var(--f7-page-transition-duration) forwards;
}
.ios .router-transition-forward .navbar-next.navbar-large:not(.navbar-large-collapsed) .title,
.ios .router-transition-forward .navbar-current.navbar-large:not(.navbar-large-collapsed) .title {
animation: none;
opacity: 0 !important;
transition-duration: 0;
}
.ios .router-transition-backward .navbar-current.router-navbar-transition-to-large .left .back span {
animation: ios-navbar-back-text-current-to-previous var(--f7-page-transition-duration) forwards;
transition: none;
transform-origin: left center;
}
.ios .router-transition-backward .navbar-current.router-navbar-transition-from-large.router-navbar-transition-to-large .title-large {
overflow: visible;
}
.ios .router-transition-backward .navbar-current.router-navbar-transition-from-large.router-navbar-transition-to-large .title-large .title-large-text {
animation: ios-navbar-large-title-text-slide-right var(--f7-page-transition-duration) forwards;
}
.ios .router-transition-backward .navbar-current.router-navbar-transition-from-large:not(.router-navbar-transition-to-large) .title-large .title-large-text {
animation: ios-navbar-large-title-text-slide-right var(--f7-page-transition-duration) forwards;
}
.ios .router-transition-backward .navbar-current.router-navbar-transition-to-large:not(.router-navbar-transition-from-large) .title-large {
opacity: 0;
}
.ios .router-transition-backward .navbar-previous.router-navbar-transition-from-large.router-navbar-transition-to-large .title-large,
.ios .router-transition-backward .navbar-previous.router-navbar-transition-to-large:not(.router-navbar-transition-from-large) .title-large {
overflow: visible;
opacity: 1;
}
.ios .router-transition-backward .navbar-previous.router-navbar-transition-from-large.router-navbar-transition-to-large .title-large .title-large-text,
.ios .router-transition-backward .navbar-previous.router-navbar-transition-to-large:not(.router-navbar-transition-from-large) .title-large .title-large-text {
animation: ios-navbar-large-title-text-slide-down var(--f7-page-transition-duration) forwards, ios-navbar-large-title-text-fade-in var(--f7-page-transition-duration) forwards;
}
.ios .router-transition-backward .navbar-current.navbar-large:not(.navbar-large-collapsed) .title,
.ios .router-transition-backward .navbar-previous.navbar-large:not(.navbar-large-collapsed) .title {
animation: none;
opacity: 0 !important;
transition-duration: 0;
}
.ios .router-transition-forward .navbar-current .navbar-bg {
animation-name: ios-navbar-bg-from-cb-to-lb;
}
.ios .router-transition-forward .navbar-current.router-navbar-transition-from-large.router-navbar-transition-to-large .navbar-bg {
animation-name: ios-navbar-bg-from-cb-to-lb;
}
.ios .router-transition-forward .navbar-current.router-navbar-transition-from-large:not(.router-navbar-transition-to-large) .navbar-bg {
animation-name: ios-navbar-bg-from-cb-to-lt;
}
.ios .router-transition-forward .navbar-current:not(.router-navbar-transition-from-large).router-navbar-transition-to-large .navbar-bg {
animation-name: ios-navbar-bg-from-ct-to-lb;
}
.ios .router-transition-forward .navbar-current.navbar-large-collapsed:not(.router-navbar-transition-to-large) .navbar-bg {
animation-name: ios-navbar-bg-from-ct-to-lt;
}
.ios .router-transition-forward .navbar-next .navbar-bg {
animation-name: ios-navbar-bg-from-rb-to-cb;
}
.ios .router-transition-forward .navbar-next.router-navbar-transition-from-large.router-navbar-transition-to-large .navbar-bg {
animation-name: ios-navbar-bg-from-rb-to-cb;
}
.ios .router-transition-forward .navbar-next.router-navbar-transition-from-large:not(.router-navbar-transition-to-large) .navbar-bg {
animation-name: ios-navbar-bg-from-rb-to-ct;
}
.ios .router-transition-forward .navbar-next:not(.router-navbar-transition-from-large).router-navbar-transition-to-large .navbar-bg {
animation-name: ios-navbar-bg-from-rt-to-cb;
}
.ios .router-transition-backward .navbar-current .navbar-bg {
animation-name: ios-navbar-bg-from-cb-to-rb;
}
.ios .router-transition-backward .navbar-current:not(.router-navbar-transition-from-large).router-navbar-transition-to-large .navbar-bg {
animation-name: ios-navbar-bg-from-ct-to-rb;
}
.ios .router-transition-backward .navbar-current.router-navbar-transition-from-large:not(.router-navbar-transition-to-large) .navbar-bg {
animation-name: ios-navbar-bg-from-cb-to-rt;
}
.ios .router-transition-backward .navbar-current.navbar-large-collapsed .navbar-bg {
animation-name: ios-navbar-bg-from-ct-to-rt;
}
.ios .router-transition-backward .navbar-current.navbar-large-collapsed.router-navbar-transition-to-large .navbar-bg {
animation-name: ios-navbar-bg-from-ct-to-rb;
}
.ios .router-transition-backward .navbar-previous .navbar-bg {
animation-name: ios-navbar-bg-from-lb-to-cb;
}
.ios .router-transition-backward .navbar-previous:not(.router-navbar-transition-from-large).router-navbar-transition-to-large .navbar-bg {
animation-name: ios-navbar-bg-from-lt-to-cb;
}
.ios .router-transition-backward .navbar-previous.router-navbar-transition-from-large:not(.router-navbar-transition-to-large) .navbar-bg {
animation-name: ios-navbar-bg-from-lb-to-ct;
}
.ios .router-transition-backward .navbar-previous.navbar-large-collapsed .navbar-bg {
animation-name: ios-navbar-bg-from-lt-to-ct;
}
.view-master-detail .navbars {
z-index: auto;
}
.view-master-detail .page-master {
z-index: 525;
}
.view-master-detail .navbar-master .navbar-inner,
.view-master-detail .navbar-master .navbar-bg {
z-index: 550;
}
.view-master-detail .navbar-master-detail .navbar-inner,
.view-master-detail .navbar-master-detail .navbar-bg {
z-index: 500;
}
.view-master-detail .navbar-master.navbar-previous {
pointer-events: auto;
}
.view-master-detail .navbar-master.navbar-previous .left,
.view-master-detail .navbar-master.navbar-previous:not(.navbar-large) .title,
.view-master-detail .navbar-master.navbar-previous .right,
.view-master-detail .navbar-master.navbar-previous .subnavbar {
opacity: 1;
}
.view-master-detail.router-transition .navbar-master .left,
.view-master-detail.router-transition .navbar-master .left .icon + span,
.view-master-detail.router-transition .navbar-master:not(.navbar-large) .title,
.view-master-detail.router-transition .navbar-master .right,
.view-master-detail.router-transition .navbar-master .subnavbar,
.view-master-detail.router-transition .navbar-master .fading {
opacity: 1 !important;
transition-duration: 0ms;
transform: none !important;
animation: none !important;
}
.view-master-detail.router-transition .navbar-master .navbar-bg {
transition-duration: 0ms;
animation: none !important;
}
.view-master-detail.router-transition .navbar-master.navbar-large .title {
opacity: calc(-1 + 2 * var(--f7-navbar-large-collapse-progress)) !important;
transition-duration: 0ms;
transform: none !important;
animation: none !important;
}
.view-master-detail.router-transition .navbar-master.navbar-large .title-large,
.view-master-detail.router-transition .navbar-master.navbar-large .title-large-text {
transition-duration: 0ms;
animation: none !important;
}
.view-master-detail.router-transition .navbar-master.navbar-large-transparent .navbar-bg,
.view-master-detail.router-transition .navbar-master.navbar-large.navbar-transparent .navbar-bg {
height: 100% !important;
opacity: var(--f7-navbar-large-collapse-progress) !important;
}
@keyframes ios-navbar-element-fade-in {
0% {
opacity: 0;
}
25% {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes ios-navbar-element-fade-out {
from {
opacity: 1;
}
75% {
opacity: 0;
}
to {
opacity: 0;
}
}
@keyframes ios-navbar-large-title-text-slide-up {
0% {
transform: translateX(0px) translateY(0%) scale(1);
}
100% {
transform: translateX(calc(var(--f7-navbarLeftTextOffset) - var(--f7-navbarTitleLargeOffset))) translateY(calc(-1 * var(--f7-navbar-large-title-height) + var(--f7-navbar-large-title-padding-vertical))) scale(0.5);
}
}
@keyframes ios-navbar-large-title-text-slide-down {
0% {
transform: translateX(calc(var(--f7-navbarLeftTextOffset) - var(--f7-navbarTitleLargeOffset))) translateY(calc(-1 * var(--f7-navbar-large-title-height) + var(--f7-navbar-large-title-padding-vertical) / 2)) scale(0.5);
}
100% {
transform: translateX(0px) translateY(0%) scale(1);
}
}
@keyframes ios-navbar-large-title-text-slide-left {
0% {
transform: translateX(100%);
}
100% {
transform: translateX(0%);
}
}
@keyframes ios-navbar-large-title-text-slide-right {
0% {
transform: translateX(0%);
}
100% {
transform: translateX(100%);
}
}
@keyframes ios-navbar-large-title-text-fade-out {
0% {
opacity: 1;
}
80% {
opacity: 0;
}
100% {
opacity: 0;
}
}
@keyframes ios-navbar-large-title-text-fade-in {
0% {
opacity: 0;
}
20% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes ios-navbar-back-text-current-to-previous {
0% {
opacity: 1;
transform: translateY(0px) translateX(0px) scale(1);
}
80% {
opacity: 0;
}
100% {
opacity: 0;
transform: translateX(calc(var(--f7-navbarTitleLargeOffset) - var(--f7-navbarLeftTextOffset))) translateY(calc(1 * var(--f7-navbar-large-title-height) - var(--f7-navbar-large-title-padding-vertical) / 2)) scale(2);
}
}
@keyframes ios-navbar-back-text-next-to-current {
0% {
opacity: 0;
transform: translateX(calc(var(--f7-navbarTitleLargeOffset) - var(--f7-navbarLeftTextOffset))) translateY(calc(1 * var(--f7-navbar-large-title-height) + var(--f7-navbar-large-title-padding-vertical) / 2)) scale(2);
}
20% {
opacity: 0;
}
100% {
opacity: 1;
transform: translateX(0px) translateY(0px) scale(1);
}
}
@keyframes ios-navbar-bg-from-cb-to-lb {
from {
transform: var(--f7-navbar-large-bg-center-bottom);
}
to {
transform: var(--f7-navbar-large-bg-left-bottom);
}
}
@keyframes ios-navbar-bg-from-cb-to-lt {
from {
transform: var(--f7-navbar-large-bg-center-bottom);
}
to {
transform: var(--f7-navbar-large-bg-left-top);
}
}
@keyframes ios-navbar-bg-from-ct-to-lb {
from {
transform: var(--f7-navbar-large-bg-center-top);
}
to {
transform: var(--f7-navbar-large-bg-left-bottom);
}
}
@keyframes ios-navbar-bg-from-ct-to-lt {
from {
transform: var(--f7-navbar-large-bg-center-top);
}
to {
transform: var(--f7-navbar-large-bg-left-top);
}
}
@keyframes ios-navbar-bg-from-rb-to-cb {
from {
transform: var(--f7-navbar-large-bg-right-bottom);
}
to {
transform: var(--f7-navbar-large-bg-center-bottom);
}
}
@keyframes ios-navbar-bg-from-rb-to-ct {
from {
transform: var(--f7-navbar-large-bg-right-bottom);
}
to {
transform: var(--f7-navbar-large-bg-center-top);
}
}
@keyframes ios-navbar-bg-from-rt-to-cb {
from {
transform: var(--f7-navbar-large-bg-right-top);
}
to {
transform: var(--f7-navbar-large-bg-center-bottom);
}
}
@keyframes ios-navbar-bg-from-cb-to-rb {
from {
transform: var(--f7-navbar-large-bg-center-bottom);
}
to {
transform: var(--f7-navbar-large-bg-right-bottom);
}
}
@keyframes ios-navbar-bg-from-ct-to-rb {
from {
transform: var(--f7-navbar-large-bg-center-top);
}
to {
transform: var(--f7-navbar-large-bg-right-bottom);
}
}
@keyframes ios-navbar-bg-from-cb-to-rt {
from {
transform: var(--f7-navbar-large-bg-center-bottom);
}
to {
transform: var(--f7-navbar-large-bg-right-top);
}
}
@keyframes ios-navbar-bg-from-ct-to-rt {
from {
transform: var(--f7-navbar-large-bg-center-top);
}
to {
transform: var(--f7-navbar-large-bg-right-top);
}
}
@keyframes ios-navbar-bg-from-lb-to-cb {
from {
transform: var(--f7-navbar-large-bg-left-bottom);
}
to {
transform: var(--f7-navbar-large-bg-center-bottom);
}
}
@keyframes ios-navbar-bg-from-lt-to-cb {
from {
transform: var(--f7-navbar-large-bg-left-top);
}
to {
transform: var(--f7-navbar-large-bg-center-bottom);
}
}
@keyframes ios-navbar-bg-from-lb-to-ct {
from {
transform: var(--f7-navbar-large-bg-left-bottom);
}
to {
transform: var(--f7-navbar-large-bg-center-top);
}
}
@keyframes ios-navbar-bg-from-lt-to-ct {
from {
transform: var(--f7-navbar-large-bg-left-top);
}
to {
transform: var(--f7-navbar-large-bg-center-top);
}
}
.md .navbar .title-large {
align-items: center;
}
.md .navbar .left {
margin-left: 4px;
margin-right: 4px;
}
.md .navbar a.link {
padding: 0 12px;
min-width: 48px;
}
.md .navbar a.icon-only {
min-width: 0;
flex-shrink: 0;
width: 48px;
}
.md .navbar .right {
margin-left: auto;
margin-right: 4px;
}
.md .navbar .right:first-child {
right: var(--f7-safe-area-right);
}
.md .navbar-inner {
justify-content: flex-start;
overflow: hidden;
}
.md .navbar-large:not(.navbar-large-collapsed) .navbar-inner {
overflow: visible;
}
.md .page.page-with-subnavbar .navbar-inner {
overflow: visible;
}
.md .navbar-inner:not(.navbar-inner-centered-title) .title:first-child {
margin-left: 16px;
}
.md .navbar-inner-centered-title {
justify-content: space-between;
}
.md .navbar-inner-centered-title .right {
margin-left: 0;
}
.md .navbar-inner-centered-title .title {
text-align: center;
}
/* === Toolbar === */
:root {
/*
--f7-toolbar-bg-color: var(--f7-bars-bg-color);
--f7-toolbar-bg-color-rgb: var(--f7-bars-bg-color-rgb);
--f7-toolbar-border-color: var(--f7-bars-border-color);
--f7-toolbar-link-color: var(--f7-bars-link-color);
--f7-toolbar-text-color: var(--f7-bars-text-color);
*/
--f7-tabbar-link-active-bg-color: transparent;
--f7-tabbar-label-text-transform: none;
--f7-toolbar-hide-show-transition-duration: 400ms;
}
.ios {
--f7-toolbar-height: 44px;
--f7-toolbar-font-size: 17px;
--f7-toolbar-inner-padding-left: 8px;
--f7-toolbar-inner-padding-right: 8px;
--f7-toolbar-link-font-weight: 400;
/*
--f7-toolbar-link-height: var(--f7-toolbar-height);
--f7-toolbar-link-line-height: var(--f7-toolbar-height);
--f7-tabbar-link-active-color: var(--f7-theme-color);
*/
--f7-tabbar-icons-height: 50px;
--f7-tabbar-icons-tablet-height: 50px;
--f7-tabbar-icon-size: 28px;
--f7-tabbar-link-text-transform: none;
--f7-tabbar-link-font-weight: 400;
--f7-tabbar-link-letter-spacing: 0;
--f7-tabbar-label-font-size: 12px;
--f7-tabbar-label-tablet-font-size: 14px;
--f7-tabbar-label-font-weight: 500;
--f7-tabbar-label-letter-spacing: 0.01;
--f7-tabbar-link-inactive-color: rgba(0, 0, 0, 0.4);
}
.ios .dark,
.ios.dark {
--f7-tabbar-link-inactive-color: rgba(255, 255, 255, 0.54);
}
.md {
--f7-toolbar-height: 56px;
--f7-toolbar-font-size: 14px;
--f7-toolbar-inner-padding-left: 0px;
--f7-toolbar-inner-padding-right: 0px;
/*
--f7-toolbar-link-height: var(--f7-toolbar-height);
--f7-toolbar-link-line-height: var(--f7-toolbar-height);
*/
--f7-tabbar-icons-height: 80px;
--f7-tabbar-icons-tablet-height: 80px;
--f7-tabbar-icon-size: 24px;
--f7-tabbar-link-text-transform: none;
--f7-tabbar-link-font-weight: 500;
--f7-tabbar-link-letter-spacing: 0;
--f7-toolbar-link-font-weight: 500;
--f7-tabbar-label-font-size: 12px;
--f7-tabbar-label-tablet-font-size: 12px;
--f7-tabbar-label-font-weight: 500;
--f7-tabbar-label-letter-spacing: 0;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-tabbar-link-active-color: var(--f7-md-on-secondary-container);
--f7-tabbar-link-active-border-color: var(--f7-md-primary);
--f7-tabbar-link-inactive-color: var(--f7-md-on-surface-variant);
--f7-tabbar-link-active-icon-bg-color: var(--f7-md-secondary-container);
}
.toolbar {
width: 100%;
position: relative;
margin: 0;
transform: translate3d(0, 0, 0);
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
z-index: 600;
box-sizing: border-box;
left: 0;
height: var(--f7-toolbar-height);
background-color: var(--f7-toolbar-bg-color, var(--f7-bars-bg-color));
color: var(--f7-toolbar-text-color, var(--f7-bars-text-color));
font-size: var(--f7-toolbar-font-size);
}
@supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
.ios-translucent-bars .toolbar {
background-color: rgba(var(--f7-toolbar-bg-color-rgb, var(--f7-bars-bg-color-rgb)), var(--f7-bars-translucent-opacity));
-webkit-backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
}
}
.toolbar b {
font-weight: 600;
}
.toolbar a {
color: var(--f7-toolbar-link-color, var(--f7-bars-link-color, var(--f7-theme-color)));
box-sizing: border-box;
flex-shrink: 1;
position: relative;
white-space: nowrap;
text-overflow: ellipsis;
}
.toolbar .link {
display: flex;
line-height: var(--f7-toolbar-link-line-height, var(--f7-toolbar-height));
height: var(--f7-toolbar-link-height, var(--f7-toolbar-height));
font-weight: var(--f7-toolbar-link-font-weight);
}
.toolbar i.icon {
display: block;
}
.toolbar:after,
.toolbar:before {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.views > .toolbar,
.view > .toolbar,
.page > .toolbar {
position: absolute;
}
.toolbar-top,
.ios .toolbar-top-ios,
.md .toolbar-top-md {
top: 0;
}
.toolbar-top .tab-link-highlight,
.ios .toolbar-top-ios .tab-link-highlight,
.md .toolbar-top-md .tab-link-highlight {
bottom: 0;
}
.toolbar-top.no-outline:after,
.ios .toolbar-top-ios.no-outline:after,
.md .toolbar-top-md.no-outline:after {
display: none !important;
}
.toolbar-top.toolbar-hidden:before,
.ios .toolbar-top-ios.toolbar-hidden:before,
.md .toolbar-top-md.toolbar-hidden:before {
display: none !important;
}
.toolbar-top:after,
.ios .toolbar-top-ios:after,
.md .toolbar-top-md:after,
.toolbar-top:before,
.ios .toolbar-top-ios:before,
.md .toolbar-top-md:before {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.toolbar-top:after,
.ios .toolbar-top-ios:after,
.md .toolbar-top-md:after {
content: '';
position: absolute;
background-color: var(--f7-toolbar-border-color, var(--f7-bars-border-color));
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.toolbar-bottom,
.ios .toolbar-bottom-ios,
.md .toolbar-bottom-md {
bottom: 0;
height: calc(var(--f7-toolbar-height) + var(--f7-safe-area-bottom));
}
.toolbar-bottom .tab-link-highlight,
.ios .toolbar-bottom-ios .tab-link-highlight,
.md .toolbar-bottom-md .tab-link-highlight {
top: 0;
}
.toolbar-bottom .toolbar-inner,
.ios .toolbar-bottom-ios .toolbar-inner,
.md .toolbar-bottom-md .toolbar-inner {
height: auto;
top: 0;
bottom: var(--f7-safe-area-bottom);
}
.toolbar-bottom.no-outline:before,
.ios .toolbar-bottom-ios.no-outline:before,
.md .toolbar-bottom-md.no-outline:before {
display: none !important;
}
.toolbar-bottom.toolbar-hidden:after,
.ios .toolbar-bottom-ios.toolbar-hidden:after,
.md .toolbar-bottom-md.toolbar-hidden:after {
display: none !important;
}
.toolbar-bottom:before,
.ios .toolbar-bottom-ios:before,
.md .toolbar-bottom-md:before {
content: '';
position: absolute;
background-color: var(--f7-toolbar-border-color, var(--f7-bars-border-color));
display: block;
z-index: 15;
top: 0;
right: auto;
bottom: auto;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 0%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.toolbar-inner {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: space-between;
box-sizing: border-box;
align-items: center;
align-content: center;
overflow: hidden;
padding: 0 calc(var(--f7-toolbar-inner-padding-right) + var(--f7-safe-area-right)) 0 calc(var(--f7-toolbar-inner-padding-left) + var(--f7-safe-area-left));
}
.views > .tabbar,
.views > .tabbar-icons {
z-index: 5001;
}
.tabbar a,
.tabbar-icons a {
color: var(--f7-tabbar-link-inactive-color);
}
.tabbar .link,
.tabbar-icons .link {
line-height: 1.4;
}
.tabbar .tab-link,
.tabbar-icons .tab-link,
.tabbar .link,
.tabbar-icons .link {
height: 100%;
width: 100%;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
text-transform: var(--f7-tabbar-link-text-transform);
font-weight: var(--f7-tabbar-link-font-weight);
letter-spacing: var(--f7-tabbar-link-letter-spacing);
overflow: hidden;
}
.tabbar .tab-link-active,
.tabbar-icons .tab-link-active {
color: var(--f7-tabbar-link-active-color, var(--f7-theme-color));
background-color: var(--f7-tabbar-link-active-bg-color, transparent);
}
.tabbar i.icon,
.tabbar-icons i.icon {
font-size: var(--f7-tabbar-icon-size);
height: var(--f7-tabbar-icon-size);
line-height: var(--f7-tabbar-icon-size);
}
.md .tabbar.tabbar-icons .tab-link-highlight,
.md .tabbar-icons.tabbar-icons .tab-link-highlight {
display: none;
}
.md .tabbar:not(.tabbar-icons) .tab-link-highlight,
.md .tabbar-icons:not(.tabbar-icons) .tab-link-highlight {
position: absolute;
height: 2px;
background: var(--f7-tabbar-link-active-border-color, var(--f7-theme-color));
transition-duration: 300ms;
left: 0;
}
.tabbar-icons {
--f7-toolbar-height: var(--f7-tabbar-icons-height);
}
.tabbar-icons .tab-link,
.tabbar-icons .link {
height: 100%;
justify-content: center;
align-items: center;
}
.tabbar-icons .tabbar-label {
display: block;
line-height: 1;
margin: 0;
position: relative;
text-overflow: ellipsis;
white-space: nowrap;
font-size: var(--f7-tabbar-label-font-size);
text-transform: var(--f7-tabbar-label-text-transform);
font-weight: var(--f7-tabbar-label-font-weight);
letter-spacing: var(--f7-tabbar-label-letter-spacing);
}
@media (min-width: 768px) and (min-height: 600px) {
:root {
--f7-tabbar-icons-height: var(--f7-tabbar-icons-tablet-height);
--f7-tabbar-label-font-size: var(--f7-tabbar-label-tablet-font-size);
}
}
.tabbar-scrollable .toolbar-inner {
justify-content: flex-start;
overflow: auto;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
scrollbar-color: transparent;
}
.tabbar-scrollable .toolbar-inner::-webkit-scrollbar {
-webkit-appearance: none;
appearance: none;
width: 0px;
display: none;
opacity: 0;
background: transparent;
}
.tabbar-scrollable .toolbar-inner::-webkit-scrollbar-track {
box-shadow: none;
background: transparent;
}
.tabbar-scrollable .toolbar-inner::-webkit-scrollbar-thumb {
background-color: transparent;
outline: none;
border-radius: 9999px;
position: relative;
}
.tabbar-scrollable .tab-link,
.tabbar-scrollable .link {
width: auto;
flex-shrink: 0;
}
.toolbar-transitioning,
.navbar-transitioning + .toolbar,
.navbar-transitioning ~ * .toolbar {
transition-duration: var(--f7-toolbar-hide-show-transition-duration);
}
.toolbar-bottom ~ *,
.ios .toolbar-bottom-ios ~ *,
.md .toolbar-bottom-md ~ * {
--f7-page-toolbar-bottom-offset: var(--f7-toolbar-height);
}
.toolbar-bottom.tabbar-icons ~ *,
.ios .toolbar-bottom-ios.tabbar-icons ~ *,
.md .toolbar-bottom-md.tabbar-icons ~ * {
--f7-page-toolbar-bottom-offset: var(--f7-tabbar-icons-height);
}
.toolbar-bottom.toolbar-hidden,
.ios .toolbar-bottom-ios.toolbar-hidden,
.md .toolbar-bottom-md.toolbar-hidden {
transform: translate3d(0, 100%, 0);
}
.toolbar-top ~ *,
.ios .toolbar-top-ios ~ *,
.md .toolbar-top-md ~ * {
--f7-page-toolbar-top-offset: var(--f7-toolbar-height);
}
.toolbar-top.tabbar-icons ~ *,
.ios .toolbar-top-ios.tabbar-icons ~ *,
.md .toolbar-top-md.tabbar-icons ~ * {
--f7-page-toolbar-top-offset: var(--f7-tabbar-icons-height);
}
.toolbar-top.toolbar-hidden,
.ios .toolbar-top-ios.toolbar-hidden,
.md .toolbar-top-md.toolbar-hidden {
transform: translate3d(0, -100%, 0);
}
.navbar ~ .toolbar-top,
.navbars ~ .toolbar-top,
.ios .navbar ~ .toolbar-top-ios,
.ios .navbars ~ .toolbar-top-ios,
.md .navbar ~ .toolbar-top-md,
.navbar ~ * .toolbar-top,
.navbars ~ * .toolbar-top,
.ios .navbar ~ * .toolbar-top-ios,
.ios .navbars ~ * .toolbar-top-ios,
.md .navbar ~ * .toolbar-top-md,
.navbar ~ .page:not(.no-navbar) .toolbar-top,
.navbars ~ .page:not(.no-navbar) .toolbar-top,
.ios .navbar ~ .page:not(.no-navbar) .toolbar-top-ios,
.ios .navbars ~ .page:not(.no-navbar) .toolbar-top-ios,
.md .navbar ~ .page:not(.no-navbar) .toolbar-top-md {
top: calc(var(--f7-navbar-height) + var(--f7-safe-area-top));
}
.navbar ~ .toolbar-top.toolbar-hidden,
.navbars ~ .toolbar-top.toolbar-hidden,
.ios .navbar ~ .toolbar-top-ios.toolbar-hidden,
.ios .navbars ~ .toolbar-top-ios.toolbar-hidden,
.md .navbar ~ .toolbar-top-md.toolbar-hidden,
.navbar ~ * .toolbar-top.toolbar-hidden,
.navbars ~ * .toolbar-top.toolbar-hidden,
.ios .navbar ~ * .toolbar-top-ios.toolbar-hidden,
.ios .navbars ~ * .toolbar-top-ios.toolbar-hidden,
.md .navbar ~ * .toolbar-top-md.toolbar-hidden,
.navbar ~ .page:not(.no-navbar) .toolbar-top.toolbar-hidden,
.navbars ~ .page:not(.no-navbar) .toolbar-top.toolbar-hidden,
.ios .navbar ~ .page:not(.no-navbar) .toolbar-top-ios.toolbar-hidden,
.ios .navbars ~ .page:not(.no-navbar) .toolbar-top-ios.toolbar-hidden,
.md .navbar ~ .page:not(.no-navbar) .toolbar-top-md.toolbar-hidden {
transform: translate3d(0, calc(-1 * (var(--f7-navbar-height) + var(--f7-toolbar-height) + var(--f7-safe-area-top))), 0);
}
.navbar ~ .toolbar-top.toolbar-hidden.tabbar-icons,
.navbars ~ .toolbar-top.toolbar-hidden.tabbar-icons,
.ios .navbar ~ .toolbar-top-ios.toolbar-hidden.tabbar-icons,
.ios .navbars ~ .toolbar-top-ios.toolbar-hidden.tabbar-icons,
.md .navbar ~ .toolbar-top-md.toolbar-hidden.tabbar-icons,
.navbar ~ * .toolbar-top.toolbar-hidden.tabbar-icons,
.navbars ~ * .toolbar-top.toolbar-hidden.tabbar-icons,
.ios .navbar ~ * .toolbar-top-ios.toolbar-hidden.tabbar-icons,
.ios .navbars ~ * .toolbar-top-ios.toolbar-hidden.tabbar-icons,
.md .navbar ~ * .toolbar-top-md.toolbar-hidden.tabbar-icons,
.navbar ~ .page:not(.no-navbar) .toolbar-top.toolbar-hidden.tabbar-icons,
.navbars ~ .page:not(.no-navbar) .toolbar-top.toolbar-hidden.tabbar-icons,
.ios .navbar ~ .page:not(.no-navbar) .toolbar-top-ios.toolbar-hidden.tabbar-icons,
.ios .navbars ~ .page:not(.no-navbar) .toolbar-top-ios.toolbar-hidden.tabbar-icons,
.md .navbar ~ .page:not(.no-navbar) .toolbar-top-md.toolbar-hidden.tabbar-icons {
transform: translate3d(0, calc(-1 * (var(--f7-navbar-height) + var(--f7-tabbar-icons-height) + var(--f7-safe-area-top))), 0);
}
.navbar-hidden + .toolbar-top:not(.toolbar-hidden),
.ios .navbar-hidden + .toolbar-top-ios:not(.toolbar-hidden),
.md .navbar-hidden + .toolbar-top-md:not(.toolbar-hidden),
.navbar-hidden ~ * .toolbar-top:not(.toolbar-hidden),
.ios .navbar-hidden ~ * .toolbar-top-ios:not(.toolbar-hidden),
.md .navbar-hidden ~ * .toolbar-top-md:not(.toolbar-hidden) {
transform: translate3d(0, calc(0px - var(--f7-navbar-height)), 0);
}
.navbar-large-hidden + .toolbar-top:not(.toolbar-hidden),
.ios .navbar-large-hidden + .toolbar-top-ios:not(.toolbar-hidden),
.md .navbar-large-hidden + .toolbar-top-md:not(.toolbar-hidden),
.navbar-large-hidden ~ * .toolbar-top:not(.toolbar-hidden),
.ios .navbar-large-hidden ~ * .toolbar-top-ios:not(.toolbar-hidden),
.md .navbar-large-hidden ~ * .toolbar-top-md:not(.toolbar-hidden) {
transform: translate3d(0, calc(0px - var(--f7-navbar-height) - var(--f7-navbar-large-title-height)), 0);
}
.ios .toolbar a.icon-only {
min-height: var(--f7-toolbar-height);
display: flex;
justify-content: center;
align-items: center;
margin: 0;
min-width: 44px;
}
.ios .tabbar-icons .tab-link,
.ios .tabbar-icons .link {
padding-top: 4px;
padding-bottom: 4px;
}
.ios .tabbar-icons .tab-link i + span,
.ios .tabbar-icons .link i + span {
margin: 0;
margin-top: 4px;
}
@media (min-width: 768px) and (min-height: 600px) {
.ios .tabbar .tab-link,
.ios .tabbar-icons .tab-link,
.ios .tabbar .link,
.ios .tabbar-icons .link {
justify-content: center;
flex-direction: row;
}
.ios .tabbar .tab-link i + span,
.ios .tabbar-icons .tab-link i + span,
.ios .tabbar .link i + span,
.ios .tabbar-icons .link i + span {
margin-left: 5px;
}
}
.ios .tabbar-scrollable .toolbar-inner {
justify-content: flex-start;
}
.ios .tabbar-scrollable .tab-link,
.ios .tabbar-scrollable .link {
padding: 0 8px;
}
.md .toolbar .link {
justify-content: center;
padding: 0 12px;
min-width: 48px;
}
.md .toolbar a.icon-only {
min-width: 0;
flex-shrink: 0;
}
.md .tabbar .tab-link,
.md .tabbar-icons .tab-link,
.md .tabbar .link,
.md .tabbar-icons .link {
padding-left: 0;
padding-right: 0;
}
.md .tabbar a.icon-only,
.md .tabbar-icons a.icon-only {
flex-shrink: initial;
}
.md .tabbar .tab-link,
.md .tabbar-icons .tab-link {
transition-duration: 300ms;
overflow: hidden;
position: relative;
}
.md .tabbar i.icon,
.md .tabbar-icons i.icon {
position: relative;
}
.md .tabbar i.icon::before,
.md .tabbar-icons i.icon::before {
content: '';
width: 64px;
height: 32px;
border-radius: 32px;
position: absolute;
left: 50%;
top: 50%;
transform: translateX(-50%) translateY(-50%) scaleX(0.5);
background: var(--f7-tabbar-link-active-icon-bg-color);
opacity: 0;
transition-duration: 200ms;
z-index: -1;
}
.md .tabbar i.icon + .tabbar-label,
.md .tabbar-icons i.icon + .tabbar-label {
margin-top: 8px;
}
.md .tabbar .tab-link-active i.icon::before,
.md .tabbar-icons .tab-link-active i.icon::before {
opacity: 1;
transform: translateX(-50%) translateY(-50%) scaleX(1);
}
.md .tabbar-icons .tab-link,
.md .tabbar-icons .link {
padding-top: 8px;
padding-bottom: 8px;
}
.md .tabbar-label {
max-width: 100%;
overflow: hidden;
line-height: 1.2;
}
.md .tabbar-scrollable .toolbar-inner {
overflow: auto;
}
.md .tabbar-scrollable .tab-link,
.md .tabbar-scrollable .link {
padding: 0 12px;
}
/* === Subnavbar === */
:root {
/*
--f7-subnavbar-bg-color: var(--f7-bars-bg-color);
--f7-subnavbar-bg-color-rgb: var(--f7-bars-bg-color-rgb);
--f7-subnavbar-border-color: var(--f7-bars-border-color);
--f7-subnavbar-link-color: var(--f7-bars-link-color);
--f7-subnavbar-text-color: var(--f7-bars-text-color);
*/
--f7-subnavbar-title-line-height: 1.2;
}
.ios {
--f7-subnavbar-height: 44px;
--f7-subnavbar-inner-padding-left: 8px;
--f7-subnavbar-inner-padding-right: 8px;
--f7-subnavbar-title-font-size: 34px;
--f7-subnavbar-title-font-weight: 700;
--f7-subnavbar-title-letter-spacing: -0.03em;
--f7-subnavbar-title-margin-left: 8px;
/*
--f7-subnavbar-link-height: var(--f7-subnavbar-height);
--f7-subnavbar-link-line-height: var(--f7-subnavbar-height);
*/
}
.md {
--f7-subnavbar-height: 64px;
--f7-subnavbar-inner-padding-left: 16px;
--f7-subnavbar-inner-padding-right: 16px;
--f7-subnavbar-title-font-size: 22px;
--f7-subnavbar-title-font-weight: 400;
--f7-subnavbar-title-letter-spacing: 0;
--f7-subnavbar-title-margin-left: 0px;
/*
--f7-subnavbar-link-height: var(--f7-subnavbar-height);
--f7-subnavbar-link-line-height: var(--f7-subnavbar-height);
*/
}
.subnavbar {
width: 100%;
position: absolute;
left: 0;
top: 0;
z-index: 600;
box-sizing: border-box;
display: flex;
justify-content: space-between;
align-items: center;
background-color: var(--f7-subnavbar-bg-color, var(--f7-bars-bg-color));
color: var(--f7-subnavbar-text-color, var(--f7-bars-text-color));
}
@supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
.ios-translucent-bars .subnavbar {
background-color: rgba(var(--f7-subnavbar-bg-color-rgb, var(--f7-bars-bg-color-rgb)), var(--f7-bars-translucent-opacity));
-webkit-backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
}
}
.subnavbar .subnavbar-title {
position: relative;
overflow: hidden;
text-overflow: ellpsis;
white-space: nowrap;
font-size: var(--f7-subnavbar-title-font-size);
font-weight: var(--f7-subnavbar-title-font-weight);
text-align: left;
display: inline-block;
line-height: var(--f7-subnavbar-title-line-height);
letter-spacing: var(--f7-subnavbar-title-letter-spacing);
margin-left: var(--f7-subnavbar-title-margin-left);
}
.subnavbar .left,
.subnavbar .right {
flex-shrink: 0;
display: flex;
justify-content: flex-start;
align-items: center;
}
.subnavbar .right:first-child {
position: absolute;
height: 100%;
}
.subnavbar a {
color: var(--f7-subnavbar-link-color, var(--f7-bars-link-color, var(--f7-theme-color)));
}
.subnavbar a.link {
line-height: var(--f7-subnavbar-link-line-height, var(--f7-subnavbar-height));
height: var(--f7-subnavbar-link-height, var(--f7-subnavbar-height));
}
.subnavbar a.icon-only {
min-width: var(--f7-subnavbar-height);
}
.subnavbar.no-outline:after {
display: none !important;
}
.subnavbar.navbar-hidden:before {
display: none !important;
}
.subnavbar:after,
.subnavbar:before {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.subnavbar:after {
content: '';
position: absolute;
background-color: var(--f7-subnavbar-border-color, var(--f7-bars-border-color));
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.subnavbar-inner {
width: 100%;
height: 100%;
display: flex;
align-items: center;
box-sizing: border-box;
justify-content: space-between;
overflow: hidden;
padding: 0 calc(var(--f7-subnavbar-inner-padding-left) + var(--f7-safe-area-right)) 0 calc(var(--f7-subnavbar-inner-padding-right) + var(--f7-safe-area-left));
}
.navbar .subnavbar {
top: 100%;
}
.views > .subnavbar,
.view > .subnavbar,
.page > .subnavbar {
position: absolute;
}
.navbar ~ * .subnavbar,
.navbars ~ * .subnavbar,
.page-with-subnavbar .navbar ~ .subnavbar,
.page-with-subnavbar .navbar ~ * .subnavbar,
.navbar ~ .page-with-subnavbar:not(.no-navbar) .subnavbar,
.navbar ~ .subnavbar,
.navbars ~ .page-with-subnavbar:not(.no-navbar) .subnavbar,
.navbars ~ .subnavbar {
top: calc(var(--f7-navbar-height) + var(--f7-safe-area-top));
}
.navbar ~ .page-with-navbar-large:not(.no-navbar) .subnavbar,
.navbars ~ .page-with-navbar-large:not(.no-navbar) .subnavbar,
.page-with-subnavbar.page-with-navbar-large .navbar ~ .subnavbar,
.page-with-subnavbar.page-with-navbar-large .navbar ~ * .subnavbar,
.navbar .title-large ~ .subnavbar {
top: calc(var(--f7-navbar-height) + var(--f7-navbar-large-title-height) + var(--f7-safe-area-top));
transform: translate3d(0, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0);
}
.page-with-subnavbar,
.subnavbar ~ * {
--f7-page-subnavbar-offset: var(--f7-subnavbar-height);
}
.ios .subnavbar {
height: calc(var(--f7-subnavbar-height) + 1px);
margin-top: -1px;
padding-top: 1px;
}
.ios .subnavbar .title {
align-self: flex-start;
flex-shrink: 10;
}
.ios .subnavbar .left a + a,
.ios .subnavbar .right a + a {
margin-left: 16px;
}
.ios .subnavbar .left {
margin-right: 10px;
}
.ios .subnavbar .right {
margin-left: 10px;
}
.ios .subnavbar .right:first-child {
right: 8px;
}
.ios .subnavbar a.link {
justify-content: flex-start;
}
.ios .subnavbar a.icon-only {
justify-content: center;
margin: 0;
}
.md .subnavbar {
height: var(--f7-subnavbar-height);
}
.md .subnavbar .right {
margin-left: auto;
}
.md .subnavbar .right:first-child {
right: 16px;
}
.md .subnavbar a.link {
justify-content: center;
padding: 0 12px;
}
.md .subnavbar a.icon-only {
flex-shrink: 0;
padding: 0 12px;
}
.md .subnavbar-inner > a.link:first-child {
margin-left: calc(-1 * var(--f7-subnavbar-inner-padding-left));
}
.md .subnavbar-inner > a.link:last-child {
margin-right: calc(-1 * var(--f7-subnavbar-inner-padding-right));
}
/* === Content Block === */
:root {
--f7-block-padding-horizontal: 16px;
--f7-block-padding-vertical: 16px;
--f7-block-font-size: inherit;
--f7-block-header-margin: 10px;
--f7-block-footer-margin: 10px;
--f7-block-header-font-size: 14px;
--f7-block-footer-font-size: 14px;
--f7-block-title-text-transform: none;
--f7-block-title-white-space: nowrap;
--f7-block-title-medium-text-transform: none;
--f7-block-title-large-text-transform: none;
--f7-block-inset-side-margin: 16px;
}
:root .dark,
:root.dark {
--f7-block-outline-border-color: rgba(255, 255, 255, 0.15);
}
.ios {
--f7-block-text-color: inherit;
--f7-block-margin-vertical: 35px;
--f7-block-outline-border-color: rgba(0, 0, 0, 0.22);
--f7-block-title-font-size: 16px;
--f7-block-title-font-weight: 600;
--f7-block-title-line-height: 20px;
--f7-block-title-margin-bottom: 10px;
--f7-block-title-medium-font-size: 22px;
--f7-block-title-medium-font-weight: bold;
--f7-block-title-medium-line-height: 1.4;
--f7-block-title-large-font-size: 30px;
--f7-block-title-large-font-weight: bold;
--f7-block-title-large-line-height: 1.3;
--f7-block-inset-border-radius: 8px;
--f7-block-title-text-color: #000;
--f7-block-strong-text-color: #000;
--f7-block-header-text-color: rgba(0, 0, 0, 0.45);
--f7-block-footer-text-color: rgba(0, 0, 0, 0.45);
--f7-block-strong-bg-color: #fff;
--f7-block-title-medium-text-color: #000;
--f7-block-title-large-text-color: #000;
}
.ios .dark,
.ios.dark {
--f7-block-title-text-color: #fff;
--f7-block-header-text-color: rgba(255, 255, 255, 0.55);
--f7-block-footer-text-color: rgba(255, 255, 255, 0.55);
--f7-block-strong-text-color: #fff;
--f7-block-strong-bg-color: #1c1c1d;
--f7-block-title-medium-text-color: #fff;
--f7-block-title-large-text-color: #fff;
}
.md {
--f7-block-margin-vertical: 32px;
--f7-block-title-font-size: inherit;
--f7-block-title-font-weight: 500;
--f7-block-title-line-height: 16px;
--f7-block-title-margin-bottom: 16px;
--f7-block-title-medium-font-size: 16px;
--f7-block-title-medium-font-weight: 500;
--f7-block-title-medium-line-height: 1.3;
--f7-block-title-large-font-size: 22px;
--f7-block-title-large-font-weight: 500;
--f7-block-title-large-line-height: 1.2;
--f7-block-inset-border-radius: 16px;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-block-text-color: var(--f7-md-on-surface);
--f7-block-strong-text-color: var(--f7-md-on-surface);
--f7-block-outline-border-color: var(--f7-md-outline);
--f7-block-title-text-color: var(--f7-theme-color);
--f7-block-title-medium-text-color: var(--f7-theme-color);
--f7-block-title-large-text-color: var(--f7-theme-color);
--f7-block-strong-bg-color: var(--f7-md-surface-1);
--f7-block-header-text-color: var(--f7-md-on-surface-variant);
--f7-block-footer-text-color: var(--f7-md-on-surface-variant);
}
.block {
box-sizing: border-box;
position: relative;
z-index: 1;
color: var(--f7-block-text-color);
margin: var(--f7-block-margin-vertical) 0;
padding-top: 0;
padding-bottom: 0;
padding-left: calc(var(--f7-block-padding-horizontal) + var(--f7-safe-area-left));
padding-right: calc(var(--f7-block-padding-horizontal) + var(--f7-safe-area-right));
font-size: var(--f7-block-font-size);
}
.block > h1:first-child,
.block > h2:first-child,
.block > h3:first-child,
.block > h4:first-child,
.block > p:first-child {
margin-top: 0;
}
.block > h1:last-child,
.block > h2:last-child,
.block > h3:last-child,
.block > h4:last-child,
.block > p:last-child {
margin-bottom: 0;
}
.block-strong,
.ios .block-strong-ios,
.md .block-strong-md {
color: var(--f7-block-strong-text-color);
padding-top: var(--f7-block-padding-vertical);
padding-bottom: var(--f7-block-padding-vertical);
background-color: var(--f7-block-strong-bg-color);
}
.block-outline:not(.inset):before,
.ios .block-outline-ios:not(.inset):not(.inset-ios):before,
.md .block-outline-md:not(.inset):not(.inset-md):before {
content: '';
position: absolute;
background-color: var(--f7-block-outline-border-color);
display: block;
z-index: 15;
top: 0;
right: auto;
bottom: auto;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 0%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.block-outline:not(.inset):after,
.ios .block-outline-ios:not(.inset):not(.inset-ios):after,
.md .block-outline-md:not(.inset):not(.inset-md):after {
content: '';
position: absolute;
background-color: var(--f7-block-outline-border-color);
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.block-outline.inset,
.ios .block-outline-ios.inset,
.ios .block-outline-ios.inset-ios,
.md .block-outline-md.inset,
.md .block-outline-md.inset-md {
border: 1px solid var(--f7-block-outline-border-color);
}
.block-title {
position: relative;
overflow: hidden;
margin: 0;
white-space: var(--f7-block-title-white-space);
text-overflow: ellipsis;
text-transform: var(--f7-block-title-text-transform);
color: var(--f7-block-title-text-color);
font-size: var(--f7-block-title-font-size, inherit);
font-weight: var(--f7-block-title-font-weight);
line-height: var(--f7-block-title-line-height);
margin-top: var(--f7-block-margin-vertical);
margin-bottom: var(--f7-block-title-margin-bottom);
margin-left: calc(var(--f7-block-padding-horizontal) + var(--f7-safe-area-left));
margin-right: calc(var(--f7-block-padding-horizontal) + var(--f7-safe-area-right));
}
.block-title + .list,
.block-title + .block,
.block-title + .card,
.block-title + .timeline,
.block-title + .block-header {
margin-top: 0px;
}
.block-title-medium {
font-size: var(--f7-block-title-medium-font-size);
text-transform: var(--f7-block-title-medium-text-transform);
color: var(--f7-block-title-medium-text-color);
font-weight: var(--f7-block-title-medium-font-weight);
line-height: var(--f7-block-title-medium-line-height);
}
.block-title-large {
font-size: var(--f7-block-title-large-font-size);
text-transform: var(--f7-block-title-large-text-transform);
color: var(--f7-block-title-large-text-color);
font-weight: var(--f7-block-title-large-font-weight);
line-height: var(--f7-block-title-large-line-height);
}
.block > .block-title:first-child,
.list > .block-title:first-child {
margin-top: 0;
margin-left: 0;
margin-right: 0;
}
.block-header {
color: var(--f7-block-header-text-color);
font-size: var(--f7-block-header-font-size);
margin-bottom: var(--f7-block-header-margin);
margin-top: var(--f7-block-margin-vertical);
}
.block-header + .list,
.block-header + .block,
.block-header + .card,
.block-header + .timeline {
margin-top: var(--f7-block-header-margin);
}
.block-footer {
color: var(--f7-block-footer-text-color);
font-size: var(--f7-block-footer-font-size);
margin-top: var(--f7-block-footer-margin);
margin-bottom: var(--f7-block-margin-vertical);
}
.block-footer,
.block-header {
padding-top: 0;
padding-bottom: 0;
padding-left: calc(var(--f7-block-padding-horizontal) + var(--f7-safe-area-left));
padding-right: calc(var(--f7-block-padding-horizontal) + var(--f7-safe-area-right));
}
.block-footer ul:first-child,
.block-header ul:first-child,
.block-footer p:first-child,
.block-header p:first-child,
.block-footer h1:first-child,
.block-header h1:first-child,
.block-footer h2:first-child,
.block-header h2:first-child,
.block-footer h3:first-child,
.block-header h3:first-child,
.block-footer h4:first-child,
.block-header h4:first-child {
margin-top: 0;
}
.block-footer ul:last-child,
.block-header ul:last-child,
.block-footer p:last-child,
.block-header p:last-child,
.block-footer h1:last-child,
.block-header h1:last-child,
.block-footer h2:last-child,
.block-header h2:last-child,
.block-footer h3:last-child,
.block-header h3:last-child,
.block-footer h4:last-child,
.block-header h4:last-child {
margin-bottom: 0;
}
.block-footer ul:first-child:last-child,
.block-header ul:first-child:last-child,
.block-footer p:first-child:last-child,
.block-header p:first-child:last-child,
.block-footer h1:first-child:last-child,
.block-header h1:first-child:last-child,
.block-footer h2:first-child:last-child,
.block-header h2:first-child:last-child,
.block-footer h3:first-child:last-child,
.block-header h3:first-child:last-child,
.block-footer h4:first-child:last-child,
.block-header h4:first-child:last-child {
margin-top: 0;
margin-bottom: 0;
}
.list .block-header,
.block .block-header,
.card .block-header,
.timeline .block-header {
margin-top: 0;
}
.list .block-footer,
.block .block-footer,
.card .block-footer,
.timeline .block-footer {
margin-bottom: 0;
}
.list + .block-footer,
.block + .block-footer,
.card + .block-footer,
.timeline + .block-footer {
margin-top: calc(-1 * (var(--f7-block-margin-vertical) - var(--f7-block-footer-margin)));
}
.block + .block-footer {
margin-top: calc(-1 * (var(--f7-block-margin-vertical) - var(--f7-block-footer-margin)));
margin-bottom: var(--f7-block-margin-vertical);
}
.block .block-header,
.block .block-footer {
padding: 0;
}
.block.inset,
.ios .block.inset-ios,
.md .block.inset-md {
border-radius: var(--f7-block-inset-border-radius);
margin-left: calc(var(--f7-block-inset-side-margin) + var(--f7-safe-area-outer-left));
margin-right: calc(var(--f7-block-inset-side-margin) + var(--f7-safe-area-outer-right));
--f7-safe-area-left: 0px;
--f7-safe-area-right: 0px;
}
.block-strong.inset:before,
.ios .block-strong-ios.inset:before,
.md .block-strong-md.inset:before,
.ios .block-strong.inset-ios:before,
.md .block-strong.inset-md:before,
.ios .block-strong-ios.inset-ios:before,
.md .block-strong-md.inset-md:before,
.block-strong.inset:after,
.ios .block-strong-ios.inset:after,
.md .block-strong-md.inset:after,
.ios .block-strong.inset-ios:after,
.md .block-strong.inset-md:after,
.ios .block-strong-ios.inset-ios:after,
.md .block-strong-md.inset-md:after {
display: none !important;
}
@media (min-width: 480px) {
.block.xsmall-inset,
.ios .block.xsmall-inset-ios,
.md .block.xsmall-inset-md {
border-radius: var(--f7-block-inset-border-radius);
margin-left: calc(var(--f7-block-inset-side-margin) + var(--f7-safe-area-outer-left));
margin-right: calc(var(--f7-block-inset-side-margin) + var(--f7-safe-area-outer-right));
--f7-safe-area-left: 0px;
--f7-safe-area-right: 0px;
}
.block.xsmall-inset:before,
.ios .block.xsmall-inset-ios:before,
.md .block.xsmall-inset-md:before,
.block.xsmall-inset:after,
.ios .block.xsmall-inset-ios:after,
.md .block.xsmall-inset-md:after {
display: none !important;
}
.block.xsmall-inset.block-outline,
.ios .block.xsmall-inset-ios.block-outline,
.ios .block.xsmall-inset-ios.block-outline-ios,
.md .block.xsmall-inset-md.block-outline,
.md .block.xsmall-inset-md.block-outline-md {
border: 1px solid var(--f7-block-outline-border-color);
}
}
@media (min-width: 568px) {
.block.small-inset,
.ios .block.small-inset-ios,
.md .block.small-inset-md {
border-radius: var(--f7-block-inset-border-radius);
margin-left: calc(var(--f7-block-inset-side-margin) + var(--f7-safe-area-outer-left));
margin-right: calc(var(--f7-block-inset-side-margin) + var(--f7-safe-area-outer-right));
--f7-safe-area-left: 0px;
--f7-safe-area-right: 0px;
}
.block.small-inset:before,
.ios .block.small-inset-ios:before,
.md .block.small-inset-md:before,
.block.small-inset:after,
.ios .block.small-inset-ios:after,
.md .block.small-inset-md:after {
display: none !important;
}
.block.small-inset.block-outline,
.ios .block.small-inset-ios.block-outline,
.ios .block.small-inset-ios.block-outline-ios,
.md .block.small-inset-md.block-outline,
.md .block.small-inset-md.block-outline-md {
border: 1px solid var(--f7-block-outline-border-color);
}
}
@media (min-width: 768px) {
.block.medium-inset,
.ios .block.medium-inset-ios,
.md .block.medium-inset-md {
border-radius: var(--f7-block-inset-border-radius);
margin-left: calc(var(--f7-block-inset-side-margin) + var(--f7-safe-area-outer-left));
margin-right: calc(var(--f7-block-inset-side-margin) + var(--f7-safe-area-outer-right));
--f7-safe-area-left: 0px;
--f7-safe-area-right: 0px;
}
.block.medium-inset:before,
.ios .block.medium-inset-ios:before,
.md .block.medium-inset-md:before,
.block.medium-inset:after,
.ios .block.medium-inset-ios:after,
.md .block.medium-inset-md:after {
display: none !important;
}
.block.medium-inset.block-outline,
.ios .block.medium-inset-ios.block-outline,
.ios .block.medium-inset-ios.block-outline-ios,
.md .block.medium-inset-md.block-outline,
.md .block.medium-inset-md.block-outline-md {
border: 1px solid var(--f7-block-outline-border-color);
}
}
@media (min-width: 1024px) {
.block.large-inset,
.ios .block.large-inset-ios,
.md .block.large-inset-md {
border-radius: var(--f7-block-inset-border-radius);
margin-left: calc(var(--f7-block-inset-side-margin) + var(--f7-safe-area-outer-left));
margin-right: calc(var(--f7-block-inset-side-margin) + var(--f7-safe-area-outer-right));
--f7-safe-area-left: 0px;
--f7-safe-area-right: 0px;
}
.block.large-inset:before,
.ios .block.large-inset-ios:before,
.md .block.large-inset-md:before,
.block.large-inset:after,
.ios .block.large-inset-ios:after,
.md .block.large-inset-md:after {
display: none !important;
}
.block.large-inset.block-outline,
.ios .block.large-inset-ios.block-outline,
.ios .block.large-inset-ios.block-outline-ios,
.md .block.large-inset-md.block-outline,
.md .block.large-inset-md.block-outline-md {
border: 1px solid var(--f7-block-outline-border-color);
}
}
@media (min-width: 1200px) {
.block.xlarge-inset,
.ios .block.xlarge-inset-ios,
.md .block.xlarge-inset-md {
border-radius: var(--f7-block-inset-border-radius);
margin-left: calc(var(--f7-block-inset-side-margin) + var(--f7-safe-area-outer-left));
margin-right: calc(var(--f7-block-inset-side-margin) + var(--f7-safe-area-outer-right));
--f7-safe-area-left: 0px;
--f7-safe-area-right: 0px;
}
.block.xlarge-inset:before,
.ios .block.xlarge-inset-ios:before,
.md .block.xlarge-inset-md:before,
.block.xlarge-inset:after,
.ios .block.xlarge-inset-ios:after,
.md .block.xlarge-inset-md:after {
display: none !important;
}
.block.xlarge-inset.block-outline,
.ios .block.xlarge-inset-ios.block-outline,
.ios .block.xlarge-inset-ios.block-outline-ios,
.md .block.xlarge-inset-md.block-outline,
.md .block.xlarge-inset-md.block-outline-md {
border: 1px solid var(--f7-block-outline-border-color);
}
}
/* === List View === */
:root {
--f7-list-inset-side-margin: 16px;
--f7-list-item-padding-horizontal: 16px;
--f7-list-item-padding-vertical: 8px;
--f7-list-media-item-padding-horizontal: 16px;
--f7-list-item-text-max-lines: 2;
--f7-list-chevron-icon-font-size: 20px;
--f7-list-item-media-margin: 16px;
--f7-list-item-title-font-size: inherit;
--f7-list-item-title-font-weight: 400;
--f7-list-item-title-line-height: inherit;
--f7-list-item-title-white-space: nowrap;
--f7-list-item-subtitle-font-weight: 400;
--f7-list-item-subtitle-line-height: inherit;
--f7-list-item-text-font-weight: 400;
--f7-list-item-after-font-weight: 400;
--f7-list-item-after-line-height: inherit;
--f7-list-item-header-font-size: 12px;
--f7-list-item-header-font-weight: 400;
--f7-list-item-header-line-height: 1.2;
--f7-list-item-footer-font-size: 12px;
--f7-list-item-footer-font-weight: 400;
--f7-list-item-footer-line-height: 1.2;
/*
--f7-list-button-text-color: var(--f7-theme-color);
*/
--f7-list-button-font-size: inherit;
--f7-list-button-font-weight: 400;
--f7-list-button-text-align: center;
--f7-list-group-title-line-height: inherit;
--f7-menu-list-font-size: 14px;
--f7-menu-list-item-title-font-size: 14px;
--f7-menu-list-item-title-font-weight: 500;
--f7-menu-list-item-subtitle-font-size: 14px;
--f7-menu-list-item-text-font-size: 14px;
--f7-menu-list-item-after-font-size: 14px;
--f7-list-outline-border-color: rgba(0, 0, 0, 0.22);
--f7-list-chevron-icon-color: rgba(0, 0, 0, 0.2);
}
:root .dark,
:root.dark {
--f7-list-button-border-color: rgba(255, 255, 255, 0.15);
--f7-list-outline-border-color: rgba(255, 255, 255, 0.15);
--f7-list-group-title-border-color: rgba(255, 255, 255, 0.15);
--f7-list-chevron-icon-color: rgba(255, 255, 255, 0.3);
}
.ios {
--f7-list-in-list-padding-left: 30px;
--f7-list-inset-border-radius: 8px;
--f7-list-margin-vertical: 35px;
--f7-list-font-size: 17px;
--f7-list-chevron-icon-area: 20px;
--f7-list-item-title-text-color: inherit;
--f7-list-item-subtitle-text-color: inherit;
--f7-list-link-pressed-bg-color: rgba(0, 0, 0, 0.15);
--f7-list-item-subtitle-font-size: 15px;
--f7-list-item-text-font-size: 15px;
--f7-list-item-text-line-height: 21px;
--f7-list-item-after-font-size: inherit;
--f7-list-item-after-padding: 5px;
--f7-list-item-min-height: 44px;
--f7-list-item-media-icons-margin: 5px;
--f7-list-media-item-padding-vertical: 10px;
--f7-list-media-item-title-font-weight: 600;
--f7-list-button-border-color: rgba(0, 0, 0, 0.22);
/*
--f7-list-button-pressed-bg-color: rgba(var(--f7-theme-color-rgb), .15);
*/
--f7-list-group-title-border-color: rgba(0, 0, 0, 0.22);
--f7-list-group-title-height: 31px;
--f7-list-group-title-font-size: inherit;
--f7-list-group-title-font-weight: 400;
--f7-menu-list-offset: 8px;
--f7-menu-list-border-radius: 8px;
--f7-menu-list-item-bg-color: transparent;
--f7-menu-list-item-text-color: inherit;
--f7-menu-list-item-min-height: 44px;
--f7-list-item-border-color: rgba(0, 0, 0, 0.22);
--f7-list-outline-inset-border-color: rgba(0, 0, 0, 0.22);
--f7-list-strong-bg-color: #fff;
--f7-list-item-after-text-color: rgba(0, 0, 0, 0.45);
--f7-list-item-header-text-color: inherit;
--f7-list-item-footer-text-color: rgba(0, 0, 0, 0.45);
--f7-list-item-text-text-color: rgba(0, 0, 0, 0.45);
--f7-list-group-title-text-color: rgba(0, 0, 0, 0.45);
--f7-list-group-title-bg-color: #f7f7f7;
--f7-menu-list-item-selected-text-color: var(--f7-theme-color);
--f7-menu-list-item-selected-bg-color: rgba(var(--f7-theme-color-rgb), 0.15);
}
.ios .dark,
.ios.dark {
--f7-list-item-border-color: rgba(255, 255, 255, 0.15);
--f7-list-outline-inset-color: rgba(255, 255, 255, 0.15);
--f7-list-strong-bg-color: #1c1c1d;
--f7-list-item-after-text-color: rgba(255, 255, 255, 0.55);
--f7-list-item-header-text-color: rgba(255, 255, 255, 0.55);
--f7-list-item-footer-text-color: rgba(255, 255, 255, 0.55);
--f7-list-item-text-text-color: rgba(255, 255, 255, 0.55);
--f7-list-group-title-text-color: rgba(255, 255, 255, 0.55);
--f7-list-group-title-bg-color: #232323;
--f7-list-link-pressed-bg-color: rgba(255, 255, 255, 0.08);
--f7-menu-list-item-selected-text-color: inherit;
--f7-menu-list-item-selected-bg-color: var(--f7-theme-color);
}
.md {
--f7-list-in-list-padding-left: 24px;
--f7-list-inset-border-radius: 16px;
--f7-list-margin-vertical: 32px;
--f7-list-font-size: 16px;
--f7-list-chevron-icon-area: 26px;
--f7-list-item-subtitle-font-size: 14px;
--f7-list-item-text-font-size: 14px;
--f7-list-item-text-line-height: 20px;
--f7-list-item-after-font-size: 14px;
--f7-list-item-after-padding: 8px;
--f7-list-item-min-height: 48px;
--f7-list-item-media-icons-margin: 8px;
--f7-list-media-item-padding-vertical: 12px;
--f7-list-media-item-title-font-weight: 500;
--f7-list-button-border-color: transparent;
/*
--f7-list-button-pressed-bg-color: transparent;
*/
--f7-list-group-title-border-color: transparent;
--f7-list-group-title-height: 48px;
--f7-list-group-title-font-size: 16px;
--f7-list-group-title-font-weight: 400;
--f7-menu-list-offset: 16px;
--f7-menu-list-border-radius: 999px;
--f7-menu-list-item-min-height: 56px;
--f7-list-link-pressed-bg-color: transparent;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-list-outline-inset-border-color: var(--f7-md-outline);
--f7-list-item-border-color: var(--f7-md-outline);
--f7-list-item-title-text-color: var(--f7-md-on-surface);
--f7-list-item-subtitle-text-color: var(--f7-md-on-surface);
--f7-list-group-title-bg-color: var(--f7-md-surface-2);
--f7-list-group-title-text-color: var(--f7-md-on-surface-variant);
--f7-list-strong-bg-color: var(--f7-md-surface-1);
--f7-list-item-after-text-color: var(--f7-md-on-surface-variant);
--f7-list-item-text-text-color: var(--f7-md-on-surface-variant);
--f7-list-item-header-text-color: var(--f7-md-on-surface-variant);
--f7-list-item-footer-text-color: var(--f7-md-on-surface-variant);
--f7-menu-list-item-text-color: var(--f7-md-on-surface-variant);
--f7-menu-list-item-bg-color: var(--f7-md-surface-1);
--f7-menu-list-item-selected-text-color: var(--f7-md-on-secondary-container);
--f7-menu-list-item-selected-bg-color: var(--f7-md-secondary-container);
}
:root {
--f7-list-chevron-icon-left: 'chevron_left';
--f7-list-chevron-icon-right: 'chevron_right';
}
.list {
position: relative;
z-index: 1;
font-size: var(--f7-list-font-size);
margin: var(--f7-list-margin-vertical) 0;
}
.list-strong ul,
.ios .list-strong-ios ul,
.md .list-strong-md ul {
background: var(--f7-list-strong-bg-color);
}
.list-outline ul:before,
.ios .list-outline-ios ul:before,
.md .list-outline-md ul:before {
content: '';
position: absolute;
background-color: var(--f7-list-outline-border-color);
display: block;
z-index: 15;
top: 0;
right: auto;
bottom: auto;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 0%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.list-outline ul:after,
.ios .list-outline-ios ul:after,
.md .list-outline-md ul:after {
content: '';
position: absolute;
background-color: var(--f7-list-outline-border-color);
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.list-outline.inset,
.ios .list-outline-ios.inset,
.ios .list-outline-ios.inset-ios,
.md .list-outline-md.inset,
.md .list-outline-md.inset-md {
border: 1px solid var(--f7-list-outline-inset-border-color);
}
.list ul {
list-style: none;
margin: 0;
padding: 0;
position: relative;
}
.list ul ul {
padding-left: calc(var(--f7-list-item-padding-horizontal) + var(--f7-list-in-list-padding-left));
}
.list ul ul:before,
.list ul ul:after {
display: none !important;
}
.list li {
position: relative;
box-sizing: border-box;
}
.list .item-media {
display: flex;
flex-shrink: 0;
flex-wrap: nowrap;
align-items: center;
box-sizing: border-box;
padding-bottom: var(--f7-list-item-padding-vertical);
padding-top: var(--f7-list-item-padding-vertical);
position: relative;
}
.list .item-media + .item-inner {
margin-left: var(--f7-list-item-media-margin);
}
.list .item-media i + i,
.list .item-media i + img {
margin-left: var(--f7-list-item-media-icons-margin);
}
.list .item-after {
padding-left: var(--f7-list-item-after-padding);
}
.list .item-inner {
position: relative;
width: 100%;
min-width: 0;
display: flex;
justify-content: space-between;
box-sizing: border-box;
align-items: center;
align-self: stretch;
padding-top: var(--f7-list-item-padding-vertical);
padding-bottom: var(--f7-list-item-padding-vertical);
min-height: calc(var(--f7-list-item-min-height));
padding-right: calc(var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-right));
}
.list .item-title {
min-width: 0;
flex-shrink: 1;
white-space: var(--f7-list-item-title-white-space);
position: relative;
overflow: hidden;
text-overflow: ellipsis;
max-width: 100%;
font-size: var(--f7-list-item-title-font-size);
font-weight: var(--f7-list-item-title-font-weight);
color: var(--f7-list-item-title-text-color);
line-height: var(--f7-list-item-title-line-height);
}
.list .item-after {
white-space: nowrap;
flex-shrink: 0;
display: flex;
font-size: var(--f7-list-item-after-font-size);
font-weight: var(--f7-list-item-after-font-weight);
color: var(--f7-list-item-after-text-color);
line-height: var(--f7-list-item-after-line-height);
margin-left: auto;
}
.list .item-header,
.list .item-footer {
white-space: normal;
}
.list .item-header {
color: var(--f7-list-item-header-text-color);
font-size: var(--f7-list-item-header-font-size);
font-weight: var(--f7-list-item-header-font-weight);
line-height: var(--f7-list-item-header-line-height);
}
.list .item-footer {
color: var(--f7-list-item-footer-text-color);
font-size: var(--f7-list-item-footer-font-size);
font-weight: var(--f7-list-item-footer-font-weight);
line-height: var(--f7-list-item-footer-line-height);
}
.list .item-link,
.list label.item-content,
.list .list-button {
transition-duration: 300ms;
transition-property: background-color, color;
position: relative;
overflow: hidden;
z-index: 0;
cursor: pointer;
}
.list .item-link,
.list .list-button {
display: block;
}
.list .item-link,
.list label.item-content {
color: inherit;
}
.list .item-link.active-state,
.list label.item-content.active-state {
background-color: var(--f7-list-link-pressed-bg-color);
}
.list .item-link .item-inner {
padding-right: calc(var(--f7-list-chevron-icon-area) + var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-right));
}
.list .item-content {
display: flex;
justify-content: space-between;
box-sizing: border-box;
align-items: center;
min-height: calc(var(--f7-list-item-min-height));
padding-left: calc(var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-left));
}
.list .item-subtitle {
position: relative;
overflow: hidden;
white-space: nowrap;
max-width: 100%;
text-overflow: ellipsis;
font-size: var(--f7-list-item-subtitle-font-size);
font-weight: var(--f7-list-item-subtitle-font-weight);
color: var(--f7-list-item-subtitle-text-color);
line-height: var(--f7-list-item-subtitle-line-height);
}
.list .item-text {
position: relative;
overflow: hidden;
text-overflow: ellipsis;
/* autoprefixer: ignore next */
-webkit-line-clamp: var(--f7-list-item-text-max-lines);
/* autoprefixer: ignore next */
-webkit-box-orient: vertical;
display: -webkit-box;
font-size: var(--f7-list-item-text-font-size);
font-weight: var(--f7-list-item-text-font-weight);
color: var(--f7-list-item-text-text-color);
line-height: var(--f7-list-item-text-line-height);
max-height: calc(var(--f7-list-item-text-line-height) * var(--f7-list-item-text-max-lines));
}
.list .item-title-row {
position: relative;
display: flex;
justify-content: space-between;
box-sizing: border-box;
}
.list .item-title-row .item-after {
align-self: center;
}
.list li:last-child .list-button:after {
display: none !important;
}
.list li:last-child > .item-inner:after,
.list li:last-child li:last-child > .item-inner:after,
.list li:last-child > .item-content > .item-inner:after,
.list li:last-child li:last-child > .item-content > .item-inner:after,
.list li:last-child > .swipeout-content > .item-content > .item-inner:after,
.list li:last-child li:last-child > .swipeout-content > .item-content > .item-inner:after,
.list li:last-child > .item-link > .item-content > .item-inner:after,
.list li:last-child li:last-child > .item-link > .item-content > .item-inner:after {
display: none !important;
}
.list li li:last-child .item-inner:after,
.list li:last-child li .item-inner:after {
content: '';
position: absolute;
background-color: var(--f7-list-item-border-color);
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.list-button {
--f7-touch-ripple-color: var(--f7-link-touch-ripple-color, rgba(var(--f7-theme-color-rgb), 0.25));
padding: 0 var(--f7-list-item-padding-horizontal);
line-height: var(--f7-list-item-min-height);
color: var(--f7-list-button-text-color, var(--f7-theme-color));
font-size: var(--f7-list-button-font-size);
font-weight: var(--f7-list-button-font-weight);
text-align: var(--f7-list-button-text-align);
}
.ios .list-button.active-state {
background-color: var(--f7-list-button-pressed-bg-color, rgba(var(--f7-theme-color-rgb), 0.15));
}
.md .list-button.active-state {
background-color: var(--f7-list-button-pressed-bg-color, transparent);
}
.list-dividers .list-button:after,
.ios .list-dividers-ios .list-button:after,
.md .list-dividers-md .list-button:after {
content: '';
position: absolute;
background-color: var(--f7-list-button-border-color);
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.list-button[class*='color-'] {
--f7-list-button-text-color: var(--f7-theme-color);
}
.simple-list li {
position: relative;
white-space: nowrap;
text-overflow: ellipsis;
max-width: 100%;
box-sizing: border-box;
display: flex;
justify-content: space-between;
align-items: center;
align-content: center;
line-height: var(--f7-list-item-min-height);
height: var(--f7-list-item-min-height);
padding-left: calc(var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-left));
padding-right: calc(var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-right));
}
.simple-list li:after {
left: var(--f7-list-item-padding-horizontal);
width: auto;
left: calc(var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-left));
right: 0;
}
.simple-list li:last-child:after {
display: none !important;
}
.links-list li {
z-index: 1;
}
.links-list a {
transition-duration: 300ms;
transition-property: background-color;
display: block;
position: relative;
overflow: hidden;
display: flex;
align-items: center;
align-content: center;
justify-content: space-between;
box-sizing: border-box;
white-space: nowrap;
text-overflow: ellipsis;
max-width: 100%;
height: var(--f7-list-item-min-height);
color: inherit;
}
.links-list a .ripple-wave {
z-index: 0;
}
.links-list a:after {
width: auto;
}
.links-list a.active-state {
background-color: var(--f7-list-link-pressed-bg-color);
}
.links-list a {
padding-left: calc(var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-left));
padding-right: calc(var(--f7-list-chevron-icon-area) + var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-right));
}
.links-list a:after {
left: calc(var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-left));
right: 0;
}
.links-list li:last-child a:after {
display: none !important;
}
.list-dividers.simple-list li:after,
.ios .list-dividers-ios.simple-list li:after,
.md .list-dividers-md.simple-list li:after,
.list-dividers.links-list a:after,
.ios .list-dividers-ios.links-list a:after,
.md .list-dividers-md.links-list a:after,
.list-dividers .item-inner:after,
.ios .list-dividers-ios .item-inner:after,
.md .list-dividers-md .item-inner:after {
content: '';
position: absolute;
background-color: var(--f7-list-item-border-color);
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.md .media-list:not(.inset):not(.inset-md):not(.menu-list) .item-content,
.md .media-list:not(.inset):not(.inset-md):not(.menu-list) li > .item-link,
.md .list:not(.inset):not(.inset-md):not(.menu-list) .media-item .item-content,
.md .list:not(.inset):not(.inset-md):not(.menu-list) .media-item > .item-link {
margin-left: calc(var(--f7-list-item-padding-horizontal) / 2);
margin-right: calc(var(--f7-list-item-padding-horizontal) / 2);
border-radius: 16px;
}
.md .media-list:not(.inset):not(.inset-md):not(.menu-list) li > .item-link > .item-content,
.md .list:not(.inset):not(.inset-md):not(.menu-list) .media-item > .item-link > .item-content {
margin-left: 0;
margin-right: 0;
}
.md .media-list:not(.inset):not(.inset-md):not(.menu-list) .item-content,
.md .list:not(.inset):not(.inset-md):not(.menu-list) .media-item .item-content {
padding-left: calc(var(--f7-list-item-padding-horizontal) / 2 + var(--f7-safe-area-left));
}
.media-list,
li.media-item {
--f7-list-item-padding-vertical: var(--f7-list-media-item-padding-vertical);
--f7-list-item-padding-horizontal: var(--f7-list-media-item-padding-horizontal);
}
.media-list .item-title,
li.media-item .item-title {
font-weight: var(--f7-list-media-item-title-font-weight, var(--f7-list-item-title-font-weight, inherit));
}
.media-list .item-inner,
li.media-item .item-inner {
display: block;
align-self: stretch;
}
.media-list .item-media img,
li.media-item .item-media img {
display: block;
}
.media-list .item-link .item-inner,
li.media-item .item-link .item-inner {
padding-right: calc(var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-right));
}
.media-list .item-link .item-title-row,
li.media-item .item-link .item-title-row {
padding-right: calc(var(--f7-list-chevron-icon-area));
}
.media-list.chevron-center .item-link .item-inner,
.media-list .chevron-center .item-link .item-inner,
.media-list .item-link.chevron-center .item-inner,
li.media-item.chevron-center .item-link .item-inner,
li.media-item .item-link.chevron-center .item-inner,
li.media-item .chevron-center .item-link .item-inner {
padding-right: calc(var(--f7-list-chevron-icon-area) + var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-right));
}
.media-list.chevron-center .item-title-row,
.media-list .chevron-center .item-title-row,
li.media-item.chevron-center .item-title-row,
li.media-item .chevron-center .item-title-row {
padding-right: 0;
}
.list .item-link .item-inner:before,
.links-list a:before,
.media-list .item-link .item-title-row:before,
li.media-item .item-link .item-title-row:before,
.media-list.chevron-center .item-link .item-inner:before,
.media-list .chevron-center .item-link .item-inner:before,
.media-list .item-link.chevron-center .item-inner:before,
li.media-item.chevron-center .item-link .item-inner:before,
li.media-item .chevron-center .item-link .item-inner:before,
li.media-item .item-link.chevron-center .item-inner:before {
font-family: 'framework7-core-icons';
font-weight: normal;
font-style: normal;
line-height: 1;
letter-spacing: normal;
text-transform: none;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
-moz-osx-font-smoothing: grayscale;
font-feature-settings: 'liga';
text-align: center;
display: block;
width: 100%;
height: 100%;
font-size: 20px;
position: absolute;
top: 50%;
width: 8px;
height: 14px;
margin-top: -7px;
font-size: var(--f7-list-chevron-icon-font-size);
line-height: 14px;
color: var(--f7-list-chevron-icon-color);
pointer-events: none;
right: calc(var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-right));
content: var(--f7-list-chevron-icon-right);
}
.media-list.chevron-center .item-title-row:before,
.media-list .chevron-center .item-title-row:before,
li.media-item.chevron-center .item-title-row:before,
li.media-item .chevron-center .item-title-row:before {
display: none;
}
.media-list .item-link .item-inner:before,
li.media-item .item-link .item-inner:before {
display: none;
}
.media-list .item-link .item-title-row:before,
li.media-item .item-link .item-title-row:before {
right: 0;
}
.list-group ul:after,
.list-group ul:before {
z-index: 25 !important;
}
.list-group + .list-group ul:before {
display: none !important;
}
li.list-group-title,
.list-group-title {
margin-top: -1px;
white-space: nowrap;
position: relative;
max-width: 100%;
text-overflow: ellipsis;
overflow: hidden;
z-index: 15;
padding-top: 0;
padding-bottom: 0;
padding-left: calc(var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-left));
padding-right: calc(var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-right));
box-sizing: border-box;
display: flex;
align-items: center;
align-content: center;
height: var(--f7-list-group-title-height);
color: var(--f7-list-group-title-text-color);
font-size: var(--f7-list-group-title-font-size);
font-weight: var(--f7-list-group-title-font-weight);
background-color: var(--f7-list-group-title-bg-color);
line-height: var(--f7-list-group-title-line-height);
}
li.list-group-title:before,
.list-group-title:before {
content: '';
position: absolute;
background-color: var(--f7-list-group-title-border-color);
display: block;
z-index: 15;
top: 0;
right: auto;
bottom: auto;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 0%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
li.list-group-title:after,
.list-group-title:after {
display: none !important;
}
.list-group > .list-group-title,
.list-group > ul > .list-group-title {
top: 0;
margin-top: 0;
position: sticky;
z-index: 20;
}
.page-with-navbar-large .list-group > .list-group-title,
.page-with-navbar-large .list-group > ul > .list-group-title {
top: calc(-1 * var(--f7-navbar-large-title-height));
}
.list.inset,
.ios .list.inset-ios,
.md .list.inset-md {
margin-left: calc(var(--f7-list-inset-side-margin) + var(--f7-safe-area-outer-left));
margin-right: calc(var(--f7-list-inset-side-margin) + var(--f7-safe-area-outer-right));
border-radius: var(--f7-list-inset-border-radius);
--f7-safe-area-left: 0px;
--f7-safe-area-right: 0px;
}
.list.inset .block-title,
.ios .list.inset-ios .block-title,
.md .list.inset-md .block-title {
margin-left: 0;
margin-right: 0;
}
.list.inset ul,
.ios .list.inset-ios ul,
.md .list.inset-md ul {
border-radius: var(--f7-list-inset-border-radius);
}
.list.inset ul:before,
.ios .list.inset-ios ul:before,
.md .list.inset-md ul:before,
.list.inset ul:after,
.ios .list.inset-ios ul:after,
.md .list.inset-md ul:after {
display: none !important;
}
.list.inset li.swipeout:first-child,
.ios .list.inset-ios li.swipeout:first-child,
.md .list.inset-md li.swipeout:first-child,
.list.inset li:first-child > a,
.ios .list.inset-ios li:first-child > a,
.md .list.inset-md li:first-child > a {
border-radius: var(--f7-list-inset-border-radius) var(--f7-list-inset-border-radius) 0 0;
}
.list.inset li.swipeout:last-child,
.ios .list.inset-ios li.swipeout:last-child,
.md .list.inset-md li.swipeout:last-child,
.list.inset li:last-child > a,
.ios .list.inset-ios li:last-child > a,
.md .list.inset-md li:last-child > a {
border-radius: 0 0 var(--f7-list-inset-border-radius) var(--f7-list-inset-border-radius);
}
.list.inset li.swipeout:first-child:last-child,
.ios .list.inset-ios li.swipeout:first-child:last-child,
.md .list.inset-md li.swipeout:first-child:last-child,
.list.inset li:first-child:last-child > a,
.ios .list.inset-ios li:first-child:last-child > a,
.md .list.inset-md li:first-child:last-child > a {
border-radius: var(--f7-list-inset-border-radius);
}
@media (min-width: 480px) {
.list.xsmall-inset,
.ios .list.xsmall-inset-ios,
.md .list.xsmall-inset-md {
margin-left: calc(var(--f7-list-inset-side-margin) + var(--f7-safe-area-outer-left));
margin-right: calc(var(--f7-list-inset-side-margin) + var(--f7-safe-area-outer-right));
border-radius: var(--f7-list-inset-border-radius);
--f7-safe-area-left: 0px;
--f7-safe-area-right: 0px;
}
.list.xsmall-inset .block-title,
.ios .list.xsmall-inset-ios .block-title,
.md .list.xsmall-inset-md .block-title {
margin-left: 0;
margin-right: 0;
}
.list.xsmall-inset ul,
.ios .list.xsmall-inset-ios ul,
.md .list.xsmall-inset-md ul {
border-radius: var(--f7-list-inset-border-radius);
}
.list.xsmall-inset ul:before,
.ios .list.xsmall-inset-ios ul:before,
.md .list.xsmall-inset-md ul:before,
.list.xsmall-inset ul:after,
.ios .list.xsmall-inset-ios ul:after,
.md .list.xsmall-inset-md ul:after {
display: none !important;
}
.list.xsmall-inset li:first-child > a,
.ios .list.xsmall-inset-ios li:first-child > a,
.md .list.xsmall-inset-md li:first-child > a {
border-radius: var(--f7-list-inset-border-radius) var(--f7-list-inset-border-radius) 0 0;
}
.list.xsmall-inset li:last-child > a,
.ios .list.xsmall-inset-ios li:last-child > a,
.md .list.xsmall-inset-md li:last-child > a {
border-radius: 0 0 var(--f7-list-inset-border-radius) var(--f7-list-inset-border-radius);
}
.list.xsmall-inset li:first-child:last-child > a,
.ios .list.xsmall-inset-ios li:first-child:last-child > a,
.md .list.xsmall-inset-md li:first-child:last-child > a {
border-radius: var(--f7-list-inset-border-radius);
}
.list.xsmall-inset.list-outline ul,
.ios .list.xsmall-inset-ios.list-outline ul,
.ios .list.xsmall-inset-ios.list-outline-ios ul,
.md .list.xsmall-inset-md.list-outline ul,
.md .list.xsmall-inset-md.list-outline-md ul {
border: 1px solid var(--f7-list-outline-inset-border-color);
}
}
@media (min-width: 568px) {
.list.small-inset,
.ios .list.small-inset-ios,
.md .list.small-inset-md {
margin-left: calc(var(--f7-list-inset-side-margin) + var(--f7-safe-area-outer-left));
margin-right: calc(var(--f7-list-inset-side-margin) + var(--f7-safe-area-outer-right));
border-radius: var(--f7-list-inset-border-radius);
--f7-safe-area-left: 0px;
--f7-safe-area-right: 0px;
}
.list.small-inset .block-title,
.ios .list.small-inset-ios .block-title,
.md .list.small-inset-md .block-title {
margin-left: 0;
margin-right: 0;
}
.list.small-inset ul,
.ios .list.small-inset-ios ul,
.md .list.small-inset-md ul {
border-radius: var(--f7-list-inset-border-radius);
}
.list.small-inset ul:before,
.ios .list.small-inset-ios ul:before,
.md .list.small-inset-md ul:before,
.list.small-inset ul:after,
.ios .list.small-inset-ios ul:after,
.md .list.small-inset-md ul:after {
display: none !important;
}
.list.small-inset li:first-child > a,
.ios .list.small-inset-ios li:first-child > a,
.md .list.small-inset-md li:first-child > a {
border-radius: var(--f7-list-inset-border-radius) var(--f7-list-inset-border-radius) 0 0;
}
.list.small-inset li:last-child > a,
.ios .list.small-inset-ios li:last-child > a,
.md .list.small-inset-md li:last-child > a {
border-radius: 0 0 var(--f7-list-inset-border-radius) var(--f7-list-inset-border-radius);
}
.list.small-inset li:first-child:last-child > a,
.ios .list.small-inset-ios li:first-child:last-child > a,
.md .list.small-inset-md li:first-child:last-child > a {
border-radius: var(--f7-list-inset-border-radius);
}
.list.small-inset.list-outline ul,
.ios .list.small-inset-ios.list-outline ul,
.ios .list.small-inset-ios.list-outline-ios ul,
.md .list.small-inset-md.list-outline ul,
.md .list.small-inset-md.list-outline-md ul {
border: 1px solid var(--f7-list-outline-inset-border-color);
}
}
@media (min-width: 768px) {
.list.medium-inset,
.ios .list.medium-inset-ios,
.md .list.medium-inset-md {
margin-left: calc(var(--f7-list-inset-side-margin) + var(--f7-safe-area-outer-left));
margin-right: calc(var(--f7-list-inset-side-margin) + var(--f7-safe-area-outer-right));
border-radius: var(--f7-list-inset-border-radius);
--f7-safe-area-left: 0px;
--f7-safe-area-right: 0px;
}
.list.medium-inset .block-title,
.ios .list.medium-inset-ios .block-title,
.md .list.medium-inset-md .block-title {
margin-left: 0;
margin-right: 0;
}
.list.medium-inset ul,
.ios .list.medium-inset-ios ul,
.md .list.medium-inset-md ul {
border-radius: var(--f7-list-inset-border-radius);
}
.list.medium-inset ul:before,
.ios .list.medium-inset-ios ul:before,
.md .list.medium-inset-md ul:before,
.list.medium-inset ul:after,
.ios .list.medium-inset-ios ul:after,
.md .list.medium-inset-md ul:after {
display: none !important;
}
.list.medium-inset li:first-child > a,
.ios .list.medium-inset-ios li:first-child > a,
.md .list.medium-inset-md li:first-child > a {
border-radius: var(--f7-list-inset-border-radius) var(--f7-list-inset-border-radius) 0 0;
}
.list.medium-inset li:last-child > a,
.ios .list.medium-inset-ios li:last-child > a,
.md .list.medium-inset-md li:last-child > a {
border-radius: 0 0 var(--f7-list-inset-border-radius) var(--f7-list-inset-border-radius);
}
.list.medium-inset li:first-child:last-child > a,
.ios .list.medium-inset-ios li:first-child:last-child > a,
.md .list.medium-inset-md li:first-child:last-child > a {
border-radius: var(--f7-list-inset-border-radius);
}
.list.medium-inset.list-outline ul,
.ios .list.medium-inset-ios.list-outline ul,
.ios .list.medium-inset-ios.list-outline-ios ul,
.md .list.medium-inset-md.list-outline ul,
.md .list.medium-inset-md.list-outline-md ul {
border: 1px solid var(--f7-list-outline-inset-border-color);
}
}
@media (min-width: 1024px) {
.list.large-inset,
.ios .list.large-inset-ios,
.md .list.large-inset-md {
margin-left: calc(var(--f7-list-inset-side-margin) + var(--f7-safe-area-outer-left));
margin-right: calc(var(--f7-list-inset-side-margin) + var(--f7-safe-area-outer-right));
border-radius: var(--f7-list-inset-border-radius);
--f7-safe-area-left: 0px;
--f7-safe-area-right: 0px;
}
.list.large-inset .block-title,
.ios .list.large-inset-ios .block-title,
.md .list.large-inset-md .block-title {
margin-left: 0;
margin-right: 0;
}
.list.large-inset ul,
.ios .list.large-inset-ios ul,
.md .list.large-inset-md ul {
border-radius: var(--f7-list-inset-border-radius);
}
.list.large-inset ul:before,
.ios .list.large-inset-ios ul:before,
.md .list.large-inset-md ul:before,
.list.large-inset ul:after,
.ios .list.large-inset-ios ul:after,
.md .list.large-inset-md ul:after {
display: none !important;
}
.list.large-inset li:first-child > a,
.ios .list.large-inset-ios li:first-child > a,
.md .list.large-inset-md li:first-child > a {
border-radius: var(--f7-list-inset-border-radius) var(--f7-list-inset-border-radius) 0 0;
}
.list.large-inset li:last-child > a,
.ios .list.large-inset-ios li:last-child > a,
.md .list.large-inset-md li:last-child > a {
border-radius: 0 0 var(--f7-list-inset-border-radius) var(--f7-list-inset-border-radius);
}
.list.large-inset li:first-child:last-child > a,
.ios .list.large-inset-ios li:first-child:last-child > a,
.md .list.large-inset-md li:first-child:last-child > a {
border-radius: var(--f7-list-inset-border-radius);
}
.list.large-inset.list-outline ul,
.ios .list.large-inset-ios.list-outline ul,
.ios .list.large-inset-ios.list-outline-ios ul,
.md .list.large-inset-md.list-outline ul,
.md .list.large-inset-md.list-outline-md ul {
border: 1px solid var(--f7-list-outline-inset-border-color);
}
}
@media (min-width: 1200px) {
.list.xlarge-inset,
.ios .list.xlarge-inset-ios,
.md .list.xlarge-inset-md {
margin-left: calc(var(--f7-list-inset-side-margin) + var(--f7-safe-area-outer-left));
margin-right: calc(var(--f7-list-inset-side-margin) + var(--f7-safe-area-outer-right));
border-radius: var(--f7-list-inset-border-radius);
--f7-safe-area-left: 0px;
--f7-safe-area-right: 0px;
}
.list.xlarge-inset .block-title,
.ios .list.xlarge-inset-ios .block-title,
.md .list.xlarge-inset-md .block-title {
margin-left: 0;
margin-right: 0;
}
.list.xlarge-inset ul,
.ios .list.xlarge-inset-ios ul,
.md .list.xlarge-inset-md ul {
border-radius: var(--f7-list-inset-border-radius);
}
.list.xlarge-inset ul:before,
.ios .list.xlarge-inset-ios ul:before,
.md .list.xlarge-inset-md ul:before,
.list.xlarge-inset ul:after,
.ios .list.xlarge-inset-ios ul:after,
.md .list.xlarge-inset-md ul:after {
display: none !important;
}
.list.xlarge-inset li:first-child > a,
.ios .list.xlarge-inset-ios li:first-child > a,
.md .list.xlarge-inset-md li:first-child > a {
border-radius: var(--f7-list-inset-border-radius) var(--f7-list-inset-border-radius) 0 0;
}
.list.xlarge-inset li:last-child > a,
.ios .list.xlarge-inset-ios li:last-child > a,
.md .list.xlarge-inset-md li:last-child > a {
border-radius: 0 0 var(--f7-list-inset-border-radius) var(--f7-list-inset-border-radius);
}
.list.xlarge-inset li:first-child:last-child > a,
.ios .list.xlarge-inset-ios li:first-child:last-child > a,
.md .list.xlarge-inset-md li:first-child:last-child > a {
border-radius: var(--f7-list-inset-border-radius);
}
.list.xlarge-inset.list-outline ul,
.ios .list.xlarge-inset-ios.list-outline ul,
.ios .list.xlarge-inset-ios.list-outline-ios ul,
.md .list.xlarge-inset-md.list-outline ul,
.md .list.xlarge-inset-md.list-outline-md ul {
border: 1px solid var(--f7-list-outline-inset-border-color);
}
}
.list.no-chevron,
.list .no-chevron,
.menu-list {
--f7-list-chevron-icon-color: transparent;
--f7-list-chevron-icon-area: 0px;
}
.menu-list {
--f7-list-font-size: var(--f7-menu-list-font-size);
--f7-list-item-title-font-size: var(--f7-menu-list-item-title-font-size);
--f7-list-item-title-font-weight: var(--f7-menu-list-item-title-font-weight);
--f7-list-item-subtitle-font-size: var(--f7-menu-list-item-subtitle-font-size);
--f7-list-item-text-font-size: var(--f7-menu-list-item-text-font-size);
--f7-list-item-after-font-size: var(--f7-menu-list-item-after-font-size);
--f7-list-item-min-height: var(--f7-menu-list-item-min-height);
}
.menu-list .item-header,
.menu-list .item-footer,
.menu-list .item-title,
.menu-list .item-after,
.menu-list .item-text,
.menu-list .item-subtitle {
transition-duration: 300ms;
}
.menu-list li:not(.list-group-title) {
padding-top: 4px;
padding-bottom: 4px;
}
.menu-list li:not(.list-group-title):first-child {
padding-top: 4px;
}
.menu-list li:not(.list-group-title):last-child {
padding-bottom: 4px;
}
.menu-list .item-link {
margin-left: var(--f7-menu-list-offset);
margin-right: var(--f7-menu-list-offset);
border-radius: var(--f7-menu-list-border-radius) !important;
color: var(--f7-menu-list-item-text-color);
background-color: var(--f7-menu-list-item-bg-color);
}
.menu-list .item-inner:after {
display: none;
}
.menu-list .item-selected .item-link,
.menu-list .item-selected.item-link,
.menu-list .tab-link-active .item-link,
.menu-list .tab-link-active.item-link {
color: var(--f7-menu-list-item-selected-text-color);
background-color: var(--f7-menu-list-item-selected-bg-color);
}
.menu-list .item-selected .item-header,
.menu-list .item-selected .item-footer,
.menu-list .item-selected .item-title,
.menu-list .item-selected .item-after,
.menu-list .item-selected .item-text,
.menu-list .item-selected .item-subtitle {
color: var(--f7-menu-list-item-selected-text-color);
}
.ios .item-link.active-state .item-inner:after,
.ios .list-button.active-state:after,
.ios .links-list a.active-state:after {
background-color: transparent;
}
.ios .links-list a.active-state,
.ios .list .item-link.active-state,
.ios .list .list-button.active-state {
transition-duration: 0ms;
}
.md .menu-list .item-link.active-state {
background-color: var(--f7-menu-list-item-bg-color);
}
/* === Badge === */
:root {
--f7-badge-text-color: #fff;
--f7-badge-bg-color: #8e8e93;
--f7-badge-in-icon-size: 16px;
--f7-badge-in-icon-font-size: 10px;
--f7-badge-font-weight: normal;
--f7-badge-font-size: 12px;
}
.ios {
--f7-badge-padding: 0 4px;
--f7-badge-size: 20px;
--f7-badge-font-weight: 600;
}
.md {
--f7-badge-padding: 2px 6px;
--f7-badge-size: 20px;
--f7-badge-font-weight: 500;
}
.badge {
display: inline-flex;
align-items: center;
align-content: center;
justify-content: center;
color: var(--f7-badge-text-color);
background: var(--f7-badge-bg-color);
position: relative;
box-sizing: border-box;
text-align: center;
vertical-align: middle;
font-weight: var(--f7-badge-font-weight);
font-size: var(--f7-badge-font-size);
border-radius: var(--f7-badge-size);
padding: var(--f7-badge-padding);
height: var(--f7-badge-size);
min-width: var(--f7-badge-size);
}
.icon .badge,
.f7-icons .badge,
.framework7-icons .badge,
.material-icons .badge {
position: absolute;
left: 100%;
margin-left: -10px;
top: -2px;
font-family: var(--f7-font-family);
--f7-badge-font-size: var(--f7-badge-in-icon-font-size);
--f7-badge-size: var(--f7-badge-in-icon-size);
--f7-badge-padding: 0px 2px;
}
.badge[class*='color-'] {
--f7-badge-bg-color: var(--f7-theme-color);
}
:root {
--f7-button-font-size: 14px;
--f7-button-min-width: 32px;
--f7-button-bg-color: transparent;
--f7-button-border-width: 0px;
/*
--f7-button-text-color: var(--f7-theme-color);
--f7-button-pressed-text-color: var(--f7-button-text-color, var(--f7-theme-color));
--f7-button-border-color: var(--f7-theme-color);
--f7-button-fill-bg-color: var(--f7-theme-color);
--f7-button-padding-vertical: 0px;
*/
--f7-button-raised-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
--f7-button-raised-pressed-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16),
0 3px 6px rgba(0, 0, 0, 0.23);
--f7-segmented-raised-divider-color: rgba(0, 0, 0, 0.1);
--f7-segmented-strong-padding: 2px;
--f7-segmented-strong-between-buttons: 4px;
--f7-segmented-strong-button-font-weight: 500;
--f7-segmented-strong-button-active-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);
--f7-segmented-strong-button-text-color: #000;
--f7-segmented-strong-button-hover-bg-color: rgba(0, 0, 0, 0.04);
--f7-segmented-strong-button-active-text-color: #000;
--f7-segmented-strong-button-active-bg-color: #fff;
}
:root .dark,
:root.dark {
--f7-segmented-strong-button-hover-bg-color: rgba(255, 255, 255, 0.02);
--f7-segmented-strong-button-active-bg-color: rgba(255, 255, 255, 0.14);
--f7-segmented-strong-button-text-color: #fff;
--f7-segmented-strong-button-active-text-color: #fff;
}
.ios {
--f7-button-fill-text-color: #fff;
--f7-button-text-transform: uppercase;
--f7-button-height: 28px;
--f7-button-padding-horizontal: 10px;
--f7-button-border-radius: 4px;
--f7-button-font-weight: 600;
--f7-button-letter-spacing: 0;
/*
--f7-button-outline-border-color: var(--f7-theme-color);
*/
--f7-button-outline-border-width: 2px;
/*
--f7-button-pressed-bg-color: rgba(var(--f7-theme-color-rgb), .15);
--f7-button-fill-pressed-bg-color: var(--f7-theme-color-tint);
*/
--f7-button-large-text-transform: uppercase;
--f7-button-large-height: 44px;
--f7-button-large-font-size: 17px;
--f7-button-large-font-weight: 500;
--f7-button-small-outline-border-width: 2px;
--f7-button-small-text-transform: uppercase;
--f7-button-small-height: 26px;
--f7-button-small-font-size: 13px;
--f7-button-small-font-weight: 600;
--f7-segmented-strong-button-text-transform: none;
--f7-segmented-strong-button-active-font-weight: 600;
--f7-button-tonal-bg-color: rgba(var(--f7-theme-color-rgb), 0.15);
--f7-button-tonal-pressed-bg-color: rgba(var(--f7-theme-color-rgb), 0.25);
--f7-button-tonal-text-color: var(--f7-theme-color);
--f7-segmented-strong-bg-color: rgba(0, 0, 0, 0.07);
--f7-segmented-strong-button-pressed-bg-color: rgba(0, 0, 0, 0.07);
}
.ios .dark,
.ios.dark {
--f7-segmented-strong-bg-color: rgba(255, 255, 255, 0.1);
--f7-segmented-strong-button-pressed-bg-color: rgba(255, 255, 255, 0.04);
}
.md {
/*
--f7-button-pressed-bg-color: transparent;
*/
--f7-button-text-transform: none;
--f7-button-height: 40px;
--f7-button-padding-horizontal: 16px;
--f7-button-border-radius: 8px;
--f7-button-font-weight: 500;
--f7-button-letter-spacing: normal;
--f7-button-outline-border-width: 1px;
--f7-button-large-text-transform: none;
--f7-button-large-height: 48px;
--f7-button-large-font-size: 14px;
--f7-button-large-font-weight: 500;
--f7-button-small-text-transform: none;
--f7-button-small-outline-border-width: 1px;
--f7-button-small-height: 32px;
--f7-button-small-font-size: 14px;
--f7-button-small-font-weight: 500;
--f7-segmented-strong-button-text-transform: none;
--f7-segmented-strong-button-active-font-weight: 500;
--f7-segmented-strong-button-pressed-bg-color: transparent;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-button-fill-pressed-bg-color: transparent;
--f7-button-fill-text-color: var(--f7-md-on-primary);
--f7-button-outline-border-color: var(--f7-md-outline);
--f7-segmented-strong-bg-color: var(--f7-md-surface-variant);
--f7-button-tonal-bg-color: var(--f7-md-secondary-container);
--f7-button-tonal-pressed-bg-color: transparent;
--f7-button-tonal-text-color: var(--f7-md-on-secondary-container);
}
button {
-webkit-appearance: none;
appearance: none;
width: 100%;
}
.button {
--f7-touch-ripple-color: rgba(var(--f7-theme-color-rgb), 0.25);
text-decoration: none;
text-align: center;
display: flex;
-webkit-appearance: none;
appearance: none;
background: none;
margin: 0;
white-space: nowrap;
text-overflow: ellipsis;
position: relative;
overflow: hidden;
font-family: inherit;
cursor: pointer;
outline: 0;
box-sizing: border-box;
vertical-align: middle;
justify-content: center;
align-items: center;
border: var(--f7-button-border-width, 0px) solid var(--f7-button-border-color, var(--f7-theme-color));
font-size: var(--f7-button-font-size);
color: var(--f7-button-text-color, var(--f7-theme-color));
height: var(--f7-button-height);
line-height: calc(var(--f7-button-height) - var(--f7-button-border-width, 0) * 2);
padding: var(--f7-button-padding-vertical, 0px) var(--f7-button-padding-horizontal);
border-radius: var(--f7-button-border-radius);
min-width: var(--f7-button-min-width);
font-weight: var(--f7-button-font-weight);
letter-spacing: var(--f7-button-letter-spacing);
text-transform: var(--f7-button-text-transform);
background-color: var(--f7-button-bg-color);
box-shadow: var(--f7-button-box-shadow);
}
.button.active-state {
color: var(--f7-button-pressed-text-color, var(--f7-button-text-color, var(--f7-theme-color)));
}
input[type='submit'].button,
input[type='button'].button,
input[type='reset'].button {
width: 100%;
}
.button > i + span,
.button > span + span,
.button > span ~ i {
margin-left: 4px;
}
.subnavbar .button,
.navbar .button,
.toolbar .button,
.searchbar .button {
color: var(--f7-button-text-color, var(--f7-theme-color));
}
.button-round,
.ios .button-round-ios,
.md .button-round-md {
--f7-button-border-radius: var(--f7-button-height);
}
.button-fill,
.ios .button-fill-ios,
.md .button-fill-md,
.button-active,
.button.tab-link-active {
--f7-button-bg-color: var(--f7-button-fill-bg-color, var(--f7-theme-color));
--f7-button-text-color: var(--f7-button-fill-text-color, #fff);
--f7-touch-ripple-color: var(--f7-touch-ripple-white);
}
.ios .color-white .button-fill,
.ios .color-white .ios .button-fill-ios,
.ios .color-white .md .button-fill-md,
.ios .color-white .button-active,
.ios .color-white .button.tab-link-active,
.ios .button-fill.color-white,
.ios .ios .button-fill-ios.color-white,
.ios .md .button-fill-md.color-white,
.ios .button-active.color-white,
.ios .button.tab-link-active.color-white {
--f7-button-text-color: #000;
}
.button-fill,
.ios .button-fill-ios,
.md .button-fill-md {
--f7-button-pressed-bg-color: var(--f7-button-fill-pressed-bg-color);
}
.button-active,
.button.tab-link-active {
--f7-button-pressed-bg-color: var(--f7-button-bg-color);
}
.button-outline,
.ios .button-outline-ios,
.md .button-outline-md {
--f7-button-border-color: var(--f7-button-outline-border-color, var(--f7-theme-color));
--f7-button-border-width: var(--f7-button-outline-border-width);
}
.button-tonal,
.ios .button-tonal-ios,
.md .button-tonal-md {
--f7-button-bg-color: var(--f7-button-tonal-bg-color);
--f7-button-text-color: var(--f7-button-tonal-text-color);
--f7-button-pressed-bg-color: var(--f7-button-tonal-pressed-bg-color);
}
.button-large,
.ios .button-large-ios,
.md .button-large-md {
--f7-button-height: var(--f7-button-large-height);
--f7-button-font-size: var(--f7-button-large-font-size);
--f7-button-font-weight: var(--f7-button-large-font-weight);
--f7-button-text-transform: var(--f7-button-large-text-transform);
}
.button-small,
.ios .button-small-ios,
.md .button-small-md {
--f7-button-outline-border-width: var(--f7-button-small-outline-border-width);
--f7-button-height: var(--f7-button-small-height);
--f7-button-font-size: var(--f7-button-small-font-size);
--f7-button-font-weight: var(--f7-button-small-font-weight);
--f7-button-text-transform: var(--f7-button-small-text-transform);
}
.ios .button-small.button-fill,
.ios .button-small-ios.button-fill,
.ios .button-small.button-fill-ios {
--f7-button-border-width: var(--f7-button-small-outline-border-width);
--f7-button-pressed-text-color: var(--f7-theme-color);
--f7-button-pressed-bg-color: transparent;
}
.segmented {
align-self: center;
display: flex;
flex-wrap: nowrap;
border-radius: var(--f7-button-border-radius);
box-shadow: var(--f7-button-box-shadow);
box-sizing: border-box;
}
.segmented .button,
.segmented button {
width: 100%;
flex-shrink: 1;
min-width: 0;
border-radius: 0;
}
.segmented .button:first-child {
border-radius: var(--f7-button-border-radius) 0 0 var(--f7-button-border-radius);
}
.segmented .button:not(.button-outline):first-child {
border-left: none;
}
.segmented .button.button-outline:nth-child(n + 2) {
border-left: none;
}
.segmented .button:last-child {
border-radius: 0 var(--f7-button-border-radius) var(--f7-button-border-radius) 0;
}
.segmented .button-round:first-child {
border-radius: var(--f7-button-height) 0 0 var(--f7-button-height);
}
.segmented .button-round:last-child {
border-radius: 0 var(--f7-button-height) var(--f7-button-height) 0;
}
.segmented .button:first-child:last-child {
border-radius: var(--f7-button-border-radius);
}
.segmented-raised,
.ios .segmented-raised-ios,
.md .segmented-raised-md {
box-shadow: var(--f7-button-raised-box-shadow);
}
.segmented-raised .button:not(.button-outline),
.ios .segmented-raised-ios .button:not(.button-outline),
.md .segmented-raised-md .button:not(.button-outline) {
border-left: 1px solid var(--f7-segmented-raised-divider-color);
}
.button-raised,
.ios .button-raised-ios,
.md .button-raised-md {
--f7-button-box-shadow: var(--f7-button-raised-box-shadow);
}
.button-raised.active-state,
.ios .button-raised-ios.active-state,
.md .button-raised-md.active-state {
--f7-button-box-shadow: var(--f7-button-raised-pressed-box-shadow);
}
.segmented-strong,
.ios .segmented-strong-ios,
.md .segmented-strong-md {
--f7-button-bg-color: transparent;
--f7-button-hover-bg-color: var(--f7-segmented-strong-button-hover-bg-color);
--f7-button-text-color: var(--f7-segmented-strong-button-text-color);
--f7-button-font-weight: var(--f7-segmented-strong-button-font-weight);
--f7-button-text-transform: var(--f7-segmented-strong-button-text-transform);
--f7-button-pressed-bg-color: var(--f7-segmented-strong-button-pressed-bg-color);
position: relative;
background: var(--f7-segmented-strong-bg-color);
border-radius: calc(var(--f7-button-border-radius) + 2px);
box-shadow: none;
padding: var(--f7-segmented-strong-padding);
overflow: hidden;
}
.segmented-strong .button,
.ios .segmented-strong-ios .button,
.md .segmented-strong-md .button {
z-index: 1;
transform: translate3d(0, 0, 0);
}
.segmented-strong .button,
.ios .segmented-strong-ios .button,
.md .segmented-strong-md .button,
.segmented-strong .button:first-child,
.ios .segmented-strong-ios .button:first-child,
.md .segmented-strong-md .button:first-child,
.segmented-strong .button:last-child,
.ios .segmented-strong-ios .button:last-child,
.md .segmented-strong-md .button:last-child {
border-radius: var(--f7-button-border-radius);
}
.segmented-strong .button + .button,
.ios .segmented-strong-ios .button + .button,
.md .segmented-strong-md .button + .button {
margin-left: var(--f7-segmented-strong-between-buttons);
}
.segmented-strong .button.button-active,
.ios .segmented-strong-ios .button.button-active,
.md .segmented-strong-md .button.button-active,
.segmented-strong .button.tab-link-active,
.ios .segmented-strong-ios .button.tab-link-active,
.md .segmented-strong-md .button.tab-link-active {
--f7-button-hover-bg-color: transparent;
--f7-button-bg-color: transparent;
--f7-button-text-color: var(--f7-segmented-strong-button-active-text-color);
--f7-button-font-weight: var(--f7-segmented-strong-button-active-font-weight);
}
.segmented-strong .segmented-highlight,
.ios .segmented-strong-ios .segmented-highlight,
.md .segmented-strong-md .segmented-highlight {
--f7-segmented-highlight-num: 1;
--f7-segmented-highlight-active: 0;
--f7-segmented-highlight-padding: calc(var(--f7-segmented-strong-padding) * 2);
--f7-segmented-highlight-between: var(--f7-segmented-strong-between-buttons);
--f7-segmented-highlight-width: calc((100% - var(--f7-segmented-highlight-padding) - var(--f7-segmented-highlight-between) * (var(--f7-segmented-highlight-num) - 1)) / var(--f7-segmented-highlight-num));
position: absolute;
background-color: var(--f7-segmented-strong-button-active-bg-color);
border-radius: var(--f7-button-border-radius);
box-shadow: var(--f7-segmented-strong-button-active-box-shadow);
left: var(--f7-segmented-strong-padding);
top: var(--f7-segmented-strong-padding);
height: calc(100% - var(--f7-segmented-strong-padding) * 2);
width: var(--f7-segmented-highlight-width);
z-index: 0;
transform: translateX(calc(var(--f7-segmented-highlight-active) * 100% + var(--f7-segmented-highlight-active) * var(--f7-segmented-highlight-between)));
transition: 200ms;
}
.button:nth-child(2) ~ .segmented-highlight {
--f7-segmented-highlight-num: 2;
}
.button:nth-child(3) ~ .segmented-highlight {
--f7-segmented-highlight-num: 3;
}
.button:nth-child(4) ~ .segmented-highlight {
--f7-segmented-highlight-num: 4;
}
.button:nth-child(5) ~ .segmented-highlight {
--f7-segmented-highlight-num: 5;
}
.button:nth-child(6) ~ .segmented-highlight {
--f7-segmented-highlight-num: 6;
}
.button:nth-child(7) ~ .segmented-highlight {
--f7-segmented-highlight-num: 7;
}
.button:nth-child(8) ~ .segmented-highlight {
--f7-segmented-highlight-num: 8;
}
.button:nth-child(9) ~ .segmented-highlight {
--f7-segmented-highlight-num: 9;
}
.button:nth-child(10) ~ .segmented-highlight {
--f7-segmented-highlight-num: 10;
}
.button-active:nth-child(2) ~ .segmented-highlight,
.tab-link-active:nth-child(2) ~ .segmented-highlight {
--f7-segmented-highlight-active: 1;
}
.button-active:nth-child(3) ~ .segmented-highlight,
.tab-link-active:nth-child(3) ~ .segmented-highlight {
--f7-segmented-highlight-active: 2;
}
.button-active:nth-child(4) ~ .segmented-highlight,
.tab-link-active:nth-child(4) ~ .segmented-highlight {
--f7-segmented-highlight-active: 3;
}
.button-active:nth-child(5) ~ .segmented-highlight,
.tab-link-active:nth-child(5) ~ .segmented-highlight {
--f7-segmented-highlight-active: 4;
}
.button-active:nth-child(6) ~ .segmented-highlight,
.tab-link-active:nth-child(6) ~ .segmented-highlight {
--f7-segmented-highlight-active: 5;
}
.button-active:nth-child(7) ~ .segmented-highlight,
.tab-link-active:nth-child(7) ~ .segmented-highlight {
--f7-segmented-highlight-active: 6;
}
.button-active:nth-child(8) ~ .segmented-highlight,
.tab-link-active:nth-child(8) ~ .segmented-highlight {
--f7-segmented-highlight-active: 7;
}
.button-active:nth-child(9) ~ .segmented-highlight,
.tab-link-active:nth-child(9) ~ .segmented-highlight {
--f7-segmented-highlight-active: 8;
}
.button-active:nth-child(10) ~ .segmented-highlight,
.tab-link-active:nth-child(10) ~ .segmented-highlight {
--f7-segmented-highlight-active: 9;
}
.segmented-round,
.ios .segmented-round-ios,
.md .segmented-round-md {
border-radius: var(--f7-button-height);
}
.segmented-round .segmented-highlight,
.ios .segmented-round-ios .segmented-highlight,
.md .segmented-round-md .segmented-highlight {
border-radius: var(--f7-button-height);
}
.subnavbar .segmented {
width: 100%;
}
.button-preloader {
position: relative;
--f7-preloader-color: var(--f7-button-text-color, var(--f7-theme-color));
}
.button-preloader:not(.button-large) {
--f7-preloader-size: calc(var(--f7-button-height) - 6px);
}
.button-preloader.button-fill {
--f7-preloader-color: #fff;
}
.button-preloader > span:not(.preloader) {
transition: 0.2s;
display: inline-flex;
align-items: center;
align-content: center;
justify-content: center;
transform: scale(1);
}
.button-preloader > .preloader {
position: absolute;
left: 50%;
top: 50%;
transition: 0.2s;
transition-property: opacity;
opacity: 0;
visibility: hidden;
margin-left: calc(-1 * var(--f7-preloader-size) / 2);
margin-top: calc(-1 * var(--f7-preloader-size) / 2);
}
.button-preloader.button-loading > span:not(.preloader) {
opacity: 0;
transform: scale(0);
}
.button-preloader.button-loading > .preloader {
opacity: 1;
visibility: visible;
}
.ios .button {
transition-duration: 100ms;
}
.ios .button.active-state {
background-color: var(--f7-button-pressed-bg-color, rgba(var(--f7-theme-color-rgb), 0.15));
}
.ios .button-fill,
.ios .button-fill-ios {
--f7-button-pressed-bg-color: var(--f7-button-fill-pressed-bg-color, var(--f7-theme-color-tint));
}
.ios .button-small,
.ios .button-small-ios {
transition-duration: 200ms;
}
.md .button {
transition-duration: 300ms;
transform: translate3d(0, 0, 0);
}
.md .button-fill,
.md .button-fill-md {
--f7-button-pressed-bg-color: var(--f7-button-fill-pressed-bg-color, transparent);
}
/* === Touch Ripple === */
:root {
--f7-touch-ripple-black: rgba(0, 0, 0, 0.1);
--f7-touch-ripple-white: rgba(255, 255, 255, 0.15);
--f7-touch-ripple-color: var(--f7-touch-ripple-black);
}
.dark {
--f7-touch-ripple-color: var(--f7-touch-ripple-white);
}
.ripple,
.fab a,
.link,
.item-link,
.list-button,
.button,
.dialog-button,
.tab-link,
.radio,
.checkbox,
.actions-button,
.speed-dial-buttons a {
-webkit-user-select: none;
user-select: none;
}
.ripple-wave {
left: 0;
top: 0;
position: absolute !important;
border-radius: 50%;
pointer-events: none;
z-index: -1;
padding: 0;
margin: 0;
font-size: 0;
transform: translate3d(0px, 0px, 0) scale(0);
background-color: var(--f7-touch-ripple-color);
animation: touch-ripple-in 200ms forwards;
}
.ripple-wave.ripple-wave-inset {
background-image: none;
background-color: var(--f7-touch-ripple-color);
}
.ripple-wave.ripple-wave-out {
transform: var(--f7-ripple-transform);
animation: touch-ripple-out 250ms forwards !important;
}
.item-link .ripple-wave,
.list label.item-content .ripple-wave,
.list-button .ripple-wave,
.links-list a .ripple-wave,
.button .ripple-wave,
button .ripple-wave,
.dialog-button .ripple-wave,
.tab-link .ripple-wave,
.item-radio .ripple-wave,
.item-checkbox .ripple-wave,
.actions-button .ripple-wave,
.fab a .ripple-wave,
.stepper-button .ripple-wave,
.stepper-button-minus .ripple-wave,
.stepper-button-plus .ripple-wave,
.list.accordion-list .accordion-item-toggle .ripple-wave,
.photo-browser .toolbar .link .ripple-wave,
.ripple-blur .ripple-wave {
animation: touch-ripple-in-blurred 250ms forwards;
background-image: radial-gradient(closest-side circle at 50% 50%, var(--f7-touch-ripple-color) 50%, rgba(255, 255, 255, 0));
background-color: transparent;
}
.checkbox .ripple-wave,
.radio .ripple-wave,
.data-table .sortable-cell .ripple-wave {
z-index: 0;
}
[class*='ripple-color-'] {
--f7-touch-ripple-color: var(--f7-theme-color-ripple-color);
}
@keyframes touch-ripple-in-blurred {
from {
transform: translate3d(0px, 0px, 0) scale(0.5);
}
to {
transform: var(--f7-ripple-transform);
}
}
@keyframes touch-ripple-in {
from {
transform: translate3d(0px, 0px, 0) scale(0);
}
to {
transform: var(--f7-ripple-transform);
}
}
@keyframes touch-ripple-out {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
/* === Icon === */
.f7-icons,
.material-icons {
width: 1em;
height: 1em;
}
i.icon {
display: inline-block;
vertical-align: middle;
background-size: 100% auto;
background-position: center;
background-repeat: no-repeat;
font-style: normal;
position: relative;
}
.icon-back:after,
.icon-prev:after,
.icon-forward:after,
.icon-next:after {
font-family: 'framework7-core-icons';
font-weight: normal;
font-style: normal;
line-height: 1;
letter-spacing: normal;
text-transform: none;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
-moz-osx-font-smoothing: grayscale;
font-feature-settings: 'liga';
text-align: center;
display: block;
width: 100%;
height: 100%;
font-size: 20px;
}
.icon[class*='color-'] {
color: var(--f7-theme-color);
}
.ios .icon-back,
.ios .icon-prev,
.ios .icon-forward,
.ios .icon-next {
width: 12px;
height: 20px;
line-height: 20px;
}
.ios .icon-back:after,
.ios .icon-prev:after,
.ios .icon-forward:after,
.ios .icon-next:after {
line-height: inherit;
}
.ios .icon-prev:after,
.ios .icon-next:after {
font-size: 16px;
}
.ios .icon-back:after,
.ios .icon-prev:after {
content: 'chevron_left_ios';
}
.ios .icon-forward:after,
.ios .icon-next:after {
content: 'chevron_right_ios';
}
.md .icon-back,
.md .icon-forward,
.md .icon-next,
.md .icon-prev {
width: 24px;
height: 24px;
}
.md .icon-back:after,
.md .icon-forward:after,
.md .icon-next:after,
.md .icon-prev:after {
line-height: 1.2;
}
.md .icon-back:after {
content: 'arrow_left_md';
}
.md .icon-forward:after {
content: 'arrow_right_md';
}
.md .icon-next:after {
content: 'chevron_right_md';
}
.md .icon-prev:after {
content: 'chevron_left_md';
}
.custom-modal-backdrop {
z-index: 10500;
}
.custom-modal-backdrop,
.actions-backdrop,
.dialog-backdrop,
.popover-backdrop,
.popup-backdrop,
.preloader-backdrop,
.sheet-backdrop,
.fab-backdrop {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.4);
z-index: 13000;
visibility: hidden;
opacity: 0;
transition-duration: 400ms;
}
.custom-modal-backdrop.not-animated,
.actions-backdrop.not-animated,
.dialog-backdrop.not-animated,
.popover-backdrop.not-animated,
.popup-backdrop.not-animated,
.preloader-backdrop.not-animated,
.sheet-backdrop.not-animated,
.fab-backdrop.not-animated {
transition-duration: 0ms;
}
.custom-modal-backdrop.backdrop-in,
.actions-backdrop.backdrop-in,
.dialog-backdrop.backdrop-in,
.popover-backdrop.backdrop-in,
.popup-backdrop.backdrop-in,
.preloader-backdrop.backdrop-in,
.sheet-backdrop.backdrop-in,
.fab-backdrop.backdrop-in {
visibility: visible;
opacity: 1;
}
/* === Dialog === */
:root {
--f7-dialog-button-text-color: var(--f7-theme-color);
--f7-dialog-button-text-align: center;
}
.ios {
--f7-dialog-width: 270px;
--f7-dialog-inner-padding: 16px;
--f7-dialog-border-radius: 13px;
--f7-dialog-text-align: center;
--f7-dialog-font-size: 14px;
--f7-dialog-title-text-color: inherit;
--f7-dialog-title-font-size: 18px;
--f7-dialog-title-font-weight: 600;
--f7-dialog-title-line-height: inherit;
--f7-dialog-button-font-size: 17px;
--f7-dialog-button-height: 44px;
--f7-dialog-button-letter-spacing: 0;
--f7-dialog-button-font-weight: 400;
--f7-dialog-button-text-transform: none;
--f7-dialog-button-strong-bg-color: transparent;
--f7-dialog-button-strong-text-color: var(--f7-theme-color);
--f7-dialog-button-strong-font-weight: 500;
--f7-dialog-input-border-radius: 4px;
--f7-dialog-input-font-size: 14px;
--f7-dialog-input-height: 32px;
--f7-dialog-input-border-width: 1px;
--f7-dialog-input-placeholder-color: #a9a9a9;
--f7-dialog-preloader-size: 34px;
--f7-dialog-input-bg-color: #fff;
--f7-dialog-bg-color: rgba(255, 255, 255, 0.95);
--f7-dialog-bg-color-rgb: 255, 255, 255;
--f7-dialog-text-color: #000;
--f7-dialog-button-pressed-bg-color: rgba(0, 0, 0, 0.1);
--f7-dialog-button-strong-pressed-bg-color: rgba(0, 0, 0, 0.1);
--f7-dialog-input-border-color: rgba(0, 0, 0, 0.3);
--f7-dialog-border-divider-color: rgba(0, 0, 0, 0.2);
}
.ios .dark,
.ios.dark {
--f7-dialog-text-color: #fff;
--f7-dialog-bg-color: rgba(45, 45, 45, 0.95);
--f7-dialog-bg-color-rgb: 45, 45, 45;
--f7-dialog-button-pressed-bg-color: rgba(0, 0, 0, 0.2);
--f7-dialog-button-strong-pressed-bg-color: rgba(0, 0, 0, 0.2);
--f7-dialog-border-divider-color: rgba(255, 255, 255, 0.15);
--f7-dialog-input-border-color: rgba(255, 255, 255, 0.15);
--f7-dialog-input-bg-color: rgba(0, 0, 0, 0.5);
}
.md {
--f7-dialog-width: 280px;
--f7-dialog-inner-padding: 24px;
--f7-dialog-border-radius: 28px;
--f7-dialog-text-align: left;
--f7-dialog-font-size: 14px;
--f7-dialog-title-font-size: 24px;
--f7-dialog-title-font-weight: 400;
--f7-dialog-title-line-height: 1.3;
--f7-dialog-button-font-size: 14px;
--f7-dialog-button-height: 40px;
--f7-dialog-button-letter-spacing: normal;
--f7-dialog-button-font-weight: 500;
--f7-dialog-button-text-transform: none;
--f7-dialog-button-strong-font-weight: 500;
--f7-dialog-input-border-radius: 0px;
--f7-dialog-input-font-size: 16px;
--f7-dialog-input-height: 36px;
--f7-dialog-input-border-color: transparent;
--f7-dialog-input-border-width: 0px;
--f7-dialog-preloader-size: 32px;
--f7-dialog-input-bg-color: transparent;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-dialog-button-pressed-bg-color: transparent;
--f7-dialog-button-strong-bg-color: var(--f7-theme-color);
--f7-dialog-button-strong-text-color: var(--f7-md-on-primary);
--f7-dialog-button-strong-pressed-bg-color: transparent;
--f7-dialog-bg-color: var(--f7-md-surface-3);
--f7-dialog-input-placeholder-color: var(--f7-md-on-surface-variant);
--f7-dialog-text-color: var(--f7-md-on-surface-variant);
--f7-dialog-title-text-color: var(--f7-md-on-surface);
}
.dialog {
position: absolute;
z-index: 13500;
left: 50%;
margin-top: 0;
top: 50%;
overflow: hidden;
opacity: 0;
transform: translate3d(0, -50%, 0) scale(1.185);
transition-property: transform, opacity;
display: none;
transition-duration: 400ms;
width: var(--f7-dialog-width);
margin-left: calc(-1 * var(--f7-dialog-width) / 2);
border-radius: var(--f7-dialog-border-radius);
text-align: var(--f7-dialog-text-align);
color: var(--f7-dialog-text-color);
font-size: var(--f7-dialog-font-size);
background: var(--f7-dialog-bg-color);
will-change: transform, opacity;
}
@supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
.ios-translucent-modals .dialog {
background-color: rgba(var(--f7-dialog-bg-color-rgb), 0.8);
-webkit-backdrop-filter: saturate(180%) blur(20px);
backdrop-filter: saturate(180%) blur(20px);
}
}
.dialog.modal-in {
opacity: 1;
transform: translate3d(0, -50%, 0) scale(1);
}
.dialog.modal-out {
opacity: 0;
z-index: 13499;
}
.dialog.not-animated {
transition-duration: 0ms;
}
.dialog-inner {
position: relative;
padding: var(--f7-dialog-inner-padding);
}
.dialog-title {
color: var(--f7-dialog-title-text-color);
font-size: var(--f7-dialog-title-font-size);
font-weight: var(--f7-dialog-title-font-weight);
line-height: var(--f7-dialog-title-line-height);
}
.dialog-buttons {
position: relative;
display: flex;
}
.dialog-buttons-vertical .dialog-buttons {
display: block;
height: auto !important;
}
.dialog-button {
box-sizing: border-box;
overflow: hidden;
position: relative;
white-space: nowrap;
text-overflow: ellipsis;
color: var(--f7-dialog-button-text-color);
font-size: var(--f7-dialog-button-font-size);
height: var(--f7-dialog-button-height);
line-height: var(--f7-dialog-button-height);
letter-spacing: var(--f7-dialog-button-letter-spacing);
text-align: var(--f7-dialog-button-text-align);
font-weight: var(--f7-dialog-button-font-weight);
text-transform: var(--f7-dialog-button-text-transform);
display: block;
cursor: pointer;
}
.dialog-button.active-state {
background-color: var(--f7-dialog-button-pressed-bg-color);
}
.dialog-button-strong {
background-color: var(--f7-dialog-button-strong-bg-color);
color: var(--f7-dialog-button-strong-text-color);
font-weight: var(--f7-dialog-button-strong-font-weight);
}
.dialog-button-strong.active-state {
background-color: var(--f7-dialog-button-strong-pressed-bg-color);
}
.dialog-no-buttons .dialog-buttons {
display: none;
}
.dialog-input-field {
position: relative;
}
input.dialog-input[type] {
box-sizing: border-box;
margin: 0;
margin-top: 15px;
border-radius: var(--f7-dialog-input-border-radius);
-webkit-appearance: none;
appearance: none;
width: 100%;
display: block;
font-family: inherit;
box-shadow: none;
font-size: var(--f7-dialog-input-font-size);
height: var(--f7-dialog-input-height);
background-color: var(--f7-dialog-input-bg-color);
border: var(--f7-dialog-input-border-width) solid var(--f7-dialog-input-border-color);
}
input.dialog-input[type]::placeholder {
color: var(--f7-dialog-input-placeholder-color);
}
.dialog-input-double input.dialog-input {
border-radius: var(--f7-dialog-input-border-radius) var(--f7-dialog-input-border-radius) 0 0;
}
.dialog-input-double + .dialog-input-double input.dialog-input {
border-radius: 0 0 var(--f7-dialog-input-border-radius) var(--f7-dialog-input-border-radius);
}
.dialog-preloader .preloader {
--f7-preloader-size: var(--f7-dialog-preloader-size);
}
html.with-modal-dialog .page-content {
overflow: hidden;
-webkit-overflow-scrolling: auto;
}
.ios .dialog.modal-out {
transform: translate3d(0, -50%, 0) scale(1);
}
.ios .dialog-inner {
border-radius: var(--f7-dialog-border-radius) var(--f7-dialog-border-radius) 0 0;
}
.ios .dialog-inner:after {
content: '';
position: absolute;
background-color: var(--f7-dialog-border-divider-color);
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.ios .dialog-title + .dialog-text {
margin-top: 5px;
}
.ios .dialog-buttons {
height: 44px;
justify-content: center;
}
.ios .dialog-button {
width: 100%;
padding: 0 5px;
-webkit-box-flex: 1;
-ms-flex: 1;
}
.ios .dialog-button:after {
content: '';
position: absolute;
background-color: var(--f7-dialog-border-divider-color);
display: block;
z-index: 15;
top: 0;
right: 0;
bottom: auto;
left: auto;
width: 1px;
height: 100%;
transform-origin: 100% 50%;
transform: scaleX(calc(1 / var(--f7-device-pixel-ratio)));
}
.ios .dialog-button:first-child {
border-radius: 0 0 0 var(--f7-dialog-border-radius);
}
.ios .dialog-button:last-child {
border-radius: 0 0 var(--f7-dialog-border-radius) 0;
}
.ios .dialog-button:last-child:after {
display: none !important;
}
.ios .dialog-button:first-child:last-child {
border-radius: 0 0 var(--f7-dialog-border-radius) var(--f7-dialog-border-radius);
}
.ios .dialog-button[class*='color-'] {
--f7-dialog-button-text-color: var(--f7-theme-color);
}
.ios .dialog-buttons-vertical .dialog-buttons {
height: auto;
}
.ios .dialog-buttons-vertical .dialog-button {
border-radius: 0;
}
.ios .dialog-buttons-vertical .dialog-button:after {
content: '';
position: absolute;
background-color: var(--f7-dialog-border-divider-color);
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.ios .dialog-buttons-vertical .dialog-button:last-child {
border-radius: 0 0 var(--f7-dialog-border-radius) var(--f7-dialog-border-radius);
}
.ios .dialog-buttons-vertical .dialog-button:last-child:after {
display: none !important;
}
.ios .dialog-no-buttons .dialog-inner {
border-radius: var(--f7-dialog-border-radius);
}
.ios .dialog-no-buttons .dialog-inner:after {
display: none !important;
}
.ios .dialog-input-field {
margin-top: 15px;
}
.ios .dialog-input {
padding: 0 5px;
}
.ios .dialog-input + .dialog-input {
margin-top: 5px;
}
.ios .dialog-input-double + .dialog-input-double {
margin-top: 0;
}
.ios .dialog-input-double + .dialog-input-double .dialog-input {
border-top: 0;
margin-top: 0;
}
.ios .dialog-preloader .dialog-title ~ .preloader,
.ios .dialog-preloader .dialog-text ~ .preloader {
margin-top: 15px;
}
.ios .dialog-progress .dialog-title ~ .progressbar,
.ios .dialog-progress .dialog-text ~ .progressbar,
.ios .dialog-progress .dialog-title ~ .progressbar-infinite,
.ios .dialog-progress .dialog-text ~ .progressbar-infinite {
margin-top: 15px;
}
.md .dialog.modal-out {
transform: translate3d(0, -50%, 0) scale(0.815);
}
.md .dialog-title + .dialog-text {
margin-top: 20px;
}
.md .dialog-text {
line-height: 1.5;
}
.md .dialog-buttons {
height: 64px;
padding: 0px 24px 24px;
overflow: hidden;
box-sizing: border-box;
justify-content: flex-end;
}
.md .dialog-button {
--f7-touch-ripple-color: rgba(var(--f7-theme-color-rgb), 0.25);
border-radius: 99px;
min-width: 64px;
padding: 0px 16px;
border: none;
transition-duration: 300ms;
transform: translate3d(0, 0, 0);
}
.md .dialog-button + .dialog-button {
margin-left: 8px;
}
.md .dialog-button-strong {
--f7-touch-ripple-color: var(--f7-touch-ripple-white);
}
.md .dialog-button[class*='color-'] {
--f7-dialog-button-text-color: var(--f7-theme-color);
}
.md .dialog-buttons-vertical .dialog-buttons {
display: flex;
flex-direction: column;
align-items: flex-end;
}
.md .dialog-buttons-vertical .dialog-button + .dialog-button {
margin-top: 8px;
margin-left: 0;
}
.md .dialog-input {
padding: 0;
transition-duration: 200ms;
position: relative;
}
.md .dialog-input + .dialog-input {
margin-top: 16px;
}
.md .dialog-preloader .dialog-title,
.md .dialog-progress .dialog-title,
.md .dialog-preloader .dialog-inner,
.md .dialog-progress .dialog-inner {
text-align: center;
}
.md .dialog-preloader .dialog-title ~ .preloader,
.md .dialog-preloader .dialog-text ~ .preloader {
margin-top: 20px;
}
.md .dialog-progress .dialog-title ~ .progressbar,
.md .dialog-progress .dialog-text ~ .progressbar,
.md .dialog-progress .dialog-title ~ .progressbar-infinite,
.md .dialog-progress .dialog-text ~ .progressbar-infinite {
margin-top: 16px;
}
/* === Popup === */
:root {
--f7-popup-border-radius: 0px;
--f7-popup-tablet-width: 630px;
--f7-popup-tablet-height: 630px;
--f7-popup-push-offset: var(--f7-safe-area-top);
/*
--f7-popup-tablet-border-radius: var(--f7-popup-border-radius);
*/
}
.ios {
--f7-popup-tablet-border-radius: 5px;
--f7-popup-transition-duration: 400ms;
--f7-popup-transition-timing-function: initial;
--f7-popup-push-border-radius: 10px;
}
.md {
--f7-popup-tablet-border-radius: 28px;
--f7-popup-transition-duration: 600ms;
--f7-popup-transition-timing-function: cubic-bezier(0, 1, 0.2, 1);
--f7-popup-push-border-radius: 28px;
}
.popup-backdrop {
z-index: 10500;
}
.popup-backdrop-unique {
z-index: 11000;
}
.popup {
position: absolute;
left: 0;
top: 0px;
width: 100%;
height: 100%;
display: none;
box-sizing: border-box;
transition-property: transform;
transition-timing-function: var(--f7-popup-transition-timing-function);
transform: translate3d(0, 100vh, 0);
background: #fff;
z-index: 11000;
overflow: hidden;
border-radius: var(--f7-popup-border-radius);
}
.dark .popup,
.popup.dark {
background: #000;
}
.popup.modal-in,
.popup.modal-out {
transition-duration: var(--f7-popup-transition-duration);
}
.popup.not-animated {
transition-duration: 0ms;
}
.popup.modal-in {
display: block;
transform: translate3d(0, 0, 0);
}
.popup.modal-out {
transform: translate3d(0, 100vh, 0);
}
.popup.swipe-close-to-top.modal-out {
transform: translate3d(0, -100vh, 0);
}
@media (min-width: 630px) and (min-height: 630px) {
.popup:not(.popup-tablet-fullscreen) {
--f7-safe-area-top: 0px;
--f7-safe-area-bottom: 0px;
width: var(--f7-popup-tablet-width);
height: var(--f7-popup-tablet-height);
left: 50%;
top: 50%;
margin-left: calc(-1 * var(--f7-popup-tablet-width) / 2);
margin-top: calc(-1 * var(--f7-popup-tablet-height) / 2);
transform: translate3d(0, 100vh, 0);
border-radius: var(--f7-popup-tablet-border-radius, var(--f7-popup-border-radius));
}
.popup:not(.popup-tablet-fullscreen).modal-in {
transform: translate3d(0, 0, 0);
}
.popup:not(.popup-tablet-fullscreen).modal-out {
transform: translate3d(0, 100vh, 0);
}
.popup:not(.popup-tablet-fullscreen).swipe-close-to-top.modal-out {
transform: translate3d(0, -100vh, 0);
}
.popup:not(.popup-tablet-fullscreen).popup-behind {
transform: translate3d(0, 0, 0) scale(0.9);
pointer-events: none;
}
.popup:not(.popup-tablet-fullscreen).popup-behind.modal-out {
transform: translate3d(0, 100vh, 0) scale(0.9);
}
html.with-modal-popup-push .popup-push:not(.popup-tablet-fullscreen) {
margin-top: 0;
}
}
html.with-modal-popup .framework7-root > .views .page-content,
html.with-modal-popup .framework7-root > .view .page-content,
html.with-modal-popup .framework7-root > .panel .page-content {
overflow: hidden;
-webkit-overflow-scrolling: auto;
}
html.with-modal-popup-push .popup-push,
html.with-modal-popup-push-closing .popup-push {
top: calc(var(--f7-popup-push-offset) + 10px);
height: calc(100% - var(--f7-popup-push-offset) - 10px);
border-radius: var(--f7-popup-push-border-radius) var(--f7-popup-push-border-radius) 0 0;
--f7-safe-area-top: 0px;
}
html.with-modal-popup-push .popup-push .view,
html.with-modal-popup-push-closing .popup-push .view,
html.with-modal-popup-push .popup-push .page,
html.with-modal-popup-push-closing .popup-push .page {
--f7-safe-area-top: 0px;
}
html.with-modal-popup-push .framework7-root,
html.with-modal-popup-push-closing .framework7-root {
background: #000;
}
html.with-modal-popup-push .framework7-root > .views,
html.with-modal-popup-push-closing .framework7-root > .views,
html.with-modal-popup-push .framework7-root > .view,
html.with-modal-popup-push-closing .framework7-root > .view {
transition-duration: var(--f7-popup-transition-duration);
transition-timing-function: var(--f7-popup-transition-timing-function);
}
html.with-modal-popup-push.dark .framework7-root > .views:after,
html.with-modal-popup-push-closing.dark .framework7-root > .views:after,
html.with-modal-popup-push.dark .framework7-root > .view:after,
html.with-modal-popup-push-closing.dark .framework7-root > .view:after,
html.with-modal-popup-push .dark .framework7-root > .views:after,
html.with-modal-popup-push-closing .dark .framework7-root > .views:after,
html.with-modal-popup-push .dark .framework7-root > .view:after,
html.with-modal-popup-push-closing .dark .framework7-root > .view:after,
html.with-modal-popup-push .dark.framework7-root > .views:after,
html.with-modal-popup-push-closing .dark.framework7-root > .views:after,
html.with-modal-popup-push .dark.framework7-root > .view:after,
html.with-modal-popup-push-closing .dark.framework7-root > .view:after,
html.with-modal-popup-push .framework7-root > .views.dark:after,
html.with-modal-popup-push-closing .framework7-root > .views.dark:after,
html.with-modal-popup-push .framework7-root > .view.dark:after,
html.with-modal-popup-push-closing .framework7-root > .view.dark:after {
content: '';
position: absolute;
pointer-events: none;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: rgba(255, 255, 255, 0.1);
z-index: 13000;
border-radius: var(--f7-popup-push-border-radius) var(--f7-popup-push-border-radius) 0 0;
opacity: 1;
animation: popup-dark-push-overlay-fade-in var(--f7-popup-transition-duration) forwards;
}
html.with-modal-popup-push .framework7-root > .views,
html.with-modal-popup-push .framework7-root > .view {
border-radius: var(--f7-popup-push-border-radius) var(--f7-popup-push-border-radius) 0 0;
transform: translate3d(0, 0, 0px) scale(var(--f7-popup-push-scale, 1)) !important;
}
html.with-modal-popup-push .popup:after {
content: '';
pointer-events: none;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.4);
z-index: 13000;
transition-duration: var(--f7-popup-transition-duration);
transition-timing-function: var(--f7-popup-transition-timing-function);
border-radius: var(--f7-popup-push-border-radius) var(--f7-popup-push-border-radius) 0 0;
opacity: 0;
}
html.with-modal-popup-push.dark .popup:after,
html.with-modal-popup-push .dark .popup:after,
html.with-modal-popup-push .dark.popup:after {
background: rgba(255, 255, 255, 0.05);
}
html.with-modal-popup-push .popup-behind {
transform: translate3d(0, 0px, 0px) scale(var(--f7-popup-push-scale, 1));
}
html.with-modal-popup-push .popup-behind.modal-out {
transform: translate3d(0, 100vh, 0) scale(var(--f7-popup-push-scale, 1));
}
html.with-modal-popup-push .popup-behind:not(.popup-push) {
border-radius: var(--f7-popup-push-border-radius) var(--f7-popup-push-border-radius) 0 0;
}
html.with-modal-popup-push .popup-behind.popup-push {
transform: translate3d(0, calc(0px - var(--f7-popup-push-offset) - 10px), 0px) scale(var(--f7-popup-push-scale, 1));
}
html.with-modal-popup-push .popup-behind.popup-push.modal-out {
transform: translate3d(0, calc(0px - var(--f7-popup-push-offset) - 10px + 100vh), 0px) scale(var(--f7-popup-push-scale, 1));
}
html.with-modal-popup-push .popup-behind:after {
opacity: 1;
pointer-events: auto;
}
html.with-modal-popup-push-closing.dark .framework7-root > .views:after,
html.with-modal-popup-push-closing.dark .framework7-root > .view:after,
html.with-modal-popup-push-closing .dark .framework7-root > .views:after,
html.with-modal-popup-push-closing .dark .framework7-root > .view:after,
html.with-modal-popup-push-closing .dark.framework7-root > .views:after,
html.with-modal-popup-push-closing .dark.framework7-root > .view:after,
html.with-modal-popup-push-closing .framework7-root > .views.dark:after,
html.with-modal-popup-push-closing .framework7-root > .view.dark:after {
animation: popup-dark-push-overlay-fade-out var(--f7-popup-transition-duration) forwards;
animation-timing-function: var(--f7-popup-transition-timing-function);
}
@keyframes popup-dark-push-overlay-fade-in {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes popup-dark-push-overlay-fade-out {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
/* === Login Screen === */
:root {
--f7-login-screen-blocks-max-width: 480px;
--f7-login-screen-title-text-align: center;
--f7-login-screen-title-text-color: inherit;
--f7-login-screen-title-letter-spacing: 0;
}
.ios {
--f7-login-screen-blocks-margin-vertical: 25px;
--f7-login-screen-transition-timing-function: initial;
--f7-login-screen-transition-duration: 400ms;
--f7-login-screen-title-font-weight: 600;
--f7-login-screen-title-font-size: 28px;
--f7-login-screen-content-bg-color: #fff;
--f7-login-screen-bg-color: #fff;
}
.ios .dark,
.ios.dark {
--f7-login-screen-bg-color: #000;
--f7-login-screen-content-bg-color: #000;
}
.md {
--f7-login-screen-transition-duration: 600ms;
--f7-login-screen-transition-timing-function: cubic-bezier(0, 1, 0.2, 1);
--f7-login-screen-blocks-margin-vertical: 24px;
--f7-login-screen-title-font-weight: 400;
--f7-login-screen-title-font-size: 28px;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-login-screen-content-bg-color: var(--f7-md-surface);
--f7-login-screen-bg-color: var(--f7-md-surface);
}
.login-screen {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
display: none;
box-sizing: border-box;
transition-property: transform;
transform: translate3d(0, 100vh, 0);
background: var(--f7-login-screen-bg-color);
transition-timing-function: var(--f7-login-screen-transition-timing-function);
z-index: 11000;
}
.login-screen.modal-in,
.login-screen.modal-out {
transition-duration: var(--f7-login-screen-transition-duration);
}
.login-screen.not-animated {
transition-duration: 0ms;
}
.login-screen.modal-in {
display: block;
transform: translate3d(0, 0, 0);
}
.login-screen.modal-out {
transform: translate3d(0, 100%, 0);
}
.login-screen-content,
.login-screen-page,
.login-screen .page {
background: var(--f7-login-screen-content-bg-color);
}
.login-screen-content .login-screen-title,
.login-screen-page .login-screen-title,
.login-screen-content .list,
.login-screen-page .list,
.login-screen-content .block,
.login-screen-page .block {
margin: var(--f7-login-screen-blocks-margin-vertical) auto;
}
.login-screen-content .login-screen-title,
.login-screen-page .login-screen-title,
.login-screen-content .list,
.login-screen-page .list,
.login-screen-content .block,
.login-screen-page .block,
.login-screen-content .block-footer,
.login-screen-page .block-footer,
.login-screen-content .block-header,
.login-screen-page .block-header {
max-width: var(--f7-login-screen-blocks-max-width);
}
.login-screen-content .list ul,
.login-screen-page .list ul {
background: none;
}
.login-screen-content .list ul:before,
.login-screen-page .list ul:before,
.login-screen-content .list ul:after,
.login-screen-page .list ul:after {
display: none !important;
}
.login-screen-content .block-footer,
.login-screen-page .block-footer,
.login-screen-content .block-header,
.login-screen-page .block-header {
text-align: center;
margin-left: auto;
margin-right: auto;
}
.login-screen-title {
text-align: var(--f7-login-screen-title-text-align);
font-size: var(--f7-login-screen-title-font-size);
font-weight: var(--f7-login-screen-title-font-weight);
color: var(--f7-login-screen-title-text-color);
letter-spacing: var(--f7-login-screen-title-letter-spacing);
}
.login-screen-page,
.login-screen > .view > .page,
.login-screen > .page {
display: flex;
flex-direction: column;
}
.login-screen-page .page-content,
.login-screen > .view > .page .page-content,
.login-screen > .page .page-content,
.login-screen-page .login-screen-content,
.login-screen > .view > .page .login-screen-content,
.login-screen > .page .login-screen-content {
margin-top: auto;
margin-bottom: auto;
height: auto;
max-height: 100%;
width: 100%;
}
.dark .login-screen-content .list ul,
.dark .login-screen-content .block-strong,
.dark .login-screen-page .list ul,
.dark .login-screen-page .block-strong,
.dark.login-screen-page .list ul,
.dark.login-screen-page .block-strong {
background-color: transparent;
}
/* === Popover === */
:root {
--f7-popover-width: 260px;
}
.ios {
--f7-popover-border-radius: 13px;
--f7-popover-actions-icon-size: 28px;
--f7-popover-transition-timing-function: initial;
--f7-popover-bg-color: rgba(255, 255, 255, 0.95);
--f7-popover-actions-label-text-color: rgba(0, 0, 0, 0.45);
}
.ios .dark,
.ios.dark {
--f7-popover-bg-color: rgba(30, 30, 30, 0.95);
--f7-popover-actions-label-text-color: rgba(255, 255, 255, 0.55);
}
.md {
--f7-popover-transition-timing-function: cubic-bezier(0, 0.8, 0.34, 1);
--f7-popover-border-radius: 28px;
--f7-popover-actions-icon-size: 24px;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-popover-bg-color: var(--f7-md-surface-3);
--f7-popover-actions-label-text-color: var(--f7-md-on-surface-variant);
}
.popover-backdrop-unique {
z-index: 13500;
}
.popover {
width: var(--f7-popover-width);
z-index: 13500;
margin: 0;
top: 0;
opacity: 0;
left: 0;
position: absolute;
display: none;
transition-duration: 300ms;
background-color: var(--f7-popover-bg-color);
border-radius: var(--f7-popover-border-radius);
will-change: transform, opacity;
--f7-safe-area-top: 0px;
--f7-safe-area-left: 0px;
--f7-safe-area-right: 0px;
--f7-safe-area-bottom: 0px;
}
.popover .list {
margin: 0;
}
.popover .list ul {
background: none;
}
.popover .list:first-child ul:before {
display: none !important;
}
.popover .list:last-child ul:after {
display: none !important;
}
.popover .list:first-child ul {
border-radius: var(--f7-popover-border-radius) var(--f7-popover-border-radius) 0 0;
}
.popover .list:first-child li:first-child,
.popover .list:first-child li:first-child a,
.popover .list:first-child li:first-child > label {
border-radius: var(--f7-popover-border-radius) var(--f7-popover-border-radius) 0 0;
}
.popover .list:last-child ul {
border-radius: 0 0 var(--f7-popover-border-radius) var(--f7-popover-border-radius);
}
.popover .list:last-child li:last-child,
.popover .list:last-child li:last-child a,
.popover .list:last-child li:last-child > label {
border-radius: 0 0 var(--f7-popover-border-radius) var(--f7-popover-border-radius);
}
.popover .list:first-child:last-child li:first-child:last-child,
.popover .list:first-child:last-child li:first-child:last-child a,
.popover .list:first-child:last-child li:first-child:last-child > label,
.popover .list:first-child:last-child ul {
border-radius: var(--f7-popover-border-radius);
}
.popover .list + .list {
margin-top: var(--f7-list-margin-vertical);
}
.popover.modal-in {
opacity: 1;
}
.popover.not-animated {
transition-duration: 0ms;
}
.popover,
.popover-backdrop {
transition-timing-function: var(--f7-popover-transition-timing-function);
}
.popover-inner {
overflow: auto;
-webkit-overflow-scrolling: touch;
}
.popover-from-actions .item-link i.icon {
width: var(--f7-popover-actions-icon-size);
height: var(--f7-popover-actions-icon-size);
font-size: var(--f7-popover-actions-icon-size);
}
.ios .popover-from-actions-strong {
font-weight: 600;
}
.md .popover-from-actions-strong {
font-weight: 500;
}
.popover-from-actions-label {
line-height: 1.3;
position: relative;
display: flex;
align-items: center;
padding: var(--f7-actions-label-padding);
color: var(--f7-popover-actions-label-text-color);
font-size: var(--f7-actions-label-font-size);
justify-content: var(--f7-actions-label-justify-content);
}
.popover-from-actions-label:after {
content: '';
position: absolute;
background-color: var(--f7-list-item-border-color);
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.popover-from-actions-label:last-child:after {
display: none !important;
}
.md .popover-from-actions-label {
justify-content: center;
}
.popover-arrow {
width: 26px;
height: 26px;
position: absolute;
left: -26px;
top: 0;
z-index: 100;
overflow: hidden;
}
.popover-arrow:after {
content: '';
background: var(--f7-popover-bg-color);
width: 26px;
height: 26px;
position: absolute;
left: 0;
top: 0;
border-radius: 3px;
transform: rotate(45deg);
}
.popover-arrow.on-left {
left: -26px;
}
.popover-arrow.on-left:after {
left: 19px;
top: 0;
}
.popover-arrow.on-right {
left: 100%;
}
.popover-arrow.on-right:after {
left: -19px;
top: 0;
}
.popover-arrow.on-top {
left: 0;
top: -26px;
}
.popover-arrow.on-top:after {
left: 0;
top: 19px;
}
.popover-arrow.on-bottom {
left: 0;
top: 100%;
}
.popover-arrow.on-bottom:after {
left: 0;
top: -19px;
}
.ios .popover {
transform: none;
transition-property: opacity;
}
.md .popover {
transform: scale(0.85, 0.6);
transition-property: opacity, transform;
}
.md .popover.modal-in {
opacity: 1;
transform: scale(1);
}
.md .popover.modal-out {
opacity: 0;
transform: scale(1);
}
.md .popover-on-top {
transform-origin: center bottom;
}
.md .popover-on-top.popover-on-right {
transform-origin: left bottom;
}
.md .popover-on-top.popover-on-left {
transform-origin: right bottom;
}
.md .popover-on-middle {
transform-origin: center center;
}
.md .popover-on-middle.popover-on-right {
transform-origin: left center;
}
.md .popover-on-middle.popover-on-left {
transform-origin: right center;
}
.md .popover-on-bottom {
transform-origin: center top;
}
.md .popover-on-bottom.popover-on-right {
transform-origin: left top;
}
.md .popover-on-bottom.popover-on-left {
transform-origin: right top;
}
/* === Actions === */
:root {
--f7-actions-grid-button-font-size: 12px;
--f7-actions-grid-button-icon-size: 48px;
}
.ios {
--f7-actions-transition-timing-function: initial;
--f7-actions-border-radius: 13px;
/*
--f7-actions-button-text-color: var(--f7-theme-color);
*/
--f7-actions-grid-button-text-color: #757575;
--f7-actions-button-padding: 0px;
--f7-actions-button-text-align: center;
--f7-actions-button-height: 57px;
--f7-actions-button-height-landscape: 44px;
--f7-actions-button-font-size: 20px;
--f7-actions-button-icon-size: 28px;
--f7-actions-button-justify-content: center;
--f7-actions-label-padding: 8px 10px;
--f7-actions-label-font-weight: 400;
--f7-actions-label-font-size: 13px;
--f7-actions-label-justify-content: center;
--f7-actions-group-border-color: transparent;
--f7-actions-group-margin: 8px;
--f7-actions-bg-color: rgba(255, 255, 255, 0.95);
--f7-actions-bg-color-rgb: 255, 255, 255;
--f7-actions-button-border-color: rgba(0, 0, 0, 0.2);
--f7-actions-button-pressed-bg-color: rgba(230, 230, 230, 0.9);
--f7-actions-button-pressed-bg-color-rgb: 230, 230, 230;
--f7-actions-label-text-color: #8a8a8a;
}
.ios .dark,
.ios.dark {
--f7-actions-bg-color: rgba(45, 45, 45, 0.95);
--f7-actions-bg-color-rgb: 45, 45, 45;
--f7-actions-button-border-color: rgba(255, 255, 255, 0.15);
--f7-actions-button-pressed-bg-color: rgba(50, 50, 50, 0.9);
--f7-actions-button-pressed-bg-color-rgb: 50, 50, 50;
--f7-actions-label-text-color: rgba(255, 255, 255, 0.55);
}
.md {
--f7-actions-transition-timing-function: cubic-bezier(0, 0.8, 0.34, 1);
--f7-actions-border-radius: 16px;
--f7-actions-button-border-color: transparent;
--f7-actions-button-padding: 0 16px;
--f7-actions-button-text-align: left;
--f7-actions-button-height: 48px;
--f7-actions-button-height-landscape: 48px;
--f7-actions-button-font-size: 16px;
--f7-actions-button-icon-size: 24px;
--f7-actions-button-justify-content: space-between;
--f7-actions-label-padding: 12px 16px;
--f7-actions-label-font-size: 14px;
--f7-actions-label-font-weight: 500;
--f7-actions-label-justify-content: flex-start;
--f7-actions-group-margin: 0px;
--f7-actions-button-pressed-bg-color: #e5e5e5;
}
.md .dark,
.md.dark {
--f7-actions-button-pressed-bg-color: #2e2e2e;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-actions-button-text-color: var(--f7-md-on-surface);
--f7-actions-bg-color: var(--f7-md-surface-3);
--f7-actions-group-border-color: var(--f7-md-outline);
--f7-actions-label-text-color: var(--f7-theme-color);
--f7-actions-grid-button-text-color: var(--f7-md-on-surface);
}
.actions-backdrop-unique {
z-index: 13500;
}
.actions-modal {
position: absolute;
left: 0;
bottom: 0;
z-index: 13500;
width: 100%;
transform: translate3d(0, 100%, 0);
display: none;
max-height: 100%;
overflow: auto;
-webkit-overflow-scrolling: touch;
transition-property: transform;
will-change: transform;
}
.actions-modal.modal-in,
.actions-modal.modal-out {
transition-duration: 300ms;
}
.actions-modal.not-animated {
transition-duration: 0ms;
}
.ios .actions-modal.modal-in {
transform: translate3d(0, calc(-1 * var(--f7-safe-area-bottom)), 0);
}
.md .actions-modal.modal-in {
transform: translate3d(0, 0, 0);
}
.actions-modal.modal-out {
z-index: 13499;
transform: translate3d(0, 100%, 0);
}
@media (min-width: 496px) {
.actions-modal {
width: 480px;
left: 50%;
margin-left: -240px;
}
}
@media (orientation: landscape) {
.actions-modal {
--f7-actions-button-height: var(--f7-actions-button-height-landscape);
}
}
.actions-backdrop,
.actions-modal {
transition-timing-function: var(--f7-actions-transition-timing-function);
}
.actions-group {
overflow: hidden;
position: relative;
margin: var(--f7-actions-group-margin);
transform: translate3d(0, 0, 0);
}
.actions-group:after {
content: '';
position: absolute;
background-color: var(--f7-actions-group-border-color);
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.actions-group:last-child:after {
display: none !important;
}
.actions-button,
.actions-label {
width: 100%;
font-weight: normal;
margin: 0;
box-sizing: border-box;
display: block;
position: relative;
overflow: hidden;
text-align: var(--f7-actions-button-text-align);
}
.actions-button:after,
.actions-label:after {
content: '';
position: absolute;
background-color: var(--f7-actions-button-border-color);
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.actions-button a,
.actions-label a {
text-decoration: none;
color: inherit;
display: block;
}
.actions-button {
cursor: pointer;
display: flex;
color: var(--f7-actions-button-text-color, var(--f7-theme-color));
font-size: var(--f7-actions-button-font-size);
height: var(--f7-actions-button-height);
line-height: var(--f7-actions-button-height);
padding: var(--f7-actions-button-padding);
justify-content: var(--f7-actions-button-justify-content);
z-index: 10;
}
.actions-button.active-state {
background-color: var(--f7-actions-button-pressed-bg-color) !important;
}
.actions-button[class*='color-'] {
color: var(--f7-theme-color);
}
@supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
.ios-translucent-modals .actions-button.active-state {
background-color: rgba(var(--f7-actions-button-pressed-bg-color-rgb), 0.8);
-webkit-backdrop-filter: saturate(180%) blur(20px);
backdrop-filter: saturate(180%) blur(20px);
}
}
.actions-button-media {
flex-shrink: 0;
display: flex;
align-items: center;
}
.actions-button-media i.icon {
width: var(--f7-actions-button-icon-size);
height: var(--f7-actions-button-icon-size);
font-size: var(--f7-actions-button-icon-size);
}
.actions-button a,
.actions-button-text {
position: relative;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.actions-button-text {
width: 100%;
flex-shrink: 1;
text-align: var(--f7-actions-button-text-align);
}
.actions-label {
line-height: 1.3;
display: flex;
align-items: center;
font-size: var(--f7-actions-label-font-size);
font-weight: var(--f7-actions-label-font-weight);
color: var(--f7-actions-label-text-color);
padding: var(--f7-actions-label-padding);
justify-content: var(--f7-actions-label-justify-content);
min-height: var(--f7-actions-label-min-height, var(--f7-actions-button-height));
}
.actions-label[class*=' color-'] {
--f7-actions-label-text-color: var(--f7-theme-color);
}
.actions-grid .actions-group {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
margin-top: 0;
}
.actions-grid .actions-group:not(:last-child) {
margin-bottom: 0;
}
.actions-grid .actions-button,
.actions-grid .actions-label {
background: none;
}
.actions-grid .actions-button {
width: 33.33333333%;
display: block;
color: var(--f7-actions-grid-button-text-color);
height: auto;
line-height: 1;
padding: 16px;
}
.actions-grid .actions-button:after {
display: none !important;
}
.actions-grid .actions-button-media {
margin-left: auto !important;
margin-right: auto !important;
width: var(--f7-actions-grid-button-icon-size);
height: var(--f7-actions-grid-button-icon-size);
}
.actions-grid .actions-button-media i.icon {
width: var(--f7-actions-grid-button-icon-size);
height: var(--f7-actions-grid-button-icon-size);
font-size: var(--f7-actions-grid-button-icon-size);
}
.actions-grid .actions-button-text {
margin-left: 0 !important;
text-align: center !important;
margin-top: 8px;
line-height: 1.33em;
height: 1.33em;
font-size: var(--f7-actions-grid-button-font-size);
}
.ios .actions-group {
border-radius: var(--f7-actions-border-radius);
}
.ios .actions-button,
.ios .actions-label {
background: var(--f7-actions-bg-color);
}
@supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
.ios-translucent-modals .ios .actions-button,
.ios-translucent-modals .ios .actions-label {
background-color: rgba(var(--f7-actions-bg-color-rgb), 0.8);
-webkit-backdrop-filter: saturate(180%) blur(20px);
backdrop-filter: saturate(180%) blur(20px);
}
}
.ios .actions-button:first-child,
.ios .actions-label:first-child {
border-radius: var(--f7-actions-border-radius) var(--f7-actions-border-radius) 0 0;
}
.ios .actions-button:last-child,
.ios .actions-label:last-child {
border-radius: 0 0 var(--f7-actions-border-radius) var(--f7-actions-border-radius);
}
.ios .actions-button:last-child:after,
.ios .actions-label:last-child:after {
display: none !important;
}
.ios .actions-button:first-child:last-child,
.ios .actions-label:first-child:last-child {
border-radius: var(--f7-actions-border-radius);
}
.ios .actions-button b,
.ios .actions-label b,
.ios .actions-button.actions-button-strong,
.ios .actions-label.actions-button-strong {
font-weight: 600;
}
.ios .actions-grid .actions-group {
border-radius: 0;
background: var(--f7-actions-bg-color);
}
@supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
.ios-translucent-modals .ios .actions-grid .actions-group {
background-color: rgba(var(--f7-actions-bg-color-rgb), 0.8);
-webkit-backdrop-filter: saturate(180%) blur(20px);
backdrop-filter: saturate(180%) blur(20px);
}
}
.ios .actions-grid .actions-group:first-child {
border-radius: var(--f7-actions-border-radius) var(--f7-actions-border-radius) 0 0;
}
.ios .actions-grid .actions-group:last-child {
border-radius: 0 0 var(--f7-actions-border-radius) var(--f7-actions-border-radius);
}
.ios .actions-grid .actions-group:first-child:last-child {
border-radius: var(--f7-actions-border-radius);
}
.ios .actions-grid .actions-button,
.ios .actions-grid .actions-label {
border-radius: 0 !important;
}
.ios .actions-button-media {
margin-left: 16px;
}
.ios .actions-button-media + .actions-button-text {
text-align: left;
margin-left: 16px;
}
.md .actions-modal {
background-color: var(--f7-actions-bg-color);
border-radius: var(--f7-actions-border-radius) var(--f7-actions-border-radius) 0 0;
padding-bottom: var(--f7-safe-area-bottom);
}
.md .actions-button {
transition-duration: 300ms;
}
.md .actions-button b,
.md .actions-label b,
.md .actions-button.actions-button-strong,
.md .actions-label.actions-button-strong {
font-weight: 500;
}
.md .actions-button-media {
min-width: 40px;
}
.md .actions-button-media + .actions-button-text {
margin-left: 16px;
}
/* === Sheet Modal === */
:root {
--f7-sheet-height: 260px;
--f7-sheet-push-offset: var(--f7-safe-area-top);
}
.ios {
--f7-sheet-border-radius: 0px;
--f7-sheet-border-color: var(--f7-bars-border-color);
--f7-sheet-transition-timing-function: initial;
--f7-sheet-push-border-radius: 10px;
--f7-sheet-transition-duration: 300ms;
--f7-sheet-bg-color: #fff;
}
.ios .dark,
.ios.dark {
--f7-sheet-bg-color: #202020;
}
.md {
--f7-sheet-border-radius: 16px;
--f7-sheet-push-border-radius: 16px;
--f7-sheet-border-color: transparent;
--f7-sheet-transition-timing-function: cubic-bezier(0, 0.8, 0.34, 1);
--f7-sheet-transition-duration: 400ms;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-sheet-bg-color: var(--f7-md-surface);
}
.sheet-backdrop {
z-index: 11000;
}
.sheet-backdrop-unique {
z-index: 12500;
}
.sheet-modal {
overflow: hidden;
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: var(--f7-sheet-height);
display: none;
box-sizing: border-box;
transition-property: transform;
transform: translate3d(0, 100%, 0);
background: var(--f7-sheet-bg-color);
z-index: 12500;
will-change: transform, opacity;
}
.sheet-modal.modal-in,
.sheet-modal.modal-out {
transition-duration: var(--f7-sheet-transition-duration);
}
.sheet-modal.not-animated {
transition-duration: 0ms;
}
.sheet-modal.modal-in {
display: block;
transform: translate3d(0, 0, 0);
}
.sheet-modal.modal-in-swipe-step,
.sheet-modal.modal-in-breakpoint {
display: block;
transform: translate3d(0, var(--f7-sheet-breakpoint, var(--f7-sheet-swipe-step, 0)), 0);
}
.sheet-modal.modal-out {
transform: translate3d(0, 100%, 0);
}
.sheet-modal .sheet-modal-inner {
height: 100%;
position: relative;
overflow: hidden;
}
.sheet-modal .toolbar {
--f7-safe-area-bottom: 0px;
position: relative;
width: 100%;
}
.sheet-modal .toolbar:after,
.sheet-modal .toolbar:before {
display: none;
}
.sheet-modal .toolbar + .sheet-modal-inner {
height: calc(100% - var(--f7-toolbar-height));
}
.sheet-modal .toolbar + .sheet-modal-inner .page-content {
--f7-page-toolbar-top-offset: 0px;
--f7-page-toolbar-bottom-offset: 0px;
}
.sheet-backdrop,
.sheet-modal {
transition-timing-function: var(--f7-sheet-transition-timing-function);
}
.sheet-modal-top {
border-radius: 0 0 var(--f7-sheet-border-radius) var(--f7-sheet-border-radius);
}
.sheet-modal-top:after {
content: '';
position: absolute;
background-color: var(--f7-sheet-border-color);
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.sheet-modal-top:after {
z-index: 700;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
transform-style: preserve-3d;
}
.sheet-modal-bottom,
.sheet-modal:not(.sheet-modal-top) {
--f7-safe-area-top: 0px;
border-radius: var(--f7-sheet-border-radius) var(--f7-sheet-border-radius) 0 0;
}
.sheet-modal-bottom:before,
.sheet-modal:not(.sheet-modal-top):before {
content: '';
position: absolute;
background-color: var(--f7-sheet-border-color);
display: block;
z-index: 15;
top: 0;
right: auto;
bottom: auto;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 0%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.sheet-modal-bottom:before,
.sheet-modal:not(.sheet-modal-top):before {
z-index: 700;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
transform-style: preserve-3d;
}
.sheet-modal-top {
--f7-safe-area-bottom: 0px;
bottom: auto;
top: 0;
transform: translate3d(0, -100%, 0);
}
.sheet-modal-top.modal-out {
transform: translate3d(0, -100%, 0);
}
.sheet-modal-top .toolbar-bottom {
position: absolute;
}
.sheet-modal-top .page-content {
padding-top: var(--f7-safe-area-top);
}
html.with-modal-sheet-push .sheet-modal-push,
html.with-modal-sheet-push-closing .sheet-modal-push {
--f7-sheet-border-color: transparent;
border-radius: var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius) 0 0;
overflow: hidden;
}
html.with-modal-sheet-push .sheet-modal-push .view,
html.with-modal-sheet-push-closing .sheet-modal-push .view,
html.with-modal-sheet-push .sheet-modal-push .page,
html.with-modal-sheet-push-closing .sheet-modal-push .page {
--f7-safe-area-top: 0px;
}
html.with-modal-sheet-push .sheet-modal-push.sheet-modal-top,
html.with-modal-sheet-push-closing .sheet-modal-push.sheet-modal-top {
border-radius: 0 0 var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius);
}
html.with-modal-sheet-push .framework7-root,
html.with-modal-sheet-push-closing .framework7-root {
background: #000;
}
html.with-modal-sheet-push .framework7-root > .views,
html.with-modal-sheet-push-closing .framework7-root > .views,
html.with-modal-sheet-push .framework7-root > .view,
html.with-modal-sheet-push-closing .framework7-root > .view {
transition-duration: var(--f7-sheet-transition-duration);
transition-timing-function: var(--f7-sheet-transition-timing-function);
}
html.with-modal-sheet-push.dark .framework7-root > .views:after,
html.with-modal-sheet-push-closing.dark .framework7-root > .views:after,
html.with-modal-sheet-push.dark .framework7-root > .view:after,
html.with-modal-sheet-push-closing.dark .framework7-root > .view:after,
html.with-modal-sheet-push .dark .framework7-root > .views:after,
html.with-modal-sheet-push-closing .dark .framework7-root > .views:after,
html.with-modal-sheet-push .dark .framework7-root > .view:after,
html.with-modal-sheet-push-closing .dark .framework7-root > .view:after,
html.with-modal-sheet-push .dark.framework7-root > .views:after,
html.with-modal-sheet-push-closing .dark.framework7-root > .views:after,
html.with-modal-sheet-push .dark.framework7-root > .view:after,
html.with-modal-sheet-push-closing .dark.framework7-root > .view:after,
html.with-modal-sheet-push .framework7-root > .views.dark:after,
html.with-modal-sheet-push-closing .framework7-root > .views.dark:after,
html.with-modal-sheet-push .framework7-root > .view.dark:after,
html.with-modal-sheet-push-closing .framework7-root > .view.dark:after {
content: '';
position: absolute;
pointer-events: none;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: rgba(255, 255, 255, 0.1);
z-index: 13000;
opacity: 1;
transition-duration: var(--f7-sheet-transition-duration);
transition-timing-function: var(--f7-sheet-transition-timing-function);
animation: sheet-dark-push-overlay-fade-in var(--f7-sheet-transition-duration);
animation-timing-function: var(--f7-sheet-transition-timing-function);
}
html.with-modal-sheet-push .framework7-root > .views,
html.with-modal-sheet-push .framework7-root > .view {
border-radius: var(--f7-sheet-push-border-radius);
transform: translate3d(0, 0, 0px) scale(var(--f7-sheet-push-scale, 1)) !important;
}
html.with-modal-sheet-push-closing.dark .framework7-root > .views:after,
html.with-modal-sheet-push-closing.dark .framework7-root > .view:after,
html.with-modal-sheet-push-closing .dark .framework7-root > .views:after,
html.with-modal-sheet-push-closing .dark .framework7-root > .view:after,
html.with-modal-sheet-push-closing .dark.framework7-root > .views:after,
html.with-modal-sheet-push-closing .dark.framework7-root > .view:after,
html.with-modal-sheet-push-closing .framework7-root > .views.dark:after,
html.with-modal-sheet-push-closing .framework7-root > .view.dark:after {
opacity: 0;
animation: none;
}
@keyframes sheet-dark-push-overlay-fade-in {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.md .sheet-modal .toolbar a.link:not(.tab-link) {
flex-shrink: 0;
}
/* === Toast === */
:root {
--f7-toast-font-size: 14px;
--f7-toast-icon-size: 48px;
--f7-toast-max-width: 568px;
}
.ios {
--f7-toast-text-color: #fff;
--f7-toast-bg-color: rgba(0, 0, 0, 0.75);
--f7-toast-bg-color-rgb: 0, 0, 0;
--f7-toast-padding-horizontal: 16px;
--f7-toast-padding-vertical: 12px;
--f7-toast-border-radius: 8px;
--f7-toast-button-min-width: 64px;
}
.md {
--f7-toast-padding-horizontal: 24px;
--f7-toast-padding-vertical: 14px;
--f7-toast-border-radius: 16px;
--f7-toast-button-min-width: 64px;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-toast-text-color: var(--f7-md-on-surface);
--f7-toast-bg-color: var(--f7-md-surface-5);
}
.toast {
transition-property: transform, opacity;
position: absolute;
max-width: var(--f7-toast-max-width);
z-index: 20000;
color: var(--f7-toast-text-color);
font-size: var(--f7-toast-font-size);
box-sizing: border-box;
background-color: var(--f7-toast-bg-color);
opacity: 0;
}
@supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
.ios-translucent-modals .toast {
background-color: rgba(var(--f7-toast-bg-color-rgb), 0.8);
-webkit-backdrop-filter: saturate(180%) blur(20px);
backdrop-filter: saturate(180%) blur(20px);
}
}
.toast.modal-in {
opacity: 1;
}
.toast .toast-content {
display: flex;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
padding: var(--f7-toast-padding-vertical) var(--f7-toast-padding-horizontal);
}
.toast .toast-text {
line-height: 20px;
flex-shrink: 1;
min-width: 0;
}
.toast .toast-button {
flex-shrink: 0;
min-width: var(--f7-toast-button-min-width);
margin-top: -8px;
margin-bottom: -8px;
}
.toast.toast-with-icon .toast-content {
display: block;
text-align: center;
}
.toast.toast-with-icon .toast-text {
text-align: center;
}
.toast.toast-with-icon .toast-icon .f7-icons,
.toast.toast-with-icon .toast-icon .material-icons {
font-size: var(--f7-toast-icon-size);
}
.toast.toast-center {
top: 50%;
}
.toast.toast-top {
margin-top: var(--f7-safe-area-top);
}
.ios .toast {
transition-duration: 300ms;
width: 100%;
left: 0;
}
.ios .toast.toast-top {
top: 0;
transform: translate3d(0, -100%, 0);
}
.ios .toast.toast-top.modal-in {
transform: translate3d(0, 0%, 0);
}
.ios .toast.toast-center {
width: auto;
left: 50%;
border-radius: var(--f7-toast-border-radius);
transform: translate3d(-50%, -50%, 0);
}
.ios .toast.toast-center.modal-in {
transform: translate3d(-50%, -50%, 0);
}
.ios .toast.toast-bottom {
bottom: 0;
transform: translate3d(0, 100%, 0);
}
.ios .toast.toast-bottom.modal-in {
transform: translate3d(0, 0%, 0);
}
@media (max-width: 568px) {
.ios .toast.toast-top {
margin-top: 0;
}
.ios .toast.toast-top .toast-content {
padding-top: calc(var(--f7-toast-padding-vertical) + var(--f7-safe-area-top));
}
.ios .toast.toast-bottom .toast-content {
padding-bottom: calc(var(--f7-toast-padding-vertical) + var(--f7-safe-area-bottom));
}
}
@media (min-width: 569px) {
.ios .toast {
left: 50%;
margin-left: calc(-1 * var(--f7-toast-max-width) / 2);
border-radius: var(--f7-toast-border-radius);
}
.ios .toast.toast-top {
top: 16px;
}
.ios .toast.toast-center {
margin-left: 0;
}
.ios .toast.toast-bottom {
margin-bottom: calc(16px + var(--f7-safe-area-bottom));
}
}
@media (min-width: 1024px) {
.ios .toast {
margin-left: 0;
width: auto;
}
.ios .toast.toast-horizontal-left {
left: 16px;
}
.ios .toast.toast-horizontal-right {
left: auto;
right: 16px;
}
.ios .toast.toast-horizontal-center {
left: 50%;
width: var(--f7-toast-max-width);
margin-left: calc(-1 * var(--f7-toast-max-width) / 2);
}
}
.ios .toast-button {
margin-left: 16px;
margin-right: calc(-1 * var(--f7-button-padding-horizontal));
}
.md .toast {
transition-duration: 200ms;
border-radius: var(--f7-toast-border-radius);
width: calc(100% - 16px);
transform: scale(0.9);
left: 8px;
}
.md .toast.modal-in {
transform: scale(1);
}
.md .toast.modal-out {
transform: scale(1);
}
.md .toast.toast-top {
top: 8px;
}
.md .toast.toast-center {
left: 50%;
width: auto;
transform: scale(0.9) translate3d(-55%, -55%, 0);
}
.md .toast.toast-center.modal-in {
transform: scale(1) translate3d(-50%, -50%, 0);
}
.md .toast.toast-center.modal-out {
transform: scale(1) translate3d(-50%, -50%, 0);
}
.md .toast.toast-bottom {
bottom: calc(8px + var(--f7-safe-area-bottom));
}
@media (min-width: 584px) {
.md .toast {
left: 50%;
margin-left: calc(-1 * var(--f7-toast-max-width) / 2);
}
.md .toast.toast-center {
margin-left: 0;
}
}
@media (min-width: 1024px) {
.md .toast {
margin-left: 0;
width: auto;
}
.md .toast.toast-horizontal-left {
left: 24px;
}
.md .toast.toast-horizontal-right {
left: auto;
right: 24px;
}
.md .toast.toast-horizontal-center {
left: 50%;
width: var(--f7-toast-max-width);
margin-left: calc(-1 * var(--f7-toast-max-width) / 2);
}
.md .toast.toast-bottom {
bottom: calc(24px + var(--f7-safe-area-bottom));
}
.md .toast.toast-top {
top: 24px;
}
}
.md .toast-button {
margin-left: 16px;
margin-right: -8px;
}
/* === Preloader === */
:root {
--f7-preloader-modal-padding: 8px;
--f7-preloader-modal-bg-color: rgba(0, 0, 0, 0.8);
}
.ios {
--f7-preloader-color: #6c6c6c;
--f7-preloader-size: 20px;
--f7-preloader-modal-preloader-size: 34px;
--f7-preloader-modal-border-radius: 5px;
}
.md {
--f7-preloader-color: #757575;
--f7-preloader-size: 32px;
--f7-preloader-modal-preloader-size: 32px;
--f7-preloader-modal-border-radius: 4px;
}
.preloader {
display: inline-block;
vertical-align: middle;
width: var(--f7-preloader-size);
height: var(--f7-preloader-size);
font-size: 0;
position: relative;
}
.preloader .preloader-inner {
width: 100%;
height: 100%;
display: block;
position: relative;
}
/* === Preloader Modal === */
.preloader-backdrop {
visibility: visible;
opacity: 0;
background: none;
z-index: 14000;
}
.preloader-modal {
position: absolute;
left: 50%;
top: 50%;
padding: var(--f7-preloader-modal-padding);
background: var(--f7-preloader-modal-bg-color);
z-index: 14500;
transform: translateX(-50%) translateY(-50%);
border-radius: var(--f7-preloader-modal-border-radius);
}
.preloader-modal .preloader {
--f7-preloader-size: var(--f7-preloader-modal-preloader-size);
display: block !important;
}
html.with-modal-preloader .page-content,
.with-modal-preloader .page-content,
.with-modal-preloader.page-content {
overflow: hidden;
-webkit-overflow-scrolling: auto;
}
.preloader[class*='color-'] {
--f7-preloader-color: var(--f7-theme-color);
}
.preloader.color-white {
--f7-preloader-color: #fff;
}
.preloader.color-black {
--f7-preloader-color: #000;
}
.ios .preloader {
color: var(--f7-preloader-color);
}
.ios .preloader-inner {
animation: ios-preloader-spin 1s steps(8, end) infinite;
}
.ios .preloader-inner-line {
display: block;
width: 11.6%;
height: 33.33%;
border-radius: 100px;
background: currentColor;
position: absolute;
left: 50%;
top: 50%;
transform-origin: center 150%;
}
.ios .preloader-multi-color .preloader-inner-line,
.ios .preloader.color-multi .preloader-inner-line {
animation: ios-preloader-multicolor 3s linear infinite;
}
.ios .preloader-inner-line:nth-child(1) {
transform: translate(-50%, -150%) rotate(0deg);
opacity: 0.27;
}
.ios .preloader-inner-line:nth-child(2) {
transform: translate(-50%, -150%) rotate(45deg);
opacity: 0.35285714;
}
.ios .preloader-inner-line:nth-child(3) {
transform: translate(-50%, -150%) rotate(90deg);
opacity: 0.43571429;
}
.ios .preloader-inner-line:nth-child(4) {
transform: translate(-50%, -150%) rotate(135deg);
opacity: 0.51857143;
}
.ios .preloader-inner-line:nth-child(5) {
transform: translate(-50%, -150%) rotate(180deg);
opacity: 0.60142857;
}
.ios .preloader-inner-line:nth-child(6) {
transform: translate(-50%, -150%) rotate(225deg);
opacity: 0.68428571;
}
.ios .preloader-inner-line:nth-child(7) {
transform: translate(-50%, -150%) rotate(270deg);
opacity: 0.76714286;
}
.ios .preloader-inner-line:nth-child(8) {
transform: translate(-50%, -150%) rotate(315deg);
opacity: 0.85;
}
@keyframes ios-preloader-spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes ios-preloader-multicolor {
0%,
100% {
background-color: #2196f3;
}
25% {
background-color: #ff3b30;
}
50% {
background-color: #4cd964;
}
75% {
background-color: #ff9500;
}
}
.md .preloader {
color: var(--f7-preloader-color);
}
.md .preloader-inner {
animation: md-preloader-rotate 1.4s linear infinite;
}
.md .preloader-inner circle {
fill: none;
stroke: currentColor;
animation: md-preloader-circle-rotate 5.6s ease-in-out infinite;
stroke-dasharray: 100px;
stroke-dashoffset: 80px;
stroke-width: 4;
transform: rotate(-90deg);
transform-origin: 18px 18px;
}
.md .preloader-multi-color circle,
.md .preloader.color-multi circle {
animation: md-preloader-circle-rotate 5.6s ease-in-out infinite, md-preloader-multicolor 5.6s ease-in-out infinite;
}
@keyframes md-preloader-multicolor {
0%,
100% {
stroke: #4285f4;
}
75% {
stroke: #1b9a59;
}
50% {
stroke: #f7c223;
}
25% {
stroke: #de3e35;
}
}
@keyframes md-preloader-rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes md-preloader-circle-rotate {
0% {
transform: rotate(-90deg);
stroke-dashoffset: 100px;
}
12.5% {
transform: rotate(-90deg);
stroke-dashoffset: 25px;
}
25% {
stroke-dashoffset: 100px;
transform: rotate(180deg);
}
25.1% {
transform: rotate(-180deg);
stroke-dashoffset: 100px;
}
37.5% {
transform: rotate(-180deg);
stroke-dashoffset: 25px;
}
50% {
stroke-dashoffset: 100px;
transform: rotate(90deg);
}
50.1% {
transform: rotate(90deg);
stroke-dashoffset: 100px;
}
62.5% {
transform: rotate(90deg);
stroke-dashoffset: 25px;
}
75% {
stroke-dashoffset: 100px;
transform: rotate(360deg);
}
75.1% {
transform: rotate(0deg);
stroke-dashoffset: 100px;
}
87.5% {
transform: rotate(0deg);
stroke-dashoffset: 25px;
}
100% {
stroke-dashoffset: 100px;
transform: rotate(270deg);
}
}
/* === Progressbar === */
:root {
/*
--f7-progressbar-progress-color: var(--f7-theme-color);
*/
}
.ios {
--f7-progressbar-height: 4px;
--f7-progressbar-border-radius: 4px;
--f7-progressbar-bg-color: rgba(0, 0, 0, 0.3);
}
.ios .dark,
.ios.dark {
--f7-progressbar-bg-color: rgba(255, 255, 255, 0.3);
}
.md {
--f7-progressbar-height: 4px;
--f7-progressbar-border-radius: 0px;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-progressbar-bg-color: rgba(var(--f7-theme-color-rgb), 0.5);
}
.progressbar,
.progressbar-infinite {
width: 100%;
overflow: hidden;
position: relative;
display: block;
transform-style: preserve-3d;
background: var(--f7-progressbar-bg-color, rgba(var(--f7-theme-color-rgb), 0.5));
transform-origin: center top;
height: var(--f7-progressbar-height);
border-radius: var(--f7-progressbar-border-radius);
}
.progressbar {
vertical-align: middle;
}
.progressbar span {
background-color: var(--f7-progressbar-progress-color, var(--f7-theme-color));
width: 100%;
height: 100%;
position: absolute;
top: 0;
transition-duration: 150ms;
left: 0;
transform: translate3d(-100%, 0, 0);
}
.progressbar-infinite {
z-index: 15000;
}
.progressbar-infinite:before,
.progressbar-infinite:after {
content: '';
position: absolute;
top: 0;
width: 100%;
height: 100%;
transform: translate3d(0, 0, 0);
display: block;
background-color: var(--f7-progressbar-progress-color, var(--f7-theme-color));
left: 0;
transform-origin: left center;
}
.progressbar-infinite.color-multi {
background: none !important;
}
.progressbar-in {
animation: progressbar-in 150ms forwards;
}
.progressbar-out {
animation: progressbar-out 150ms forwards;
}
body > .progressbar,
.view > .progressbar,
.views > .progressbar,
.page > .progressbar,
.panel > .progressbar,
.popup > .progressbar,
.framework7-root > .progressbar,
body > .progressbar-infinite,
.view > .progressbar-infinite,
.views > .progressbar-infinite,
.page > .progressbar-infinite,
.panel > .progressbar-infinite,
.popup > .progressbar-infinite,
.framework7-root > .progressbar-infinite {
position: absolute;
left: 0;
top: 0;
z-index: 15000;
border-radius: 0 !important;
transform-origin: center top !important;
}
@keyframes progressbar-in {
from {
opacity: 0;
transform: scaleY(0);
}
to {
opacity: 1;
transform: scaleY(1);
}
}
@keyframes progressbar-out {
from {
opacity: 1;
transform: scaleY(1);
}
to {
opacity: 0;
transform: scaleY(0);
}
}
.ios .progressbar-infinite:before {
animation: ios-progressbar-infinite 1s linear infinite;
}
.ios .progressbar-infinite:after {
display: none;
}
.ios .progressbar-infinite.color-multi:before {
width: 400%;
background-image: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55, #5856d6, #34aadc, #007aff, #5ac8fa, #4cd964);
background-size: 25% 100%;
background-repeat: repeat-x;
animation: ios-progressbar-infinite-multicolor 3s linear infinite;
}
@keyframes ios-progressbar-infinite {
0% {
transform: translate3d(-100%, 0, 0);
}
100% {
transform: translate3d(100%, 0, 0);
}
}
@keyframes ios-progressbar-infinite-multicolor {
0% {
transform: translate3d(0%, 0, 0);
}
100% {
transform: translate3d(-50%, 0, 0);
}
}
.md .progressbar-infinite:before {
animation: md-progressbar-infinite-1 2s linear infinite;
}
.md .progressbar-infinite:after {
animation: md-progressbar-infinite-2 2s linear infinite;
}
.md .progressbar-infinite.color-multi:before {
background: none;
animation: md-progressbar-infinite-multicolor-bg 3s step-end infinite;
}
.md .progressbar-infinite.color-multi:after {
background: none;
animation: md-progressbar-infinite-multicolor-fill 3s linear infinite;
transform-origin: center center;
}
@keyframes md-progressbar-infinite-1 {
0% {
transform: translateX(-10%) scaleX(0.1);
}
25% {
transform: translateX(30%) scaleX(0.6);
}
50% {
transform: translateX(100%) scaleX(1);
}
100% {
transform: translateX(100%) scaleX(1);
}
}
@keyframes md-progressbar-infinite-2 {
0% {
transform: translateX(-100%) scaleX(1);
}
40% {
transform: translateX(-100%) scaleX(1);
}
75% {
transform: translateX(60%) scaleX(0.35);
}
90% {
transform: translateX(100%) scaleX(0.1);
}
100% {
transform: translateX(100%) scaleX(0.1);
}
}
@keyframes md-progressbar-infinite-multicolor-bg {
0% {
background-color: #4caf50;
}
25% {
background-color: #f44336;
}
50% {
background-color: #2196f3;
}
75% {
background-color: #ffeb3b;
}
}
@keyframes md-progressbar-infinite-multicolor-fill {
0% {
transform: scaleX(0);
background-color: #f44336;
}
24.9% {
transform: scaleX(1);
background-color: #f44336;
}
25% {
transform: scaleX(0);
background-color: #2196f3;
}
49.9% {
transform: scaleX(1);
background-color: #2196f3;
}
50% {
transform: scaleX(0);
background-color: #ffeb3b;
}
74.9% {
transform: scaleX(1);
background-color: #ffeb3b;
}
75% {
transform: scaleX(0);
background-color: #4caf50;
}
100% {
transform: scaleX(1);
background-color: #4caf50;
}
}
/* === Sortable === */
.ios {
--f7-sortable-handler-width: 36px;
--f7-sortable-sorting-item-box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.6);
--f7-sortable-handler-color: rgba(0, 0, 0, 0.22);
--f7-sortable-sorting-item-bg-color: rgba(255, 255, 255, 0.8);
}
.ios .dark,
.ios.dark {
--f7-sortable-sorting-item-bg-color: rgba(50, 50, 50, 0.8);
--f7-sortable-handler-color: rgba(255, 255, 255, 0.55);
}
.md {
--f7-sortable-handler-width: 42px;
--f7-sortable-sorting-item-box-shadow: none;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-sortable-handler-color: var(--f7-md-on-surface-variant);
--f7-sortable-sorting-item-bg-color: var(--f7-md-surface-3);
}
.sortable .sortable-handler {
width: var(--f7-sortable-handler-width);
height: 100%;
position: absolute;
top: 0;
z-index: 10;
opacity: 0;
pointer-events: none;
cursor: move;
transition-duration: 300ms;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
right: var(--f7-safe-area-right);
}
.sortable .sortable-handler:after {
font-family: 'framework7-core-icons';
font-weight: normal;
font-style: normal;
line-height: 1;
letter-spacing: normal;
text-transform: none;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
-moz-osx-font-smoothing: grayscale;
font-feature-settings: 'liga';
text-align: center;
display: block;
width: 100%;
height: 100%;
font-size: 20px;
transition-duration: 300ms;
transform: translateX(10px);
color: var(--f7-sortable-handler-color);
overflow: hidden;
height: 20px;
width: 18px;
}
.sortable li.sorting {
z-index: 50;
background: var(--f7-sortable-sorting-item-bg-color);
transition-duration: 0ms;
box-shadow: var(--f7-sortable-sorting-item-box-shadow);
}
.sortable li.sorting .item-inner:after {
display: none !important;
}
.sortable-opposite .sortable-handler {
left: var(--f7-safe-area-right);
right: auto;
}
.sortable-opposite .sortable-handler:after {
transform: translateX(-10px);
}
.sortable:not(.sortable-opposite) .item-inner,
.sortable-opposite .item-content,
.sortable.simple-list li,
.sortable-opposite.links-list li a {
transition-duration: 300ms;
transition-property: all;
}
.sortable-sorting li {
transition-duration: 300ms;
}
.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .sortable-handler {
pointer-events: auto;
touch-action: none;
opacity: 1;
}
.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .sortable-handler:after {
transform: translateX(0px);
}
.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner:before,
.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-title-row:before,
.sortable-enabled:not(.sortable-opposite).links-list li:not(.no-sorting):not(.disallow-sorting) > a:before {
display: none;
}
.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-inner,
.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,
.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link.no-chevron .item-inner,
.sortable-enabled.no-chevron:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,
.sortable-enabled :not(.sortable-opposite).no-chevron .item-link .item-inner,
.no-chevron .sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,
.simple-list.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting),
.links-list.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) a {
padding-right: calc(var(--f7-sortable-handler-width) + var(--f7-safe-area-right));
}
.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .item-content,
.simple-list.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting),
.links-list.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) a {
padding-left: calc(var(--f7-sortable-handler-width) + var(--f7-safe-area-right));
}
.ios .sortable-handler:after {
content: 'sort_ios';
}
.md .sortable-handler:after {
content: 'sort_md';
}
/* === Swipeout === */
:root {
--f7-swipeout-delete-button-bg-color: #ff3b30;
--f7-swipeout-button-text-color: #fff;
--f7-swipeout-button-padding-vertical: 0px;
--f7-swipeout-button-bg-color: rgba(0, 0, 0, 0.22);
}
:root .dark,
:root.dark {
--f7-swipeout-button-bg-color: rgba(255, 255, 255, 0.55);
}
.ios {
--f7-swipeout-button-padding-horizontal: 30px;
--f7-swipeout-button-font-size: inherit;
--f7-swipeout-button-font-weight: inherit;
}
.md {
--f7-swipeout-button-padding-horizontal: 24px;
--f7-swipeout-button-font-size: 14px;
--f7-swipeout-button-font-weight: 500;
}
.md .dark,
.md.dark {
--f7-swipeout-button-text-color: #000;
}
.swipeout {
overflow: hidden;
transform-style: preserve-3d;
}
.swipeout-deleting {
transition-duration: 300ms;
}
.swipeout-deleting .swipeout-content {
transform: translateX(-100%);
}
.swipeout-transitioning .swipeout-content,
.swipeout-transitioning .swipeout-actions-right a,
.swipeout-transitioning .swipeout-actions-left a,
.swipeout-transitioning .swipeout-overswipe {
transition-duration: 300ms;
transition-property: transform, left;
}
.swipeout-content {
position: relative;
z-index: 10;
}
.swipeout-overswipe {
transition-duration: 200ms;
transition-property: left;
}
.swipeout-actions-left,
.swipeout-actions-right {
position: absolute;
top: 0;
height: 100%;
display: flex;
direction: ltr;
}
.swipeout-actions-left > a,
.swipeout-actions-right > a,
.swipeout-actions-left > button,
.swipeout-actions-right > button,
.swipeout-actions-left > span,
.swipeout-actions-right > span,
.swipeout-actions-left > div,
.swipeout-actions-right > div {
color: var(--f7-swipeout-button-text-color);
background: var(--f7-swipeout-button-bg-color);
padding: var(--f7-swipeout-button-padding-vertical) var(--f7-swipeout-button-padding-horizontal);
display: flex;
align-items: center;
position: relative;
left: 0;
font-size: var(--f7-swipeout-button-font-size);
font-weight: var(--f7-swipeout-button-font-weight);
}
.swipeout-actions-left > a:after,
.swipeout-actions-right > a:after,
.swipeout-actions-left > button:after,
.swipeout-actions-right > button:after,
.swipeout-actions-left > span:after,
.swipeout-actions-right > span:after,
.swipeout-actions-left > div:after,
.swipeout-actions-right > div:after {
content: '';
position: absolute;
top: 0;
width: 600%;
height: 100%;
background: inherit;
z-index: -1;
transform: translate3d(0, 0, 0);
pointer-events: none;
}
.swipeout-actions-left .swipeout-delete,
.swipeout-actions-right .swipeout-delete {
background: var(--f7-swipeout-delete-button-bg-color);
}
.swipeout-actions-right {
right: 0%;
transform: translateX(calc(100% + 1px));
}
.swipeout-actions-right > a:after,
.swipeout-actions-right > button:after,
.swipeout-actions-right > span:after,
.swipeout-actions-right > div:after {
left: 100%;
}
.swipeout-actions-right > a:last-child,
.swipeout-actions-right > button:last-child,
.swipeout-actions-right > span:last-child,
.swipeout-actions-right > div:last-child {
padding-right: calc(var(--f7-swipeout-button-padding-horizontal) + var(--f7-safe-area-right));
}
.swipeout-actions-left {
left: 0%;
transform: translateX(calc(-100% - 1px));
}
.swipeout-actions-left > a:after,
.swipeout-actions-left > button:after,
.swipeout-actions-left > span:after,
.swipeout-actions-left > div:after {
right: 100%;
}
.swipeout-actions-left > a:first-child,
.swipeout-actions-left > button:first-child,
.swipeout-actions-left > span:first-child,
.swipeout-actions-left > div:first-child {
padding-left: calc(var(--f7-swipeout-button-padding-horizontal) + var(--f7-safe-area-left));
}
.swipeout-actions-left [class*='color-'],
.swipeout-actions-right [class*='color-'] {
--f7-swipeout-button-bg-color: var(--f7-theme-color);
}
/* === Accordion === */
:root {
--f7-accordion-chevron-icon-down: 'chevron_down';
--f7-accordion-chevron-icon-up: 'chevron_up';
}
.accordion-item-toggle {
cursor: pointer;
}
.list.accordion-list .accordion-item-toggle {
transition-duration: 300ms;
position: relative;
overflow: hidden;
}
.list.accordion-list .accordion-item-toggle.active-state {
transition-duration: 300ms;
background-color: var(--f7-list-link-pressed-bg-color);
}
.list.accordion-list .accordion-item-toggle.active-state > .item-inner:after {
background-color: transparent;
}
.list.accordion-list .accordion-item-toggle .item-inner {
transition-duration: 300ms;
transition-property: background-color;
}
.list.accordion-list .accordion-item-toggle .item-inner:after {
transition-duration: 300ms;
}
.list.accordion-list .accordion-item-toggle .ripple-wave {
z-index: 0;
}
.accordion-item .item-link .item-inner:after {
transition-duration: 300ms;
}
.accordion-item .list,
.accordion-item .block {
margin-top: 0;
margin-bottom: 0;
}
.accordion-item .block > h1:first-child,
.accordion-item .block > h2:first-child,
.accordion-item .block > h3:first-child,
.accordion-item .block > h4:first-child,
.accordion-item .block > p:first-child {
margin-top: 10px;
}
.accordion-item .block > h1:last-child,
.accordion-item .block > h2:last-child,
.accordion-item .block > h3:last-child,
.accordion-item .block > h4:last-child,
.accordion-item .block > p:last-child {
margin-bottom: 10px;
}
.accordion-item-opened .accordion-item-toggle .item-inner:after,
.accordion-item-opened > .item-link .item-inner:after {
background-color: transparent;
}
.list li.accordion-item ul {
padding-left: 0;
}
.accordion-item-content {
position: relative;
overflow: hidden;
height: 0;
font-size: 14px;
transition-duration: 300ms;
}
.accordion-item-opened > .accordion-item-content {
height: auto;
}
html.device-android-4 .accordion-item-content {
transform: none;
}
.list .accordion-item-toggle .item-inner:before {
font-family: 'framework7-core-icons';
font-weight: normal;
font-style: normal;
line-height: 1;
letter-spacing: normal;
text-transform: none;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
-moz-osx-font-smoothing: grayscale;
font-feature-settings: 'liga';
text-align: center;
display: block;
width: 100%;
height: 100%;
font-size: 20px;
position: absolute;
top: 50%;
font-size: var(--f7-list-chevron-icon-font-size);
color: var(--f7-list-chevron-icon-color);
pointer-events: none;
right: calc(var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-right));
}
.list:not(.accordion-opposite) .accordion-item-toggle .item-inner {
padding-right: calc(var(--f7-list-chevron-icon-area) + var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-right));
}
.accordion-opposite .accordion-item-toggle.item-link .item-inner,
.accordion-opposite .accordion-item-toggle .item-inner,
.accordion-opposite .accordion-item > .item-link > .item-inner,
.accordion-opposite .accordion-item > .item-link > .item-content > .item-inner {
padding-right: calc(var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-right));
}
.accordion-opposite .accordion-item > .item-link > .item-title-row {
padding-right: 0;
}
.accordion-opposite .accordion-item-toggle.item-link .item-inner:before,
.accordion-opposite .accordion-item-toggle .item-inner:before,
.accordion-opposite .accordion-item > .item-link > .item-inner:before,
.accordion-opposite .accordion-item > .item-link > .item-content > .item-inner:before,
.accordion-opposite .accordion-item > .item-link .item-title-row:before {
display: none;
}
.accordion-opposite .accordion-item-toggle > .item-content,
.accordion-opposite .accordion-item-toggle.item-content,
.accordion-opposite .accordion-item > .item-content,
.accordion-opposite .accordion-item > .item-link > .item-content,
.accordion-opposite.links-list .accordion-item > a {
position: relative;
padding-left: calc(var(--f7-list-chevron-icon-area) + var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-left));
}
.accordion-opposite .accordion-item-toggle > .item-content:before,
.accordion-opposite .accordion-item-toggle.item-content:before,
.accordion-opposite .accordion-item > .item-content:before,
.accordion-opposite .accordion-item > .item-link > .item-content:before,
.accordion-opposite.links-list .accordion-item > a:before {
font-family: 'framework7-core-icons';
font-weight: normal;
font-style: normal;
line-height: 1;
letter-spacing: normal;
text-transform: none;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
-moz-osx-font-smoothing: grayscale;
font-feature-settings: 'liga';
text-align: center;
display: block;
width: 100%;
height: 100%;
font-size: 20px;
position: absolute;
top: 50%;
font-size: var(--f7-list-chevron-icon-font-size);
color: var(--f7-list-chevron-icon-color);
pointer-events: none;
content: var(--f7-accordion-chevron-icon-down);
width: 14px;
height: 8px;
margin-top: -4px;
line-height: 8px;
transform: translateX(-50%);
left: calc((var(--f7-list-chevron-icon-area) + var(--f7-list-item-padding-horizontal)) / 2 + var(--f7-safe-area-left));
}
.list .accordion-item-toggle.active-state {
background-color: var(--f7-list-link-pressed-bg-color);
}
.list .accordion-item-toggle .item-inner:before,
.list:not(.media-list) .accordion-item:not(.media-item) .accordion-item-toggle .item-inner:before,
.list:not(.media-list) .accordion-item:not(.media-item) > .item-link .item-inner:before,
.media-list .accordion-item .accordion-item-toggle .item-title-row:before,
.media-list .accordion-item > .item-link .item-title-row:before,
.accordion-item.media-item .accordion-item-toggle .item-title-row:before,
.accordion-item.media-item > .item-link .item-title-row:before,
.links-list .accordion-item > a:before {
content: var(--f7-accordion-chevron-icon-down);
width: 14px;
height: 8px;
margin-top: -4px;
line-height: 8px;
}
.list .accordion-item-toggle.accordion-item-opened .item-inner:before,
.list:not(.media-list) .accordion-item-opened:not(.media-item) .accordion-item-toggle .item-inner:before,
.list:not(.media-list) .accordion-item-opened:not(.media-item) > .item-link .item-inner:before,
.media-list .accordion-item-opened .accordion-item-toggle .item-title-row:before,
.media-list .accordion-item-opened > .item-link .item-title-row:before,
.accordion-item-opened.media-item .accordion-item-toggle .item-title-row:before,
.accordion-item-opened.media-item > .item-link .item-title-row:before,
.links-list .accordion-item-opened > a:before,
.accordion-opposite .accordion-item-opened .accordion-item-toggle > .item-content:before,
.accordion-opposite .accordion-item-opened .accordion-item-toggle.item-content:before,
.accordion-opposite .accordion-item-opened > .item-content:before,
.accordion-opposite .accordion-item-opened > .item-link > .item-content:before,
.accordion-opposite .links-list .accordion-item-opened > a:before {
content: var(--f7-accordion-chevron-icon-up);
width: 14px;
height: 8px;
margin-top: -4px;
line-height: 8px;
}
/* === Contacts === */
.ios {
--f7-contacts-list-title-font-size: inherit;
--f7-contacts-list-title-font-weight: 600;
--f7-contacts-list-title-height: 22px;
--f7-contacts-list-title-text-color: #000;
--f7-contacts-list-title-bg-color: #f7f7f7;
}
.ios .dark,
.ios.dark {
--f7-contacts-list-title-text-color: #fff;
--f7-contacts-list-title-bg-color: #323234;
}
.md {
--f7-contacts-list-title-font-size: 20px;
--f7-contacts-list-title-font-weight: 500;
--f7-contacts-list-title-height: 48px;
--f7-contacts-list-title-bg-color: transparent;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-contacts-list-title-text-color: var(--f7-theme-color);
}
.contacts-list {
--f7-list-margin-vertical: 0px;
}
.contacts-list .list-group-title,
.contacts-list li.list-group-title {
background-color: var(--f7-contacts-list-title-bg-color, var(--f7-list-group-title-bg-color));
font-weight: var(--f7-contacts-list-title-font-weight, var(--f7-list-group-title-font-weight));
font-size: var(--f7-contacts-list-title-font-size, var(--f7-list-group-title-font-size));
color: var(--f7-contacts-list-title-text-color, var(--f7-theme-color));
line-height: var(--f7-contacts-list-title-height, var(--f7-list-group-title-height));
height: var(--f7-contacts-list-title-height, var(--f7-list-group-title-height));
}
.contacts-list .list-group:first-child ul:before {
display: none !important;
}
.contacts-list .list-group:last-child ul:after {
display: none !important;
}
.md .contacts-list .list-group-title {
pointer-events: none;
overflow: visible;
width: 40px;
}
.md .contacts-list .list-group-title + li {
margin-top: calc(var(--f7-contacts-list-title-height) * -1);
}
.md .contacts-list .list-group-title:before {
display: none !important;
}
.md .contacts-list li:not(.list-group-title) {
padding-left: 40px;
}
/* === Virtual List === */
/* === Indexed List === */
:root {
--f7-list-index-width: 16px;
--f7-list-index-font-size: 11px;
--f7-list-index-font-weight: 600;
/* --f7-list-index-text-color: var(--f7-theme-color); */
--f7-list-index-item-height: 14px;
--f7-list-index-label-font-weight: 500;
}
.ios {
--f7-list-index-label-text-color: #fff;
/* --f7-list-index-label-bg-color: var(--f7-theme-color); */
--f7-list-index-label-size: 44px;
--f7-list-index-label-font-size: 17px;
--f7-list-index-skip-dot-size: 6px;
}
.md {
--f7-list-index-label-size: 56px;
--f7-list-index-label-font-size: 20px;
--f7-list-index-skip-dot-size: 4px;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-list-index-label-bg-color: var(--f7-md-primary);
--f7-list-index-label-text-color: var(--f7-md-on-primary);
}
.list-index {
position: absolute;
top: 0;
bottom: 0;
text-align: center;
z-index: 10;
width: var(--f7-list-index-width);
cursor: pointer;
-webkit-user-select: none;
user-select: none;
right: var(--f7-safe-area-right);
}
.list-index:before {
content: '';
position: absolute;
width: 20px;
top: 0;
right: 100%;
height: 100%;
}
.list-index ul {
color: var(--f7-list-index-text-color, var(--f7-theme-color));
font-size: var(--f7-list-index-font-size);
font-weight: var(--f7-list-index-font-weight);
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
flex-shrink: 0;
height: 100%;
width: 100%;
position: relative;
}
.list-index li {
margin: 0;
padding: 0;
list-style: none;
position: relative;
height: var(--f7-list-index-item-height);
line-height: var(--f7-list-index-item-height);
flex-shrink: 0;
display: block;
width: 100%;
}
.list-index .list-index-skip-placeholder:after {
content: '';
position: absolute;
left: 50%;
top: 50%;
border-radius: 50%;
width: var(--f7-list-index-skip-dot-size);
height: var(--f7-list-index-skip-dot-size);
margin-left: calc(-1 * var(--f7-list-index-skip-dot-size) / 2);
margin-top: calc(-1 * var(--f7-list-index-skip-dot-size) / 2);
background: var(--f7-list-index-text-color, var(--f7-theme-color));
}
.list-index .list-index-label {
position: absolute;
bottom: 0;
right: 100%;
text-align: center;
background-color: var(--f7-list-index-label-bg-color, var(--f7-theme-color));
color: var(--f7-list-index-label-text-color);
width: var(--f7-list-index-label-size);
height: var(--f7-list-index-label-size);
line-height: var(--f7-list-index-label-size);
font-size: var(--f7-list-index-label-font-size);
font-weight: var(--f7-list-index-label-font-weight);
}
.navbar ~ .page > .list-index,
.navbars ~ .page > .list-index,
.navbar ~ .list-index {
top: var(--f7-navbar-height);
}
.navbar ~ .toolbar-top ~ .list-index,
.navbars ~ .toolbar-top ~ .list-index,
.ios .navbar ~ .toolbar-top-ios ~ .list-index,
.ios .navbars ~ .toolbar-top-ios .md .navbar ~ .toolbar-top-md ~ .list-index {
top: calc(var(--f7-navbar-height) + var(--f7-toolbar-height));
}
.navbar ~ .toolbar-top.tabbar-icons ~ .list-index,
.navbars ~ .toolbar-top.tabbar-icons ~ .list-index,
.ios .navbar ~ .toolbar-top-ios.tabbar-icons ~ .list-index,
.ios .navbars ~ .toolbar-top-ios .md .navbar ~ .toolbar-top-md.tabbar-icons ~ .list-index {
top: calc(var(--f7-navbar-height) + var(--f7-tabbar-icons-height));
}
.navbar ~ .subnavbar ~ .list-index,
.navbars ~ .subnavbar ~ .list-index,
.page-with-subnavbar .navbar ~ .list-index {
top: calc(var(--f7-navbar-height) + var(--f7-subnavbar-height));
}
.toolbar-bottom ~ .page > .list-index,
.ios .toolbar-bottom-ios ~ .page > .list-index,
.md .toolbar-bottom-md ~ .page > .list-index,
.toolbar-bottom ~ * .page > .list-index,
.ios .toolbar-bottom-ios ~ * .page > .list-index,
.md .toolbar-bottom-md ~ * .page > .list-index,
.toolbar-bottom ~ .list-index,
.ios .toolbar-bottom-ios ~ .list-index,
.md .toolbar-bottom-md ~ .list-index {
bottom: calc(var(--f7-toolbar-height) + var(--f7-safe-area-bottom));
}
.toolbar-bottom.tabbar-icons ~ .page > .list-index,
.ios .toolbar-bottom-ios.tabbar-icons ~ .page > .list-index,
.md .toolbar-bottom-md.tabbar-icons ~ .page > .list-index,
.toolbar-bottom.tabbar-icons ~ * .page > .list-index,
.ios .toolbar-bottom-ios.tabbar-icons ~ * .page > .list-index,
.md .toolbar-bottom-md.tabbar-icons ~ * .page > .list-index,
.toolbar-bottom.tabbar-icons ~ .list-index,
.ios .toolbar-bottom-ios.tabbar-icons ~ .list-index,
.md .toolbar-bottom-md.tabbar-icons ~ .list-index {
bottom: calc(var(--f7-tabbar-icons-height) + var(--f7-safe-area-bottom));
}
.ios .list-index .list-index-label {
margin-bottom: calc(-1 * var(--f7-list-index-label-size) / 2);
margin-right: calc(var(--f7-list-index-width) - 1px);
border-radius: 50%;
}
.ios .list-index .list-index-label:before {
position: absolute;
width: 100%;
height: 100%;
border-radius: 50% 0% 50% 50%;
content: '';
background-color: inherit;
left: 0;
top: 0;
transform: rotate(45deg);
z-index: -1;
}
.md .list-index .list-index-label {
border-radius: 50% 50% 0 50%;
}
/* === Timeline === */
:root {
--f7-timeline-inner-block-margin-vertical: 16px;
--f7-timeline-divider-margin-horizontal: 16px;
--f7-timeline-horizontal-date-height: 34px;
--f7-timeline-year-height: 24px;
--f7-timeline-year-font-weight: inherit;
--f7-timeline-month-height: 24px;
--f7-timeline-month-font-size: inherit;
--f7-timeline-month-font-weight: inherit;
--f7-timeline-item-text-font-weight: inherit;
--f7-timeline-item-subtitle-font-weight: inherit;
}
.ios {
--f7-timeline-divider-color: #bbb;
--f7-timeline-padding-horizontal: 16px;
--f7-timeline-margin-vertical: 35px;
--f7-timeline-item-inner-border-radius: 7px;
--f7-timeline-item-time-font-size: 13px;
--f7-timeline-item-title-font-size: 17px;
--f7-timeline-item-title-line-height: inherit;
--f7-timeline-item-title-font-weight: 600;
--f7-timeline-item-subtitle-font-size: 15px;
--f7-timeline-item-subtitle-line-height: inherit;
--f7-timeline-item-text-font-size: inherit;
--f7-timeline-item-text-color: inherit;
--f7-timeline-item-text-line-height: inherit;
--f7-timeline-year-font-size: 16px;
--f7-timeline-horizontal-item-padding: 10px;
--f7-timeline-item-inner-bg-color: #fff;
--f7-timeline-item-time-text-color: rgba(0, 0, 0, 0.45);
--f7-timeline-horizontal-item-border-color: rgba(0, 0, 0, 0.22);
--f7-timeline-horizontal-item-date-border-color: rgba(0, 0, 0, 0.22);
}
.ios .dark,
.ios.dark {
--f7-timeline-horizontal-item-border-color: rgba(255, 255, 255, 0.15);
--f7-timeline-horizontal-item-date-border-color: rgba(255, 255, 255, 0.15);
--f7-timeline-item-inner-bg-color: #1c1c1d;
--f7-timeline-item-time-text-color: rgba(255, 255, 255, 0.55);
}
.md {
--f7-timeline-padding-horizontal: 16px;
--f7-timeline-margin-vertical: 32px;
--f7-timeline-item-inner-border-radius: 16px;
--f7-timeline-item-time-font-size: 13px;
--f7-timeline-item-title-font-size: 16px;
--f7-timeline-item-title-line-height: inherit;
--f7-timeline-item-title-font-weight: 400;
--f7-timeline-item-subtitle-font-size: inherit;
--f7-timeline-item-subtitle-line-height: inherit;
--f7-timeline-item-text-font-size: inherit;
--f7-timeline-item-text-line-height: inherit;
--f7-timeline-year-font-size: 16px;
--f7-timeline-horizontal-item-padding: 12px;
--f7-timeline-horizontal-item-date-border-color: transparent;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-timeline-divider-color: var(--f7-md-outline);
--f7-timeline-item-text-color: var(--f7-md-on-surface);
--f7-timeline-horizontal-item-border-color: var(--f7-md-outline);
--f7-timeline-item-inner-bg-color: var(--f7-md-surface-1);
--f7-timeline-item-time-text-color: var(--f7-md-on-surface-variant);
}
.timeline {
box-sizing: border-box;
margin: var(--f7-timeline-margin-vertical) 0;
padding: 0 var(--f7-timeline-padding-horizontal);
padding-top: 0;
padding-bottom: 0;
padding-left: calc(var(--f7-timeline-padding-horizontal) + var(--f7-safe-area-left));
padding-right: calc(var(--f7-timeline-padding-horizontal) + var(--f7-safe-area-right));
}
.block-strong .timeline {
padding: 0;
margin: 0;
}
.timeline-item {
display: flex;
justify-content: flex-start;
overflow: hidden;
box-sizing: border-box;
position: relative;
padding: 2px 0px var(--f7-timeline-padding-horizontal);
}
.timeline-item:last-child {
padding-bottom: 2px;
}
.timeline-item-date {
flex-shrink: 0;
width: 50px;
text-align: right;
box-sizing: border-box;
}
.timeline-item-date small {
font-size: 10px;
}
.timeline-item-content {
margin: 2px;
min-width: 0;
position: relative;
flex-shrink: 10;
}
.timeline-item-content .card,
.timeline-item-content.card,
.timeline-item-content .list,
.timeline-item-content.list,
.timeline-item-content .block,
.timeline-item-content.block {
margin: 0;
width: 100%;
}
.timeline-item-content .card + .card,
.timeline-item-content .list + .card,
.timeline-item-content .block + .card,
.timeline-item-content .card + .list,
.timeline-item-content .list + .list,
.timeline-item-content .block + .list,
.timeline-item-content .card + .block,
.timeline-item-content .list + .block,
.timeline-item-content .block + .block {
margin: var(--f7-timeline-inner-block-margin-vertical) 0 0;
}
.timeline-item-content p:first-child,
.timeline-item-content ul:first-child,
.timeline-item-content ol:first-child,
.timeline-item-content h1:first-child,
.timeline-item-content h2:first-child,
.timeline-item-content h3:first-child,
.timeline-item-content h4:first-child {
margin-top: 0;
}
.timeline-item-content p:last-child,
.timeline-item-content ul:last-child,
.timeline-item-content ol:last-child,
.timeline-item-content h1:last-child,
.timeline-item-content h2:last-child,
.timeline-item-content h3:last-child,
.timeline-item-content h4:last-child {
margin-bottom: 0;
}
.timeline-item-inner {
background: var(--f7-timeline-item-inner-bg-color);
box-sizing: border-box;
border-radius: var(--f7-timeline-item-inner-border-radius);
padding: 8px var(--f7-timeline-padding-horizontal);
}
.timeline-item-inner + .timeline-item-inner {
margin-top: var(--f7-timeline-inner-block-margin-vertical);
}
.timeline-item-inner .block {
padding: 0;
color: inherit;
}
.timeline-item-inner .block-strong {
padding-left: 0;
padding-right: 0;
margin: 0;
}
.timeline-item-inner .block-strong:before,
.timeline-item-inner .block-strong:after {
display: none !important;
}
.timeline-item-inner .list ul:before,
.timeline-item-inner .list ul:after {
display: none !important;
}
.timeline-item-divider {
width: 1px;
position: relative;
width: 10px;
height: 10px;
background: var(--f7-timeline-divider-color);
border-radius: 50%;
flex-shrink: 0;
margin: 3px var(--f7-timeline-divider-margin-horizontal) 0;
}
.timeline-item-divider:after,
.timeline-item-divider:before {
content: ' ';
width: 1px;
height: 100vh;
position: absolute;
left: 50%;
background: inherit;
transform: translate3d(-50%, 0, 0);
}
.timeline-item-divider:after {
top: 100%;
}
.timeline-item-divider:before {
bottom: 100%;
}
.timeline-item:last-child .timeline-item-divider:after {
display: none;
}
.timeline-item:first-child .timeline-item-divider:before {
display: none;
}
.timeline-item-time {
font-size: var(--f7-timeline-item-time-font-size);
margin-top: var(--f7-timeline-inner-block-margin-vertical);
color: var(--f7-timeline-item-time-text-color);
}
.timeline-item-time:first-child,
.timeline-item-time:last-child {
margin-top: 0;
}
.timeline-item-title + .timeline-item-time {
margin-top: 0;
}
.timeline-item-title {
font-size: var(--f7-timeline-item-title-font-size);
font-weight: var(--f7-timeline-item-title-font-weight);
line-height: var(--f7-timeline-item-title-line-height);
}
.timeline-item-subtitle {
font-size: var(--f7-timeline-item-subtitle-font-size);
font-weight: var(--f7-timeline-item-subtitle-font-weight);
line-height: var(--f7-timeline-item-subtitle-line-height);
}
.timeline-item-text {
color: var(--f7-timeline-item-text-color);
font-size: var(--f7-timeline-item-text-font-size);
font-weight: var(--f7-timeline-item-text-font-weight);
line-height: var(--f7-timeline-item-text-line-height);
}
.timeline-sides .timeline-item-right,
.timeline-sides .timeline-item {
margin-left: calc(50% - (var(--f7-timeline-divider-margin-horizontal) * 2 + 10px) / 2 - 50px);
margin-right: 0;
}
.timeline-sides .timeline-item-right .timeline-item-date,
.timeline-sides .timeline-item .timeline-item-date {
text-align: right;
}
.timeline-sides .timeline-item-left,
.timeline-sides .timeline-item:not(.timeline-item-right):nth-child(2n) {
flex-direction: row-reverse;
margin-right: calc(50% - (var(--f7-timeline-divider-margin-horizontal) * 2 + 10px) / 2 - 50px);
margin-left: 0;
}
.timeline-sides .timeline-item-left .timeline-item-date,
.timeline-sides .timeline-item:not(.timeline-item-right):nth-child(2n) .timeline-item-date {
text-align: left;
}
@media (min-width: 480px) {
.xsmall-sides .timeline-item-right,
.xsmall-sides .timeline-item {
margin-left: calc(50% - (var(--f7-timeline-divider-margin-horizontal) * 2 + 10px) / 2 - 50px);
margin-right: 0;
}
.xsmall-sides .timeline-item-right .timeline-item-date,
.xsmall-sides .timeline-item .timeline-item-date {
text-align: right;
}
.xsmall-sides .timeline-item-left,
.xsmall-sides .timeline-item:not(.timeline-item-right):nth-child(2n) {
flex-direction: row-reverse;
margin-right: calc(50% - (var(--f7-timeline-divider-margin-horizontal) * 2 + 10px) / 2 - 50px);
margin-left: 0;
}
.xsmall-sides .timeline-item-left .timeline-item-date,
.xsmall-sides .timeline-item:not(.timeline-item-right):nth-child(2n) .timeline-item-date {
text-align: left;
}
}
@media (min-width: 568px) {
.small-sides .timeline-item-right,
.small-sides .timeline-item {
margin-left: calc(50% - (var(--f7-timeline-divider-margin-horizontal) * 2 + 10px) / 2 - 50px);
margin-right: 0;
}
.small-sides .timeline-item-right .timeline-item-date,
.small-sides .timeline-item .timeline-item-date {
text-align: right;
}
.small-sides .timeline-item-left,
.small-sides .timeline-item:not(.timeline-item-right):nth-child(2n) {
flex-direction: row-reverse;
margin-right: calc(50% - (var(--f7-timeline-divider-margin-horizontal) * 2 + 10px) / 2 - 50px);
margin-left: 0;
}
.small-sides .timeline-item-left .timeline-item-date,
.small-sides .timeline-item:not(.timeline-item-right):nth-child(2n) .timeline-item-date {
text-align: left;
}
}
@media (min-width: 768px) {
.medium-sides .timeline-item-right,
.medium-sides .timeline-item {
margin-left: calc(50% - (var(--f7-timeline-divider-margin-horizontal) * 2 + 10px) / 2 - 50px);
margin-right: 0;
}
.medium-sides .timeline-item-right .timeline-item-date,
.medium-sides .timeline-item .timeline-item-date {
text-align: right;
}
.medium-sides .timeline-item-left,
.medium-sides .timeline-item:not(.timeline-item-right):nth-child(2n) {
flex-direction: row-reverse;
margin-right: calc(50% - (var(--f7-timeline-divider-margin-horizontal) * 2 + 10px) / 2 - 50px);
margin-left: 0;
}
.medium-sides .timeline-item-left .timeline-item-date,
.medium-sides .timeline-item:not(.timeline-item-right):nth-child(2n) .timeline-item-date {
text-align: left;
}
}
@media (min-width: 1024px) {
.large-sides .timeline-item-right,
.large-sides .timeline-item {
margin-left: calc(50% - (var(--f7-timeline-divider-margin-horizontal) * 2 + 10px) / 2 - 50px);
margin-right: 0;
}
.large-sides .timeline-item-right .timeline-item-date,
.large-sides .timeline-item .timeline-item-date {
text-align: right;
}
.large-sides .timeline-item-left,
.large-sides .timeline-item:not(.timeline-item-right):nth-child(2n) {
flex-direction: row-reverse;
margin-right: calc(50% - (var(--f7-timeline-divider-margin-horizontal) * 2 + 10px) / 2 - 50px);
margin-left: 0;
}
.large-sides .timeline-item-left .timeline-item-date,
.large-sides .timeline-item:not(.timeline-item-right):nth-child(2n) .timeline-item-date {
text-align: left;
}
}
@media (min-width: 1200px) {
.xlarge-sides .timeline-item-right,
.xlarge-sides .timeline-item {
margin-left: calc(50% - (var(--f7-timeline-divider-margin-horizontal) * 2 + 10px) / 2 - 50px);
margin-right: 0;
}
.xlarge-sides .timeline-item-right .timeline-item-date,
.xlarge-sides .timeline-item .timeline-item-date {
text-align: right;
}
.xlarge-sides .timeline-item-left,
.xlarge-sides .timeline-item:not(.timeline-item-right):nth-child(2n) {
flex-direction: row-reverse;
margin-right: calc(50% - (var(--f7-timeline-divider-margin-horizontal) * 2 + 10px) / 2 - 50px);
margin-left: 0;
}
.xlarge-sides .timeline-item-left .timeline-item-date,
.xlarge-sides .timeline-item:not(.timeline-item-right):nth-child(2n) .timeline-item-date {
text-align: left;
}
}
.timeline-horizontal {
height: 100%;
display: flex;
padding: 0;
margin: 0;
position: relative;
padding-left: var(--f7-safe-area-left);
padding-right: 0;
}
.timeline-horizontal .timeline-item {
display: block;
width: 100/3vw;
margin: 0;
padding: 0;
flex-shrink: 0;
position: relative;
height: 100%;
padding-top: var(--f7-timeline-horizontal-date-height) !important;
padding-bottom: var(--f7-timeline-horizontal-item-padding);
}
.timeline-horizontal .timeline-item:after {
content: '';
position: absolute;
background-color: var(--f7-timeline-horizontal-item-border-color);
display: block;
z-index: 15;
top: 0;
right: 0;
bottom: auto;
left: auto;
width: 1px;
height: 100%;
transform-origin: 100% 50%;
transform: scaleX(calc(1 / var(--f7-device-pixel-ratio)));
}
.timeline-horizontal .timeline-item-date {
padding: 0px var(--f7-timeline-horizontal-item-padding);
width: auto;
line-height: var(--f7-timeline-horizontal-date-height);
position: absolute;
left: 0;
top: 0;
width: 100%;
height: var(--f7-timeline-horizontal-date-height);
background-color: var(--f7-bars-bg-color);
color: var(--f7-bars-text-color);
text-align: left;
}
@supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
.ios-translucent-bars .timeline-horizontal .timeline-item-date {
background-color: rgba(var(--f7-bars-bg-color-rgb), var(--f7-bars-translucent-opacity));
-webkit-backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
}
}
.timeline-horizontal .timeline-item-date:after {
content: '';
position: absolute;
background-color: var(--f7-timeline-horizontal-item-date-border-color);
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.timeline-horizontal .timeline-item-content {
padding: var(--f7-timeline-horizontal-item-padding);
height: calc(100vw - var(--f7-timeline-horizontal-item-padding));
overflow: auto;
-webkit-overflow-scrolling: touch;
margin: 0;
}
.timeline-horizontal .timeline-item-divider {
display: none;
}
.timeline-horizontal > .timeline-item:last-child:after,
.timeline-horizontal .timeline-month:last-child .timeline-item:last-child:after {
display: none !important;
}
.timeline-horizontal.timeline-cols-1 .timeline-item {
width: calc(100vw / 1);
}
.timeline-horizontal.timeline-cols-2 .timeline-item {
width: calc(100vw / 2);
}
.timeline-horizontal.timeline-cols-3 .timeline-item {
width: calc(100vw / 3);
}
.timeline-horizontal.timeline-cols-4 .timeline-item {
width: calc(100vw / 4);
}
.timeline-horizontal.timeline-cols-5 .timeline-item {
width: calc(100vw / 5);
}
.timeline-horizontal.timeline-cols-6 .timeline-item {
width: calc(100vw / 6);
}
.timeline-horizontal.timeline-cols-7 .timeline-item {
width: calc(100vw / 7);
}
.timeline-horizontal.timeline-cols-8 .timeline-item {
width: calc(100vw / 8);
}
.timeline-horizontal.timeline-cols-9 .timeline-item {
width: calc(100vw / 9);
}
.timeline-horizontal.timeline-cols-10 .timeline-item {
width: calc(100vw / 10);
}
.timeline-horizontal.timeline-cols-11 .timeline-item {
width: calc(100vw / 11);
}
.timeline-horizontal.timeline-cols-12 .timeline-item {
width: calc(100vw / 12);
}
.timeline-horizontal.timeline-cols-13 .timeline-item {
width: calc(100vw / 13);
}
.timeline-horizontal.timeline-cols-14 .timeline-item {
width: calc(100vw / 14);
}
.timeline-horizontal.timeline-cols-15 .timeline-item {
width: calc(100vw / 15);
}
.timeline-horizontal.timeline-cols-16 .timeline-item {
width: calc(100vw / 16);
}
.timeline-horizontal.timeline-cols-17 .timeline-item {
width: calc(100vw / 17);
}
.timeline-horizontal.timeline-cols-18 .timeline-item {
width: calc(100vw / 18);
}
.timeline-horizontal.timeline-cols-19 .timeline-item {
width: calc(100vw / 19);
}
.timeline-horizontal.timeline-cols-20 .timeline-item {
width: calc(100vw / 20);
}
@media (min-width: 480px) {
.timeline-horizontal.xsmall-timeline-cols-1 .timeline-item {
width: calc(100vw / 1);
}
.timeline-horizontal.xsmall-timeline-cols-2 .timeline-item {
width: calc(100vw / 2);
}
.timeline-horizontal.xsmall-timeline-cols-3 .timeline-item {
width: calc(100vw / 3);
}
.timeline-horizontal.xsmall-timeline-cols-4 .timeline-item {
width: calc(100vw / 4);
}
.timeline-horizontal.xsmall-timeline-cols-5 .timeline-item {
width: calc(100vw / 5);
}
.timeline-horizontal.xsmall-timeline-cols-6 .timeline-item {
width: calc(100vw / 6);
}
.timeline-horizontal.xsmall-timeline-cols-7 .timeline-item {
width: calc(100vw / 7);
}
.timeline-horizontal.xsmall-timeline-cols-8 .timeline-item {
width: calc(100vw / 8);
}
.timeline-horizontal.xsmall-timeline-cols-9 .timeline-item {
width: calc(100vw / 9);
}
.timeline-horizontal.xsmall-timeline-cols-10 .timeline-item {
width: calc(100vw / 10);
}
.timeline-horizontal.xsmall-timeline-cols-11 .timeline-item {
width: calc(100vw / 11);
}
.timeline-horizontal.xsmall-timeline-cols-12 .timeline-item {
width: calc(100vw / 12);
}
.timeline-horizontal.xsmall-timeline-cols-13 .timeline-item {
width: calc(100vw / 13);
}
.timeline-horizontal.xsmall-timeline-cols-14 .timeline-item {
width: calc(100vw / 14);
}
.timeline-horizontal.xsmall-timeline-cols-15 .timeline-item {
width: calc(100vw / 15);
}
.timeline-horizontal.xsmall-timeline-cols-16 .timeline-item {
width: calc(100vw / 16);
}
.timeline-horizontal.xsmall-timeline-cols-17 .timeline-item {
width: calc(100vw / 17);
}
.timeline-horizontal.xsmall-timeline-cols-18 .timeline-item {
width: calc(100vw / 18);
}
.timeline-horizontal.xsmall-timeline-cols-19 .timeline-item {
width: calc(100vw / 19);
}
.timeline-horizontal.xsmall-timeline-cols-20 .timeline-item {
width: calc(100vw / 20);
}
}
@media (min-width: 568px) {
.timeline-horizontal.small-timeline-cols-1 .timeline-item {
width: calc(100vw / 1);
}
.timeline-horizontal.small-timeline-cols-2 .timeline-item {
width: calc(100vw / 2);
}
.timeline-horizontal.small-timeline-cols-3 .timeline-item {
width: calc(100vw / 3);
}
.timeline-horizontal.small-timeline-cols-4 .timeline-item {
width: calc(100vw / 4);
}
.timeline-horizontal.small-timeline-cols-5 .timeline-item {
width: calc(100vw / 5);
}
.timeline-horizontal.small-timeline-cols-6 .timeline-item {
width: calc(100vw / 6);
}
.timeline-horizontal.small-timeline-cols-7 .timeline-item {
width: calc(100vw / 7);
}
.timeline-horizontal.small-timeline-cols-8 .timeline-item {
width: calc(100vw / 8);
}
.timeline-horizontal.small-timeline-cols-9 .timeline-item {
width: calc(100vw / 9);
}
.timeline-horizontal.small-timeline-cols-10 .timeline-item {
width: calc(100vw / 10);
}
.timeline-horizontal.small-timeline-cols-11 .timeline-item {
width: calc(100vw / 11);
}
.timeline-horizontal.small-timeline-cols-12 .timeline-item {
width: calc(100vw / 12);
}
.timeline-horizontal.small-timeline-cols-13 .timeline-item {
width: calc(100vw / 13);
}
.timeline-horizontal.small-timeline-cols-14 .timeline-item {
width: calc(100vw / 14);
}
.timeline-horizontal.small-timeline-cols-15 .timeline-item {
width: calc(100vw / 15);
}
.timeline-horizontal.small-timeline-cols-16 .timeline-item {
width: calc(100vw / 16);
}
.timeline-horizontal.small-timeline-cols-17 .timeline-item {
width: calc(100vw / 17);
}
.timeline-horizontal.small-timeline-cols-18 .timeline-item {
width: calc(100vw / 18);
}
.timeline-horizontal.small-timeline-cols-19 .timeline-item {
width: calc(100vw / 19);
}
.timeline-horizontal.small-timeline-cols-20 .timeline-item {
width: calc(100vw / 20);
}
}
@media (min-width: 768px) {
.timeline-horizontal.medium-timeline-cols-1 .timeline-item {
width: calc(100vw / 1);
}
.timeline-horizontal.medium-timeline-cols-2 .timeline-item {
width: calc(100vw / 2);
}
.timeline-horizontal.medium-timeline-cols-3 .timeline-item {
width: calc(100vw / 3);
}
.timeline-horizontal.medium-timeline-cols-4 .timeline-item {
width: calc(100vw / 4);
}
.timeline-horizontal.medium-timeline-cols-5 .timeline-item {
width: calc(100vw / 5);
}
.timeline-horizontal.medium-timeline-cols-6 .timeline-item {
width: calc(100vw / 6);
}
.timeline-horizontal.medium-timeline-cols-7 .timeline-item {
width: calc(100vw / 7);
}
.timeline-horizontal.medium-timeline-cols-8 .timeline-item {
width: calc(100vw / 8);
}
.timeline-horizontal.medium-timeline-cols-9 .timeline-item {
width: calc(100vw / 9);
}
.timeline-horizontal.medium-timeline-cols-10 .timeline-item {
width: calc(100vw / 10);
}
.timeline-horizontal.medium-timeline-cols-11 .timeline-item {
width: calc(100vw / 11);
}
.timeline-horizontal.medium-timeline-cols-12 .timeline-item {
width: calc(100vw / 12);
}
.timeline-horizontal.medium-timeline-cols-13 .timeline-item {
width: calc(100vw / 13);
}
.timeline-horizontal.medium-timeline-cols-14 .timeline-item {
width: calc(100vw / 14);
}
.timeline-horizontal.medium-timeline-cols-15 .timeline-item {
width: calc(100vw / 15);
}
.timeline-horizontal.medium-timeline-cols-16 .timeline-item {
width: calc(100vw / 16);
}
.timeline-horizontal.medium-timeline-cols-17 .timeline-item {
width: calc(100vw / 17);
}
.timeline-horizontal.medium-timeline-cols-18 .timeline-item {
width: calc(100vw / 18);
}
.timeline-horizontal.medium-timeline-cols-19 .timeline-item {
width: calc(100vw / 19);
}
.timeline-horizontal.medium-timeline-cols-20 .timeline-item {
width: calc(100vw / 20);
}
}
@media (min-width: 1024px) {
.timeline-horizontal.large-timeline-cols-1 .timeline-item {
width: calc(100vw / 1);
}
.timeline-horizontal.large-timeline-cols-2 .timeline-item {
width: calc(100vw / 2);
}
.timeline-horizontal.large-timeline-cols-3 .timeline-item {
width: calc(100vw / 3);
}
.timeline-horizontal.large-timeline-cols-4 .timeline-item {
width: calc(100vw / 4);
}
.timeline-horizontal.large-timeline-cols-5 .timeline-item {
width: calc(100vw / 5);
}
.timeline-horizontal.large-timeline-cols-6 .timeline-item {
width: calc(100vw / 6);
}
.timeline-horizontal.large-timeline-cols-7 .timeline-item {
width: calc(100vw / 7);
}
.timeline-horizontal.large-timeline-cols-8 .timeline-item {
width: calc(100vw / 8);
}
.timeline-horizontal.large-timeline-cols-9 .timeline-item {
width: calc(100vw / 9);
}
.timeline-horizontal.large-timeline-cols-10 .timeline-item {
width: calc(100vw / 10);
}
.timeline-horizontal.large-timeline-cols-11 .timeline-item {
width: calc(100vw / 11);
}
.timeline-horizontal.large-timeline-cols-12 .timeline-item {
width: calc(100vw / 12);
}
.timeline-horizontal.large-timeline-cols-13 .timeline-item {
width: calc(100vw / 13);
}
.timeline-horizontal.large-timeline-cols-14 .timeline-item {
width: calc(100vw / 14);
}
.timeline-horizontal.large-timeline-cols-15 .timeline-item {
width: calc(100vw / 15);
}
.timeline-horizontal.large-timeline-cols-16 .timeline-item {
width: calc(100vw / 16);
}
.timeline-horizontal.large-timeline-cols-17 .timeline-item {
width: calc(100vw / 17);
}
.timeline-horizontal.large-timeline-cols-18 .timeline-item {
width: calc(100vw / 18);
}
.timeline-horizontal.large-timeline-cols-19 .timeline-item {
width: calc(100vw / 19);
}
.timeline-horizontal.large-timeline-cols-20 .timeline-item {
width: calc(100vw / 20);
}
}
@media (min-width: 1200px) {
.timeline-horizontal.xlarge-timeline-cols-1 .timeline-item {
width: calc(100vw / 1);
}
.timeline-horizontal.xlarge-timeline-cols-2 .timeline-item {
width: calc(100vw / 2);
}
.timeline-horizontal.xlarge-timeline-cols-3 .timeline-item {
width: calc(100vw / 3);
}
.timeline-horizontal.xlarge-timeline-cols-4 .timeline-item {
width: calc(100vw / 4);
}
.timeline-horizontal.xlarge-timeline-cols-5 .timeline-item {
width: calc(100vw / 5);
}
.timeline-horizontal.xlarge-timeline-cols-6 .timeline-item {
width: calc(100vw / 6);
}
.timeline-horizontal.xlarge-timeline-cols-7 .timeline-item {
width: calc(100vw / 7);
}
.timeline-horizontal.xlarge-timeline-cols-8 .timeline-item {
width: calc(100vw / 8);
}
.timeline-horizontal.xlarge-timeline-cols-9 .timeline-item {
width: calc(100vw / 9);
}
.timeline-horizontal.xlarge-timeline-cols-10 .timeline-item {
width: calc(100vw / 10);
}
.timeline-horizontal.xlarge-timeline-cols-11 .timeline-item {
width: calc(100vw / 11);
}
.timeline-horizontal.xlarge-timeline-cols-12 .timeline-item {
width: calc(100vw / 12);
}
.timeline-horizontal.xlarge-timeline-cols-13 .timeline-item {
width: calc(100vw / 13);
}
.timeline-horizontal.xlarge-timeline-cols-14 .timeline-item {
width: calc(100vw / 14);
}
.timeline-horizontal.xlarge-timeline-cols-15 .timeline-item {
width: calc(100vw / 15);
}
.timeline-horizontal.xlarge-timeline-cols-16 .timeline-item {
width: calc(100vw / 16);
}
.timeline-horizontal.xlarge-timeline-cols-17 .timeline-item {
width: calc(100vw / 17);
}
.timeline-horizontal.xlarge-timeline-cols-18 .timeline-item {
width: calc(100vw / 18);
}
.timeline-horizontal.xlarge-timeline-cols-19 .timeline-item {
width: calc(100vw / 19);
}
.timeline-horizontal.xlarge-timeline-cols-20 .timeline-item {
width: calc(100vw / 20);
}
}
.timeline-year {
padding-top: var(--f7-timeline-year-height);
}
.timeline-year:after {
content: '';
position: absolute;
background-color: var(--f7-timeline-horizontal-item-border-color);
display: block;
z-index: 15;
top: 0;
right: 0;
bottom: auto;
left: auto;
width: 1px;
height: 100%;
transform-origin: 100% 50%;
transform: scaleX(calc(1 / var(--f7-device-pixel-ratio)));
}
.timeline-year:last-child:after {
display: none !important;
}
.timeline-month {
padding-top: var(--f7-timeline-month-height);
}
.timeline-month .timeline-item:before {
content: '';
position: absolute;
background-color: var(--f7-timeline-horizontal-item-border-color);
display: block;
z-index: 15;
top: 0;
right: auto;
bottom: auto;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 0%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.timeline-year,
.timeline-month {
display: flex;
flex-shrink: 0;
position: relative;
box-sizing: border-box;
height: 100%;
}
.timeline-year-title {
line-height: var(--f7-timeline-year-height);
height: var(--f7-timeline-year-height);
font-size: var(--f7-timeline-year-font-size);
font-weight: var(--f7-timeline-year-font-weight);
}
.timeline-month-title {
line-height: var(--f7-timeline-month-height);
height: var(--f7-timeline-month-height);
font-size: var(--f7-timeline-month-font-size);
font-weight: var(--f7-timeline-month-font-weight);
}
.timeline-year-title,
.timeline-month-title {
position: absolute;
left: 0;
top: 0;
width: 100%;
box-sizing: border-box;
padding: 0 var(--f7-timeline-horizontal-item-padding);
background-color: var(--f7-bars-bg-color);
color: var(--f7-bars-text-color);
}
@supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
.ios-translucent-bars .timeline-year-title,
.ios-translucent-bars .timeline-month-title {
background-color: rgba(var(--f7-bars-bg-color-rgb), var(--f7-bars-translucent-opacity));
-webkit-backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
}
}
.timeline-year-title span,
.timeline-month-title span {
display: inline-block;
position: sticky;
left: calc(var(--f7-timeline-horizontal-item-padding) + var(--f7-safe-area-left));
}
.timeline-month-title span {
margin-top: -2px;
}
.timeline-year:first-child .timeline-year-title,
.timeline-year:first-child .timeline-month:first-child .timeline-month-title,
.timeline-year:first-child .timeline-year-title + .timeline-month .timeline-month-title {
left: calc(var(--f7-safe-area-left) * -1);
right: 0;
width: auto;
}
.timeline-horizontal .timeline-item:first-child,
.timeline-year:first-child .timeline-month:first-child .timeline-item:first-child,
.timeline-year:first-child .timeline-year-title + .timeline-month .timeline-item:first-child,
.timeline-year:first-child .timeline-year-title + .timeline-month .timeline-month-title + .timeline-item {
overflow: visible;
}
.timeline-horizontal .timeline-item:first-child .timeline-item-date,
.timeline-year:first-child .timeline-month:first-child .timeline-item:first-child .timeline-item-date,
.timeline-year:first-child .timeline-year-title + .timeline-month .timeline-item:first-child .timeline-item-date,
.timeline-year:first-child .timeline-year-title + .timeline-month .timeline-month-title + .timeline-item .timeline-item-date {
width: auto;
padding-left: calc(var(--f7-timeline-horizontal-item-padding) + var(--f7-safe-area-left));
left: calc(0px - var(--f7-safe-area-left));
right: 0;
}
.timeline-year:last-child .timeline-year-title,
.timeline-year:last-child .timeline-month:last-child .timeline-month-title {
width: auto;
right: calc(0px - var(--f7-safe-area-right));
}
.timeline-horizontal .timeline-item:last-child,
.timeline-year:last-child .timeline-month:last-child .timeline-item:last-child {
overflow: visible;
}
.timeline-horizontal .timeline-item:last-child .timeline-item-date,
.timeline-year:last-child .timeline-month:last-child .timeline-item:last-child .timeline-item-date {
width: auto;
right: calc(0px - var(--f7-safe-area-right));
left: 0;
}
.ios .block-strong .timeline-item-inner {
border-radius: 3px;
border: 1px solid rgba(0, 0, 0, 0.1);
}
.ios .timeline-year-title span {
margin-top: 3px;
}
.md .timeline-year-title span {
margin-top: 2px;
}
/* === Tabs === */
.tabs .tab {
display: none;
}
.tabs .tab-active {
display: block;
}
.tabs-animated-wrap {
position: relative;
width: 100%;
overflow: hidden;
height: 100%;
}
.tabs-animated-wrap > .tabs {
display: flex;
height: 100%;
transition-duration: 300ms;
}
.tabs-animated-wrap > .tabs > .tab {
width: 100%;
display: block;
flex-shrink: 0;
}
.tabs-animated-wrap.not-animated > .tabs {
transition-duration: 0ms;
}
swiper-container.tabs {
height: 100%;
}
swiper-container.tabs > .tab {
display: block;
touch-action: pan-y;
}
.page > .tabs {
height: 100%;
}
/* === Panels === */
:root {
--f7-panel-width: 260px;
--f7-panel-backdrop-bg-color: rgba(0, 0, 0, 0.3);
/*
--f7-panel-left-width: var(--f7-panel-width);
--f7-panel-right-width: var(--f7-panel-width);
--f7-panel-left-collapsed-width: var(--f7-panel-collapsed-width);
--f7-panel-right-collapsed-width: var(--f7-panel-collapsed-width);
*/
--f7-panel-bg-color: #fff;
}
:root .dark,
:root.dark {
--f7-panel-bg-color: #000;
}
.ios {
--f7-panel-collapsed-width: 58px;
--f7-panel-transition-duration: 400ms;
--f7-panel-transition-timing-function: initial;
}
.md {
--f7-panel-collapsed-width: 60px;
--f7-panel-transition-duration: 400ms;
--f7-panel-transition-timing-function: cubic-bezier(0, 0.8, 0.34, 1);
}
.panel-backdrop {
position: absolute;
left: 0;
top: 0px;
width: 100%;
height: 100%;
opacity: 0;
z-index: 5999;
visibility: hidden;
pointer-events: none;
transform: translate3d(0, 0, 0);
background-color: var(--f7-panel-backdrop-bg-color);
transition-property: transform, opacity;
transition-duration: var(--f7-panel-transition-duration);
}
.panel-backdrop .with-panel,
.panel-backdrop .with-panel-closing {
visibility: visible;
}
.panel-backdrop.not-animated {
transition-duration: 0ms !important;
}
.panel {
z-index: 1000;
box-sizing: border-box;
position: absolute;
top: 0px;
height: 100%;
transform: translate3d(0, 0, 0);
width: var(--f7-panel-width);
background-color: var(--f7-panel-bg-color);
overflow: visible;
transition-property: transform;
transition-duration: var(--f7-panel-transition-duration);
}
.panel:not(.panel-in):not(.panel-out):not(.panel-in-breakpoint):not(.panel-in-collapsed):not(
.panel-in-swipe
) {
display: none;
}
.panel:after {
pointer-events: none;
opacity: 0;
z-index: 5999;
position: absolute;
content: '';
top: 0;
width: 20px;
height: 100%;
transition-property: transform, opacity;
transition-duration: var(--f7-panel-transition-duration);
}
.panel.not-animated,
.panel.not-animated:after {
transition-duration: 0ms !important;
}
.panel.panel-reveal.not-animated ~ .views,
.panel.panel-reveal.not-animated ~ .view {
transition-duration: 0ms !important;
}
.panel.panel-resizing {
-webkit-user-select: none;
user-select: none;
}
.panel.panel-resizing,
.panel.panel-resizing:after,
.panel.panel-resizing ~ .views,
.panel.panel-resizing ~ .view {
transition-duration: 0ms !important;
}
.panel-cover,
.panel-floating {
z-index: 6000;
}
.panel-floating {
overflow: hidden;
border-radius: 16px;
height: auto;
top: calc(8px + var(--f7-safe-area-top, 0px));
bottom: calc(8px + var(--f7-safe-area-bottom, 0px));
}
.panel-floating .views,
.panel-floating .view {
--f7-safe-area-top: 0px;
--f7-safe-area-bottom: 0px;
}
.page .panel-floating {
top: calc(8px + var(--f7-page-navbar-offset, 0px));
bottom: calc(8px + var(--f7-safe-area-bottom, 0px));
}
.page .panel-floating .page {
--f7-page-navbar-offset: 0px;
}
.page .panel-floating .navbar ~ *,
.page .panel-floating .navbars ~ * {
--f7-page-navbar-offset: calc(var(--f7-navbar-height));
}
.panel-left {
left: 0;
width: var(--f7-panel-left-width, var(--f7-panel-width));
}
.panel-left.panel-cover,
.panel-left.panel-floating,
.panel-left.panel-push {
transform: translate3d(calc(-1 * var(--f7-panel-left-width, var(--f7-panel-width))), 0, 0);
}
.panel-right {
right: 0;
width: var(--f7-panel-right-width, var(--f7-panel-width));
}
.panel-right.panel-cover,
.panel-right.panel-floating,
.panel-right.panel-push {
transform: translate3d(var(--f7-panel-right-width, var(--f7-panel-width)), 0, 0);
}
.panel-in-breakpoint {
transform: translate3d(0, 0, 0) !important;
transition-duration: 0ms;
}
.panel-in-breakpoint:after {
display: none;
}
.panel-in-breakpoint.panel-cover,
.panel-in-breakpoint.panel-floating {
z-index: 5900;
}
.panel,
.panel-backdrop {
transition-timing-function: var(--f7-panel-transition-timing-function);
}
html.with-panel-left-reveal .views,
html.with-panel-right-reveal .views,
html.with-panel-left-push .views,
html.with-panel-right-push .views,
html.with-panel-closing .views,
html.with-panel-left-reveal .framework7-root > .view,
html.with-panel-right-reveal .framework7-root > .view,
html.with-panel-left-push .framework7-root > .view,
html.with-panel-right-push .framework7-root > .view,
html.with-panel-closing .framework7-root > .view {
transition-duration: var(--f7-panel-transition-duration);
transition-property: transform;
transition-timing-function: var(--f7-panel-transition-timing-function);
}
html.with-panel .framework7-root > .views .page-content,
html.with-panel .framework7-root > .view .page-content {
overflow: hidden;
-webkit-overflow-scrolling: auto;
}
html.with-panel-left-reveal .views,
html.with-panel-left-push .views,
html.with-panel-left-reveal .framework7-root > .view,
html.with-panel-left-push .framework7-root > .view {
transform: translate3d(var(--f7-panel-left-width, var(--f7-panel-width)), 0, 0);
}
html.with-panel-right-reveal .views,
html.with-panel-right-push .views,
html.with-panel-right-reveal .framework7-root > .view,
html.with-panel-right-push .framework7-root > .view {
transform: translate3d(calc(-1 * var(--f7-panel-right-width, var(--f7-panel-width))), 0, 0);
}
.page > .panel-backdrop {
z-index: 290;
}
.page > .panel-reveal,
.page .panel-push {
z-index: 1;
}
.page > .panel-cover,
.page > .panel-floating {
z-index: 300;
}
.page.with-panel-left-reveal > .page-content,
.page.with-panel-right-reveal > .page-content,
.page.with-panel-left-push > .page-content,
.page.with-panel-right-push > .page-content,
.page.with-panel-closing > .page-content,
.page.with-panel-left-reveal > .tabs,
.page.with-panel-right-reveal > .tabs,
.page.with-panel-left-push > .tabs,
.page.with-panel-right-push > .tabs,
.page.with-panel-closing > .tabs {
transition-duration: var(--f7-panel-transition-duration);
transition-property: transform;
transition-timing-function: var(--f7-panel-transition-timing-function);
}
.page.with-panel-left-reveal > .page-content,
.page.with-panel-left-push > .page-content,
.page.with-panel-left-reveal > .tabs,
.page.with-panel-left-push > .tabs {
transform: translate3d(var(--f7-panel-left-width, var(--f7-panel-width)), 0, 0);
}
.page.with-panel-right-reveal > .page-content,
.page.with-panel-right-push > .page-content,
.page.with-panel-right-reveal > .tabs,
.page.with-panel-right-push > .tabs {
transform: translate3d(calc(-1 * var(--f7-panel-right-width, var(--f7-panel-width))), 0, 0);
}
.with-panel-closing .panel-backdrop-in {
visibility: visible;
pointer-events: auto;
opacity: 0;
}
.with-panel-left-reveal .panel-backdrop-in,
.with-panel-right-reveal .panel-backdrop-in,
.with-panel-left-cover .panel-backdrop-in,
.with-panel-right-cover .panel-backdrop-in,
.with-panel-left-floating .panel-backdrop-in,
.with-panel-right-floating .panel-backdrop-in,
.with-panel-left-push .panel-backdrop-in,
.with-panel-right-push .panel-backdrop-in {
visibility: visible;
pointer-events: auto;
opacity: 1;
}
.with-panel-left-reveal .panel-backdrop-in,
.with-panel-left-push .panel-backdrop-in {
transform: translate3d(var(--f7-panel-left-width, var(--f7-panel-width)), 0, 0);
}
.with-panel-right-reveal .panel-backdrop-in,
.with-panel-right-push .panel-backdrop-in {
transform: translate3d(calc(-1 * var(--f7-panel-right-width, var(--f7-panel-width))), 0, 0);
}
.with-panel-left-cover .panel-left,
.with-panel-left-push .panel-left {
transform: translate3d(0px, 0, 0);
}
.with-panel-left-floating .panel-left {
transform: translate3d(8px, 0, 0);
}
.with-panel-right-cover .panel-right,
.with-panel-right-push .panel-right {
transform: translate3d(0px, 0, 0);
}
.with-panel-right-floating .panel-right {
transform: translate3d(-8px, 0, 0);
}
.panel-resizable {
max-width: 100%;
}
.panel-resize-handler {
position: absolute;
top: 0;
height: 100%;
width: 6px;
cursor: col-resize;
z-index: 6000;
display: none;
}
.panel-resizable .panel-resize-handler {
display: block;
}
.panel-left.panel-cover .panel-resize-handler,
.panel-left.panel-floating .panel-resize-handler {
right: -3px;
}
.panel-left.panel-reveal .panel-resize-handler,
.panel-left.panel-push .panel-resize-handler {
right: 0;
}
.panel-right.panel-cover .panel-resize-handler,
.panel-right.panel-floating .panel-resize-handler {
left: -3px;
}
.panel-right.panel-reveal .panel-resize-handler,
.panel-right.panel-push .panel-resize-handler {
left: 0;
}
.panel-left.panel-in-collapsed ~ .views,
.panel-left.panel-in-collapsed ~ .view,
.panel-left.panel-in-collapsed ~ .page-content,
.panel-left.panel-in-collapsed ~ .tabs {
margin-left: var(--f7-panel-left-collapsed-width, var(--f7-panel-collapsed-width));
}
.page.with-panel-left-reveal .panel-left.panel-in-collapsed ~ .page-content,
.page.with-panel-left-reveal .panel-left.panel-in-collapsed ~ .tabs,
html.with-panel-left-reveal .panel-left.panel-in-collapsed ~ .views,
html.with-panel-left-reveal .panel-left.panel-in-collapsed ~ .view {
transform: translate3d(calc(var(--f7-panel-left-width, var(--f7-panel-width)) - var(--f7-panel-left-collapsed-width, var(--f7-panel-collapsed-width))), 0, 0);
}
.panel-right.panel-in-collapsed ~ .views,
.panel-right.panel-in-collapsed ~ .view,
.panel-right.panel-in-collapsed ~ .page-content,
.panel-right.panel-in-collapsed ~ .tabs {
margin-right: var(--f7-panel-right-collapsed-width, var(--f7-panel-collapsed-width));
}
.page.with-panel-right-reveal .panel-right.panel-in-collapsed ~ .page-content,
.page.with-panel-right-reveal .panel-right.panel-in-collapsed ~ .tabs,
html.with-panel-right-reveal .panel-right.panel-in-collapsed ~ .views,
html.with-panel-right-reveal .panel-right.panel-in-collapsed ~ .view {
transform: translate3d(calc(var(--f7-panel-right-collapsed-width, var(--f7-panel-collapsed-width)) - var(--f7-panel-right-width, var(--f7-panel-width))), 0, 0);
}
html.with-modal-popup-push .framework7-root,
html.with-modal-popup-push-closing .framework7-root {
--f7-panelPushScale: var(--f7-popup-push-scale);
--f7-panelPushTransitionDuration: var(--f7-popup-transition-duration);
--f7-panelPushTransitionTimingFunction: var(--f7-popup-transition-timing-function);
--f7-panelPushBorderRadius: var(--f7-popup-push-border-radius);
}
html.with-modal-sheet-push .framework7-root,
html.with-modal-sheet-push-closing .framework7-root {
--f7-panelPushScale: var(--f7-sheet-push-scale);
--f7-panelPushTransitionDuration: var(--f7-sheet-transition-duration);
--f7-panelPushTransitionTimingFunction: var(--f7-sheet-transition-timing-function);
--f7-panelPushBorderRadius: var(--f7-sheet-push-border-radius);
}
html.with-modal-popup-push .framework7-root > .panel-in,
html.with-modal-sheet-push .framework7-root > .panel-in,
html.with-modal-popup-push .framework7-root > .panel-out,
html.with-modal-sheet-push .framework7-root > .panel-out {
transition-duration: var(--f7-panelPushTransitionDuration);
transition-timing-function: var(--f7-panelPushTransitionTimingFunction);
}
html.with-modal-popup-push .framework7-root > .panel-in.panel-reveal.panel-left,
html.with-modal-sheet-push .framework7-root > .panel-in.panel-reveal.panel-left,
html.with-modal-popup-push .framework7-root > .panel-out.panel-reveal.panel-left,
html.with-modal-sheet-push .framework7-root > .panel-out.panel-reveal.panel-left,
html.with-modal-popup-push .framework7-root > .panel-in.panel-push.panel-left,
html.with-modal-sheet-push .framework7-root > .panel-in.panel-push.panel-left,
html.with-modal-popup-push .framework7-root > .panel-out.panel-push.panel-left,
html.with-modal-sheet-push .framework7-root > .panel-out.panel-push.panel-left {
transform: scale(var(--f7-panelPushScale, 1));
transform-origin: 50vw center;
border-top-left-radius: var(--f7-panelPushBorderRadius);
}
html.with-modal-popup-push .framework7-root > .panel-in.panel-reveal.panel-left .view,
html.with-modal-sheet-push .framework7-root > .panel-in.panel-reveal.panel-left .view,
html.with-modal-popup-push .framework7-root > .panel-out.panel-reveal.panel-left .view,
html.with-modal-sheet-push .framework7-root > .panel-out.panel-reveal.panel-left .view,
html.with-modal-popup-push .framework7-root > .panel-in.panel-push.panel-left .view,
html.with-modal-sheet-push .framework7-root > .panel-in.panel-push.panel-left .view,
html.with-modal-popup-push .framework7-root > .panel-out.panel-push.panel-left .view,
html.with-modal-sheet-push .framework7-root > .panel-out.panel-push.panel-left .view {
border-top-left-radius: var(--f7-panelPushBorderRadius);
}
html.with-modal-popup-push .framework7-root > .panel-in.panel-reveal.panel-right,
html.with-modal-sheet-push .framework7-root > .panel-in.panel-reveal.panel-right,
html.with-modal-popup-push .framework7-root > .panel-out.panel-reveal.panel-right,
html.with-modal-sheet-push .framework7-root > .panel-out.panel-reveal.panel-right,
html.with-modal-popup-push .framework7-root > .panel-in.panel-push.panel-right,
html.with-modal-sheet-push .framework7-root > .panel-in.panel-push.panel-right,
html.with-modal-popup-push .framework7-root > .panel-out.panel-push.panel-right,
html.with-modal-sheet-push .framework7-root > .panel-out.panel-push.panel-right {
transform: scale(var(--f7-panelPushScale, 1));
transform-origin: calc(var(--f7-panel-left-width, var(--f7-panel-width)) - 50vw) center;
border-top-right-radius: var(--f7-panelPushBorderRadius);
}
html.with-modal-popup-push .framework7-root > .panel-in.panel-reveal.panel-right .view,
html.with-modal-sheet-push .framework7-root > .panel-in.panel-reveal.panel-right .view,
html.with-modal-popup-push .framework7-root > .panel-out.panel-reveal.panel-right .view,
html.with-modal-sheet-push .framework7-root > .panel-out.panel-reveal.panel-right .view,
html.with-modal-popup-push .framework7-root > .panel-in.panel-push.panel-right .view,
html.with-modal-sheet-push .framework7-root > .panel-in.panel-push.panel-right .view,
html.with-modal-popup-push .framework7-root > .panel-out.panel-push.panel-right .view,
html.with-modal-sheet-push .framework7-root > .panel-out.panel-push.panel-right .view {
border-top-right-radius: var(--f7-panelPushBorderRadius);
}
html.with-modal-popup-push .framework7-root > .panel-in.panel-cover.panel-left,
html.with-modal-sheet-push .framework7-root > .panel-in.panel-cover.panel-left,
html.with-modal-popup-push .framework7-root > .panel-out.panel-cover.panel-left,
html.with-modal-sheet-push .framework7-root > .panel-out.panel-cover.panel-left {
transform: translate3d(calc(-1 * var(--f7-panel-left-width, var(--f7-panel-width))), 0, 0px);
}
html.with-modal-popup-push .framework7-root > .panel-in.panel-cover.panel-right,
html.with-modal-sheet-push .framework7-root > .panel-in.panel-cover.panel-right,
html.with-modal-popup-push .framework7-root > .panel-out.panel-cover.panel-right,
html.with-modal-sheet-push .framework7-root > .panel-out.panel-cover.panel-right {
transform: translate3d(var(--f7-panel-right-width, var(--f7-panel-width)), 0, 0px);
}
html.with-modal-popup-push-closing .framework7-root > .panel-in,
html.with-modal-sheet-push-closing .framework7-root > .panel-in {
transition-duration: var(--f7-panelPushTransitionDuration);
transition-timing-function: var(--f7-panelPushTransitionTimingFunction);
}
html.with-modal-popup-push-closing .framework7-root > .panel-in.panel-reveal.panel-left,
html.with-modal-sheet-push-closing .framework7-root > .panel-in.panel-reveal.panel-left,
html.with-modal-popup-push-closing .framework7-root > .panel-in.panel-push.panel-left,
html.with-modal-sheet-push-closing .framework7-root > .panel-in.panel-push.panel-left {
transform-origin: 50vw center;
}
html.with-modal-popup-push-closing .framework7-root > .panel-in.panel-reveal.panel-right,
html.with-modal-sheet-push-closing .framework7-root > .panel-in.panel-reveal.panel-right,
html.with-modal-popup-push-closing .framework7-root > .panel-in.panel-push.panel-right,
html.with-modal-sheet-push-closing .framework7-root > .panel-in.panel-push.panel-right {
transform-origin: calc(var(--f7-panel-right-width, var(--f7-panel-width)) - 50vw) center;
}
.md .panel-cover {
overflow: hidden;
}
.md .panel-cover.panel-left {
border-radius: 0 16px 16px 0;
}
.md .panel-cover.panel-right {
border-radius: 16px 0 0 16px;
}
/* === Card === */
:root {
--f7-card-margin-horizontal: 16px;
--f7-card-margin-vertical: 16px;
--f7-card-content-padding-horizontal: 16px;
--f7-card-content-padding-vertical: 16px;
--f7-card-font-size: inherit;
--f7-card-header-text-color: inherit;
--f7-card-header-font-weight: 400;
--f7-card-header-padding-horizontal: 16px;
--f7-card-footer-font-weight: 400;
--f7-card-footer-font-size: inherit;
--f7-card-footer-padding-horizontal: 16px;
--f7-card-expandable-font-size: 16px;
--f7-card-expandable-tablet-width: 670px;
--f7-card-expandable-tablet-height: 670px;
}
.ios {
--f7-card-border-radius: 8px;
--f7-card-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
--f7-card-header-font-size: 17px;
--f7-card-header-padding-vertical: 10px;
--f7-card-header-min-height: 44px;
--f7-card-footer-text-color: rgba(0, 0, 0, 0.45);
--f7-card-footer-padding-vertical: 10px;
--f7-card-footer-min-height: 44px;
--f7-card-expandable-margin-horizontal: 20px;
--f7-card-expandable-margin-vertical: 30px;
--f7-card-expandable-box-shadow: 0px 20px 40px rgba(0, 0, 0, 0.3);
--f7-card-expandable-border-radius: 16px;
--f7-card-expandable-tablet-border-radius: 16px;
--f7-card-expandable-header-font-size: 27px;
--f7-card-expandable-header-font-weight: bold;
--f7-card-text-color: inherit;
--f7-card-bg-color: #fff;
--f7-card-expandable-bg-color: #fff;
--f7-card-outline-border-color: rgba(0, 0, 0, 0.12);
--f7-card-header-border-color: rgba(0, 0, 0, 0.1);
--f7-card-footer-border-color: rgba(0, 0, 0, 0.1);
}
.ios .dark,
.ios.dark {
--f7-card-bg-color: #1c1c1d;
--f7-card-expandable-bg-color: #1c1c1d;
--f7-card-outline-border-color: rgba(255, 255, 255, 0.15);
--f7-card-header-border-color: rgba(255, 255, 255, 0.15);
--f7-card-footer-border-color: rgba(255, 255, 255, 0.15);
--f7-card-footer-text-color: rgba(255, 255, 255, 0.55);
}
.md {
--f7-card-border-radius: 16px;
--f7-card-box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2),
0px 1px 1px 0px rgba(0, 0, 0, 0.14),
0px 1px 3px 0px rgba(0, 0, 0, 0.12);
--f7-card-header-font-size: 22px;
--f7-card-header-padding-vertical: 16px;
--f7-card-header-min-height: 48px;
--f7-card-footer-padding-vertical: 16px;
--f7-card-footer-min-height: 48px;
--f7-card-expandable-margin-horizontal: 12px;
--f7-card-expandable-margin-vertical: 24px;
--f7-card-expandable-box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2),
0px 10px 14px 1px rgba(0, 0, 0, 0.14),
0px 4px 18px 3px rgba(0, 0, 0, 0.12);
--f7-card-expandable-border-radius: 16px;
--f7-card-expandable-tablet-border-radius: 16px;
--f7-card-expandable-header-font-size: 22px;
--f7-card-expandable-header-font-weight: 500;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-card-bg-color: var(--f7-md-surface-1);
--f7-card-expandable-bg-color: var(--f7-md-surface-1);
--f7-card-outline-border-color: var(--f7-md-outline);
--f7-card-header-border-color: var(--f7-md-outline);
--f7-card-footer-border-color: var(--f7-md-outline);
--f7-card-text-color: var(--f7-md-on-surface);
--f7-card-footer-text-color: var(--f7-md-on-surface-variant);
}
.cards-list > ul:before,
.card .list > ul:before,
.cards-list > ul:after,
.card .list > ul:after {
display: none !important;
}
.cards-list ul,
.card .list ul {
background: none;
}
.card {
background: var(--f7-card-bg-color);
position: relative;
border-radius: var(--f7-card-border-radius);
font-size: var(--f7-card-font-size);
margin-top: var(--f7-card-margin-vertical);
margin-bottom: var(--f7-card-margin-vertical);
margin-left: calc(var(--f7-card-margin-horizontal) + var(--f7-safe-area-left));
margin-right: calc(var(--f7-card-margin-horizontal) + var(--f7-safe-area-right));
color: var(--f7-card-text-color);
}
.card .list,
.card .block {
margin: 0;
}
.row:not(.no-gap) .col > .card {
margin-left: 0;
margin-right: 0;
}
.card-raised {
box-shadow: var(--f7-card-box-shadow);
}
.card-outline,
.ios .card-outline-ios,
.md .card-outline-md {
border: 1px solid var(--f7-card-outline-border-color);
}
.card-content {
position: relative;
}
.card-content-padding {
position: relative;
padding: var(--f7-card-content-padding-vertical) var(--f7-card-content-padding-horizontal);
}
.card-content-padding > .list,
.card-content-padding > .block {
margin: calc(-1 * var(--f7-card-content-padding-vertical)) calc(-1 * var(--f7-card-content-padding-horizontal));
}
.card-content-padding > p:first-child {
margin-top: 0;
}
.card-content-padding > p:last-child {
margin-bottom: 0;
}
.card-header {
min-height: var(--f7-card-header-min-height);
color: var(--f7-card-header-text-color);
font-size: var(--f7-card-header-font-size);
font-weight: var(--f7-card-header-font-weight);
padding: var(--f7-card-header-padding-vertical) var(--f7-card-header-padding-horizontal);
}
.card-header.card-header-divider,
.card-header-divider .card-header,
.card-dividers .card-header {
border-bottom: 1px solid var(--f7-card-header-border-color);
}
.card-footer {
min-height: var(--f7-card-footer-min-height);
color: var(--f7-card-footer-text-color);
font-size: var(--f7-card-footer-font-size);
font-weight: var(--f7-card-footer-font-weight);
padding: var(--f7-card-footer-padding-vertical) var(--f7-card-footer-padding-horizontal);
}
.card-footer.card-footer-divider,
.card-footer-divider .card-footer,
.card-dividers .card-footer {
border-top: 1px solid var(--f7-card-header-border-color);
}
.card-footer a.link {
overflow: hidden;
}
.card-header,
.card-footer {
position: relative;
box-sizing: border-box;
display: flex;
justify-content: space-between;
align-items: center;
}
.card-header[valign='top'],
.card-footer[valign='top'] {
align-items: flex-start;
}
.card-header[valign='bottom'],
.card-footer[valign='bottom'] {
align-items: flex-end;
}
.card-header a.link,
.card-footer a.link {
position: relative;
}
.card-header a.link i.icon,
.card-footer a.link i.icon {
display: block;
}
.card-header a.icon-only,
.card-footer a.icon-only {
display: flex;
justify-content: center;
align-items: center;
margin: 0;
}
.card-header {
border-radius: var(--f7-card-border-radius) var(--f7-card-border-radius) 0 0;
}
.card-footer {
border-radius: 0 0 var(--f7-card-border-radius) var(--f7-card-border-radius);
}
.card-expandable {
overflow: hidden;
height: 300px;
background: var(--f7-card-expandable-bg-color);
position: relative;
transform-origin: center center;
transition-property: transform, border-radius;
border-radius: var(--f7-card-expandable-border-radius);
z-index: 2;
transition-duration: 200ms;
margin-left: calc(var(--f7-card-expandable-margin-horizontal) + var(--f7-safe-area-left));
margin-right: calc(var(--f7-card-expandable-margin-horizontal) + var(--f7-safe-area-right));
margin-top: var(--f7-card-expandable-margin-vertical);
margin-bottom: var(--f7-card-expandable-margin-vertical);
font-size: var(--f7-card-expandable-font-size);
}
.card-expandable.card-raised {
box-shadow: var(--f7-card-expandable-box-shadow);
}
.card-expandable:not(.card-opened) {
-webkit-user-select: none;
user-select: none;
}
.card-expandable.card-no-transition {
transition-duration: 0ms;
}
.card-expandable.card-expandable-animate-width .card-content {
transition-property: width, transform;
width: 100%;
}
.card-expandable.active-state {
transform: scale(0.97) translate3d(0, 0, 0);
}
.card-expandable .card-opened-fade-in,
.card-expandable .card-opened-fade-out {
transition-duration: 400ms;
}
.card-expandable .card-opened-fade-in {
opacity: 0;
pointer-events: none;
}
.card-expandable .card-content {
position: absolute;
top: 0;
width: 100vw;
height: 100vh;
transform-origin: center top;
overflow: hidden;
transition-property: transform;
box-sizing: border-box;
pointer-events: none;
left: 0;
}
.card-expandable .card-content .card-content-padding {
padding-left: calc(var(--f7-safe-area-left) + var(--f7-card-content-padding-horizontal));
padding-right: calc(var(--f7-safe-area-right) + var(--f7-card-content-padding-horizontal));
}
.card-expandable.card-opened {
transition-duration: 0ms;
}
.card-expandable.card-opening,
.card-expandable.card-closing,
.card-expandable.card-transitioning {
transition-duration: 400ms;
}
.card-expandable.card-opening .card-content {
transition-duration: 300ms;
}
.card-expandable.card-closing .card-content {
transition-duration: 500ms;
}
.card-expandable.card-opening,
.card-expandable.card-opened,
.card-expandable.card-closing {
z-index: 300;
}
.card-expandable.card-opening,
.card-expandable.card-opened {
border-radius: 0;
}
.card-expandable.card-opening .card-opened-fade-in,
.card-expandable.card-opened .card-opened-fade-in {
opacity: 1;
pointer-events: auto;
}
.card-expandable.card-opening .card-opened-fade-out,
.card-expandable.card-opened .card-opened-fade-out {
opacity: 0;
pointer-events: none;
}
.card-expandable.card-opened .card-content {
overflow: auto;
-webkit-overflow-scrolling: touch;
pointer-events: auto;
}
.card-expandable .card-header {
font-size: var(--f7-card-expandable-header-font-size);
font-weight: var(--f7-card-expandable-header-font-weight);
}
.card-prevent-open {
pointer-events: auto;
}
.card-expandable-size {
width: 0;
height: 0;
position: absolute;
left: 0;
top: 0;
opacity: 0;
pointer-events: none;
visibility: hidden;
}
@media (min-width: 768px) and (min-height: 670px) {
.card-expandable:not(.card-tablet-fullscreen) {
max-width: var(--f7-card-expandable-tablet-width);
}
.card-expandable:not(.card-tablet-fullscreen).card-opened,
.card-expandable:not(.card-tablet-fullscreen).card-opening {
border-radius: var(--f7-card-expandable-tablet-border-radius);
}
.card-expandable:not(.card-tablet-fullscreen):not(.card-expandable-animate-width) .card-content {
width: var(--f7-card-expandable-tablet-width);
}
.card-expandable:not(.card-tablet-fullscreen) .card-expandable-size {
width: var(--f7-card-expandable-tablet-width);
height: var(--f7-card-expandable-tablet-height);
}
}
.page.page-with-card-opened .page-content {
overflow: hidden;
}
.card-backdrop {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 299;
pointer-events: none;
background: rgba(0, 0, 0, 0.2);
opacity: 0;
}
.card-backdrop-in {
animation: card-backdrop-fade-in 400ms forwards;
pointer-events: auto;
}
.card-backdrop-out {
animation: card-backdrop-fade-out 400ms forwards;
}
@supports ((-webkit-backdrop-filter: blur(15px)) or (backdrop-filter: blur(15px))) {
.card-backdrop {
background: transparent;
-webkit-backdrop-filter: blur(15px);
backdrop-filter: blur(15px);
}
}
@keyframes card-backdrop-fade-in {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes card-backdrop-fade-out {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
/* === Chips === */
:root {
--f7-chip-font-size: 14px;
--f7-chip-media-font-size: 16px;
--f7-chip-delete-button-color: #000;
}
:root .dark,
:root.dark {
--f7-chip-delete-button-color: #fff;
}
.ios {
--f7-chip-height: 28px;
--f7-chip-media-size: 28px;
--f7-chip-padding-horizontal: 10px;
--f7-chip-border-radius: 28px;
--f7-chip-font-weight: normal;
--f7-chip-outline-border-color: rgba(0, 0, 0, 0.12);
--f7-chip-bg-color: rgba(0, 0, 0, 0.12);
--f7-chip-text-color: #000;
--f7-chip-outline-text-color: #000;
}
.ios .dark,
.ios.dark {
--f7-chip-bg-color: #333;
--f7-chip-text-color: #fff;
--f7-chip-outline-text-color: #fff;
--f7-chip-outline-border-color: rgba(255, 255, 255, 0.12);
}
.md {
--f7-chip-font-weight: 500;
--f7-chip-media-size: 24px;
--f7-chip-height: 32px;
--f7-chip-padding-horizontal: 12px;
--f7-chip-border-radius: 8px;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-chip-bg-color: var(--f7-md-secondary-container);
--f7-chip-text-color: var(--f7-md-on-secondary-container);
--f7-chip-outline-text-color: var(--f7-md-on-surface);
--f7-chip-outline-border-color: var(--f7-md-outline);
}
.chip {
padding-left: var(--f7-chip-padding-horizontal);
padding-right: var(--f7-chip-padding-horizontal);
font-weight: var(--f7-chip-font-weight);
display: inline-flex;
box-sizing: border-box;
vertical-align: middle;
align-items: center;
margin: 2px 0;
background-color: var(--f7-chip-bg-color);
font-size: var(--f7-chip-font-size);
color: var(--f7-chip-text-color);
height: var(--f7-chip-height);
line-height: var(--f7-chip-height);
border-radius: var(--f7-chip-border-radius);
position: relative;
}
.chip-media {
border-radius: 50%;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
height: var(--f7-chip-media-size);
width: var(--f7-chip-media-size);
border-radius: var(--f7-chip-media-size);
text-align: center;
line-height: var(--f7-chip-media-size);
box-sizing: border-box;
color: #fff;
font-size: var(--f7-chip-media-font-size);
vertical-align: middle;
}
.chip-media i.icon {
font-size: calc(var(--f7-chip-media-size) - 8px);
height: calc(var(--f7-chip-media-size) - 8px);
}
.chip-media img {
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
border-radius: 50%;
display: block;
}
.chip-media + .chip-label {
margin-left: 4px;
}
.chip-label {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
position: relative;
flex-shrink: 1;
min-width: 0;
}
.chip-delete {
text-align: center;
cursor: pointer;
flex-shrink: 0;
background-repeat: no-repeat;
width: 24px;
height: 24px;
color: var(--f7-chip-delete-button-color);
opacity: 0.54;
position: relative;
}
.chip-delete:after {
font-family: 'framework7-core-icons';
font-weight: normal;
font-style: normal;
line-height: 1;
letter-spacing: normal;
text-transform: none;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
-moz-osx-font-smoothing: grayscale;
font-feature-settings: 'liga';
text-align: center;
display: block;
width: 100%;
height: 100%;
font-size: 20px;
line-height: 24px;
}
.chip .chip-delete.active-state {
opacity: 1;
}
.chip-outline,
.ios .chip-outline-ios,
.md .chip-outline-md {
border: 1px solid var(--f7-chip-outline-border-color);
color: var(--f7-chip-outline-text-color);
background: none;
}
.ios .chip[class*='color-'] {
--f7-chip-bg-color: var(--f7-theme-color);
--f7-chip-text-color: #fff;
}
.ios .chip-outline[class*='color-'],
.ios .chip-outline-ios[class*='color-'] {
--f7-chip-outline-border-color: var(--f7-theme-color);
--f7-chip-outline-text-color: var(--f7-theme-color);
}
.ios .chip-media {
margin-left: calc(-1 * var(--f7-chip-padding-horizontal));
}
.ios .chip-delete {
margin-right: calc(-1 * var(--f7-chip-padding-horizontal));
}
.ios .chip-delete::after {
content: 'delete_round_ios';
}
.ios .chip-delete:after {
font-size: 10px;
}
.md .chip-media {
margin-left: calc(-1 * var(--f7-chip-padding-horizontal) + 4px);
}
.md .chip-label + .chip-delete {
margin-left: 4px;
}
.md .chip-delete {
margin-right: calc(-1 * var(--f7-chip-padding-horizontal) + 4px);
}
.md .chip-delete::after {
content: 'delete_round_md';
font-size: 16px;
}
/* === Form === */
/* === Input === */
:root {
--f7-input-bg-color: transparent;
--f7-label-font-weight: 400;
--f7-label-height: 16px;
--f7-label-font-size: 12px;
--f7-floating-label-scale: calc(16 / 12);
--f7-input-padding-left: 0px;
--f7-input-padding-right: 0px;
--f7-input-error-text-color: #ff3b30;
--f7-input-error-font-size: 12px;
--f7-input-error-line-height: 1.4;
--f7-input-error-font-weight: 400;
--f7-input-info-font-size: 12px;
--f7-input-info-line-height: 1.4;
--f7-textarea-height: 100px;
/*
--f7-input-outline-focused-border-color: var(--f7-theme-color);
--f7-input-outline-invalid-border-color: var(--f7-input-error-text-color);
*/
}
.ios {
--f7-input-item-bg-color: transparent;
--f7-input-item-border-radius: 0px;
--f7-input-height: 40px;
--f7-input-font-size: 16px;
--f7-input-placeholder-color: #a9a9a9;
--f7-textarea-padding-vertical: 8px;
/*
--f7-input-focused-border-color: var(--f7-list-item-border-color);
--f7-input-invalid-border-color: var(--f7-list-item-border-color);
--f7-input-invalid-text-color: var(--f7-input-error-text-color);
*/
--f7-label-text-color: inherit;
/*
--f7-label-focused-text-color: var(--f7-label-text-color);
--f7-label-invalid-text-color: var(--f7-label-text-color);
*/
--f7-input-clear-button-size: 14px;
--f7-input-outline-border-radius: 8px;
--f7-input-text-color: #000000;
--f7-input-info-text-color: rgba(0, 0, 0, 0.45);
--f7-input-clear-button-color: rgba(0, 0, 0, 0.45);
--f7-input-outline-border-color: #bbb;
}
.ios .dark,
.ios.dark {
--f7-input-text-color: #fff;
--f7-input-info-text-color: rgba(255, 255, 255, 0.55);
--f7-input-clear-button-color: rgba(255, 255, 255, 0.5);
--f7-input-outline-border-color: #444;
}
.md {
--f7-input-item-border-radius: 4px 4px 0 0;
--f7-input-height: 24px;
--f7-input-font-size: 16px;
--f7-textarea-padding-vertical: 0px;
--f7-input-outline-border-radius: 4px;
/*
--f7-input-focused-border-color: var(--f7-theme-color);
--f7-input-invalid-border-color: var(--f7-input-error-text-color);
--f7-input-invalid-text-color: var(--f7-input-text-color);
*/
/*
--f7-label-focused-text-color: var(--f7-theme-color);
--f7-label-invalid-text-color: var(--f7-input-error-text-color );
*/
--f7-floating-label-scale: calc(16 / 12);
--f7-input-clear-button-size: 24px;
--f7-input-info-text-color: rgba(0, 0, 0, 0.45);
}
.md .dark,
.md.dark {
--f7-input-info-text-color: rgba(255, 255, 255, 0.45);
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-input-placeholder-color: var(--f7-md-on-surface-variant);
--f7-input-item-bg-color: var(--f7-md-surface-variant);
--f7-input-border-color: var(--f7-md-outline);
--f7-input-clear-button-color: var(--f7-md-on-surface-variant);
--f7-input-outline-border-color: var(--f7-md-outline);
--f7-input-text-color: var(--f7-md-on-surface);
--f7-label-text-color: var(--f7-md-on-surface-variant);
}
input[type='text'],
input[type='password'],
input[type='search'],
input[type='email'],
input[type='tel'],
input[type='url'],
input[type='date'],
input[type='month'],
input[type='datetime-local'],
input[type='time'],
input[type='number'],
select,
textarea {
box-sizing: border-box;
-webkit-appearance: none;
appearance: none;
border: none;
box-shadow: none;
border-radius: 0;
outline: 0;
display: block;
padding: 0;
margin: 0;
font-family: inherit;
background: none;
resize: none;
font-size: inherit;
color: inherit;
}
input[type='text']:-internal-autofill-selected,
input[type='password']:-internal-autofill-selected,
input[type='search']:-internal-autofill-selected,
input[type='email']:-internal-autofill-selected,
input[type='tel']:-internal-autofill-selected,
input[type='url']:-internal-autofill-selected,
input[type='date']:-internal-autofill-selected,
input[type='month']:-internal-autofill-selected,
input[type='datetime-local']:-internal-autofill-selected,
input[type='time']:-internal-autofill-selected,
input[type='number']:-internal-autofill-selected,
select:-internal-autofill-selected,
textarea:-internal-autofill-selected {
background-color: transparent !important;
transition: background-color 5000s ease-in-out 0s !important;
}
input[type='text']:-webkit-autofill, input[type='password']:-webkit-autofill, input[type='search']:-webkit-autofill, input[type='email']:-webkit-autofill, input[type='tel']:-webkit-autofill, input[type='url']:-webkit-autofill, input[type='date']:-webkit-autofill, input[type='month']:-webkit-autofill, input[type='datetime-local']:-webkit-autofill, input[type='time']:-webkit-autofill, input[type='number']:-webkit-autofill, select:-webkit-autofill, textarea:-webkit-autofill {
background-color: transparent !important;
-webkit-transition: background-color 5000s ease-in-out 0s !important;
transition: background-color 5000s ease-in-out 0s !important;
}
input[type='text']:autofill,
input[type='password']:autofill,
input[type='search']:autofill,
input[type='email']:autofill,
input[type='tel']:autofill,
input[type='url']:autofill,
input[type='date']:autofill,
input[type='month']:autofill,
input[type='datetime-local']:autofill,
input[type='time']:autofill,
input[type='number']:autofill,
select:autofill,
textarea:autofill,
input[type='text']:-webkit-autofill-and-obscured,
input[type='password']:-webkit-autofill-and-obscured,
input[type='search']:-webkit-autofill-and-obscured,
input[type='email']:-webkit-autofill-and-obscured,
input[type='tel']:-webkit-autofill-and-obscured,
input[type='url']:-webkit-autofill-and-obscured,
input[type='date']:-webkit-autofill-and-obscured,
input[type='month']:-webkit-autofill-and-obscured,
input[type='datetime-local']:-webkit-autofill-and-obscured,
input[type='time']:-webkit-autofill-and-obscured,
input[type='number']:-webkit-autofill-and-obscured,
select:-webkit-autofill-and-obscured,
textarea:-webkit-autofill-and-obscured {
background-color: transparent !important;
-webkit-transition: background-color 5000s ease-in-out 0s !important;
transition: background-color 5000s ease-in-out 0s !important;
}
.textarea-resizable-shadow {
opacity: 0;
position: absolute;
z-index: -1000;
pointer-events: none;
left: -1000px;
top: -1000px;
visibility: hidden;
}
.list input[type='text'],
.list input[type='password'],
.list input[type='search'],
.list input[type='email'],
.list input[type='tel'],
.list input[type='url'],
.list input[type='date'],
.list input[type='month'],
.list input[type='datetime-local'],
.list input[type='time'],
.list input[type='number'],
.list select {
width: 100%;
height: var(--f7-input-height);
color: var(--f7-input-text-color);
font-size: var(--f7-input-font-size);
background-color: var(--f7-input-bg-color, transparent);
padding-left: var(--f7-input-padding-left);
padding-right: var(--f7-input-padding-right);
}
.list input[type='text']::placeholder,
.list input[type='password']::placeholder,
.list input[type='search']::placeholder,
.list input[type='email']::placeholder,
.list input[type='tel']::placeholder,
.list input[type='url']::placeholder,
.list input[type='date']::placeholder,
.list input[type='month']::placeholder,
.list input[type='datetime-local']::placeholder,
.list input[type='time']::placeholder,
.list input[type='number']::placeholder,
.list select::placeholder {
color: var(--f7-input-placeholder-color);
}
.list textarea {
width: 100%;
color: var(--f7-input-text-color);
font-size: var(--f7-input-font-size);
resize: none;
line-height: 1.4;
height: var(--f7-textarea-height);
background-color: var(--f7-input-bg-color, transparent);
padding-top: var(--f7-textarea-padding-vertical);
padding-bottom: var(--f7-textarea-padding-vertical);
padding-left: var(--f7-input-padding-left);
padding-right: var(--f7-input-padding-right);
}
.list textarea::placeholder {
color: var(--f7-input-placeholder-color);
}
.list textarea.resizable {
height: calc(var(--f7-input-height) + var(--f7-textarea-padding-vertical) * 2);
}
.list input[type='time'],
.list input[type='date'],
.list input[type='month'],
.list input[type='datetime-local'] {
line-height: var(--f7-input-height);
}
.list .item-label,
.list .item-floating-label {
width: auto;
vertical-align: top;
flex-shrink: 0;
font-size: var(--f7-label-font-size);
font-weight: var(--f7-label-font-weight);
line-height: var(--f7-label-height);
color: var(--f7-label-text-color);
transition-duration: 200ms;
transition-property: transform, color;
}
.list .item-floating-label {
color: var(--f7-input-placeholder-color);
max-width: calc(100% / var(--f7-floating-label-scale));
pointer-events: none;
left: var(--f7-input-padding-left);
transform-origin: left center;
}
.list .item-floating-label ~ .item-input-wrap input::placeholder,
.list .item-floating-label ~ .item-input-wrap textarea::placeholder {
opacity: 0;
transition-duration: 100ms;
}
.list .item-floating-label ~ .item-input-wrap input.input-focused::placeholder,
.list .item-floating-label ~ .item-input-wrap textarea.input-focused::placeholder {
opacity: 1;
transition-duration: 300ms;
}
.list .item-input-with-value .item-floating-label {
color: var(--f7-label-text-color);
}
.list .item-input-with-value .item-floating-label,
.list .item-input-focused .item-floating-label {
transform: scale(1) translateY(0) !important;
}
.list .item-input-wrap {
width: 100%;
flex-shrink: 1;
position: relative;
}
.item-input,
.input {
position: relative;
}
.item-input .item-inner {
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
}
.item-input-error-message,
.input-error-message {
font-size: var(--f7-input-error-font-size);
line-height: var(--f7-input-error-line-height);
color: var(--f7-input-error-text-color);
font-weight: var(--f7-input-error-font-weight);
display: none;
box-sizing: border-box;
}
.item-input-info,
.input-info {
font-size: var(--f7-input-info-font-size);
line-height: var(--f7-input-info-line-height);
color: var(--f7-input-info-text-color);
}
.item-input-invalid .item-input-error-message,
.input-invalid .item-input-error-message,
.item-input-invalid .input-error-message,
.input-invalid .input-error-message {
display: block;
}
.item-input-invalid .item-input-info,
.input-invalid .item-input-info,
.item-input-invalid .input-info,
.input-invalid .input-info {
display: none;
}
.input {
position: relative;
}
.input input,
.input select,
.input textarea {
width: 100%;
}
.input-clear-button {
opacity: 0;
pointer-events: none;
visibility: hidden;
transition-duration: 100ms;
position: absolute;
top: 50%;
border: none;
padding: 0;
margin: 0;
outline: 0;
z-index: 1;
cursor: pointer;
background: none;
width: var(--f7-input-clear-button-size);
height: var(--f7-input-clear-button-size);
margin-top: calc(-1 * var(--f7-input-clear-button-size) / 2);
color: var(--f7-input-clear-button-color);
right: 0;
}
.input-clear-button:after {
font-family: 'framework7-core-icons';
font-weight: normal;
font-style: normal;
line-height: 1;
letter-spacing: normal;
text-transform: none;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
-moz-osx-font-smoothing: grayscale;
font-feature-settings: 'liga';
text-align: center;
display: block;
width: 100%;
height: 100%;
font-size: 20px;
}
.input-clear-button:before {
position: absolute;
content: '';
left: 50%;
top: 50%;
}
.item-input-wrap .input-clear-button {
top: calc(var(--f7-input-height) / 2);
}
.input-clear-button.active-state {
opacity: 0.75 !important;
}
.input-with-value ~ .input-clear-button,
.item-input-with-value .input-clear-button,
.input-with-value .input-clear-button {
opacity: 1;
pointer-events: auto;
visibility: visible;
}
.input-dropdown-wrap,
.input-dropdown {
position: relative;
}
.input-dropdown-wrap:before,
.input-dropdown:before {
content: '';
pointer-events: none;
position: absolute;
top: 50%;
margin-top: -2px;
width: 0;
height: 0;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-top: 5px solid #727272;
right: 6px;
}
.input-dropdown-wrap select,
.input-dropdown select,
.input-dropdown-wrap input,
.input-dropdown input,
.input-dropdown-wrap textarea,
.input-dropdown textarea {
padding-right: calc(20px + var(--f7-input-padding-right));
}
.item-input-outline .item-content::after,
.item-input-outline.item-content::after,
.input-outline::after {
content: '';
position: absolute;
left: 0;
right: 0;
top: 8px;
bottom: 8px;
border: 1px solid var(--f7-input-outline-border-color);
border-radius: var(--f7-input-outline-border-radius);
pointer-events: none;
box-sizing: border-box;
transition-duration: 200ms;
}
.item-input-outline .item-content .item-label,
.item-input-outline.item-content .item-label,
.input-outline .item-label,
.item-input-outline .item-content .item-floating-label,
.item-input-outline.item-content .item-floating-label,
.input-outline .item-floating-label {
pointer-events: none;
background: var(--f7-page-bg-color);
z-index: 1;
padding: 4px;
}
.item-input-outline .item-content.item-input-focused::after,
.item-input-outline.item-content.item-input-focused::after,
.input-outline.item-input-focused::after,
.item-input-outline .item-content.input-focused::after,
.item-input-outline.item-content.input-focused::after,
.input-outline.input-focused::after {
border-width: 2px;
border-color: var(--f7-input-outline-invalid-border-color, var(--f7-theme-color));
}
.item-input-outline .item-content.item-input-invalid::after,
.item-input-outline.item-content.item-input-invalid::after,
.input-outline.item-input-invalid::after,
.item-input-outline .item-content.input-invalid::after,
.item-input-outline.item-content.input-invalid::after,
.input-outline.input-invalid::after {
border-width: 2px;
border-color: var(--f7-input-outline-invalid-border-color, var(--f7-input-error-text-color));
}
.block-strong .item-input-outline .item-label,
.block-strong .item-input-outline .item-floating-label,
.ios .block-strong-ios .item-input-outline .item-label,
.ios .block-strong-ios .item-input-outline .item-floating-label,
.md .block-strong-md .item-input-outline .item-label,
.md .block-strong-md .item-input-outline .item-floating-label {
background: var(--f7-block-strong-bg-color) !important;
}
.list-strong .item-input-outline .item-floating-label,
.list-strong .item-input-outline .item-label,
.ios .list-strong-ios .item-input-outline .item-floating-label,
.ios .list-strong-ios .item-input-outline .item-label,
.md .list-strong-md .item-input-outline .item-floating-label,
.md .list-strong-md .item-input-outline .item-label {
background: var(--f7-list-strong-bg-color) !important;
}
.dark option {
background-color: var(--f7-page-bg-color);
}
.ios .item-label + .item-input-wrap,
.ios .item-floating-label + .item-input-wrap {
margin-top: 0;
}
.ios .item-floating-label {
transform: scale(var(--f7-floating-label-scale)) translateY(calc(var(--f7-label-height) + 25%));
}
.ios .item-input-focused .item-floating-label {
color: var(--f7-label-text-color);
}
.ios .item-input .item-media {
align-self: flex-start;
}
.ios .item-input-wrap {
margin-top: calc(-1 * var(--f7-list-item-padding-vertical));
margin-bottom: calc(-1 * var(--f7-list-item-padding-vertical));
}
.ios .item-input:not(.item-input-outline) .item-content,
.ios .item-input:not(.item-input-outline).item-content {
background: var(--f7-input-item-bg-color);
}
.ios .item-input-error-message,
.ios .item-input-info,
.ios .input-error-message,
.ios .input-info {
position: relative;
margin-bottom: 6px;
margin-top: -8px;
}
.ios .item-input-focused .item-label,
.ios .item-input-focused .item-floating-label {
color: var(--f7-label-focused-text-color, var(--f7-label-text-color));
}
.ios .item-input-focused .item-inner:after {
background: var(--f7-input-focused-border-color, var(--f7-list-item-border-color));
}
.ios .item-input-invalid .item-label,
.ios .item-input-invalid .item-floating-label {
color: var(--f7-label-invalid-text-color, var(--f7-label-text-color));
}
.ios .item-input-invalid .item-inner:after {
background: var(--f7-input-invalid-border-color, var(--f7-list-item-border-color));
}
.ios .item-input-invalid input,
.ios .input-invalid input,
.ios .item-input-invalid select,
.ios .input-invalid select,
.ios .item-input-invalid textarea,
.ios .input-invalid textarea {
color: var(--f7-input-invalid-text-color, var(--f7-input-error-text-color));
}
.ios .input-clear-button:after {
content: 'delete_round_ios';
font-size: calc(var(--f7-input-clear-button-size) / (14 / 10));
line-height: 1.4;
}
.ios .input-clear-button:before {
width: 44px;
height: 44px;
margin-left: -22px;
margin-top: -22px;
}
.ios .item-input-outline .item-content,
.ios .item-input-outline.item-content {
padding-top: 8px;
padding-bottom: 8px;
margin-left: 16px;
margin-right: 16px;
}
.ios li.item-input-outline:first-child,
.ios li:first-child > .item-input-outline {
padding-top: 16px;
}
.ios li.item-input-outline:first-child::after,
.ios li:first-child > .item-input-outline::after {
top: 16px;
}
.ios li.item-input-outline:last-child,
.ios li:last-child > .item-input-outline {
padding-bottom: 16px;
}
.ios li.item-input-outline:last-child::after,
.ios li:last-child > .item-input-outline::after {
bottom: 16px;
}
.ios .item-input-outline .item-content .item-inner,
.ios .item-input-outline.item-content .item-inner,
.ios .input-outline .item-inner {
display: block;
padding-top: 0px;
padding-bottom: 0px;
}
.ios .item-input-outline .item-content .item-input-wrap,
.ios .item-input-outline.item-content .item-input-wrap,
.ios .input-outline .item-input-wrap {
margin-top: 2px;
}
.ios .item-input-outline .item-content .item-title + .item-input-wrap,
.ios .item-input-outline.item-content .item-title + .item-input-wrap,
.ios .input-outline .item-title + .item-input-wrap {
margin-top: -22px;
}
.ios .item-input-outline .item-content .item-label,
.ios .item-input-outline.item-content .item-label,
.ios .input-outline .item-label,
.ios .item-input-outline .item-content .item-floating-label,
.ios .item-input-outline.item-content .item-floating-label,
.ios .input-outline .item-floating-label {
display: inline-flex;
margin: -8px -4px -4px;
top: -4px;
}
.ios .item-input-outline .item-content .item-floating-label,
.ios .item-input-outline.item-content .item-floating-label,
.ios .input-outline .item-floating-label {
transform: scale(var(--f7-floating-label-scale)) translateY(calc(var(--f7-label-height)));
}
.md .item-input-wrap {
min-height: var(--f7-input-height);
}
.md .item-floating-label {
transform: scale(var(--f7-floating-label-scale)) translateY(calc((var(--f7-input-height) / 2) / var(--f7-floating-label-scale)));
}
.md .item-input .item-inner:after {
display: none !important;
}
.md .item-input .item-content,
.md .item-input.item-content {
margin-left: 16px;
margin-right: 16px;
padding-top: 8px;
padding-bottom: 8px;
}
.md .input:after {
content: '';
position: absolute;
background-color: var(--f7-input-border-color);
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.md .input::after {
transform: scaleY(1) !important;
transition-duration: 200ms;
bottom: 0px;
}
.md .input.input-focused::after {
transform: scaleY(2) !important;
background: var(--f7-input-focused-border-color, var(--f7-theme-color));
}
.md .input.input-invalid::after {
transform: scaleY(2) !important;
background: var(--f7-input-invalid-border-color, var(--f7-input-error-text-color));
}
.md .item-input:not(.item-input-outline) .item-content:after,
.md .item-input:not(.item-input-outline).item-content:after {
content: '';
position: absolute;
background-color: var(--f7-input-border-color);
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.md .item-input:not(.item-input-outline) .item-content::before,
.md .item-input:not(.item-input-outline).item-content::before {
content: '';
position: absolute;
left: 0;
top: 8px;
bottom: 8px;
right: 0;
border-radius: var(--f7-input-item-border-radius);
background: var(--f7-input-item-bg-color);
pointer-events: none;
}
.md .item-input:not(.item-input-outline) .item-content::after,
.md .item-input:not(.item-input-outline).item-content::after {
transform: scaleY(1) !important;
transition-duration: 200ms;
bottom: 8px;
}
.md .item-input:not(.item-input-outline) .item-content.item-input-focused::after,
.md .item-input:not(.item-input-outline).item-content.item-input-focused::after {
transform: scaleY(2) !important;
background: var(--f7-input-focused-border-color, var(--f7-theme-color));
}
.md .item-input:not(.item-input-outline) .item-content.item-input-invalid::after,
.md .item-input:not(.item-input-outline).item-content.item-input-invalid::after,
.md .item-input:not(.item-input-outline) .item-content.input-invalid::after,
.md .item-input:not(.item-input-outline).item-content.input-invalid::after {
transform: scaleY(2) !important;
background: var(--f7-input-invalid-border-color, var(--f7-input-error-text-color));
}
.md .item-input-outline .item-content .item-inner,
.md .item-input-outline.item-content .item-inner,
.md .input-outline .item-inner {
padding-top: 16px;
padding-bottom: 16px;
}
.md .item-input-outline .item-content .item-label,
.md .item-input-outline.item-content .item-label,
.md .input-outline .item-label,
.md .item-input-outline .item-content .item-floating-label,
.md .item-input-outline.item-content .item-floating-label,
.md .input-outline .item-floating-label {
--label-height: calc(var(--f7-label-height) + 8px);
margin: calc(0px - 16px - var(--label-height) / 2) -4px 4px;
}
.md .item-input-outline .item-content .item-floating-label,
.md .item-input-outline.item-content .item-floating-label,
.md .input-outline .item-floating-label {
transform: scale(var(--f7-floating-label-scale)) translateY(calc((var(--f7-input-height) / 2) + 8px));
}
.md .item-input-with-error-message,
.md .item-input-with-info,
.md .input-with-error-message,
.md .input-with-info {
padding-bottom: 24px !important;
}
.md .item-input-error-message,
.md .item-input-info,
.md .input-error-message,
.md .input-info {
position: absolute;
top: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
width: 100%;
left: 0;
}
.md .item-input-focused .item-label,
.md .item-input-focused .item-floating-label {
color: var(--f7-label-focused-text-color, var(--f7-theme-color));
}
.md .item-input-focused:not(.item-input-outline) .item-input-wrap:after,
.md .input-focused:not(.input-outline):after {
background: var(--f7-input-focused-border-color, var(--f7-theme-color));
}
.md .item-input-invalid:not(.item-input-outline) .item-input-wrap:after,
.md .item-input-focused:not(.item-input-outline) .item-input-wrap:after,
.md .input-invalid:not(.input-outline):after,
.md .input-focused:not(.input-outline):after {
transform: scaleY(2) !important;
}
.md .item-input-invalid:not(.item-input-outline) .item-input-wrap:after,
.md .input-invalid:not(.input-outline):after {
background: var(--f7-input-invalid-border-color, var(--f7-input-error-text-color));
}
.md .item-input-invalid .item-label,
.md .item-input-invalid .item-floating-label {
color: var(--f7-label-invalid-text-color, var(--f7-input-error-text-color));
}
.md .item-input-invalid input,
.md .input-invalid input,
.md .item-input-invalid select,
.md .input-invalid select,
.md .item-input-invalid textarea,
.md .input-invalid textarea {
color: var(--f7-input-invalid-text-color, var(--f7-input-text-color));
}
.md .input-clear-button:after {
font-size: var(--f7-input-clear-button-size);
content: 'delete_round_md';
line-height: 1;
}
.md .input-clear-button:before {
width: 48px;
height: 48px;
margin-left: -24px;
margin-top: -24px;
}
/* === Checkbox === */
:root {
/* --f7-checkbox-active-color: var(--f7-theme-color); */
--f7-checkbox-icon-color: #fff;
--f7-checkbox-extra-margin: 0px;
}
:root .dark,
:root.dark {
--f7-checkbox-inactive-color: rgba(255, 255, 255, 0.3);
--f7-checkbox-icon-color: #000;
}
.ios {
--f7-checkbox-size: 22px;
--f7-checkbox-border-radius: 50%;
--f7-checkbox-border-width: 1px;
--f7-checkbox-inactive-color: #c7c7cc;
}
.md {
--f7-checkbox-size: 18px;
--f7-checkbox-border-radius: 2px;
--f7-checkbox-border-width: 2px;
--f7-checkbox-inactive-color: #6d6d6d;
}
.checkbox {
position: relative;
display: inline-block;
vertical-align: middle;
z-index: 1;
background-color: transparent;
--f7-touch-ripple-color: rgba(var(--f7-theme-color-rgb), 0.5);
}
.icon-checkbox,
.checkbox i {
flex-shrink: 0;
border: var(--f7-checkbox-border-width) solid var(--f7-checkbox-inactive-color);
width: var(--f7-checkbox-size);
height: var(--f7-checkbox-size);
border-radius: var(--f7-checkbox-border-radius);
box-sizing: border-box;
position: relative;
display: block;
}
.icon-checkbox:after,
.checkbox i:after {
font-family: 'framework7-core-icons';
font-weight: normal;
font-style: normal;
line-height: 1;
letter-spacing: normal;
text-transform: none;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
-moz-osx-font-smoothing: grayscale;
font-feature-settings: 'liga';
text-align: center;
display: block;
width: 100%;
height: 100%;
font-size: 20px;
width: var(--f7-checkbox-size);
height: var(--f7-checkbox-size);
line-height: var(--f7-checkbox-size);
top: calc(0px - var(--f7-checkbox-border-width));
opacity: 0;
color: var(--f7-checkbox-icon-color);
position: relative;
transition-property: opacity;
left: calc(0px - var(--f7-checkbox-border-width));
}
.icon-checkbox.color-white,
.checkbox i.color-white,
.color-white .icon-checkbox,
.color-white .checkbox i {
--f7-theme-color: #fff;
--f7-checkbox-icon-color: #000;
}
.icon-checkbox.color-black,
.checkbox i.color-black,
.color-black .icon-checkbox,
.color-black .checkbox i {
--f7-theme-color: #000;
--f7-checkbox-icon-color: #fff;
}
label.item-checkbox input[type='checkbox']:not(:checked) ~ .icon-checkbox:after,
label.item-checkbox input[type='checkbox']:not(:checked) ~ * .icon-checkbox:after,
.checkbox input[type='checkbox']:not(:checked) ~ i:after {
font-size: 0;
}
label.item-checkbox input[type='checkbox']:checked ~ .icon-checkbox,
label.item-checkbox input[type='checkbox']:checked ~ * .icon-checkbox,
.checkbox input[type='checkbox']:checked ~ i,
label.item-checkbox input[type='checkbox']:indeterminate ~ .icon-checkbox,
label.item-checkbox input[type='checkbox']:indeterminate ~ * .icon-checkbox,
.checkbox input[type='checkbox']:indeterminate ~ i {
border-color: var(--f7-checkbox-active-color, var(--f7-theme-color));
background-color: var(--f7-checkbox-active-color, var(--f7-theme-color));
}
label.item-checkbox input[type='checkbox']:checked ~ .icon-checkbox:after,
label.item-checkbox input[type='checkbox']:checked ~ * .icon-checkbox:after,
.checkbox input[type='checkbox']:checked ~ i:after,
label.item-checkbox input[type='checkbox']:indeterminate ~ .icon-checkbox:after,
label.item-checkbox input[type='checkbox']:indeterminate ~ * .icon-checkbox:after,
.checkbox input[type='checkbox']:indeterminate ~ i:after {
opacity: 1;
}
label.item-checkbox input[type='checkbox']:indeterminate ~ .icon-checkbox:after,
label.item-checkbox input[type='checkbox']:indeterminate ~ * .icon-checkbox:after,
.checkbox input[type='checkbox']:indeterminate ~ i:after {
font-size: 0;
content: '';
position: absolute;
top: 50%;
width: 70%;
background: var(--f7-checkbox-icon-color);
height: 2px;
border-radius: 2px;
margin-top: -1px;
transition: 0ms;
left: 15%;
}
label.item-checkbox,
.checkbox {
cursor: pointer;
}
label.item-checkbox input[type='checkbox'],
.checkbox input[type='checkbox'],
label.item-checkbox input[type='radio'],
.checkbox input[type='radio'] {
display: none;
}
label.item-checkbox {
transition-duration: 300ms;
}
label.item-checkbox .item-content .item-media,
label.item-checkbox.item-content .item-media {
align-self: center;
}
label.item-checkbox > .icon-checkbox {
margin-right: calc(var(--f7-list-item-media-margin) + var(--f7-checkbox-extra-margin));
}
label.item-checkbox.active-state {
background-color: var(--f7-list-link-pressed-bg-color);
}
label.item-checkbox.active-state:after {
background-color: transparent;
}
label.item-checkbox.disabled,
.disabled label.item-checkbox {
opacity: 0.55;
pointer-events: none;
opacity: 0.55 !important;
pointer-events: none !important;
}
label.item-checkbox.item-checkbox-icon-end .item-inner {
padding-right: calc(var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-right) + var(--f7-checkbox-size) + 16px);
}
label.item-checkbox.item-checkbox-icon-end input[type='checkbox'] ~ .icon-checkbox {
position: absolute;
right: calc(var(--f7-safe-area-right) + 16px);
margin-right: 0;
}
.ios .icon-checkbox:after,
.ios .checkbox i:after {
content: 'checkbox_ios';
font-size: 21px;
}
.ios label.item-checkbox.active-state {
transition-duration: 0ms;
}
.ios label.item-checkbox input[type='checkbox']:indeterminate ~ .icon-checkbox:after,
.ios label.item-checkbox input[type='checkbox']:indeterminate ~ * .icon-checkbox:after,
.ios .checkbox input[type='checkbox']:indeterminate ~ i:after {
height: 2px;
margin-top: -1px;
}
.md .icon-checkbox,
.md .checkbox i {
transition-duration: 200ms;
}
.md .icon-checkbox:after,
.md .checkbox i:after {
content: 'checkbox_md';
transition-duration: 200ms;
font-size: 15px;
}
.md label.item-checkbox {
position: relative;
overflow: hidden;
z-index: 0;
}
/* === Radio === */
:root {
/*
--f7-radio-active-color: var(--f7-theme-color);
*/
--f7-radio-border-radius: 50%;
--f7-radio-extra-margin: 0px;
}
:root .dark,
:root.dark {
--f7-radio-inactive-color: rgba(255, 255, 255, 0.3);
}
.ios {
--f7-radio-size: 22px;
--f7-radio-border-width: 1px;
--f7-radio-inactive-color: #c7c7cc;
}
.md {
--f7-radio-size: 20px;
--f7-radio-border-width: 2px;
--f7-radio-inactive-color: #6d6d6d;
}
.radio {
position: relative;
display: inline-block;
vertical-align: middle;
z-index: 1;
--f7-touch-ripple-color: rgba(var(--f7-theme-color-rgb), 0.5);
}
.icon-radio {
width: var(--f7-radio-size);
height: var(--f7-radio-size);
border-radius: var(--f7-radio-border-radius);
position: relative;
box-sizing: border-box;
display: block;
flex-shrink: 0;
}
.radio.color-white,
.icon-radio.color-white,
.color-white .radio,
.color-white .icon-radio {
--f7-theme-color: #fff;
}
.radio.color-black,
.icon-radio.color-black,
.color-black .radio,
.color-black .icon-radio {
--f7-theme-color: #000;
}
.radio .icon-radio,
.md .icon-radio {
border: var(--f7-radio-border-width) solid var(--f7-radio-inactive-color);
}
label.item-radio,
.radio {
cursor: pointer;
}
label.item-radio input[type='checkbox'],
.radio input[type='checkbox'],
label.item-radio input[type='radio'],
.radio input[type='radio'] {
display: none;
}
label.item-radio {
transition-duration: 300ms;
}
label.item-radio .item-content .item-media,
label.item-radio.item-content .item-media {
align-self: center;
}
label.item-radio.active-state {
background-color: var(--f7-list-link-pressed-bg-color);
}
label.item-radio.active-state:after {
background-color: transparent;
}
label.item-radio.disabled,
.disabled label.item-radio {
opacity: 0.55;
pointer-events: none;
opacity: 0.55 !important;
pointer-events: none !important;
}
.ios .icon-radio:after {
font-family: 'framework7-core-icons';
font-weight: normal;
font-style: normal;
line-height: 1;
letter-spacing: normal;
text-transform: none;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
-moz-osx-font-smoothing: grayscale;
font-feature-settings: 'liga';
text-align: center;
display: block;
width: 100%;
height: 100%;
width: calc(var(--f7-radio-size) - var(--f7-radio-border-width) * 2);
height: calc(var(--f7-radio-size) - var(--f7-radio-border-width) * 2);
line-height: calc(var(--f7-radio-size) - var(--f7-radio-border-width) * 2 + 1px);
font-size: 20px;
content: 'radio_ios';
color: var(--f7-radio-active-color, var(--f7-theme-color));
opacity: 0;
}
.ios label.item-radio input[type='radio']:checked ~ .icon-radio:after,
.ios label.item-radio input[type='radio']:checked ~ * .icon-radio:after,
.ios .radio input[type='radio']:checked ~ .icon-radio:after {
opacity: 1;
}
.ios .radio input[type='radio']:checked ~ .icon-radio {
border-color: var(--f7-radio-active-color, var(--f7-theme-color));
}
.ios label.item-radio:not(.item-radio-icon-start) input[type='radio'] ~ .icon-radio {
position: absolute;
top: 50%;
margin-top: -11px;
right: calc(var(--f7-safe-area-right) + 10px);
}
.ios label.item-radio:not(.item-radio-icon-start) .item-inner {
padding-right: calc(var(--f7-safe-area-right) + 36px);
}
.ios label.item-radio-icon-start > .icon-radio {
margin-right: calc(var(--f7-list-item-media-margin) + var(--f7-checkbox-extra-margin));
}
.ios label.item-radio.active-state {
transition-duration: 0ms;
}
.md .icon-radio {
transition-duration: 200ms;
}
.md .icon-radio:after {
content: '';
position: absolute;
width: 10px;
height: 10px;
left: 50%;
top: 50%;
margin-left: -5px;
margin-top: -5px;
background-color: var(--f7-radio-active-color, var(--f7-theme-color));
border-radius: 50%;
transform: scale(0);
transition-duration: 200ms;
}
.md label.item-radio input[type='radio']:checked ~ .icon-radio,
.md label.item-radio input[type='radio']:checked ~ * .icon-radio,
.md .radio input[type='radio']:checked ~ .icon-radio {
border-color: var(--f7-radio-active-color, var(--f7-theme-color));
}
.md label.item-radio input[type='radio']:checked ~ .icon-radio:after,
.md label.item-radio input[type='radio']:checked ~ * .icon-radio:after,
.md .radio input[type='radio']:checked ~ .icon-radio:after {
background-color: var(--f7-radio-active-color, var(--f7-theme-color));
transform: scale(1);
}
.md label.item-radio {
position: relative;
overflow: hidden;
z-index: 0;
}
.md label.item-radio:not(.item-radio-icon-end) > .icon-radio {
margin-right: calc(var(--f7-list-item-media-margin) + var(--f7-radio-extra-margin));
}
.md label.item-radio-icon-end input[type='radio'] ~ .icon-radio {
position: absolute;
top: 50%;
margin-top: -10px;
right: calc(var(--f7-safe-area-right) + 16px);
}
.md label.item-radio-icon-end .item-inner {
padding-right: calc(var(--f7-safe-area-right) + 52px);
}
/* === Toggle === */
.ios {
--f7-toggle-width: 52px;
--f7-toggle-height: 32px;
/*
--f7-toggle-active-bg-color: var(--f7-theme-color);
*/
--f7-toggle-inactive-knob-bg-color: #fff;
--f7-toggle-active-knob-bg-color: #fff;
--f7-toggle-inactive-border-color: #e5e5e5;
--f7-toggle-inactive-bg-color: #fff;
}
.ios .dark,
.ios.dark {
--f7-toggle-inactive-border-color: #555;
--f7-toggle-inactive-bg-color: #555;
}
.md {
--f7-toggle-width: 52px;
--f7-toggle-height: 32px;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-toggle-inactive-bg-color: var(--f7-md-surface-variant);
--f7-toggle-active-bg-color: var(--f7-theme-color);
--f7-toggle-inactive-knob-bg-color: var(--f7-md-outline);
--f7-toggle-active-knob-bg-color: var(--f7-md-on-primary);
--f7-toggle-inactive-border-color: var(--f7-md-outline);
--f7-toggle-active-border-color: var(--f7-theme-color);
}
.toggle,
.toggle-icon {
width: var(--f7-toggle-width);
height: var(--f7-toggle-height);
border-radius: var(--f7-toggle-height);
}
.toggle {
display: inline-block;
vertical-align: middle;
position: relative;
box-sizing: border-box;
align-self: center;
-webkit-user-select: none;
user-select: none;
}
.toggle input[type='checkbox'] {
display: none;
}
.toggle input[disabled] ~ .toggle-icon {
pointer-events: none;
}
.toggle-icon {
z-index: 0;
margin: 0;
padding: 0;
-webkit-appearance: none;
appearance: none;
border: none;
position: relative;
transition: 300ms;
box-sizing: border-box;
display: block;
cursor: pointer;
}
.toggle-icon:before,
.toggle-icon:after {
content: '';
}
.toggle-icon:after {
position: absolute;
z-index: 2;
transform: translateX(0px);
transition-duration: 300ms;
}
.ios .toggle {
background: var(--f7-toggle-inactive-border-color);
}
.ios .toggle input[type='checkbox']:checked + .toggle-icon {
background: var(--f7-toggle-active-color, var(--f7-theme-color));
}
.ios .toggle input[type='checkbox']:checked + .toggle-icon:before {
background: var(--f7-toggle-active-bg-color, var(--f7-theme-color));
transform: scale(0);
}
.ios .toggle input[type='checkbox']:checked + .toggle-icon:after {
background: var(--f7-toggle-active-knob-bg-color);
transform: translateX(calc(var(--f7-toggle-width) - var(--f7-toggle-height)));
}
.ios .toggle-icon {
background: var(--f7-toggle-border-color);
}
.ios .toggle-icon:before {
position: absolute;
left: 2px;
top: 2px;
width: calc(var(--f7-toggle-width) - 4px);
height: calc(var(--f7-toggle-height) - 4px);
border-radius: var(--f7-toggle-height);
box-sizing: border-box;
background: var(--f7-toggle-inactive-bg-color);
z-index: 1;
transition-duration: 300ms;
transform: scale(1);
}
.ios .toggle-icon:after {
background: var(--f7-toggle-inactive-knob-bg-color);
height: calc(var(--f7-toggle-height) - 4px);
width: calc(var(--f7-toggle-height) - 4px);
top: 2px;
left: 2px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
border-radius: calc(var(--f7-toggle-height) - 4px);
}
.ios .toggle-active-state input[type='checkbox']:not(:checked) + .toggle-icon:before {
transform: scale(0);
}
.ios .toggle-active-state input[type='checkbox'] + .toggle-icon:after {
width: calc(var(--f7-toggle-height) + 4px);
}
.ios .toggle-active-state input[type='checkbox']:checked + .toggle-icon:after {
transform: translateX(calc(var(--f7-toggle-width) - var(--f7-toggle-height) - 8px));
}
.md .toggle input[type='checkbox']:checked + .toggle-icon {
background: var(--f7-toggle-active-bg-color);
border-color: var(--f7-toggle-active-border-color);
}
.md .toggle input[type='checkbox']:checked + .toggle-icon:after {
transform: translateX(calc(var(--f7-toggle-width) - var(--f7-toggle-height))) scale(1);
background: var(--f7-toggle-active-knob-bg-color);
}
.md .toggle.active-state input[type='checkbox']:checked + .toggle-icon:after {
transform: translateX(calc(var(--f7-toggle-width) - var(--f7-toggle-height))) scale(1.1);
}
.md .toggle-icon {
background: var(--f7-toggle-inactive-bg-color);
border: 2px solid var(--f7-toggle-inactive-border-color);
}
.md .toggle-icon:after {
background: var(--f7-toggle-inactive-knob-bg-color);
height: calc(var(--f7-toggle-height) - 8px);
width: calc(var(--f7-toggle-height) - 8px);
top: 2px;
border-radius: var(--f7-toggle-height);
transform: scale(0.666);
left: 2px;
}
.md .toggle-icon.active-state:after {
transform: scale(1.1);
}
/* === Range Slider === */
:root {
/*
--f7-range-bar-active-bg-color: var(--f7-theme-color);
--f7-range-scale-bg-color: var(--f7-range-bar-bg-color);
--f7-range-scale-substep-bg-color: var(--f7-range-bar-bg-color);
*/
--f7-range-scale-step-height: 5px;
--f7-range-scale-substep-width: 1px;
--f7-range-scale-substep-height: 4px;
--f7-range-bar-bg-color: rgba(0, 0, 0, 0.2);
}
:root .dark,
:root.dark {
--f7-range-bar-bg-color: rgba(255, 255, 255, 0.2);
}
.ios {
--f7-range-size: 28px;
--f7-range-bar-size: 4px;
--f7-range-bar-border-radius: 2px;
--f7-range-knob-size: 28px;
--f7-range-knob-color: #fff;
--f7-range-knob-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
--f7-range-label-size: 24px;
--f7-range-label-text-color: #000;
--f7-range-label-bg-color: #fff;
--f7-range-label-font-size: 12px;
--f7-range-label-font-weight: 500;
--f7-range-label-border-radius: 5px;
--f7-range-label-padding: 0px 2px;
--f7-range-scale-text-color: #666;
--f7-range-scale-step-width: 1px;
--f7-range-scale-font-size: 12px;
--f7-range-scale-font-weight: 400;
--f7-range-scale-label-offset: 4px;
}
.md {
--f7-range-size: 20px;
--f7-range-bar-size: 2px;
--f7-range-bar-border-radius: 0px;
--f7-range-knob-size: 12px;
--f7-range-knob-box-shadow: none;
--f7-range-label-size: 26px;
--f7-range-label-font-weight: normal;
--f7-range-label-font-size: 10px;
--f7-range-label-border-radius: 50%;
--f7-range-label-padding: 0px;
--f7-range-scale-step-width: 2px;
--f7-range-scale-font-size: 12px;
--f7-range-scale-font-weight: 400;
--f7-range-scale-label-offset: 4px;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-range-knob-color: var(--f7-theme-color);
--f7-range-label-text-color: var(--f7-md-on-primary);
--f7-range-label-bg-color: var(--f7-theme-color);
--f7-range-scale-text-color: var(--f7-md-on-surface-variant);
}
.range-slider {
display: block;
position: relative;
align-self: center;
cursor: pointer;
-webkit-user-select: none;
user-select: none;
}
.range-slider input[type='range'] {
display: none;
}
.range-slider.range-slider-horizontal {
width: 100%;
height: var(--f7-range-size);
touch-action: pan-y;
}
.range-slider.range-slider-vertical {
height: 100%;
width: var(--f7-range-size);
touch-action: pan-x;
}
.range-bar {
position: absolute;
overflow: hidden;
background: var(--f7-range-bar-bg-color);
border-radius: var(--f7-range-bar-border-radius);
}
.range-slider-vertical .range-bar {
left: 50%;
top: 0;
height: 100%;
width: var(--f7-range-bar-size);
margin-left: calc(-1 * var(--f7-range-bar-size) / 2);
}
.range-slider-horizontal .range-bar {
left: 0;
top: 50%;
width: 100%;
height: var(--f7-range-bar-size);
margin-top: calc(-1 * var(--f7-range-bar-size) / 2);
}
.range-bar-active {
position: absolute;
background: var(--f7-range-bar-active-bg-color, var(--f7-theme-color));
}
.range-slider-horizontal .range-bar-active {
left: 0;
top: 0;
height: 100%;
}
.range-slider-vertical .range-bar-active {
left: 0;
bottom: 0;
width: 100%;
}
.range-slider-vertical-reversed .range-bar-active {
top: 0;
bottom: auto;
}
.range-knob-wrap {
z-index: 20;
position: absolute;
height: var(--f7-range-knob-size);
width: var(--f7-range-knob-size);
}
.range-slider-horizontal .range-knob-wrap {
top: 50%;
margin-top: calc(-1 * var(--f7-range-knob-size) / 2);
margin-left: calc(-1 * var(--f7-range-knob-size) / 2);
left: 0;
}
.range-slider-vertical .range-knob-wrap {
left: 50%;
margin-left: calc(-1 * var(--f7-range-knob-size) / 2);
bottom: 0;
margin-bottom: calc(-1 * var(--f7-range-knob-size) / 2);
}
.range-slider-vertical-reversed .range-knob-wrap {
bottom: auto;
top: 0;
margin-bottom: 0;
margin-top: calc(-1 * var(--f7-range-knob-size) / 2);
}
.range-knob {
box-sizing: border-box;
border-radius: 50%;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 1;
background: var(--f7-range-knob-color, var(--f7-range-knob-bg-color, var(--f7-theme-color)));
box-shadow: var(--f7-range-knob-box-shadow);
}
.range-knob:after {
content: '';
position: absolute;
left: 50%;
top: 50%;
width: 44px;
height: 44px;
margin-left: -22px;
margin-top: -22px;
}
.range-knob-label {
position: absolute;
left: 50%;
bottom: 100%;
text-align: center;
transition-duration: 120ms;
transition-property: transform;
box-sizing: border-box;
transform: translateY(100%) scale(0);
height: var(--f7-range-label-size);
line-height: var(--f7-range-label-size);
min-width: var(--f7-range-label-size);
color: var(--f7-range-label-text-color);
background-color: var(--f7-range-label-bg-color, var(--f7-theme-color));
font-size: var(--f7-range-label-font-size);
font-weight: var(--f7-range-label-font-weight);
border-radius: var(--f7-range-label-border-radius);
padding: var(--f7-range-label-padding);
}
.range-knob-active-state .range-knob-label {
transform: translateY(0%) scale(1);
}
.range-scale {
position: absolute;
}
.range-slider-horizontal .range-scale {
top: 50%;
left: 0;
width: 100%;
margin-top: calc(var(--f7-range-bar-size) / 2);
}
.range-slider-vertical .range-scale {
right: 50%;
top: 0;
height: 100%;
margin-right: calc(var(--f7-range-bar-size) / 2);
}
.range-scale-step {
position: absolute;
box-sizing: border-box;
display: flex;
font-size: var(--f7-range-scale-font-size);
font-weight: var(--f7-range-scale-font-weight);
color: var(--f7-range-scale-text-color, var(--f7-range-bar-bg-color));
line-height: 1;
}
.range-scale-step:before {
content: '';
position: absolute;
background: var(--f7-range-scale-step-bg-color, var(--f7-range-bar-bg-color));
}
.range-slider-horizontal .range-scale-step {
justify-content: center;
align-items: flex-start;
width: var(--f7-range-scale-step-width);
height: var(--f7-range-scale-step-height);
padding-top: calc(var(--f7-range-scale-step-height) + var(--f7-range-scale-label-offset));
top: 0;
margin-left: calc(-1 * var(--f7-range-scale-step-width) / 2);
}
.range-slider-horizontal .range-scale-step:before {
left: 0;
top: 0;
width: 100%;
height: var(--f7-range-scale-step-height);
}
.range-slider-horizontal .range-scale-step:first-child {
margin-left: 0;
}
.range-slider-horizontal .range-scale-step:last-child {
margin-left: calc(-1 * var(--f7-range-scale-step-width));
}
.range-slider-vertical .range-scale-step {
line-height: 1;
justify-content: flex-end;
align-items: center;
height: var(--f7-range-scale-step-width);
width: var(--f7-range-scale-step-height);
padding-right: calc(var(--f7-range-scale-step-height) + var(--f7-range-scale-label-offset));
right: 0;
margin-bottom: calc(-1 * var(--f7-range-scale-step-width) / 2);
}
.range-slider-vertical .range-scale-step:first-child {
margin-bottom: 0;
}
.range-slider-vertical .range-scale-step:last-child {
margin-bottom: calc(-1 * var(--f7-range-scale-step-width));
}
.range-slider-vertical .range-scale-step:before {
right: 0;
top: 0;
height: 100%;
width: var(--f7-range-scale-step-height);
}
.range-scale-substep {
--f7-range-scale-step-bg-color: var(--f7-range-scale-substep-bg-color, var(--f7-range-bar-bg-color));
--f7-range-scale-step-width: var(--f7-range-scale-substep-width);
--f7-range-scale-step-height: var(--f7-range-scale-substep-height);
}
.ios .range-knob-label {
margin-bottom: 6px;
transform: translateX(-50%) translateY(100%) scale(0);
}
.ios .range-knob-active-state .range-knob-label {
transform: translateX(-50%) translateY(0%) scale(1);
}
.md .range-knob {
transition-duration: 200ms;
transition-property: transform, background-color;
}
.md .range-knob-active-state .range-knob {
transform: scale(1.5);
}
.md .range-slider-min:not(.range-slider-dual) .range-knob {
background: #fff !important;
border: 2px solid var(--f7-range-bar-bg-color);
}
.md .range-knob-label {
width: var(--f7-range-label-size);
margin-left: calc(-1 * var(--f7-range-label-size) / 2);
margin-bottom: 8px;
}
.md .range-knob-label:before {
content: '';
left: 50%;
top: 0px;
margin-left: calc(-1 * var(--f7-range-label-size) / 2);
position: absolute;
z-index: -1;
width: var(--f7-range-label-size);
height: var(--f7-range-label-size);
background: var(--f7-range-label-bg-color, var(--f7-theme-color));
transform: rotate(-45deg);
border-radius: 50% 50% 50% 0;
}
.md .range-knob-active-state .range-knob-label {
transform: translateY(0%) scale(1);
}
.md .range-slider-label .range-knob-active-state .range-knob {
transform: scale(0);
}
/* === Stepper === */
:root {
/*
--f7-stepper-button-text-color: var(--f7-theme-color);
--f7-stepper-button-pressed-text-color: var(--f7-button-text-color, var(--f7-theme-color));
--f7-stepper-value-text-color: var(--f7-theme-color);
--f7-stepper-fill-button-bg-color: var(--f7-theme-color);
*/
--f7-stepper-raised-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
--f7-stepper-value-font-weight: 500;
}
.ios {
--f7-stepper-height: 28px;
--f7-stepper-border-radius: 5px;
--f7-stepper-fill-button-text-color: #fff;
/*
--f7-stepper-button-pressed-bg-color: rgba(var(--f7-theme-color-rgb), .15);
--f7-stepper-fill-button-pressed-bg-color: var(--f7-theme-color-tint);
*/
--f7-stepper-large-height: 44px;
--f7-stepper-small-height: 26px;
--f7-stepper-value-font-size: 17px;
--f7-stepper-border-width: 2px;
--f7-stepper-border-color: var(--f7-theme-color);
--f7-stepper-small-border-width: 2px;
}
.md {
--f7-stepper-height: 40px;
--f7-stepper-border-radius: 8px;
--f7-stepper-large-height: 48px;
--f7-stepper-small-height: 32px;
--f7-stepper-value-font-size: 14px;
--f7-stepper-border-width: 1px;
--f7-stepper-small-border-width: 1px;
--f7-stepper-button-pressed-bg-color: transparent;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-stepper-fill-button-text-color: var(--f7-md-on-primary);
--f7-stepper-fill-button-pressed-bg-color: var(--f7-theme-color);
--f7-stepper-border-color: var(--f7-md-outline);
}
.stepper {
--f7-touch-ripple-color: rgba(var(--f7-theme-color-rgb), 0.25);
display: inline-flex;
align-items: stretch;
height: var(--f7-stepper-height);
border-radius: var(--f7-stepper-border-radius);
}
.stepper-button,
.stepper-button-minus,
.stepper-button-plus {
background-color: var(--f7-stepper-button-bg-color);
width: 40px;
border-radius: var(--f7-stepper-border-radius);
border: var(--f7-stepper-border-width) solid var(--f7-stepper-border-color);
color: var(--f7-stepper-button-text-color, var(--f7-theme-color));
line-height: calc(var(--f7-stepper-height) - var(--f7-stepper-border-width, 0px));
text-align: center;
display: flex;
justify-content: center;
align-content: center;
align-items: center;
flex-shrink: 0;
box-sizing: border-box;
position: relative;
cursor: pointer;
}
.stepper-button.active-state,
.stepper-button-minus.active-state,
.stepper-button-plus.active-state {
background-color: var(--f7-stepper-button-pressed-bg-color, rgba(var(--f7-theme-color-rgb), 0.15));
color: var(--f7-stepper-button-pressed-text-color, var(--f7-stepper-button-text-color, var(--f7-theme-color)));
}
.stepper-button:first-child,
.stepper-button-minus:first-child,
.stepper-button-plus:first-child {
border-radius: var(--f7-stepper-border-radius) 0 0 var(--f7-stepper-border-radius);
}
.stepper-button:last-child,
.stepper-button-minus:last-child,
.stepper-button-plus:last-child {
border-radius: 0 var(--f7-stepper-border-radius) var(--f7-stepper-border-radius) 0;
}
.stepper-button .icon,
.stepper-button-minus .icon,
.stepper-button-plus .icon {
pointer-events: none;
}
.stepper-button + .stepper-button,
.stepper-button-minus + .stepper-button,
.stepper-button-plus + .stepper-button,
.stepper-button + .stepper-button-minus,
.stepper-button-minus + .stepper-button-minus,
.stepper-button-plus + .stepper-button-minus,
.stepper-button + .stepper-button-plus,
.stepper-button-minus + .stepper-button-plus,
.stepper-button-plus + .stepper-button-plus {
border-left: none;
}
.stepper-button-plus,
.stepper-button-minus {
-webkit-user-select: none;
user-select: none;
}
.stepper-button-plus:after,
.stepper-button-minus:after,
.stepper-button-plus:before,
.stepper-button-minus:before {
content: '';
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
background-color: var(--f7-stepper-button-text-color, var(--f7-theme-color));
border-radius: 2px;
}
.stepper-button-plus:after,
.stepper-button-minus:after {
width: 15px;
height: 2px;
}
.stepper-button-plus:before {
height: 15px;
width: 2px;
}
.stepper-value {
display: flex;
align-content: center;
align-items: center;
justify-content: center;
}
.stepper-input-wrap,
.stepper-value {
flex-shrink: 1;
text-align: center;
border-top: var(--f7-stepper-border-width) solid var(--f7-stepper-border-color);
border-bottom: var(--f7-stepper-border-width) solid var(--f7-stepper-border-color);
}
.stepper .stepper-input-wrap input,
.stepper-value {
width: 45px;
color: var(--f7-stepper-value-text-color, var(--f7-theme-color));
font-size: var(--f7-stepper-value-font-size);
font-weight: var(--f7-stepper-value-font-weight);
text-align: center;
}
.stepper .stepper-input-wrap input {
height: 100%;
}
.stepper-round,
.ios .stepper-round-ios,
.md .stepper-round-md {
--f7-stepper-border-radius: var(--f7-stepper-height);
}
.stepper-fill,
.ios .stepper-fill-ios,
.md .stepper-fill-md {
--f7-stepper-border-color: var(--f7-stepper-fill-button-bg-color, var(--f7-theme-color));
--f7-stepper-button-bg-color: var(--f7-stepper-fill-button-bg-color, var(--f7-theme-color));
--f7-stepper-button-text-color: var(--f7-stepper-fill-button-text-color);
--f7-touch-ripple-color: var(--f7-touch-ripple-white);
}
.stepper-fill .stepper-button + .stepper-button,
.ios .stepper-fill-ios .stepper-button + .stepper-button,
.md .stepper-fill-md .stepper-button + .stepper-button,
.stepper-raised .stepper-button + .stepper-button,
.ios .stepper-raised-ios .stepper-button + .stepper-button,
.md .stepper-raised-md .stepper-button + .stepper-button,
.stepper-fill .stepper-button-minus + .stepper-button-plus,
.ios .stepper-fill-ios .stepper-button-minus + .stepper-button-plus,
.md .stepper-fill-md .stepper-button-minus + .stepper-button-plus,
.stepper-raised .stepper-button-minus + .stepper-button-plus,
.ios .stepper-raised-ios .stepper-button-minus + .stepper-button-plus,
.md .stepper-raised-md .stepper-button-minus + .stepper-button-plus {
border-left: 1px solid rgba(0, 0, 0, 0.1);
}
.stepper-fill .stepper-button + .stepper-button.active-state,
.ios .stepper-fill-ios .stepper-button + .stepper-button.active-state,
.md .stepper-fill-md .stepper-button + .stepper-button.active-state,
.stepper-fill .stepper-button-minus + .stepper-button-plus.active-state,
.ios .stepper-fill-ios .stepper-button-minus + .stepper-button-plus.active-state,
.md .stepper-fill-md .stepper-button-minus + .stepper-button-plus.active-state {
border-left-color: var(--f7-stepper-button-pressed-bg-color);
}
.stepper-raised:not(.stepper-fill) .stepper-input-wrap,
.ios .stepper-raised-ios:not(.stepper-fill-ios):not(.stepper-fill) .stepper-input-wrap,
.md .stepper-raised-md:not(.stepper-fill-md):not(.stepper-fill) .stepper-input-wrap,
.stepper-raised:not(.stepper-fill) .stepper-value,
.ios .stepper-raised-ios:not(.stepper-fill-ios):not(.stepper-fill) .stepper-value,
.md .stepper-raised-md:not(.stepper-fill-md):not(.stepper-fill) .stepper-value {
border-left: 1px solid rgba(0, 0, 0, 0.1);
border-right: 1px solid rgba(0, 0, 0, 0.1);
}
.stepper-large,
.ios .stepper-large-ios,
.md .stepper-large-md {
--f7-stepper-height: var(--f7-stepper-large-height);
}
.stepper-small,
.ios .stepper-small-ios,
.md .stepper-small-md {
--f7-stepper-border-width: var(--f7-stepper-small-border-width);
--f7-stepper-height: var(--f7-stepper-small-height);
}
.ios .stepper-fill.stepper-small-ios,
.ios .stepper-fill.stepper-small {
--f7-stepper-button-pressed-bg-color: transparent;
--f7-stepper-button-pressed-text-color: var(--f7-theme-color);
}
.stepper-raised,
.ios .stepper-raised-ios,
.md .stepper-raised-md {
--f7-stepper-border-width: 0;
box-shadow: var(--f7-stepper-raised-box-shadow);
}
.ios .stepper-button .f7-icons,
.ios .stepper-button-minus .f7-icons,
.ios .stepper-button-plus .f7-icons {
font-size: 22px;
}
.ios .stepper-fill,
.ios .stepper-fill-ios {
--f7-stepper-button-pressed-bg-color: var(--f7-stepper-fill-button-pressed-bg-color, var(--f7-theme-color-tint));
}
.ios .stepper-small.stepper-raised,
.ios .stepper-small-ios.stepper-raised,
.ios .stepper-small.stepper-raised-ios,
.ios .stepper-small-ios.stepper-raised-ios {
--f7-stepper-border-width: 0px;
}
.ios .stepper-small .stepper-button,
.ios .stepper-small-ios .stepper-button,
.ios .stepper-small .stepper-button-minus,
.ios .stepper-small-ios .stepper-button-minus,
.ios .stepper-small .stepper-button-plus,
.ios .stepper-small-ios .stepper-button-plus {
transition-duration: 200ms;
}
.ios .stepper-small .stepper-button.active-state:after,
.ios .stepper-small-ios .stepper-button.active-state:after,
.ios .stepper-small .stepper-button-minus.active-state:after,
.ios .stepper-small-ios .stepper-button-minus.active-state:after,
.ios .stepper-small .stepper-button-plus.active-state:after,
.ios .stepper-small-ios .stepper-button-plus.active-state:after,
.ios .stepper-small .stepper-button.active-state:before,
.ios .stepper-small-ios .stepper-button.active-state:before,
.ios .stepper-small .stepper-button-minus.active-state:before,
.ios .stepper-small-ios .stepper-button-minus.active-state:before,
.ios .stepper-small .stepper-button-plus.active-state:before,
.ios .stepper-small-ios .stepper-button-plus.active-state:before {
transition-duration: 200ms;
background-color: var(--f7-theme-color);
}
.md .stepper-button,
.md .stepper-button-minus,
.md .stepper-button-plus {
transition-duration: 300ms;
transform: translate3d(0, 0, 0);
overflow: hidden;
}
.md .stepper-fill,
.md .stepper-fill-md {
--f7-stepper-button-pressed-bg-color: var(--f7-stepper-fill-button-bg-color, var(--f7-theme-color));
}
/* === Smart Select === */
.smart-select :root {
/*
--f7-smart-select-sheet-bg: var(--f7-list-bg-color);
--f7-smart-select-sheet-toolbar-border-color: var(--f7-bars-border-color);
*/
}
.smart-select select {
display: none;
}
.smart-select .item-after {
max-width: 70%;
overflow: hidden;
text-overflow: ellipsis;
position: relative;
display: block;
}
.smart-select-sheet .page,
.smart-select-sheet .sheet-modal-inner,
.smart-select-sheet .list ul {
background: var(--f7-smart-select-sheet-bg, var(--f7-list-bg-color));
}
.smart-select-sheet .toolbar:after {
content: '';
position: absolute;
background-color: var(--f7-smart-select-sheet-toolbar-border-color, var(--f7-bars-border-color));
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.smart-select-sheet .toolbar:after {
display: block;
}
.smart-select-sheet .list {
margin: 0;
}
.smart-select-sheet .list ul:before,
.smart-select-sheet .list ul:after {
display: none !important;
}
.smart-select-popover .popover-inner {
max-height: 40vh;
}
/* === Grid === */
:root {
--f7-grid-gap: 16px;
}
.grid {
display: grid;
}
.grid.grid-gap {
gap: var(--f7-grid-gap);
}
.grid-cols-1 {
grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-5 {
grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-cols-6 {
grid-template-columns: repeat(6, minmax(0, 1fr));
}
.grid-cols-7 {
grid-template-columns: repeat(7, minmax(0, 1fr));
}
.grid-cols-8 {
grid-template-columns: repeat(8, minmax(0, 1fr));
}
.grid-cols-9 {
grid-template-columns: repeat(9, minmax(0, 1fr));
}
.grid-cols-10 {
grid-template-columns: repeat(10, minmax(0, 1fr));
}
.grid-cols-11 {
grid-template-columns: repeat(11, minmax(0, 1fr));
}
.grid-cols-12 {
grid-template-columns: repeat(12, minmax(0, 1fr));
}
.grid-cols-13 {
grid-template-columns: repeat(13, minmax(0, 1fr));
}
.grid-cols-14 {
grid-template-columns: repeat(14, minmax(0, 1fr));
}
.grid-cols-15 {
grid-template-columns: repeat(15, minmax(0, 1fr));
}
.grid-cols-16 {
grid-template-columns: repeat(16, minmax(0, 1fr));
}
.grid-cols-17 {
grid-template-columns: repeat(17, minmax(0, 1fr));
}
.grid-cols-18 {
grid-template-columns: repeat(18, minmax(0, 1fr));
}
.grid-cols-19 {
grid-template-columns: repeat(19, minmax(0, 1fr));
}
.grid-cols-20 {
grid-template-columns: repeat(20, minmax(0, 1fr));
}
.grid-rows-1 {
grid-template-rows: repeat(1, minmax(0, 1fr));
}
.grid-rows-2 {
grid-template-rows: repeat(2, minmax(0, 1fr));
}
.grid-rows-3 {
grid-template-rows: repeat(3, minmax(0, 1fr));
}
.grid-rows-4 {
grid-template-rows: repeat(4, minmax(0, 1fr));
}
.grid-rows-5 {
grid-template-rows: repeat(5, minmax(0, 1fr));
}
.grid-rows-6 {
grid-template-rows: repeat(6, minmax(0, 1fr));
}
.grid-rows-7 {
grid-template-rows: repeat(7, minmax(0, 1fr));
}
.grid-rows-8 {
grid-template-rows: repeat(8, minmax(0, 1fr));
}
.grid-rows-9 {
grid-template-rows: repeat(9, minmax(0, 1fr));
}
.grid-rows-10 {
grid-template-rows: repeat(10, minmax(0, 1fr));
}
.grid-rows-11 {
grid-template-rows: repeat(11, minmax(0, 1fr));
}
.grid-rows-12 {
grid-template-rows: repeat(12, minmax(0, 1fr));
}
.grid-rows-13 {
grid-template-rows: repeat(13, minmax(0, 1fr));
}
.grid-rows-14 {
grid-template-rows: repeat(14, minmax(0, 1fr));
}
.grid-rows-15 {
grid-template-rows: repeat(15, minmax(0, 1fr));
}
.grid-rows-16 {
grid-template-rows: repeat(16, minmax(0, 1fr));
}
.grid-rows-17 {
grid-template-rows: repeat(17, minmax(0, 1fr));
}
.grid-rows-18 {
grid-template-rows: repeat(18, minmax(0, 1fr));
}
.grid-rows-19 {
grid-template-rows: repeat(19, minmax(0, 1fr));
}
.grid-rows-20 {
grid-template-rows: repeat(20, minmax(0, 1fr));
}
@media (min-width: 480px) {
.xsmall-grid-cols-1 {
grid-template-columns: repeat(1, minmax(0, 1fr));
}
.xsmall-grid-rows-1 {
grid-template-rows: repeat(1, minmax(0, 1fr));
}
.xsmall-grid-cols-2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.xsmall-grid-rows-2 {
grid-template-rows: repeat(2, minmax(0, 1fr));
}
.xsmall-grid-cols-3 {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.xsmall-grid-rows-3 {
grid-template-rows: repeat(3, minmax(0, 1fr));
}
.xsmall-grid-cols-4 {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.xsmall-grid-rows-4 {
grid-template-rows: repeat(4, minmax(0, 1fr));
}
.xsmall-grid-cols-5 {
grid-template-columns: repeat(5, minmax(0, 1fr));
}
.xsmall-grid-rows-5 {
grid-template-rows: repeat(5, minmax(0, 1fr));
}
.xsmall-grid-cols-6 {
grid-template-columns: repeat(6, minmax(0, 1fr));
}
.xsmall-grid-rows-6 {
grid-template-rows: repeat(6, minmax(0, 1fr));
}
.xsmall-grid-cols-7 {
grid-template-columns: repeat(7, minmax(0, 1fr));
}
.xsmall-grid-rows-7 {
grid-template-rows: repeat(7, minmax(0, 1fr));
}
.xsmall-grid-cols-8 {
grid-template-columns: repeat(8, minmax(0, 1fr));
}
.xsmall-grid-rows-8 {
grid-template-rows: repeat(8, minmax(0, 1fr));
}
.xsmall-grid-cols-9 {
grid-template-columns: repeat(9, minmax(0, 1fr));
}
.xsmall-grid-rows-9 {
grid-template-rows: repeat(9, minmax(0, 1fr));
}
.xsmall-grid-cols-10 {
grid-template-columns: repeat(10, minmax(0, 1fr));
}
.xsmall-grid-rows-10 {
grid-template-rows: repeat(10, minmax(0, 1fr));
}
.xsmall-grid-cols-11 {
grid-template-columns: repeat(11, minmax(0, 1fr));
}
.xsmall-grid-rows-11 {
grid-template-rows: repeat(11, minmax(0, 1fr));
}
.xsmall-grid-cols-12 {
grid-template-columns: repeat(12, minmax(0, 1fr));
}
.xsmall-grid-rows-12 {
grid-template-rows: repeat(12, minmax(0, 1fr));
}
.xsmall-grid-cols-13 {
grid-template-columns: repeat(13, minmax(0, 1fr));
}
.xsmall-grid-rows-13 {
grid-template-rows: repeat(13, minmax(0, 1fr));
}
.xsmall-grid-cols-14 {
grid-template-columns: repeat(14, minmax(0, 1fr));
}
.xsmall-grid-rows-14 {
grid-template-rows: repeat(14, minmax(0, 1fr));
}
.xsmall-grid-cols-15 {
grid-template-columns: repeat(15, minmax(0, 1fr));
}
.xsmall-grid-rows-15 {
grid-template-rows: repeat(15, minmax(0, 1fr));
}
.xsmall-grid-cols-16 {
grid-template-columns: repeat(16, minmax(0, 1fr));
}
.xsmall-grid-rows-16 {
grid-template-rows: repeat(16, minmax(0, 1fr));
}
.xsmall-grid-cols-17 {
grid-template-columns: repeat(17, minmax(0, 1fr));
}
.xsmall-grid-rows-17 {
grid-template-rows: repeat(17, minmax(0, 1fr));
}
.xsmall-grid-cols-18 {
grid-template-columns: repeat(18, minmax(0, 1fr));
}
.xsmall-grid-rows-18 {
grid-template-rows: repeat(18, minmax(0, 1fr));
}
.xsmall-grid-cols-19 {
grid-template-columns: repeat(19, minmax(0, 1fr));
}
.xsmall-grid-rows-19 {
grid-template-rows: repeat(19, minmax(0, 1fr));
}
.xsmall-grid-cols-20 {
grid-template-columns: repeat(20, minmax(0, 1fr));
}
.xsmall-grid-rows-20 {
grid-template-rows: repeat(20, minmax(0, 1fr));
}
}
@media (min-width: 568px) {
.small-grid-cols-1 {
grid-template-columns: repeat(1, minmax(0, 1fr));
}
.small-grid-rows-1 {
grid-template-rows: repeat(1, minmax(0, 1fr));
}
.small-grid-cols-2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.small-grid-rows-2 {
grid-template-rows: repeat(2, minmax(0, 1fr));
}
.small-grid-cols-3 {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.small-grid-rows-3 {
grid-template-rows: repeat(3, minmax(0, 1fr));
}
.small-grid-cols-4 {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.small-grid-rows-4 {
grid-template-rows: repeat(4, minmax(0, 1fr));
}
.small-grid-cols-5 {
grid-template-columns: repeat(5, minmax(0, 1fr));
}
.small-grid-rows-5 {
grid-template-rows: repeat(5, minmax(0, 1fr));
}
.small-grid-cols-6 {
grid-template-columns: repeat(6, minmax(0, 1fr));
}
.small-grid-rows-6 {
grid-template-rows: repeat(6, minmax(0, 1fr));
}
.small-grid-cols-7 {
grid-template-columns: repeat(7, minmax(0, 1fr));
}
.small-grid-rows-7 {
grid-template-rows: repeat(7, minmax(0, 1fr));
}
.small-grid-cols-8 {
grid-template-columns: repeat(8, minmax(0, 1fr));
}
.small-grid-rows-8 {
grid-template-rows: repeat(8, minmax(0, 1fr));
}
.small-grid-cols-9 {
grid-template-columns: repeat(9, minmax(0, 1fr));
}
.small-grid-rows-9 {
grid-template-rows: repeat(9, minmax(0, 1fr));
}
.small-grid-cols-10 {
grid-template-columns: repeat(10, minmax(0, 1fr));
}
.small-grid-rows-10 {
grid-template-rows: repeat(10, minmax(0, 1fr));
}
.small-grid-cols-11 {
grid-template-columns: repeat(11, minmax(0, 1fr));
}
.small-grid-rows-11 {
grid-template-rows: repeat(11, minmax(0, 1fr));
}
.small-grid-cols-12 {
grid-template-columns: repeat(12, minmax(0, 1fr));
}
.small-grid-rows-12 {
grid-template-rows: repeat(12, minmax(0, 1fr));
}
.small-grid-cols-13 {
grid-template-columns: repeat(13, minmax(0, 1fr));
}
.small-grid-rows-13 {
grid-template-rows: repeat(13, minmax(0, 1fr));
}
.small-grid-cols-14 {
grid-template-columns: repeat(14, minmax(0, 1fr));
}
.small-grid-rows-14 {
grid-template-rows: repeat(14, minmax(0, 1fr));
}
.small-grid-cols-15 {
grid-template-columns: repeat(15, minmax(0, 1fr));
}
.small-grid-rows-15 {
grid-template-rows: repeat(15, minmax(0, 1fr));
}
.small-grid-cols-16 {
grid-template-columns: repeat(16, minmax(0, 1fr));
}
.small-grid-rows-16 {
grid-template-rows: repeat(16, minmax(0, 1fr));
}
.small-grid-cols-17 {
grid-template-columns: repeat(17, minmax(0, 1fr));
}
.small-grid-rows-17 {
grid-template-rows: repeat(17, minmax(0, 1fr));
}
.small-grid-cols-18 {
grid-template-columns: repeat(18, minmax(0, 1fr));
}
.small-grid-rows-18 {
grid-template-rows: repeat(18, minmax(0, 1fr));
}
.small-grid-cols-19 {
grid-template-columns: repeat(19, minmax(0, 1fr));
}
.small-grid-rows-19 {
grid-template-rows: repeat(19, minmax(0, 1fr));
}
.small-grid-cols-20 {
grid-template-columns: repeat(20, minmax(0, 1fr));
}
.small-grid-rows-20 {
grid-template-rows: repeat(20, minmax(0, 1fr));
}
}
@media (min-width: 768px) {
.medium-grid-cols-1 {
grid-template-columns: repeat(1, minmax(0, 1fr));
}
.medium-grid-rows-1 {
grid-template-rows: repeat(1, minmax(0, 1fr));
}
.medium-grid-cols-2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.medium-grid-rows-2 {
grid-template-rows: repeat(2, minmax(0, 1fr));
}
.medium-grid-cols-3 {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.medium-grid-rows-3 {
grid-template-rows: repeat(3, minmax(0, 1fr));
}
.medium-grid-cols-4 {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.medium-grid-rows-4 {
grid-template-rows: repeat(4, minmax(0, 1fr));
}
.medium-grid-cols-5 {
grid-template-columns: repeat(5, minmax(0, 1fr));
}
.medium-grid-rows-5 {
grid-template-rows: repeat(5, minmax(0, 1fr));
}
.medium-grid-cols-6 {
grid-template-columns: repeat(6, minmax(0, 1fr));
}
.medium-grid-rows-6 {
grid-template-rows: repeat(6, minmax(0, 1fr));
}
.medium-grid-cols-7 {
grid-template-columns: repeat(7, minmax(0, 1fr));
}
.medium-grid-rows-7 {
grid-template-rows: repeat(7, minmax(0, 1fr));
}
.medium-grid-cols-8 {
grid-template-columns: repeat(8, minmax(0, 1fr));
}
.medium-grid-rows-8 {
grid-template-rows: repeat(8, minmax(0, 1fr));
}
.medium-grid-cols-9 {
grid-template-columns: repeat(9, minmax(0, 1fr));
}
.medium-grid-rows-9 {
grid-template-rows: repeat(9, minmax(0, 1fr));
}
.medium-grid-cols-10 {
grid-template-columns: repeat(10, minmax(0, 1fr));
}
.medium-grid-rows-10 {
grid-template-rows: repeat(10, minmax(0, 1fr));
}
.medium-grid-cols-11 {
grid-template-columns: repeat(11, minmax(0, 1fr));
}
.medium-grid-rows-11 {
grid-template-rows: repeat(11, minmax(0, 1fr));
}
.medium-grid-cols-12 {
grid-template-columns: repeat(12, minmax(0, 1fr));
}
.medium-grid-rows-12 {
grid-template-rows: repeat(12, minmax(0, 1fr));
}
.medium-grid-cols-13 {
grid-template-columns: repeat(13, minmax(0, 1fr));
}
.medium-grid-rows-13 {
grid-template-rows: repeat(13, minmax(0, 1fr));
}
.medium-grid-cols-14 {
grid-template-columns: repeat(14, minmax(0, 1fr));
}
.medium-grid-rows-14 {
grid-template-rows: repeat(14, minmax(0, 1fr));
}
.medium-grid-cols-15 {
grid-template-columns: repeat(15, minmax(0, 1fr));
}
.medium-grid-rows-15 {
grid-template-rows: repeat(15, minmax(0, 1fr));
}
.medium-grid-cols-16 {
grid-template-columns: repeat(16, minmax(0, 1fr));
}
.medium-grid-rows-16 {
grid-template-rows: repeat(16, minmax(0, 1fr));
}
.medium-grid-cols-17 {
grid-template-columns: repeat(17, minmax(0, 1fr));
}
.medium-grid-rows-17 {
grid-template-rows: repeat(17, minmax(0, 1fr));
}
.medium-grid-cols-18 {
grid-template-columns: repeat(18, minmax(0, 1fr));
}
.medium-grid-rows-18 {
grid-template-rows: repeat(18, minmax(0, 1fr));
}
.medium-grid-cols-19 {
grid-template-columns: repeat(19, minmax(0, 1fr));
}
.medium-grid-rows-19 {
grid-template-rows: repeat(19, minmax(0, 1fr));
}
.medium-grid-cols-20 {
grid-template-columns: repeat(20, minmax(0, 1fr));
}
.medium-grid-rows-20 {
grid-template-rows: repeat(20, minmax(0, 1fr));
}
}
@media (min-width: 1024px) {
.large-grid-cols-1 {
grid-template-columns: repeat(1, minmax(0, 1fr));
}
.large-grid-rows-1 {
grid-template-rows: repeat(1, minmax(0, 1fr));
}
.large-grid-cols-2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.large-grid-rows-2 {
grid-template-rows: repeat(2, minmax(0, 1fr));
}
.large-grid-cols-3 {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.large-grid-rows-3 {
grid-template-rows: repeat(3, minmax(0, 1fr));
}
.large-grid-cols-4 {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.large-grid-rows-4 {
grid-template-rows: repeat(4, minmax(0, 1fr));
}
.large-grid-cols-5 {
grid-template-columns: repeat(5, minmax(0, 1fr));
}
.large-grid-rows-5 {
grid-template-rows: repeat(5, minmax(0, 1fr));
}
.large-grid-cols-6 {
grid-template-columns: repeat(6, minmax(0, 1fr));
}
.large-grid-rows-6 {
grid-template-rows: repeat(6, minmax(0, 1fr));
}
.large-grid-cols-7 {
grid-template-columns: repeat(7, minmax(0, 1fr));
}
.large-grid-rows-7 {
grid-template-rows: repeat(7, minmax(0, 1fr));
}
.large-grid-cols-8 {
grid-template-columns: repeat(8, minmax(0, 1fr));
}
.large-grid-rows-8 {
grid-template-rows: repeat(8, minmax(0, 1fr));
}
.large-grid-cols-9 {
grid-template-columns: repeat(9, minmax(0, 1fr));
}
.large-grid-rows-9 {
grid-template-rows: repeat(9, minmax(0, 1fr));
}
.large-grid-cols-10 {
grid-template-columns: repeat(10, minmax(0, 1fr));
}
.large-grid-rows-10 {
grid-template-rows: repeat(10, minmax(0, 1fr));
}
.large-grid-cols-11 {
grid-template-columns: repeat(11, minmax(0, 1fr));
}
.large-grid-rows-11 {
grid-template-rows: repeat(11, minmax(0, 1fr));
}
.large-grid-cols-12 {
grid-template-columns: repeat(12, minmax(0, 1fr));
}
.large-grid-rows-12 {
grid-template-rows: repeat(12, minmax(0, 1fr));
}
.large-grid-cols-13 {
grid-template-columns: repeat(13, minmax(0, 1fr));
}
.large-grid-rows-13 {
grid-template-rows: repeat(13, minmax(0, 1fr));
}
.large-grid-cols-14 {
grid-template-columns: repeat(14, minmax(0, 1fr));
}
.large-grid-rows-14 {
grid-template-rows: repeat(14, minmax(0, 1fr));
}
.large-grid-cols-15 {
grid-template-columns: repeat(15, minmax(0, 1fr));
}
.large-grid-rows-15 {
grid-template-rows: repeat(15, minmax(0, 1fr));
}
.large-grid-cols-16 {
grid-template-columns: repeat(16, minmax(0, 1fr));
}
.large-grid-rows-16 {
grid-template-rows: repeat(16, minmax(0, 1fr));
}
.large-grid-cols-17 {
grid-template-columns: repeat(17, minmax(0, 1fr));
}
.large-grid-rows-17 {
grid-template-rows: repeat(17, minmax(0, 1fr));
}
.large-grid-cols-18 {
grid-template-columns: repeat(18, minmax(0, 1fr));
}
.large-grid-rows-18 {
grid-template-rows: repeat(18, minmax(0, 1fr));
}
.large-grid-cols-19 {
grid-template-columns: repeat(19, minmax(0, 1fr));
}
.large-grid-rows-19 {
grid-template-rows: repeat(19, minmax(0, 1fr));
}
.large-grid-cols-20 {
grid-template-columns: repeat(20, minmax(0, 1fr));
}
.large-grid-rows-20 {
grid-template-rows: repeat(20, minmax(0, 1fr));
}
}
@media (min-width: 1200px) {
.xlarge-grid-cols-1 {
grid-template-columns: repeat(1, minmax(0, 1fr));
}
.xlarge-grid-rows-1 {
grid-template-rows: repeat(1, minmax(0, 1fr));
}
.xlarge-grid-cols-2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.xlarge-grid-rows-2 {
grid-template-rows: repeat(2, minmax(0, 1fr));
}
.xlarge-grid-cols-3 {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.xlarge-grid-rows-3 {
grid-template-rows: repeat(3, minmax(0, 1fr));
}
.xlarge-grid-cols-4 {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.xlarge-grid-rows-4 {
grid-template-rows: repeat(4, minmax(0, 1fr));
}
.xlarge-grid-cols-5 {
grid-template-columns: repeat(5, minmax(0, 1fr));
}
.xlarge-grid-rows-5 {
grid-template-rows: repeat(5, minmax(0, 1fr));
}
.xlarge-grid-cols-6 {
grid-template-columns: repeat(6, minmax(0, 1fr));
}
.xlarge-grid-rows-6 {
grid-template-rows: repeat(6, minmax(0, 1fr));
}
.xlarge-grid-cols-7 {
grid-template-columns: repeat(7, minmax(0, 1fr));
}
.xlarge-grid-rows-7 {
grid-template-rows: repeat(7, minmax(0, 1fr));
}
.xlarge-grid-cols-8 {
grid-template-columns: repeat(8, minmax(0, 1fr));
}
.xlarge-grid-rows-8 {
grid-template-rows: repeat(8, minmax(0, 1fr));
}
.xlarge-grid-cols-9 {
grid-template-columns: repeat(9, minmax(0, 1fr));
}
.xlarge-grid-rows-9 {
grid-template-rows: repeat(9, minmax(0, 1fr));
}
.xlarge-grid-cols-10 {
grid-template-columns: repeat(10, minmax(0, 1fr));
}
.xlarge-grid-rows-10 {
grid-template-rows: repeat(10, minmax(0, 1fr));
}
.xlarge-grid-cols-11 {
grid-template-columns: repeat(11, minmax(0, 1fr));
}
.xlarge-grid-rows-11 {
grid-template-rows: repeat(11, minmax(0, 1fr));
}
.xlarge-grid-cols-12 {
grid-template-columns: repeat(12, minmax(0, 1fr));
}
.xlarge-grid-rows-12 {
grid-template-rows: repeat(12, minmax(0, 1fr));
}
.xlarge-grid-cols-13 {
grid-template-columns: repeat(13, minmax(0, 1fr));
}
.xlarge-grid-rows-13 {
grid-template-rows: repeat(13, minmax(0, 1fr));
}
.xlarge-grid-cols-14 {
grid-template-columns: repeat(14, minmax(0, 1fr));
}
.xlarge-grid-rows-14 {
grid-template-rows: repeat(14, minmax(0, 1fr));
}
.xlarge-grid-cols-15 {
grid-template-columns: repeat(15, minmax(0, 1fr));
}
.xlarge-grid-rows-15 {
grid-template-rows: repeat(15, minmax(0, 1fr));
}
.xlarge-grid-cols-16 {
grid-template-columns: repeat(16, minmax(0, 1fr));
}
.xlarge-grid-rows-16 {
grid-template-rows: repeat(16, minmax(0, 1fr));
}
.xlarge-grid-cols-17 {
grid-template-columns: repeat(17, minmax(0, 1fr));
}
.xlarge-grid-rows-17 {
grid-template-rows: repeat(17, minmax(0, 1fr));
}
.xlarge-grid-cols-18 {
grid-template-columns: repeat(18, minmax(0, 1fr));
}
.xlarge-grid-rows-18 {
grid-template-rows: repeat(18, minmax(0, 1fr));
}
.xlarge-grid-cols-19 {
grid-template-columns: repeat(19, minmax(0, 1fr));
}
.xlarge-grid-rows-19 {
grid-template-rows: repeat(19, minmax(0, 1fr));
}
.xlarge-grid-cols-20 {
grid-template-columns: repeat(20, minmax(0, 1fr));
}
.xlarge-grid-rows-20 {
grid-template-rows: repeat(20, minmax(0, 1fr));
}
}
/* === Calendar/Datepicker === */
:root {
--f7-calendar-height: 340px;
--f7-calendar-sheet-landscape-height: 220px;
--f7-calendar-popover-width: 320px;
--f7-calendar-popover-height: 320px;
--f7-calendar-modal-height: 420px;
--f7-calendar-modal-max-width: 380px;
/*
--f7-calendar-header-bg-color: var(--f7-bars-bg-color);
--f7-calendar-header-link-color: var(--f7-bars-link-color);
--f7-calendar-header-text-color: var(--f7-bars-text-color);
--f7-calendar-footer-bg-color: var(--f7-bars-bg-color);
--f7-calendar-footer-border-color: var(--f7-bars-border-color);
--f7-calendar-footer-link-color: var(--f7-bars-link-color);
--f7-calendar-footer-text-color: var(--f7-bars-text-color);
*/
--f7-calendar-week-header-bg-color: transparent;
--f7-calendar-footer-padding: 0 8px;
--f7-calendar-week-header-font-size: 11px;
/*
--f7-calendar-selected-bg-color: var(--f7-theme-color);
*/
--f7-calendar-disabled-text-color: #d4d4d4;
--f7-calendar-event-dot-size: 4px;
/*
--f7-calendar-event-bg-color: var(--f7-theme-color);
*/
/*
--f7-calendar-picker-selected-text-color: var(--f7-theme-color);
*/
--f7-calendar-time-selector-height: 28px;
--f7-calendar-picker-pressed-bg-color: rgba(0, 0, 0, 0.1);
--f7-calendar-picker-hover-bg-color: rgba(0, 0, 0, 0.03);
--f7-calendar-time-selector-bg-color: rgba(0, 0, 0, 0.05);
}
:root .dark,
:root.dark {
--f7-calendar-picker-pressed-bg-color: rgba(255, 255, 255, 0.08);
--f7-calendar-picker-hover-bg-color: rgba(255, 255, 255, 0.03);
--f7-calendar-time-selector-bg-color: rgba(255, 255, 255, 0.1);
}
.ios {
--f7-calendar-selected-text-color: #fff;
--f7-calendar-header-height: 44px;
--f7-calendar-header-font-size: 17px;
--f7-calendar-header-font-weight: 600;
--f7-calendar-header-padding: 0 8px;
--f7-calendar-footer-height: 44px;
--f7-calendar-footer-font-size: 17px;
--f7-calendar-week-header-height: 18px;
--f7-calendar-day-font-size: 15px;
--f7-calendar-day-size: 30px;
--f7-calendar-picker-font-size: 17px;
--f7-calendar-time-selector-font-size: 17px;
--f7-calendar-modal-border-radius: 4px;
--f7-calendar-modal-box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2),
0px 24px 38px 3px rgba(0, 0, 0, 0.14),
0px 9px 46px 8px rgba(0, 0, 0, 0.12);
--f7-calendar-prev-next-text-color: #c8c8c8;
--f7-calendar-sheet-border-color: #929499;
--f7-calendar-sheet-bg-color: #fff;
--f7-calendar-week-header-text-color: #5e5e5e;
--f7-calendar-modal-bg-color: #fff;
--f7-calendar-day-text-color: #000;
--f7-calendar-today-text-color: #000;
--f7-calendar-today-bg-color: #e3e3e3;
}
.ios .dark,
.ios.dark {
--f7-calendar-prev-next-text-color: #5e5e5e;
--f7-calendar-sheet-border-color: var(--f7-bars-border-color);
--f7-calendar-sheet-bg-color: #121212;
--f7-calendar-week-header-text-color: #aaa;
--f7-calendar-modal-bg-color: #121212;
--f7-calendar-day-text-color: #fff;
--f7-calendar-today-text-color: #fff;
--f7-calendar-today-bg-color: #333;
}
.md {
--f7-calendar-sheet-border-color: transparent;
--f7-calendar-header-height: 64px;
--f7-calendar-header-font-size: 24px;
--f7-calendar-header-font-weight: 400;
--f7-calendar-header-padding: 0 24px;
--f7-calendar-footer-height: 56px;
--f7-calendar-footer-font-size: 14px;
--f7-calendar-week-header-height: 24px;
--f7-calendar-day-font-size: 14px;
--f7-calendar-today-bg-color: none;
--f7-calendar-day-size: 32px;
--f7-calendar-picker-font-size: 14px;
--f7-calendar-time-selector-font-size: 14px;
--f7-calendar-modal-border-radius: 28px;
--f7-calendar-modal-box-shadow: none;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-calendar-sheet-bg-color: var(--f7-md-surface-1);
--f7-calendar-selected-text-color: var(--f7-md-on-primary);
--f7-calendar-week-header-text-color: var(--f7-md-on-surface-variant);
--f7-calendar-day-text-color: var(--f7-md-on-surface);
--f7-calendar-prev-next-text-color: rgba(var(--f7-md-on-surface-variant-rgb), 0.55);
--f7-calendar-today-text-color: var(--f7-theme-color);
--f7-calendar-modal-bg-color: var(--f7-md-surface-1);
}
.calendar {
overflow: hidden;
height: var(--f7-calendar-height);
width: 100%;
display: flex;
flex-direction: column;
}
.calendar.modal-in {
display: flex;
}
@media (orientation: landscape) and (max-height: 415px) {
.calendar.calendar-sheet {
height: var(--f7-calendar-sheet-landscape-height);
}
.calendar.calendar-modal {
height: calc(100vh - var(--f7-navbar-height));
}
}
.calendar.calendar-inline,
.calendar.calendar-popover .calendar {
position: relative;
}
.calendar-sheet {
--f7-sheet-border-color: var(--f7-calendar-sheet-border-color);
background: var(--f7-calendar-sheet-bg-color);
padding-bottom: var(--f7-safe-area-bottom);
height: calc(var(--f7-calendar-height) + var(--f7-safe-area-bottom));
}
.calendar-sheet:before {
z-index: 600;
}
.calendar-sheet .toolbar:before,
.calendar-modal .toolbar:before,
.calendar-popover .toolbar:before {
display: none;
}
.calendar-popover {
width: var(--f7-calendar-popover-width);
}
.calendar-popover .toolbar-top,
.calendar-popover .calendar-header {
border-radius: var(--f7-popover-border-radius) var(--f7-popover-border-radius) 0 0;
overflow: hidden;
}
.calendar-popover .calendar-header + .toolbar-top {
border-radius: 0;
}
.calendar-popover .toolbar-bottom,
.calendar-popover .calendar-footer {
border-radius: 0 0 var(--f7-popover-border-radius) var(--f7-popover-border-radius);
}
.calendar-popover .calendar {
height: var(--f7-calendar-popover-height);
position: relative;
z-index: 1;
}
.calendar-popover .calendar-month-picker,
.calendar-popover .calendar-year-picker,
.calendar-popover .calendar-time-picker {
border-radius: var(--f7-popover-border-radius);
}
.calendar-popover .calendar-month-picker .picker,
.calendar-popover .calendar-year-picker .picker,
.calendar-popover .calendar-time-picker .picker {
height: 100%;
display: flex;
flex-direction: column;
}
.calendar-header {
width: 100%;
position: relative;
overflow: hidden;
flex-shrink: 0;
white-space: nowrap;
text-overflow: ellipsis;
box-sizing: border-box;
padding: var(--f7-calendar-header-padding);
background-color: var(--f7-calendar-header-bg-color, var(--f7-bars-bg-color));
color: var(--f7-calendar-header-text-color, var(--f7-bars-text-color));
height: var(--f7-calendar-header-height);
line-height: var(--f7-calendar-header-height);
font-size: var(--f7-calendar-header-font-size);
font-weight: var(--f7-calendar-header-font-weight);
}
.calendar-header a {
color: var(--f7-calendar-header-link-color, var(--f7-bars-link-color, var(--f7-theme-color)));
}
.calendar-footer {
width: 100%;
flex-shrink: 0;
padding: var(--f7-calendar-footer-padding);
background-color: var(--f7-calendar-footer-bg-color, var(--f7-bars-bg-color));
color: var(--f7-calendar-footer-text-color, var(--f7-bars-text-color));
height: var(--f7-calendar-footer-height);
font-size: var(--f7-calendar-header-font-size);
display: flex;
justify-content: flex-end;
box-sizing: border-box;
align-items: center;
position: relative;
}
.calendar-footer a {
color: var(--f7-calendar-footer-link-color, var(--f7-bars-link-color, var(--f7-theme-color)));
}
.calendar-footer:before {
content: '';
position: absolute;
background-color: var(--f7-calendar-footer-border-color, var(--f7-bars-border-color));
display: block;
z-index: 15;
top: 0;
right: auto;
bottom: auto;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 0%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.calendar-modal {
position: absolute;
height: var(--f7-calendar-modal-height);
overflow: hidden;
top: 50%;
left: 50%;
min-width: 300px;
max-width: var(--f7-calendar-modal-max-width);
transform: translate3d(-50%, 100vh, 0);
transition-property: transform;
display: flex;
z-index: 13500;
background: var(--f7-calendar-modal-bg-color);
width: 90%;
border-radius: var(--f7-calendar-modal-border-radius);
box-shadow: var(--f7-calendar-modal-box-shadow);
transition-timing-function: cubic-bezier(0, 1, 0.2, 1);
}
.calendar-modal.modal-in,
.calendar-modal.modal-out {
transition-duration: 400ms;
}
.calendar-modal.modal-in {
transform: translate3d(-50%, -50%, 0);
}
.calendar-modal.modal-out {
transform: translate3d(-50%, 100vh, 0);
}
.calendar-week-header {
display: flex;
box-sizing: border-box;
position: relative;
font-size: var(--f7-calendar-week-header-font-size);
background-color: var(--f7-calendar-week-header-bg-color, var(--f7-bars-bg-color));
color: var(--f7-calendar-week-header-text-color, var(--f7-bars-text-color));
height: var(--f7-calendar-week-header-height);
padding-left: var(--f7-safe-area-left);
padding-right: var(--f7-safe-area-right);
}
.calendar-week-header .calendar-week-day {
flex-shrink: 1;
width: calc(100% / 7);
text-align: center;
line-height: var(--f7-calendar-week-header-height);
}
.calendar-months {
width: 100%;
height: 100%;
overflow: hidden;
position: relative;
flex-shrink: 10;
}
.calendar-months-wrapper {
position: relative;
width: 100%;
height: 100%;
transition: 300ms;
}
.calendar-month {
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
}
.calendar-row {
height: 16.66666667%;
display: flex;
flex-shrink: 1;
width: 100%;
position: relative;
box-sizing: border-box;
padding-left: var(--f7-safe-area-left);
padding-right: var(--f7-safe-area-right);
}
.calendar-modal .calendar-months:first-child .calendar-row:first-child:before,
.calendar-popover .calendar-months:first-child .calendar-row:first-child:before {
display: none !important;
}
.calendar-day {
flex-shrink: 1;
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width: 14.28571429%;
text-align: center;
cursor: pointer;
z-index: 20;
color: var(--f7-calendar-day-text-color);
height: 100%;
font-size: var(--f7-calendar-day-font-size);
}
.calendar-day-today .calendar-day-number {
color: var(--f7-calendar-today-text-color, var(--f7-theme-color));
background-color: var(--f7-calendar-today-bg-color);
}
.calendar-day-prev,
.calendar-day-next {
color: var(--f7-calendar-prev-next-text-color);
}
.calendar-day-disabled {
color: var(--f7-calendar-disabled-text-color);
cursor: auto;
}
.calendar-day-selected .calendar-day-number {
color: var(--f7-calendar-selected-text-color);
background-color: var(--f7-calendar-selected-bg-color, var(--f7-theme-color));
}
.calendar-day-number {
display: inline-block;
border-radius: 50%;
position: relative;
width: var(--f7-calendar-day-size);
height: var(--f7-calendar-day-size);
line-height: var(--f7-calendar-day-size);
}
.calendar-day-events {
position: absolute;
display: flex;
left: 0;
width: 100%;
top: 100%;
align-items: center;
justify-content: center;
margin-top: 1px;
}
.calendar-day-event {
width: var(--f7-calendar-event-dot-size);
height: var(--f7-calendar-event-dot-size);
border-radius: calc(var(--f7-calendar-event-dot-size) / 2);
background-color: var(--f7-calendar-event-bg-color);
}
.calendar-day-event + .calendar-day-event {
margin-left: 2px;
}
.calendar-day-selected-range,
.calendar-day-selected-left,
.calendar-day-selected-right {
position: relative;
}
.calendar-day-selected-range:before,
.calendar-day-selected-left:before,
.calendar-day-selected-right:before {
width: 100%;
height: var(--f7-calendar-day-size);
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
z-index: -1;
background-color: var(--f7-calendar-selected-bg-color, var(--f7-theme-color));
opacity: 0.2;
}
.calendar-day-selected-range:first-child:before,
.calendar-day-selected-left:before {
left: auto;
right: 0;
width: calc(50% + var(--f7-calendar-day-size) / 2);
border-radius: var(--f7-calendar-day-size) 0 0 var(--f7-calendar-day-size);
}
.calendar-day-selected-range:last-child:before,
.calendar-day-selected-right:before {
width: calc(50% + var(--f7-calendar-day-size) / 2);
border-radius: 0 var(--f7-calendar-day-size) var(--f7-calendar-day-size) 0;
}
.calendar-day-selected-left:last-child:before,
.calendar-day-selected-right:first-child:before {
display: none;
}
.calendar-day-selected-left.calendar-day-selected-right:before {
content: none;
display: none;
}
.calendar-day-selected-range .calendar-day-number {
background-color: transparent;
color: inherit;
}
.calendar-month-selector,
.calendar-year-selector {
display: flex;
justify-content: space-between;
align-items: center;
width: 50%;
max-width: 200px;
flex-shrink: 10;
margin-left: auto;
margin-right: auto;
}
.calendar-month-selector .calendar-day-number,
.calendar-year-selector .calendar-day-number {
flex-shrink: 1;
position: relative;
overflow: hidden;
text-overflow: ellipsis;
}
.calendar-month-selector a.icon-only,
.calendar-year-selector a.icon-only {
min-width: 36px;
}
.calendar-month-picker,
.calendar-year-picker,
.calendar-time-picker {
position: relative;
width: 100%;
height: 100%;
-webkit-user-select: none;
user-select: none;
background: transparent;
}
.calendar-month-picker .picker-columns,
.calendar-year-picker .picker-columns {
text-align: center;
}
.calendar-month-picker-item,
.calendar-year-picker-item {
display: flex;
justify-content: center;
align-items: center;
position: relative;
overflow: hidden;
cursor: pointer;
transition-duration: 100ms;
box-sizing: border-box;
}
.calendar-month-picker-item span,
.calendar-year-picker-item span {
white-space: nowrap;
text-overflow: ellipsis;
box-sizing: border-box;
position: relative;
overflow: hidden;
pointer-events: none;
}
.calendar-month-picker-item.active-state,
.calendar-year-picker-item.active-state {
background: var(--f7-calendar-picker-pressed-bg-color);
}
.calendar-month-picker-item {
padding: 5px;
}
.sheet-modal .calendar-month-picker-item {
width: 25%;
height: 33.33333333%;
}
.sheet-modal .calendar-month-picker-item:nth-child(4n + 1):before {
display: none !important;
}
.sheet-modal .calendar-month-picker-item:nth-child(n + 9):after {
display: none !important;
}
.popover .calendar-month-picker-item,
.calendar-modal .calendar-month-picker-item {
width: 33.33333333%;
height: 25%;
}
.popover .calendar-month-picker-item:nth-child(3n + 1):before,
.calendar-modal .calendar-month-picker-item:nth-child(3n + 1):before {
display: none !important;
}
.popover .calendar-month-picker-item:nth-child(n + 10):after,
.calendar-modal .calendar-month-picker-item:nth-child(n + 10):after {
display: none !important;
}
.calendar-month-picker-item-current,
.calendar-year-picker-item-current {
color: var(--f7-calendar-picker-selected-text-color, var(--f7-theme-color));
}
.calendar-year-picker {
overflow: auto;
--webkit-overflow-scrolling: touch;
}
.calendar-year-picker-item {
height: 34px;
line-height: 34px;
width: 100%;
}
.calendar-time-selector {
flex-shrink: 0;
font-size: var(--f7-calendar-time-selector-font-size);
position: relative;
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 16px;
}
.calendar-time-selector a {
overflow: hidden;
position: relative;
justify-content: center;
align-items: center;
display: flex;
box-sizing: border-box;
height: var(--f7-calendar-time-selector-height);
background-color: var(--f7-calendar-time-selector-bg-color);
padding: 0 16px;
border-radius: 8px;
}
.calendar-time-selector > span {
font-weight: 500;
}
.calendar-time-selector .segmented {
margin-left: 8px;
}
.calendar-time-picker-popover,
.calendar-year-picker-popover,
.calendar-month-picker-popover {
height: 240px;
width: 240px;
}
.calendar-time-picker-popover .popover-inner,
.calendar-year-picker-popover .popover-inner,
.calendar-month-picker-popover .popover-inner {
height: 100%;
overflow: hidden;
}
.calendar-time-picker {
--f7-picker-popover-height: 100%;
--f7-picker-inline-height: 100%;
}
.calendar-time-picker .toolbar {
flex-shrink: 0;
top: 0 !important;
}
.calendar-time-picker .picker {
height: 100%;
display: flex;
flex-direction: column;
}
/* === Picker === */
:root {
--f7-picker-height: 260px;
--f7-picker-inline-height: 200px;
--f7-picker-popover-height: 260px;
--f7-picker-popover-width: 280px;
--f7-picker-landscape-height: 200px;
--f7-picker-item-height: 36px;
/*
--f7-picker-sheet-bg-color: var(--f7-sheet-bg-color);
*/
}
.ios {
--f7-picker-column-font-size: 20px;
--f7-picker-item-selected-text-color: #000;
--f7-picker-item-selected-bg-color: rgba(0, 0, 0, 0.12);
--f7-picker-divider-text-color: #000;
--f7-picker-item-text-color: rgba(0, 0, 0, 0.45);
}
.ios .dark,
.ios.dark {
--f7-picker-item-selected-text-color: #fff;
--f7-picker-item-selected-bg-color: rgba(255, 255, 255, 0.1);
--f7-picker-divider-text-color: #fff;
--f7-picker-item-text-color: rgba(255, 255, 255, 0.55);
}
.md {
--f7-picker-column-font-size: 20px;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-picker-item-selected-text-color: var(--f7-md-on-surface);
--f7-picker-item-text-color: var(--f7-md-on-surface-variant);
--f7-picker-divider-text-color: var(--f7-md-on-surface);
--f7-picker-item-selected-border-color: var(--f7-md-outline);
}
.picker {
width: 100%;
height: var(--f7-picker-height);
}
.picker.picker-inline {
height: var(--f7-picker-inline-height);
}
.popover .picker {
height: var(--f7-picker-popover-height);
}
@media (orientation: landscape) and (max-height: 415px) {
.picker:not(.picker-inline) {
height: var(--f7-picker-landscape-height);
}
}
.picker.sheet-modal {
background: var(--f7-picker-sheet-bg-color, var(--f7-sheet-bg-color));
}
.picker-popover {
width: var(--f7-picker-popover-width);
}
.picker-popover .toolbar {
background: none;
border-radius: var(--f7-popover-border-radius) var(--f7-popover-border-radius) 0 0;
}
.picker-popover .toolbar:before {
display: none !important;
}
.picker-popover .toolbar + .picker-columns {
height: calc(100% - var(--f7-toolbar-height));
}
.picker-columns {
display: flex;
overflow: hidden;
justify-content: center;
padding: 0;
text-align: right;
height: 100%;
position: relative;
font-size: var(--f7-picker-column-font-size);
--f7-picker-mask-bg-color: transparent;
}
.popover .picker-columns {
border-radius: 0 0 var(--f7-popover-border-radius) var(--f7-popover-border-radius);
}
.picker-columns::before,
.picker-columns::after {
content: '';
position: absolute;
left: 0;
width: 100%;
height: 20%;
z-index: 100;
pointer-events: none;
}
.page .picker-columns {
--f7-picker-mask-bg-color: var(--f7-page-bg-color);
}
.block-strong .picker-columns {
--f7-picker-mask-bg-color: var(--f7-block-strong-bg-color);
}
.picker-sheet .picker-columns {
--f7-picker-mask-bg-color: var(--f7-picker-sheet-bg-color, var(--f7-sheet-bg-color));
}
.picker-popover .picker-columns {
--f7-picker-mask-bg-color: var(--f7-popover-bg-color);
}
.picker-columns::before {
top: 0;
background-image: linear-gradient(to bottom, var(--f7-picker-mask-bg-color), transparent);
}
.picker-columns::after {
bottom: 0;
background-image: linear-gradient(to top, var(--f7-picker-mask-bg-color), transparent);
}
.picker-column {
position: relative;
max-height: 100%;
z-index: 10;
}
.picker-column.picker-column-first.picker-column-last {
width: 100%;
}
.picker-column.picker-column-left {
text-align: left;
}
.picker-column.picker-column-center {
text-align: center;
}
.picker-column.picker-column-right {
text-align: right;
}
.picker-column.picker-column-divider {
display: flex;
align-items: center;
color: var(--f7-picker-divider-text-color);
}
.picker-items {
overflow: auto;
scroll-snap-type: y mandatory;
height: 100%;
box-sizing: border-box;
padding: var(--f7-picker-scroll-padding, 0px) 0px;
scrollbar-width: none;
scrollbar-color: transparent;
}
.picker-items::-webkit-scrollbar {
-webkit-appearance: none;
appearance: none;
width: 0px;
display: none;
opacity: 0;
background: transparent;
}
.picker-items::-webkit-scrollbar-track {
box-shadow: none;
background: transparent;
}
.picker-items::-webkit-scrollbar-thumb {
background-color: transparent;
outline: none;
border-radius: 9999px;
position: relative;
}
.picker-item {
height: var(--f7-picker-item-height);
line-height: var(--f7-picker-item-height);
white-space: nowrap;
position: relative;
overflow: hidden;
text-overflow: ellipsis;
left: 0;
top: 0;
width: 100%;
box-sizing: border-box;
color: var(--f7-picker-item-text-color);
cursor: pointer;
scroll-snap-align: center;
}
.picker-item span {
padding: 0 10px;
}
.picker-item.picker-item-far {
pointer-events: none;
}
.picker-item.picker-item-selected {
color: var(--f7-picker-item-selected-text-color);
transform: translate3d(0, 0, 0) rotateX(0deg);
}
.picker-column-free-mode .picker-item {
scroll-snap-align: none;
}
.picker-center-highlight {
height: var(--f7-picker-item-height);
box-sizing: border-box;
position: absolute;
top: 50%;
margin-top: calc(-1 * var(--f7-picker-item-height) / 2);
pointer-events: none;
}
.picker-3d .picker-columns {
overflow: hidden;
}
.picker-3d .picker-column,
.picker-3d .picker-items,
.picker-3d .picker-item {
transform-style: preserve-3d;
}
.picker-3d .picker-column {
overflow: visible;
}
.picker-3d .picker-item {
perspective: 1200px;
overflow: visible;
}
.picker-3d .picker-item > span {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
display: block;
transform-style: preserve-3d;
position: relative;
overflow: hidden;
text-overflow: ellipsis;
box-sizing: border-box;
max-width: 100%;
transform-origin: center center -100px;
}
.ios .picker-center-highlight {
left: 16px;
right: 16px;
background-color: var(--f7-picker-item-selected-bg-color);
border-radius: 8px;
}
.popover .ios .picker-center-highlight {
left: 8px;
right: 8px;
}
.md .picker-center-highlight {
left: 0;
right: 0;
border-top: 1px solid var(--f7-md-outline);
border-bottom: 1px solid var(--f7-md-outline);
}
/* === Infinite === */
.infinite-scroll-preloader {
margin-left: auto;
margin-right: auto;
text-align: center;
}
.infinite-scroll-preloader.preloader {
display: block;
}
.ios .infinite-scroll-preloader {
margin-top: 35px;
margin-bottom: 35px;
}
.ios .infinite-scroll-preloader .preloader,
.ios .infinite-scroll-preloader.preloader {
width: 27px;
height: 27px;
}
.md .infinite-scroll-preloader {
margin-top: 32px;
margin-bottom: 32px;
}
/* === PTR === */
.ios {
--f7-ptr-preloader-size: 28px;
--f7-ptr-size: 44px;
}
.md {
--f7-ptr-preloader-size: 22px;
--f7-ptr-size: 40px;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-ptr-preloader-bg-color: var(--f7-md-surface-1);
--f7-ptr-preloader-color: var(--f7-md-primary);
}
.ptr-preloader {
position: relative;
top: var(--f7-ptr-top, 0);
height: var(--f7-ptr-size);
pointer-events: none;
}
.ptr-preloader .preloader {
position: absolute;
left: 50%;
width: var(--f7-ptr-preloader-size);
height: var(--f7-ptr-preloader-size);
margin-left: calc(-1 * var(--f7-ptr-preloader-size) / 2);
margin-top: calc(-1 * var(--f7-ptr-preloader-size) / 2);
top: 50%;
visibility: hidden;
}
.ptr-bottom .ptr-preloader {
top: auto;
bottom: 0;
position: fixed;
}
.ptr-with-navbar-large-transparent .ptr-preloader,
.ptr-with-navbar-transparent .ptr-preloader {
top: calc(-1 * var(--f7-page-navbar-offset, 0px) + var(--f7-safe-area-top));
}
.ios .ptr-preloader {
margin-bottom: calc(-1 * var(--f7-ptr-size));
width: 100%;
left: 0;
top: 0;
position: relative;
}
.ios .ptr-preloader .preloader {
visibility: visible;
}
.ios .ptr-content:not(.ptr-refreshing):not(.ptr-pull-up) .ptr-preloader .preloader,
.ios .ptr-content:not(.ptr-refreshing):not(.ptr-pull-up) .ptr-preloader .preloader-inner {
animation: none;
}
.ios .ptr-content:not(.ptr-refreshing):not(.ptr-pull-up):not(.ptr-pull-down) .ptr-preloader .preloader-inner-line,
.ios .ptr-content.ptr-closing .ptr-preloader .preloader-inner-line {
opacity: 0 !important;
}
.ios .ptr-transitioning > *,
.ios .ptr-refreshing > * {
transition-duration: 200ms;
transition-property: transform;
}
.ios .ptr-transitioning .ptr-preloader .preloader-inner-line {
transition-duration: 200ms;
}
.ios .ptr-pull-up .ptr-preloader .preloader {
animation: ios-ptr-preloader-spin 1s ease-out forwards;
}
.ios .ptr-refreshing:not(.ptr-bottom) {
transform: none;
}
.ios .ptr-refreshing:not(.ptr-bottom) > * {
transform: translate3d(0, var(--f7-ptr-size), 0);
}
.ios .ptr-refreshing:not(.ptr-bottom) > .ptr-preloader {
transform: translate3d(0, 0, 0);
}
.ios .ptr-bottom .ptr-preloader {
margin-bottom: 0;
margin-top: calc(-1 * var(--f7-ptr-size));
position: relative;
}
.ios .ptr-bottom.ptr-transitioning > *,
.ios .ptr-bottom.ptr-refreshing > * {
transition-duration: 300ms;
transition-property: transform;
}
.ios .ptr-bottom.ptr-refreshing {
transform: none;
}
.ios .ptr-bottom.ptr-refreshing > * {
transform: translate3d(0, calc(-1 * var(--f7-ptr-size)), 0);
}
.ios .ptr-bottom.ptr-refreshing > .ptr-preloader {
transform: translate3d(0, 0, 0);
}
@keyframes ios-ptr-preloader-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(135deg);
}
}
.md {
--f7-ptr-top: -4px;
}
.md .ptr-preloader {
width: var(--f7-ptr-size);
border-radius: 50%;
background: var(--f7-ptr-preloader-bg-color);
--f7-preloader-color: var(--f7-ptr-preloader-color);
margin-top: calc(-1 * var(--f7-ptr-size));
z-index: 100;
box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
left: 50%;
margin-left: calc(-1 * var(--f7-ptr-size) / 2);
}
.md .ptr-preloader .preloader circle {
stroke-width: 4;
}
.md .ptr-arrow {
width: 22px;
height: 22px;
box-sizing: border-box;
border: 3px solid var(--f7-preloader-color);
position: absolute;
left: 50%;
top: 50%;
margin-left: -11px;
margin-top: -11px;
border-left-color: transparent;
border-radius: 50%;
opacity: 1;
transform: rotate(150deg);
}
.md .ptr-arrow:after {
content: '';
width: 0px;
height: 0px;
position: absolute;
left: -5px;
bottom: 0px;
border-bottom-width: 6px;
border-bottom-style: solid;
border-bottom-color: inherit;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
transform: rotate(-40deg);
}
.md .ptr-content:not(.ptr-refreshing):not(.ptr-pull-up) .ptr-preloader .preloader,
.md .ptr-content:not(.ptr-refreshing):not(.ptr-pull-up) .ptr-preloader .preloader-inner,
.md .ptr-content:not(.ptr-refreshing):not(.ptr-pull-up) .ptr-preloader circle {
animation: none;
}
.md .ptr-refreshing .ptr-preloader .preloader,
.md .ptr-pull-up .ptr-preloader .preloader {
visibility: visible;
}
.md .ptr-refreshing .ptr-arrow,
.md .ptr-pull-up .ptr-arrow {
visibility: hidden;
}
.md .ptr-refreshing .ptr-preloader {
transform: translate3d(0, 66px, 0);
}
.md .ptr-transitioning .ptr-arrow {
transition: 300ms;
}
.md .ptr-pull-up .ptr-arrow {
transition: 400ms;
transform: rotate(620deg) !important;
opacity: 0;
}
.md .ptr-transitioning .ptr-preloader,
.md .ptr-refreshing .ptr-preloader {
transition-duration: 300ms;
transition-property: transform, opacity;
}
.md .ptr-bottom .ptr-preloader {
margin-top: 0;
margin-bottom: calc(-1 * var(--f7-ptr-size) - 4px);
}
.md .ptr-bottom.ptr-refreshing .ptr-preloader {
transform: translate3d(0, -66px, 0);
}
.md .ptr-with-navbar-large-transparent .ptr-preloader,
.md .ptr-with-navbar-transparent .ptr-preloader {
opacity: 0;
}
.md .ptr-with-navbar-large-transparent.ptr-pull-down .ptr-preloader,
.md .ptr-with-navbar-transparent.ptr-pull-down .ptr-preloader,
.md .ptr-with-navbar-large-transparent.ptr-pull-up .ptr-preloader,
.md .ptr-with-navbar-transparent.ptr-pull-up .ptr-preloader,
.md .ptr-with-navbar-large-transparent.ptr-refreshing .ptr-preloader,
.md .ptr-with-navbar-transparent.ptr-refreshing .ptr-preloader {
opacity: 1;
}
.md .ptr-with-navbar-large-transparent.ptr-closing .ptr-preloader,
.md .ptr-with-navbar-transparent.ptr-closing .ptr-preloader {
opacity: 0;
transition-duration: 300ms;
}
/* === Data Table === */
:root {
--f7-table-head-font-size: 12px;
--f7-table-body-font-size: 14px;
--f7-table-footer-font-size: 12px;
--f7-table-input-height: 24px;
--f7-table-input-font-size: 14px;
--f7-table-collapsible-cell-padding: 16px;
--f7-table-link-icon-only-icon-size: 20px;
--f7-table-head-bg-color: transparent;
--f7-table-card-header-bg-color: transparent;
--f7-table-card-header-height: 64px;
--f7-table-cell-padding-vertical: 0px;
--f7-table-sortable-icon-color: #000;
}
:root .dark,
:root.dark {
--f7-table-sortable-icon-color: #fff;
--f7-table-input-text-color: #fff;
}
.ios {
--f7-table-head-font-weight: 600;
--f7-table-head-cell-height: 44px;
--f7-table-head-icon-size: 18px;
--f7-table-body-cell-height: 44px;
--f7-table-cell-padding-horizontal: 16px;
--f7-table-edge-cell-padding-horizontal: 16px;
--f7-table-label-cell-padding-horizontal: 16px;
--f7-table-checkbox-cell-width: 22px;
/* --f7-table-actions-cell-link-color: var(--f7-theme-color); */
/* --f7-table-actions-link-color: var(--f7-theme-color); */
--f7-table-title-font-size: 17px;
--f7-table-title-font-weight: 600;
--f7-table-footer-height: 44px;
--f7-table-head-text-color: rgba(0, 0, 0, 0.45);
--f7-table-cell-border-color: rgba(0, 0, 0, 0.22);
--f7-table-selected-row-bg-color: rgba(0, 0, 0, 0.03);
--f7-table-footer-text-color: rgba(0, 0, 0, 0.45);
--f7-table-input-text-color: #000;
}
.ios .dark,
.ios.dark {
--f7-table-head-text-color: rgba(255, 255, 255, 0.55);
--f7-table-cell-border-color: rgba(255, 255, 255, 0.15);
--f7-table-footer-text-color: rgba(255, 255, 255, 0.55);
--f7-table-selected-row-bg-color: rgba(255, 255, 255, 0.08);
}
.md {
--f7-table-head-font-weight: 500;
--f7-table-head-cell-height: 56px;
--f7-table-head-icon-size: 16px;
--f7-table-body-cell-height: 48px;
--f7-table-cell-padding-horizontal: 28px;
--f7-table-edge-cell-padding-horizontal: 24px;
--f7-table-label-cell-padding-horizontal: 24px;
--f7-table-checkbox-cell-width: 18px;
--f7-table-title-font-size: 20px;
--f7-table-title-font-weight: 400;
--f7-table-footer-height: 56px;
--f7-table-actions-cell-link-color: rgba(0, 0, 0, 0.54);
--f7-table-actions-link-color: rgba(0, 0, 0, 0.54);
--f7-table-input-text-color: #212121;
}
.md .dark,
.md.dark {
--f7-table-actions-cell-link-color: rgba(255, 255, 255, 0.54);
--f7-table-actions-link-color: rgba(255, 255, 255, 0.54);
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-table-head-text-color: var(--f7-md-on-surface-variant);
--f7-table-footer-text-color: var(--f7-md-on-surface-variant);
--f7-table-selected-row-bg-color: var(--f7-md-secondary-container);
--f7-table-cell-border-color: var(--f7-md-outline);
}
.data-table {
overflow-x: auto;
}
.data-table table,
table.data-table {
width: 100%;
border: none;
padding: 0;
margin: 0;
border-collapse: collapse;
text-align: left;
}
.data-table thead th,
.data-table thead td {
font-size: var(--f7-table-head-font-size);
font-weight: var(--f7-table-head-font-weight);
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
line-height: 16px;
height: var(--f7-table-head-cell-height);
background-color: var(--f7-table-head-bg-color);
}
.data-table thead th:not(.sortable-cell-active),
.data-table thead td:not(.sortable-cell-active) {
color: var(--f7-table-head-text-color);
}
.data-table thead i.icon,
.data-table thead i.f7-icons,
.data-table thead i.material-icons {
vertical-align: top;
font-size: var(--f7-table-head-icon-size);
}
.data-table tbody {
font-size: var(--f7-table-body-font-size);
}
.data-table tbody th,
.data-table tbody td {
height: var(--f7-table-body-cell-height);
}
.data-table tbody tr.data-table-row-selected,
.device-desktop .data-table tbody tr:hover {
background: var(--f7-table-selected-row-bg-color);
}
.data-table tbody td:before,
.data-table tbody th:before {
content: '';
position: absolute;
background-color: var(--f7-table-cell-border-color);
display: block;
z-index: 15;
top: 0;
right: auto;
bottom: auto;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 0%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.data-table th,
.data-table td {
--f7-table-cell-padding-left: var(--f7-table-cell-padding-horizontal);
--f7-table-cell-padding-right: var(--f7-table-cell-padding-horizontal);
padding-top: var(--f7-table-cell-padding-vertical);
padding-bottom: var(--f7-table-cell-padding-vertical);
padding-left: var(--f7-table-cell-padding-left);
padding-right: var(--f7-table-cell-padding-right);
position: relative;
box-sizing: border-box;
}
.data-table th:first-child,
.data-table td:first-child {
--f7-table-cell-padding-left: var(--f7-table-edge-cell-padding-horizontal);
}
.data-table th:last-child,
.data-table td:last-child {
--f7-table-cell-padding-right: var(--f7-table-edge-cell-padding-horizontal);
}
.data-table th.label-cell,
.data-table td.label-cell {
--f7-table-cell-padding-left: var(--f7-table-label-cell-padding-horizontal);
--f7-table-cell-padding-right: var(--f7-table-label-cell-padding-horizontal);
}
.data-table th.numeric-cell,
.data-table td.numeric-cell {
text-align: right;
}
.data-table th.checkbox-cell,
.data-table td.checkbox-cell {
overflow: visible;
width: var(--f7-table-checkbox-cell-width);
}
.data-table th.checkbox-cell label + span,
.data-table td.checkbox-cell label + span {
margin-left: 8px;
}
.data-table th.checkbox-cell:first-child,
.data-table td.checkbox-cell:first-child {
padding-right: calc(var(--f7-table-cell-padding-right) / 2);
}
.data-table th.checkbox-cell:first-child + td,
.data-table td.checkbox-cell:first-child + td,
.data-table th.checkbox-cell:first-child + th,
.data-table td.checkbox-cell:first-child + th {
padding-left: calc(var(--f7-table-cell-padding-left) / 2);
}
.data-table th.checkbox-cell:last-child,
.data-table td.checkbox-cell:last-child {
padding-left: calc(var(--f7-table-cell-padding-left) / 2);
}
.data-table th.actions-cell,
.data-table td.actions-cell {
text-align: right;
white-space: nowrap;
}
.data-table th.actions-cell a.link,
.data-table td.actions-cell a.link {
color: var(--f7-table-actions-cell-link-color, var(--f7-theme-color));
}
.data-table th a.icon-only,
.data-table td a.icon-only,
.card .data-table th a.icon-only,
.card .data-table td a.icon-only,
.card.data-table th a.icon-only,
.card.data-table td a.icon-only {
display: inline-block;
vertical-align: middle;
text-align: center;
font-size: 0;
min-width: 0;
}
.data-table th a.icon-only i,
.data-table td a.icon-only i,
.card .data-table th a.icon-only i,
.card .data-table td a.icon-only i,
.card.data-table th a.icon-only i,
.card.data-table td a.icon-only i {
font-size: var(--f7-table-link-icon-only-icon-size);
vertical-align: middle;
}
.data-table .sortable-cell:not(.input-cell) {
cursor: pointer;
position: relative;
}
.data-table .sortable-cell.input-cell .table-head-label {
cursor: pointer;
position: relative;
}
.data-table .sortable-cell:not(.numeric-cell):not(.input-cell):after,
.data-table .sortable-cell.numeric-cell:not(.input-cell):before,
.data-table .sortable-cell:not(.numeric-cell).input-cell > .table-head-label:after,
.data-table .sortable-cell.numeric-cell.input-cell > .table-head-label:before {
content: 'arrow_bottom_md';
font-family: 'framework7-core-icons';
font-weight: normal;
font-style: normal;
line-height: 1;
letter-spacing: normal;
text-transform: none;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
-moz-osx-font-smoothing: grayscale;
font-feature-settings: 'liga';
text-align: center;
display: block;
width: 100%;
height: 100%;
font-size: 20px;
display: inline-block;
vertical-align: top;
width: 16px;
height: 16px;
color: var(--f7-table-sortable-icon-color);
font-size: 13px;
line-height: 16px;
transition-duration: 300ms;
transform: rotate(0);
opacity: 0;
}
.device-desktop .data-table .sortable-cell:not(.sortable-cell-active):hover:after,
.device-desktop .data-table .sortable-cell:not(.sortable-cell-active) .table-head-label:hover:after,
.device-desktop .data-table .sortable-cell:not(.sortable-cell-active):hover:before,
.device-desktop .data-table .sortable-cell:not(.sortable-cell-active) .table-head-label:hover:before {
opacity: 0.54;
}
.data-table .sortable-cell.sortable-cell-active:after,
.data-table .sortable-cell.sortable-cell-active .table-head-label:after,
.data-table .sortable-cell.sortable-cell-active:before,
.data-table .sortable-cell.sortable-cell-active .table-head-label:before {
opacity: 0.87 !important;
}
.data-table .sortable-cell.sortable-desc:after,
.data-table .sortable-cell.sortable-desc:after,
.data-table .table-head-label:after,
.data-table .sortable-cell.sortable-desc:before,
.data-table .sortable-cell.sortable-desc:before,
.data-table .table-head-label:before {
transform: rotate(180deg) !important;
}
.data-table.card .card-header,
.card .data-table .card-header,
.data-table.card .card-footer,
.card .data-table .card-footer {
padding-left: var(--f7-table-edge-cell-padding-horizontal);
padding-right: var(--f7-table-edge-cell-padding-horizontal);
}
.data-table.card .card-header,
.card .data-table .card-header {
min-height: var(--f7-table-card-header-height);
background-color: var(--f7-table-card-header-bg-color);
}
.data-table.card .card-content,
.card .data-table .card-content {
overflow-x: auto;
}
.data-table.card .card-footer,
.card .data-table .card-footer {
min-height: var(--f7-table-footer-height);
}
.data-table .data-table-title {
font-size: var(--f7-table-title-font-size);
font-weight: var(--f7-table-title-font-weight);
}
.data-table .data-table-links,
.data-table .data-table-actions {
display: flex;
}
.data-table .data-table-links .button {
min-width: 64px;
}
.data-table .data-table-actions {
margin-left: auto;
align-items: center;
}
.data-table .data-table-actions a.link {
color: var(--f7-table-actions-link-color, var(--f7-theme-color));
min-width: 0;
}
.data-table .data-table-actions a.link.icon-only {
line-height: 1;
justify-content: center;
padding: 0;
}
.data-table .data-table-header,
.data-table .data-table-header-selected {
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
}
.data-table .card-header > .data-table-header,
.data-table .card-header > .data-table-header-selected {
padding-top: var(--f7-card-header-padding-vertical);
padding-bottom: var(--f7-card-header-padding-vertical);
height: 100%;
margin-top: calc(-1 * var(--f7-card-header-padding-vertical));
margin-bottom: calc(-1 * var(--f7-card-header-padding-vertical));
min-height: var(--f7-table-card-header-height);
padding-left: var(--f7-table-edge-cell-padding-horizontal);
padding-right: var(--f7-table-edge-cell-padding-horizontal);
margin-left: calc(-1 * var(--f7-table-edge-cell-padding-horizontal));
margin-right: calc(-1 * var(--f7-table-edge-cell-padding-horizontal));
}
.data-table .data-table-header-selected {
background: rgba(var(--f7-theme-color-rgb), 0.1);
display: none;
}
.data-table.data-table-has-checked .data-table-header {
display: none;
}
.data-table.data-table-has-checked .data-table-header-selected {
display: flex;
}
.data-table .data-table-title-selected {
font-size: 14px;
color: var(--f7-theme-color);
}
.data-table .data-table-footer {
display: flex;
align-items: center;
box-sizing: border-box;
position: relative;
font-size: var(--f7-table-footer-font-size);
overflow: hidden;
min-height: var(--f7-table-footer-height);
color: var(--f7-table-footer-text-color);
justify-content: flex-end;
}
.data-table .data-table-footer:before {
content: '';
position: absolute;
background-color: var(--f7-table-cell-border-color);
display: block;
z-index: 15;
top: 0;
right: auto;
bottom: auto;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 0%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.data-table .data-table-rows-select,
.data-table .data-table-pagination {
display: flex;
align-items: center;
}
.data-table .input-cell {
padding-top: 8px;
padding-bottom: 8px;
height: auto;
vertical-align: top;
}
.data-table .input-cell .table-head-label + .input {
margin-top: 4px;
}
.data-table .input-cell .input {
height: var(--f7-table-input-height);
}
.data-table .input-cell .input input,
.data-table .input-cell .input textarea,
.data-table .input-cell .input select {
height: var(--f7-table-input-height);
color: var(--f7-table-input-text-color);
font-size: var(--f7-table-input-font-size);
}
@media (max-width: 480px) and (orientation: portrait) {
.data-table.data-table-collapsible thead {
display: none;
}
.data-table.data-table-collapsible tbody,
.data-table.data-table-collapsible tr,
.data-table.data-table-collapsible td {
display: block;
}
.data-table.data-table-collapsible tr {
position: relative;
}
.data-table.data-table-collapsible tr:before {
content: '';
position: absolute;
background-color: var(--f7-table-cell-border-color);
display: block;
z-index: 15;
top: 0;
right: auto;
bottom: auto;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 0%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.data-table.data-table-collapsible tr:hover {
background-color: inherit;
}
.data-table.data-table-collapsible td {
--f7-table-cell-padding-left: var(--f7-table-collapsible-cell-padding);
--f7-table-cell-padding-right: var(--f7-table-collapsible-cell-padding);
height: auto;
min-height: var(--f7-table-body-cell-height);
display: flex;
align-content: center;
align-items: center;
justify-content: flex-start;
text-align: left;
}
.data-table.data-table-collapsible td:before {
display: none !important;
}
.data-table.data-table-collapsible td:not(.checkbox-cell):before {
width: 40%;
display: block !important;
content: attr(data-collapsible-title);
position: relative;
height: auto;
background: none !important;
transform: none !important;
font-size: var(--f7-table-head-font-size);
font-weight: var(--f7-table-head-font-weight);
color: var(--f7-table-head-text-color);
margin-right: 16px;
flex-shrink: 0;
}
.data-table.data-table-collapsible td.checkbox-cell {
position: absolute;
top: 0;
left: 0;
}
.data-table.data-table-collapsible td.checkbox-cell + td {
padding-left: 16px;
}
.data-table.data-table-collapsible td.checkbox-cell ~ td {
margin-left: 32px;
}
}
.data-table .xsmall-only,
.data-table .xsmall-landscape-only {
display: none;
}
@media (min-width: 480px) {
.data-table .xsmall-only {
display: table-cell;
}
}
@media (min-width: 480px) and (orientation: landscape) {
.data-table .xsmall-landscape-only {
display: table-cell;
}
}
.data-table .small-only,
.data-table .small-landscape-only {
display: none;
}
@media (min-width: 568px) {
.data-table .small-only {
display: table-cell;
}
}
@media (min-width: 568px) and (orientation: landscape) {
.data-table .small-landscape-only {
display: table-cell;
}
}
.data-table .medium-only,
.data-table .medium-landscape-only {
display: none;
}
@media (min-width: 768px) {
.data-table .medium-only {
display: table-cell;
}
}
@media (min-width: 768px) and (orientation: landscape) {
.data-table .medium-landscape-only {
display: table-cell;
}
}
.data-table .large-only,
.data-table .large-landscape-only {
display: none;
}
@media (min-width: 1024px) {
.data-table .large-only {
display: table-cell;
}
}
@media (min-width: 1024px) and (orientation: landscape) {
.data-table .large-landscape-only {
display: table-cell;
}
}
.data-table .xlarge-only,
.data-table .xlarge-landscape-only {
display: none;
}
@media (min-width: 1200px) {
.data-table .xlarge-only {
display: table-cell;
}
}
@media (min-width: 1200px) and (orientation: landscape) {
.data-table .xlarge-landscape-only {
display: table-cell;
}
}
.ios .data-table th.actions-cell a.link + a.link,
.ios .data-table td.actions-cell a.link + a.link {
margin-left: 16px;
}
.ios .sortable-cell:not(.numeric-cell):after {
margin-left: 5px;
}
.ios .sortable-cell.numeric-cell:before {
margin-right: 5px;
}
.ios .data-table-links a.link + a.link,
.ios .data-table-actions a.link + a.link,
.ios .data-table-links .button + .button,
.ios .data-table-actions .button + .button {
margin-left: 16px;
}
.ios .data-table-actions a.link.icon-only {
width: 44px;
height: 44px;
}
.ios .data-table-rows-select a.link,
.ios .data-table-pagination a.link {
width: 44px;
height: 44px;
}
.ios .data-table-rows-select + .data-table-pagination {
margin-left: 30px;
}
.ios .data-table-rows-select .input {
margin-left: 20px;
}
.ios .data-table-pagination-label {
margin-right: 16px;
}
.md .data-table th.actions-cell a.link + a.link,
.md .data-table td.actions-cell a.link + a.link {
margin-left: 24px;
}
.md .data-table th.actions-cell a.icon-only,
.md .data-table td.actions-cell a.icon-only {
width: 24px;
height: 24px;
line-height: 24px;
}
.md .sortable-cell:not(.numeric-cell):after {
margin-left: 8px;
}
.md .sortable-cell.numeric-cell:before {
margin-right: 8px;
}
.md .data-table-links a.link + a.link,
.md .data-table-actions a.link + a.link,
.md .data-table-links .button + .button,
.md .data-table-actions .button + .button {
margin-left: 24px;
}
.md .data-table-actions a.link.icon-only {
width: 24px;
height: 24px;
overflow: visible;
}
.md .data-table-actions a.link.icon-only.active-state {
background: none;
}
.md .data-table-rows-select a.link,
.md .data-table-pagination a.link {
width: 48px;
height: 48px;
}
.md .data-table-rows-select + .data-table-pagination {
margin-left: 32px;
}
.md .data-table-rows-select .input {
margin-left: 24px;
}
.md .data-table-pagination-label {
margin-right: 20px;
}
.md .input-cell .input-clear-button {
transform: scale(0.8);
}
/* === FAB === */
:root {
--f7-fab-margin: 16px;
--f7-fab-extended-text-font-size: 14px;
--f7-fab-label-padding: 4px 12px;
--f7-fab-label-font-size: inherit;
--f7-fab-button-size: 40px;
}
.ios {
/* --f7-fab-pressed-bg-color: var(--f7-theme-color-shade); */
/* --f7-fab-bg-color: var(--f7-theme-color)); */
--f7-fab-text-color: #fff;
--f7-fab-border-radius: 50px;
--f7-fab-size: 50px;
--f7-fab-box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.4);
--f7-fab-extended-text-transform: uppercase;
--f7-fab-extended-size: 50px;
--f7-fab-extended-text-padding: 0 20px;
--f7-fab-extended-text-font-weight: 600;
--f7-fab-extended-text-letter-spacing: 0;
--f7-fab-label-border-radius: 4px;
--f7-fab-label-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.4);
--f7-fab-label-text-color: #333;
--f7-fab-label-bg-color: #fff;
}
.md {
/*
--f7-fab-pressed-bg-color: var(--f7-fab-bg-color, var(--f7-theme-color));
*/
--f7-fab-border-radius: 16px;
--f7-fab-size: 56px;
--f7-fab-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.25);
--f7-fab-extended-size: 56px;
--f7-fab-extended-text-padding: 0 16px;
--f7-fab-extended-text-font-weight: 500;
--f7-fab-extended-text-letter-spacing: 0;
--f7-fab-extended-text-transform: none;
--f7-fab-label-border-radius: 8px;
--f7-fab-label-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.25);
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-fab-bg-color: var(--f7-md-primary-container);
--f7-fab-text-color: var(--f7-md-on-primary-container);
--f7-fab-label-text-color: var(--f7-md-on-surface);
--f7-fab-label-bg-color: var(--f7-md-surface-5);
}
.fab-backdrop {
z-index: 1400;
}
.fab {
position: absolute;
z-index: 1500;
}
.fab a {
--f7-touch-ripple-color: var(--f7-touch-ripple-white);
}
.fab-left-top,
.fab-left-center,
.fab-left-bottom {
left: calc(var(--f7-fab-margin) + var(--f7-safe-area-left));
}
.fab-right-top,
.fab-right-center,
.fab-right-bottom {
right: calc(var(--f7-fab-margin) + var(--f7-safe-area-right));
}
.fab-left-top,
.fab-center-top,
.fab-right-top {
top: var(--f7-fab-margin);
}
.fab-left-bottom,
.fab-center-bottom,
.fab-right-bottom {
bottom: calc(var(--f7-fab-margin) + var(--f7-safe-area-bottom));
}
.fab-center-top,
.fab-center-center,
.fab-center-bottom {
left: 50%;
transform: translateX(-50%);
}
.fab-left-center,
.fab-center-center,
.fab-right-center {
top: 50%;
transform: translateY(-50%);
}
.fab-center-center {
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
}
.fab > a,
.fab-buttons a {
background-color: var(--f7-fab-bg-color, var(--f7-theme-color));
width: var(--f7-fab-size);
height: var(--f7-fab-size);
box-shadow: var(--f7-fab-box-shadow);
border-radius: var(--f7-fab-border-radius);
position: relative;
transition-duration: 300ms;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
z-index: 1;
color: var(--f7-fab-text-color);
}
.fab > a i {
position: absolute;
left: 50%;
top: 50%;
transform: translate3d(-50%, -50%, 0) rotate(0deg) scale(1);
transition: 300ms;
}
.fab > a i + i {
transform: translate3d(-50%, -50%, 0) rotate(-90deg) scale(0.5);
opacity: 0;
}
.fab-buttons a {
border-radius: var(--f7-fab-border-radius);
width: var(--f7-fab-button-size);
height: var(--f7-fab-button-size);
}
.fab-buttons {
display: flex;
visibility: hidden;
pointer-events: none;
position: absolute;
}
.fab-buttons a {
opacity: 0;
}
.fab-opened:not(.fab-morph) > a i {
transform: translate3d(-50%, -50%, 0) rotate(90deg) scale(0.5);
opacity: 0;
}
.fab-opened:not(.fab-morph) > a i + i {
transform: translate3d(-50%, -50%, 0) rotate(0deg) scale(1);
opacity: 1;
}
.fab-opened .fab-buttons {
visibility: visible;
pointer-events: auto;
}
.fab-opened .fab-buttons a {
opacity: 1;
transform: translate3d(0, 0px, 0) scale(1) !important;
}
.fab-opened .fab-buttons a:nth-child(2) {
transition-delay: 50ms;
}
.fab-opened .fab-buttons a:nth-child(3) {
transition-delay: 100ms;
}
.fab-opened .fab-buttons a:nth-child(4) {
transition-delay: 150ms;
}
.fab-opened .fab-buttons a:nth-child(5) {
transition-delay: 200ms;
}
.fab-opened .fab-buttons a:nth-child(6) {
transition-delay: 250ms;
}
.fab-buttons-top,
.fab-buttons-bottom {
left: 50%;
width: var(--f7-fab-button-size);
margin-left: calc(-1 * var(--f7-fab-button-size) / 2);
}
.fab-buttons-top {
bottom: 100%;
margin-bottom: 16px;
flex-direction: column-reverse;
}
.fab-buttons-top a {
transform: translate3d(0, 8px, 0) scale(0.3);
transform-origin: center bottom;
}
.fab-buttons-top a + a {
margin-bottom: 16px;
}
.fab-buttons-bottom {
top: 100%;
margin-top: 16px;
flex-direction: column;
}
.fab-buttons-bottom a {
transform: translate3d(0, -8px, 0) scale(0.3);
transform-origin: center top;
}
.fab-buttons-bottom a + a {
margin-top: 16px;
}
.fab-buttons-left,
.fab-buttons-right {
top: 50%;
height: var(--f7-fab-button-size);
margin-top: calc(-1 * var(--f7-fab-button-size) / 2);
}
.fab-buttons-left {
right: 100%;
margin-right: 16px;
flex-direction: row-reverse;
}
.fab-buttons-left a {
transform: translate3d(8px, 0px, 0) scale(0.3);
transform-origin: right center;
}
.fab-buttons-left a + a {
margin-right: 16px;
}
.fab-buttons-right {
left: 100%;
margin-left: 16px;
}
.fab-buttons-right a {
transform: translate3d(-8px, 0, 0) scale(0.3);
transform-origin: left center;
}
.fab-buttons-right a + a {
margin-left: 16px;
}
.fab-buttons-center {
left: 0%;
top: 0%;
width: 100%;
height: 100%;
}
.fab-buttons-center a {
position: absolute;
}
.fab-buttons-center a:nth-child(1) {
left: 50%;
margin-left: calc(-1 * var(--f7-fab-button-size) / 2);
bottom: 100%;
margin-bottom: 16px;
transform: translateY(-8px) scale(0.3);
transform-origin: center bottom;
}
.fab-buttons-center a:nth-child(2) {
left: 100%;
margin-top: calc(-1 * var(--f7-fab-button-size) / 2);
top: 50%;
margin-left: 16px;
transform: translateX(-8px) scale(0.3);
transform-origin: left center;
}
.fab-buttons-center a:nth-child(3) {
left: 50%;
margin-left: calc(-1 * var(--f7-fab-button-size) / 2);
top: 100%;
margin-top: 16px;
transform: translateY(8px) scale(0.3);
transform-origin: center top;
}
.fab-buttons-center a:nth-child(4) {
right: 100%;
margin-top: calc(-1 * var(--f7-fab-button-size) / 2);
top: 50%;
margin-right: 16px;
transform: translateX(8px) scale(0.3);
transform-origin: right center;
}
.fab-morph {
border-radius: var(--f7-fab-border-radius);
background: var(--f7-fab-bg-color, var(--f7-theme-color));
box-shadow: var(--f7-fab-box-shadow);
}
.fab-morph > a {
box-shadow: none;
background: none !important;
}
.fab-opened.fab-morph > a i {
opacity: 0;
}
.fab-morph,
.fab-morph > a,
.fab-morph-target {
transition-duration: 250ms;
}
.fab-morph-target:not(.fab-morph-target-visible) {
display: none;
}
.fab-extended {
width: auto;
min-width: var(--f7-fab-extended-size);
}
.fab-extended > a {
width: 100%;
height: var(--f7-fab-extended-size);
}
.fab-extended > a i {
left: calc(var(--f7-fab-extended-size) / 2);
}
.fab-extended i ~ .fab-text {
padding-left: var(--f7-fab-extended-size);
}
.fab-extended > a {
width: 100% !important;
}
.fab-text {
box-sizing: border-box;
font-size: var(--f7-fab-extended-text-font-size);
padding: var(--f7-fab-extended-text-padding);
font-weight: var(--f7-fab-extended-text-font-weight);
letter-spacing: var(--f7-fab-extended-text-letter-spacing);
text-transform: var(--f7-fab-extended-text-transform);
}
.fab-label-button {
overflow: visible !important;
}
.fab-label {
position: absolute;
top: 50%;
padding: var(--f7-fab-label-padding);
border-radius: var(--f7-fab-label-border-radius);
background: var(--f7-fab-label-bg-color);
color: var(--f7-fab-label-text-color);
box-shadow: var(--f7-fab-label-box-shadow);
white-space: nowrap;
transform: translateY(-50%);
pointer-events: none;
font-size: var(--f7-fab-label-font-size);
}
.fab-right-top .fab-label,
.fab-right-center .fab-label,
.fab-right-bottom .fab-label {
right: 100%;
margin-right: 8px;
}
.fab-left-top .fab-label,
.fab-left-center .fab-label,
.fab-left-bottom .fab-label {
left: 100%;
margin-left: 8px;
}
.navbar ~ * .fab-left-top,
.navbar ~ * .fab-center-top,
.navbar ~ * .fab-right-top,
.navbar ~ .fab-left-top,
.navbar ~ .fab-center-top,
.navbar ~ .fab-right-top,
.navbars ~ * .fab-left-top,
.navbars ~ * .fab-center-top,
.navbars ~ * .fab-right-top,
.navbars ~ .fab-left-top,
.navbars ~ .fab-center-top,
.navbars ~ .fab-right-top {
margin-top: calc(var(--f7-navbar-height) + var(--f7-safe-area-top));
}
.toolbar-top ~ * .fab-left-top,
.toolbar-top ~ * .fab-center-top,
.toolbar-top ~ * .fab-right-top,
.toolbar-top ~ .fab-left-top,
.toolbar-top ~ .fab-center-top,
.toolbar-top ~ .fab-right-top,
.ios .toolbar-top-ios ~ * .fab-left-top,
.ios .toolbar-top-ios ~ * .fab-center-top,
.ios .toolbar-top-ios ~ * .fab-right-top,
.ios .toolbar-top-ios ~ .fab-left-top,
.ios .toolbar-top-ios ~ .fab-center-top,
.ios .toolbar-top-ios ~ .fab-right-top,
.md .toolbar-top-md ~ * .fab-left-top,
.md .toolbar-top-md ~ * .fab-center-top,
.md .toolbar-top-md ~ * .fab-right-top,
.md .toolbar-top-md ~ .fab-left-top,
.md .toolbar-top-md ~ .fab-center-top,
.md .toolbar-top-md ~ .fab-right-top {
margin-top: var(--f7-toolbar-height);
}
.toolbar-bottom ~ * .fab-left-bottom,
.toolbar-bottom ~ * .fab-center-bottom,
.toolbar-bottom ~ * .fab-right-bottom,
.toolbar-bottom ~ .fab-left-bottom,
.toolbar-bottom ~ .fab-center-bottom,
.toolbar-bottom ~ .fab-right-bottom,
.ios .toolbar-bottom-ios ~ * .fab-left-bottom,
.ios .toolbar-bottom-ios ~ * .fab-center-bottom,
.ios .toolbar-bottom-ios ~ * .fab-right-bottom,
.ios .toolbar-bottom-ios ~ .fab-left-bottom,
.ios .toolbar-bottom-ios ~ .fab-center-bottom,
.ios .toolbar-bottom-ios ~ .fab-right-bottom,
.md .toolbar-bottom-md ~ * .fab-left-bottom,
.md .toolbar-bottom-md ~ * .fab-center-bottom,
.md .toolbar-bottom-md ~ * .fab-right-bottom,
.md .toolbar-bottom-md ~ .fab-left-bottom,
.md .toolbar-bottom-md ~ .fab-center-bottom,
.md .toolbar-bottom-md ~ .fab-right-bottom {
margin-bottom: var(--f7-toolbar-height);
}
.tabbar-icons.toolbar-bottom ~ * .fab-left-bottom,
.tabbar-icons.toolbar-bottom ~ * .fab-center-bottom,
.tabbar-icons.toolbar-bottom ~ * .fab-right-bottom,
.tabbar-icons.toolbar-bottom ~ .fab-left-bottom,
.tabbar-icons.toolbar-bottom ~ .fab-center-bottom,
.tabbar-icons.toolbar-bottom ~ .fab-right-bottom,
.ios .tabbar-icons.toolbar-bottom-ios ~ * .fab-left-bottom,
.ios .tabbar-icons.toolbar-bottom-ios ~ * .fab-center-bottom,
.ios .tabbar-icons.toolbar-bottom-ios ~ * .fab-right-bottom,
.ios .tabbar-icons.toolbar-bottom-ios ~ .fab-left-bottom,
.ios .tabbar-icons.toolbar-bottom-ios ~ .fab-center-bottom,
.ios .tabbar-icons.toolbar-bottom-ios ~ .fab-right-bottom,
.md .tabbar-icons.toolbar-bottom-md ~ * .fab-left-bottom,
.md .tabbar-icons.toolbar-bottom-md ~ * .fab-center-bottom,
.md .tabbar-icons.toolbar-bottom-md ~ * .fab-right-bottom,
.md .tabbar-icons.toolbar-bottom-md ~ .fab-left-bottom,
.md .tabbar-icons.toolbar-bottom-md ~ .fab-center-bottom,
.md .tabbar-icons.toolbar-bottom-md ~ .fab-right-bottom {
margin-bottom: var(--f7-tabbar-icons-height);
}
.tabbar-icons.toolbar-top ~ * .fab-left-bottom,
.tabbar-icons.toolbar-top ~ * .fab-center-bottom,
.tabbar-icons.toolbar-top ~ * .fab-right-bottom,
.tabbar-icons.toolbar-top ~ .fab-left-bottom,
.tabbar-icons.toolbar-top ~ .fab-center-bottom,
.tabbar-icons.toolbar-top ~ .fab-right-bottom,
.ios .tabbar-icons.toolbar-top-ios ~ * .fab-left-bottom,
.ios .tabbar-icons.toolbar-top-ios ~ * .fab-center-bottom,
.ios .tabbar-icons.toolbar-top-ios ~ * .fab-right-bottom,
.ios .tabbar-icons.toolbar-top-ios ~ .fab-left-bottom,
.ios .tabbar-icons.toolbar-top-ios ~ .fab-center-bottom,
.ios .tabbar-icons.toolbar-top-ios ~ .fab-right-bottom,
.md .tabbar-icons.toolbar-top-md ~ * .fab-left-bottom,
.md .tabbar-icons.toolbar-top-md ~ * .fab-center-bottom,
.md .tabbar-icons.toolbar-top-md ~ * .fab-right-bottom,
.md .tabbar-icons.toolbar-top-md ~ .fab-left-bottom,
.md .tabbar-icons.toolbar-top-md ~ .fab-center-bottom,
.md .tabbar-icons.toolbar-top-md ~ .fab-right-bottom {
margin-top: var(--f7-tabbar-icons-height);
}
.messagebar ~ * .fab-left-bottom,
.messagebar ~ * .fab-center-bottom,
.messagebar ~ * .fab-right-bottom,
.messagebar ~ .fab-left-bottom,
.messagebar ~ .fab-center-bottom,
.messagebar ~ .fab-right-bottom {
margin-bottom: var(--f7-messagebar-height);
}
.navbar + .toolbar-top ~ * .fab-left-top,
.ios .navbar + .toolbar-top-ios ~ * .fab-left-top,
.md .navbar + .toolbar-top-ios ~ * .fab-left-top,
.navbar + .toolbar-top ~ * .fab-center-top,
.ios .navbar + .toolbar-top-ios ~ * .fab-center-top,
.md .navbar + .toolbar-top-ios ~ * .fab-center-top,
.navbar + .toolbar-top ~ * .fab-right-top,
.ios .navbar + .toolbar-top-ios ~ * .fab-right-top,
.md .navbar + .toolbar-top-ios ~ * .fab-right-top,
.navbar + .toolbar-top ~ .fab-left-top,
.ios .navbar + .toolbar-top-ios ~ .fab-left-top,
.md .navbar + .toolbar-top-ios ~ .fab-left-top,
.navbar + .toolbar-top ~ .fab-center-top,
.ios .navbar + .toolbar-top-ios ~ .fab-center-top,
.md .navbar + .toolbar-top-ios ~ .fab-center-top,
.navbar + .toolbar-top ~ .fab-right-top,
.ios .navbar + .toolbar-top-ios ~ .fab-right-top,
.md .navbar + .toolbar-top-ios ~ .fab-right-top {
margin-top: calc(var(--f7-toolbar-height) + var(--f7-navbar-height) + var(--f7-safe-area-top));
}
.navbar + .toolbar-top.tabbar-icons ~ * .fab-left-top,
.ios .navbar + .toolbar-top-ios.tabbar-icons ~ * .fab-left-top,
.md .navbar + .toolbar-top-ios.tabbar-icons ~ * .fab-left-top,
.navbar + .toolbar-top.tabbar-icons ~ * .fab-center-top,
.ios .navbar + .toolbar-top-ios.tabbar-icons ~ * .fab-center-top,
.md .navbar + .toolbar-top-ios.tabbar-icons ~ * .fab-center-top,
.navbar + .toolbar-top.tabbar-icons ~ * .fab-right-top,
.ios .navbar + .toolbar-top-ios.tabbar-icons ~ * .fab-right-top,
.md .navbar + .toolbar-top-ios.tabbar-icons ~ * .fab-right-top,
.navbar + .toolbar-top.tabbar-icons ~ .fab-left-top,
.ios .navbar + .toolbar-top-ios.tabbar-icons ~ .fab-left-top,
.md .navbar + .toolbar-top-ios.tabbar-icons ~ .fab-left-top,
.navbar + .toolbar-top.tabbar-icons ~ .fab-center-top,
.ios .navbar + .toolbar-top-ios.tabbar-icons ~ .fab-center-top,
.md .navbar + .toolbar-top-ios.tabbar-icons ~ .fab-center-top,
.navbar + .toolbar-top.tabbar-icons ~ .fab-right-top,
.ios .navbar + .toolbar-top-ios.tabbar-icons ~ .fab-right-top,
.md .navbar + .toolbar-top-ios.tabbar-icons ~ .fab-right-top {
margin-top: calc(var(--f7-tabbar-icons-height) + var(--f7-navbar-height) + var(--f7-safe-area-top));
}
.navbars + .toolbar-top ~ * .fab-left-top,
.ios .navbars + .toolbar-top-ios ~ * .fab-left-top,
.navbars + .toolbar-top ~ * .fab-center-top,
.ios .navbars + .toolbar-top-ios ~ * .fab-center-top,
.navbars + .toolbar-top ~ * .fab-right-top,
.ios .navbars + .toolbar-top-ios ~ * .fab-right-top,
.navbars + .toolbar-top ~ .fab-left-top,
.ios .navbars + .toolbar-top-ios ~ .fab-left-top,
.navbars + .toolbar-top ~ .fab-center-top,
.ios .navbars + .toolbar-top-ios ~ .fab-center-top,
.navbars + .toolbar-top ~ .fab-right-top,
.ios .navbars + .toolbar-top-ios ~ .fab-right-top {
margin-top: calc(var(--f7-toolbar-height) + var(--f7-navbar-height) + var(--f7-safe-area-top));
}
.navbars + .toolbar-top.tabbar-icons ~ * .fab-left-top,
.ios .navbars + .toolbar-top-ios.tabbar-icons ~ * .fab-left-top,
.navbars + .toolbar-top.tabbar-icons ~ * .fab-center-top,
.ios .navbars + .toolbar-top-ios.tabbar-icons ~ * .fab-center-top,
.navbars + .toolbar-top.tabbar-icons ~ * .fab-right-top,
.ios .navbars + .toolbar-top-ios.tabbar-icons ~ * .fab-right-top,
.navbars + .toolbar-top.tabbar-icons ~ .fab-left-top,
.ios .navbars + .toolbar-top-ios.tabbar-icons ~ .fab-left-top,
.navbars + .toolbar-top.tabbar-icons ~ .fab-center-top,
.ios .navbars + .toolbar-top-ios.tabbar-icons ~ .fab-center-top,
.navbars + .toolbar-top.tabbar-icons ~ .fab-right-top,
.ios .navbars + .toolbar-top-ios.tabbar-icons ~ .fab-right-top {
margin-top: calc(var(--f7-tabbar-icons-height) + var(--f7-navbar-height) + var(--f7-safe-area-top));
}
.ios .fab > a.active-state,
.ios .fab-buttons a.active-state {
transition-duration: 0ms;
background-color: var(--f7-fab-pressed-bg-color, var(--f7-theme-color-shade));
}
.md .fab > a.active-state,
.md .fab-buttons a.active-state {
background-color: var(--f7-fab-pressed-bg-color, var(--f7-fab-bg-color, var(--f7-theme-color)));
}
/* === Searchbar === */
:root {
/*
--f7-searchbar-link-color: var(--f7-bars-link-color);
--f7-searchbar-inline-input-font-size: var(--f7-searchbar-input-font-size);
*/
--f7-searchbar-input-border-width: 0px;
--f7-searchbar-input-border-color: transparent;
}
.ios {
/*
--f7-searchbar-bg-color: var(--f7-bars-bg-color);
--f7-searchbar-bg-color-rgb: var(--f7-bars-bg-color-rgb);
--f7-searchbar-border-color: var(--f7-bars-border-color);
*/
--f7-searchbar-height: 44px;
--f7-searchbar-inner-padding-left: 8px;
--f7-searchbar-inner-padding-right: 8px;
/*
--f7-searchbar-link-color: var(--f7-bars-link-color, var(--f7-theme-color));
*/
--f7-searchbar-input-font-size: 17px;
--f7-searchbar-input-border-radius: 8px;
--f7-searchbar-input-height: 32px;
--f7-searchbar-inline-input-height: 32px;
/*
--f7-searchbar-inline-input-border-radius: var(--f7-searchbar-input-border-radius);
*/
--f7-searchbar-input-padding-horizontal: 28px;
/*
--f7-searchbar-inline-input-padding-horizontal: var(--f7-searchbar-input-padding-horizontal);
--f7-searchbar-input-clear-button-color: var(--f7-input-clear-button-color);
*/
--f7-searchbar-backdrop-bg-color: rgba(0, 0, 0, 0.4);
--f7-searchbar-in-page-content-margin: 0px;
--f7-searchbar-in-page-content-box-shadow: none;
--f7-searchbar-in-page-content-border-radius: 0;
--f7-searchbar-in-page-content-input-border-radius: 0;
--f7-searchbar-placeholder-color: rgba(0, 0, 0, 0.4);
--f7-searchbar-input-text-color: #000;
--f7-searchbar-search-icon-color: rgba(0, 0, 0, 0.4);
--f7-searchbar-input-bg-color: #e4e4e4;
}
.ios .dark,
.ios.dark {
--f7-searchbar-placeholder-color: rgba(255, 255, 255, 0.4);
--f7-searchbar-input-text-color: #fff;
--f7-searchbar-search-icon-color: rgba(255, 255, 255, 0.4);
--f7-searchbar-input-bg-color: #2a2a2a;
}
.md {
--f7-searchbar-border-color: transparent;
--f7-searchbar-height: 48px;
--f7-searchbar-inner-padding-left: 8px;
--f7-searchbar-inner-padding-right: 8px;
--f7-searchbar-input-font-size: 16px;
--f7-searchbar-input-border-radius: 24px;
--f7-searchbar-input-height: 48px;
--f7-searchbar-inline-input-height: 48px;
--f7-searchbar-inline-input-border-radius: 24px;
--f7-searchbar-input-padding-horizontal: 16px;
--f7-searchbar-inline-input-padding-horizontal: 16px;
--f7-searchbar-backdrop-bg-color: rgba(0, 0, 0, 0.25);
--f7-searchbar-in-page-content-margin: 16px 0;
--f7-searchbar-in-page-content-box-shadow: none;
--f7-searchbar-in-page-content-border-radius: 24px;
--f7-searchbar-in-page-content-input-border-radius: 24px;
--f7-searchbar-bg-color: transparent;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-searchbar-link-color: var(--f7-md-on-surface);
--f7-searchbar-search-icon-color: var(--f7-md-on-surface);
--f7-searchbar-input-clear-button-color: var(--f7-md-on-surface);
--f7-searchbar-placeholder-color: var(--f7-md-on-surface-variant);
--f7-searchbar-input-bg-color: var(--f7-md-secondary-container);
--f7-searchbar-input-text-color: var(--f7-md-on-surface);
}
.searchbar {
--f7-link-highlight-color: var(--f7-link-highlight-black);
width: 100%;
position: relative;
z-index: 200;
height: var(--f7-searchbar-height);
background-color: var(--f7-searchbar-bg-color, var(--f7-bars-bg-color));
}
.dark .searchbar {
--f7-link-highlight-color: var(--f7-link-highlight-white);
}
.searchbar input[type='search']::-webkit-search-decoration {
display: none;
}
@supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
.ios-translucent-bars .searchbar {
background-color: rgba(var(--f7-searchbar-bg-color-rgb, var(--f7-bars-bg-color-rgb)), var(--f7-bars-translucent-opacity));
-webkit-backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
}
}
.ios .subnavbar .searchbar {
background-color: transparent;
-webkit-backdrop-filter: none;
backdrop-filter: none;
}
.ios .subnavbar .searchbar:after {
display: none !important;
}
.searchbar.no-outline:after {
display: none !important;
}
.searchbar:after {
content: '';
position: absolute;
background-color: var(--f7-searchbar-border-color, var(--f7-bars-border-color));
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
.page > .searchbar:not(.searchbar-inline) {
z-index: 600;
}
.searchbar input[type='text'],
.searchbar input[type='search'] {
box-sizing: border-box;
width: 100%;
height: 100%;
display: block;
border: var(--f7-searchbar-input-border-width) solid var(--f7-searchbar-input-border-color);
-webkit-appearance: none;
appearance: none;
font-family: inherit;
font-weight: normal;
color: var(--f7-searchbar-input-text-color);
font-size: var(--f7-searchbar-input-font-size);
background-color: var(--f7-searchbar-input-bg-color);
border-radius: var(--f7-searchbar-input-border-radius);
position: relative;
padding: 0;
padding-left: calc(var(--f7-searchbar-input-padding-horizontal) + var(--f7-searchbar-input-extra-padding-left, 0px));
padding-right: calc(var(--f7-searchbar-input-padding-horizontal) + var(--f7-searchbar-input-extra-padding-right, 0px));
}
.searchbar input[type='text']::placeholder,
.searchbar input[type='search']::placeholder {
color: var(--f7-searchbar-placeholder-color);
opacity: 1;
}
.searchbar input::-webkit-search-cancel-button {
-webkit-appearance: none;
appearance: none;
}
.searchbar .searchbar-input-wrap {
flex-shrink: 1;
width: 100%;
height: var(--f7-searchbar-input-height);
position: relative;
}
.searchbar a {
color: var(--f7-searchbar-link-color, var(--f7-bars-link-color, var(--f7-theme-color)));
}
.page > .searchbar:not(.searchbar-inline) {
position: absolute;
left: 0;
top: 0;
}
.page-content .searchbar:not(.searchbar-inline) {
border-radius: var(--f7-searchbar-in-page-content-border-radius);
margin: var(--f7-searchbar-in-page-content-margin);
width: auto;
box-shadow: var(--f7-searchbar-in-page-content-box-shadow);
}
.page-content .searchbar:not(.searchbar-inline) .searchbar-inner,
.page-content .searchbar:not(.searchbar-inline) input[type='text'],
.page-content .searchbar:not(.searchbar-inline) input[type='search'] {
border-radius: var(--f7-searchbar-in-page-content-input-border-radius, var(--f7-searchbar-input-border-radius));
}
.searchbar .input-clear-button {
color: var(--f7-searchbar-input-clear-button-color, var(--f7-input-clear-button-color));
}
.searchbar-expandable {
--f7-searchbar-expandable-size: var(--f7-searchbar-height);
position: absolute;
transition-duration: 300ms;
pointer-events: none;
}
.navbar .searchbar-expandable {
background: transparent;
}
.navbar .searchbar-expandable:after {
display: none !important;
}
.navbar .searchbar.searchbar-expandable {
--f7-searchbar-expandable-size: calc(var(--f7-navbar-height) + var(--f7-safe-area-top));
}
.navbar .searchbar.searchbar-expandable .searchbar-inner {
top: var(--f7-safe-area-top);
height: calc(100% - var(--f7-safe-area-top));
}
.toolbar .searchbar.searchbar-expandable {
--f7-searchbar-expandable-size: var(--f7-toolbar-height);
}
.subnavbar .searchbar.searchbar-expandable {
--f7-searchbar-expandable-size: var(--f7-subnavbar-height);
}
.tabbar-icons .searchbar.searchbar-expandable {
--f7-searchbar-expandable-size: var(--f7-tabbar-icons-height);
}
.searchbar-inner {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
display: flex;
align-items: center;
box-sizing: border-box;
padding: 0 calc(var(--f7-searchbar-inner-padding-right) + var(--f7-safe-area-right)) 0 calc(var(--f7-searchbar-inner-padding-left) + var(--f7-safe-area-left));
}
.searchbar-disable-button {
cursor: pointer;
pointer-events: none;
-webkit-appearance: none;
appearance: none;
background: none;
border: none;
outline: 0;
padding: 0;
margin: 0;
width: auto;
opacity: 0;
}
.searchbar-icon {
pointer-events: none;
background-position: center;
background-repeat: no-repeat;
}
.searchbar-icon:after {
color: var(--f7-searchbar-search-icon-color);
font-family: 'framework7-core-icons';
font-weight: normal;
font-style: normal;
line-height: 1;
letter-spacing: normal;
text-transform: none;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
-moz-osx-font-smoothing: grayscale;
font-feature-settings: 'liga';
text-align: center;
display: block;
width: 100%;
height: 100%;
font-size: 20px;
}
.searchbar-backdrop {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 100;
opacity: 0;
pointer-events: none;
transition-duration: 300ms;
transform: translate3d(0, 0, 0);
background: var(--f7-searchbar-backdrop-bg-color);
}
.searchbar-backdrop.searchbar-backdrop-in {
opacity: 1;
pointer-events: auto;
}
.page-content > .searchbar-backdrop {
position: fixed;
}
.searchbar-not-found {
display: none;
}
.hidden-by-searchbar,
.list .hidden-by-searchbar,
.list.li.hidden-by-searchbar,
.list li.hidden-by-searchbar {
display: none !important;
}
.navbar.with-searchbar-expandable-enabled-no-transition,
.navbar.with-searchbar-expandable-enabled-no-transition {
--f7-navbar-large-collapse-progress: 1;
}
.navbar.with-searchbar-expandable-enabled,
.navbar.with-searchbar-expandable-enabled {
--f7-navbar-large-collapse-progress: 1;
}
.navbar.with-searchbar-expandable-enabled .navbar-bg,
.navbar.with-searchbar-expandable-enabled .navbar-bg,
.navbar.with-searchbar-expandable-enabled .title-large,
.navbar.with-searchbar-expandable-enabled .title-large,
.navbar.with-searchbar-expandable-enabled .title-large-text,
.navbar.with-searchbar-expandable-enabled .title-large-text {
transition-duration: 300ms;
}
.navbar.with-searchbar-expandable-closing .navbar-bg,
.navbar.with-searchbar-expandable-closing .navbar-bg,
.navbar.with-searchbar-expandable-closing .title-large,
.navbar.with-searchbar-expandable-closing .title-large,
.navbar.with-searchbar-expandable-closing .title-large-text,
.navbar.with-searchbar-expandable-closing .title-large-text {
transition-duration: 300ms;
}
.page-content.with-searchbar-expandable-enabled {
height: calc(100% + var(--f7-navbar-large-title-height));
transform: translateY(calc(-1 * var(--f7-navbar-large-title-height)));
transition-duration: 300ms;
transition-property: transform;
}
.page-content.with-searchbar-expandable-closing {
transition-duration: 300ms;
}
.navbar ~ .page:not(.no-navbar) > .searchbar,
.navbars ~ .page:not(.no-navbar) > .searchbar,
.page > .navbar ~ .searchbar {
top: calc(var(--f7-navbar-height) + var(--f7-safe-area-top));
}
.navbar ~ .page-with-navbar-large:not(.no-navbar) .searchbar,
.navbars ~ .page-with-navbar-large:not(.no-navbar) .searchbar,
.page-with-navbar-large .navbar ~ .searchbar,
.page-with-navbar-large .navbar ~ * .searchbar {
top: calc(var(--f7-navbar-height) + var(--f7-navbar-large-title-height) + var(--f7-safe-area-top));
transform: translate3d(0, calc(-1 * var(--f7-navbar-large-collapse-progress) * var(--f7-navbar-large-title-height)), 0);
}
.navbars ~ .page-with-navbar-large:not(.no-navbar) .page-content .searchbar,
.page-with-navbar-large .page-content .searchbar {
top: 0;
transform: none;
}
.searchbar ~ * {
--f7-page-searchbar-offset: var(--f7-searchbar-height);
}
.page > .toolbar-top ~ .searchbar,
.ios .page > .toolbar-top-ios ~ .searchbar,
.md .page > .toolbar-top-md ~ .searchbar {
top: var(--f7-toolbar-height);
}
.page > .tabbar-icons.toolbar-top ~ .searchbar,
.ios .page > .tabbar-icons.toolbar-top-ios ~ .searchbar,
.md .page > .tabbar-icons.toolbar-top-md ~ .searchbar {
top: var(--f7-tabbar-icons-height);
}
.page > .navbar ~ .toolbar-top ~ .searchbar,
.ios .page > .navbar ~ .toolbar-top-ios ~ .searchbar,
.md .page > .navbar ~ .toolbar-top-md ~ .searchbar {
top: calc(var(--f7-navbar-height) + var(--f7-toolbar-height) + var(--f7-safe-area-top));
}
.page > .navbar ~ .tabbar-icons.toolbar-top ~ .searchbar,
.ios .page > .navbar ~ .tabbar-icons.toolbar-top-ios ~ .searchbar,
.md .page > .navbar ~ .tabbar-icons.toolbar-top-md ~ .searchbar {
top: calc(var(--f7-navbar-height) + var(--f7-tabbar-icons-height) + var(--f7-safe-area-top));
}
.searchbar.searchbar-inline {
width: auto;
height: auto;
background-color: transparent;
background-image: none;
}
.searchbar.searchbar-inline:after,
.searchbar.searchbar-inline:before {
display: none !important;
}
.searchbar.searchbar-inline .searchbar-input-wrap {
height: var(--f7-searchbar-inline-input-height, var(--f7-searchbar-input-height));
}
.searchbar.searchbar-inline .searchbar-inner {
padding: 0;
position: static;
width: auto;
height: auto;
}
.searchbar.searchbar-inline input[type='text'],
.searchbar.searchbar-inline input[type='search'] {
font-size: var(--f7-searchbar-inline-input-font-size, var(--f7-searchbar-input-font-size));
border-radius: var(--f7-searchbar-inline-input-border-radius, var(--f7-searchbar-input-border-radius));
padding-left: calc(var(--f7-searchbar-inline-input-padding-horizontal, var(--f7-searchbar-input-padding-horizontal)) + var(--f7-searchbar-input-extra-padding-left, 0px));
padding-right: calc(var(--f7-searchbar-inline-input-padding-horizontal, var(--f7-searchbar-input-padding-horizontal)) + var(--f7-searchbar-input-extra-padding-right, 0px));
}
.ios .searchbar input[type='search'],
.ios .searchbar input[type='text'] {
z-index: 30;
}
.ios .searchbar .input-clear-button {
z-index: 40;
right: 7px;
}
.ios .searchbar-icon {
width: 13px;
height: 13px;
position: absolute;
top: 50%;
margin-top: -6px;
z-index: 40;
left: 8px;
}
.ios .searchbar-icon:after {
content: 'search_ios';
line-height: 13px;
}
.ios .searchbar-disable-button {
font-size: 17px;
flex-shrink: 0;
transform: translate3d(0, 0, 0);
transition-duration: 300ms;
color: var(--f7-searchbar-link-color, var(--f7-bars-link-color, var(--f7-theme-color)));
display: none;
}
.ios .searchbar-disable-button.active-state {
transition-duration: 0ms;
opacity: 0.3 !important;
}
.ios .searchbar-enabled .searchbar-disable-button {
pointer-events: auto;
opacity: 1;
margin-left: 8px;
}
.ios .searchbar:not(.searchbar-enabled) .searchbar-disable-button {
transition-duration: 300ms !important;
}
.ios .searchbar-expandable {
left: 0;
bottom: 0;
opacity: 1;
width: 100%;
height: 0%;
transform: translate3d(0, 0, 0);
overflow: hidden;
}
.ios .searchbar-expandable .searchbar-disable-button {
margin-left: 8px;
opacity: 1;
display: block;
}
.ios .searchbar-expandable .searchbar-inner {
height: var(--f7-searchbar-expandable-size);
}
.ios .navbar.with-searchbar-expandable-enabled .navbar-bg,
.ios .navbar.with-searchbar-expandable-closing .navbar-bg {
transition-property: transform, opacity;
}
.ios .navbar.with-searchbar-expandable-enabled .navbar-bg,
.ios .navbar.with-searchbar-expandable-closing .navbar-bg,
.ios .navbar.with-searchbar-expandable-enabled .left,
.ios .navbar.with-searchbar-expandable-closing .left,
.ios .navbar.with-searchbar-expandable-enabled .title,
.ios .navbar.with-searchbar-expandable-closing .title,
.ios .navbar.with-searchbar-expandable-enabled .right,
.ios .navbar.with-searchbar-expandable-closing .right {
transition-duration: 300ms;
}
.ios .navbar.with-searchbar-expandable-enabled .left,
.ios .navbar.with-searchbar-expandable-enabled-no-transition .left,
.ios .navbar.with-searchbar-expandable-enabled .title,
.ios .navbar.with-searchbar-expandable-enabled-no-transition .title,
.ios .navbar.with-searchbar-expandable-enabled .right,
.ios .navbar.with-searchbar-expandable-enabled-no-transition .right {
transform: translateY(calc(-1 * var(--f7-navbar-height)));
opacity: 0 !important;
}
.ios .searchbar-expandable.searchbar-enabled {
opacity: 1;
height: var(--f7-searchbar-expandable-size);
pointer-events: auto;
}
.md .searchbar-icon,
.md .searchbar-disable-button {
position: absolute;
top: 50%;
transition-duration: 300ms;
}
.md .searchbar-icon {
width: 48px;
height: 48px;
left: 0;
top: 0;
display: flex;
align-items: center;
justify-content: center;
left: var(--f7-safe-area-left);
}
.md .searchbar-icon:after {
width: auto;
height: auto;
content: 'search_md';
line-height: 1.2;
}
.md .searchbar-disable-button {
width: 48px;
height: 48px;
transform: rotate(-90deg) scale(0.5);
font-size: 0 !important;
display: block;
margin-top: -24px;
color: var(--f7-searchbar-link-color, var(--f7-bars-link-color, var(--f7-theme-color)));
left: calc(var(--f7-searchbar-inner-padding-left) + var(--f7-safe-area-left));
}
.md .searchbar-disable-button:after {
font-family: 'framework7-core-icons';
font-weight: normal;
font-style: normal;
line-height: 1;
letter-spacing: normal;
text-transform: none;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
-moz-osx-font-smoothing: grayscale;
font-feature-settings: 'liga';
text-align: center;
display: block;
width: 100%;
height: 100%;
font-size: 20px;
line-height: 48px;
content: 'arrow_left_md';
}
.md .searchbar-enabled:not(.searchbar-enabled-no-disable-button) .searchbar-disable-button {
transform: rotate(0deg) scale(1);
pointer-events: auto;
opacity: 1;
}
.md .searchbar-enabled:not(.searchbar-enabled-no-disable-button) .searchbar-icon {
opacity: 0;
transform: rotate(90deg) scale(0.5);
}
.md .searchbar {
--f7-searchbar-input-extra-padding-left: 34px;
}
.md .searchbar .input-clear-button {
width: 48px;
height: 48px;
margin-top: -24px;
right: 0;
}
.md .searchbar .input-clear-button:after {
line-height: 48px;
content: 'delete_round_md';
opacity: 1;
}
.md .searchbar .input-clear-button:before {
display: none;
}
.md .searchbar-inline {
--f7-searchbar-input-extra-padding-left: 32px;
}
.md .page > .searchbar,
.md .subnavbar .searchbar,
.md .searchbar-expandable {
--f7-searchbar-input-extra-padding-left: 34px;
}
.md .page > .searchbar .searchbar-disable-button,
.md .subnavbar .searchbar .searchbar-disable-button,
.md .searchbar-expandable .searchbar-disable-button {
left: calc(var(--f7-searchbar-inner-padding-left) + var(--f7-safe-area-left));
}
.md .page > .searchbar .searchbar-icon,
.md .subnavbar .searchbar .searchbar-icon,
.md .searchbar-expandable .searchbar-icon {
left: var(--f7-safe-area-left);
}
.md .searchbar-expandable {
--f7-searchbar-inner-padding-left: 4px;
--f7-searchbar-inner-padding-right: 4px;
height: var(--f7-searchbar-expandable-size);
opacity: 0;
bottom: 0;
border-radius: calc(var(--f7-searchbar-expandable-size));
width: calc(var(--f7-searchbar-expandable-size));
margin-top: calc(var(--f7-searchbar-expandable-size) * -1 / 2);
transform: translate3d(0px, 0px, 0px);
background-color: var(--f7-searchbar-input-bg-color);
left: 100%;
margin-left: calc(var(--f7-searchbar-expandable-size) * -1);
}
.md .searchbar-expandable.searchbar-enabled {
width: 100%;
border-radius: 0;
opacity: 1;
pointer-events: auto;
margin-top: 0;
left: 0;
margin-left: 0;
}
/* === Messages === */
:root {
--f7-message-text-header-opacity: 0.65;
--f7-message-text-header-font-size: 12px;
--f7-message-text-footer-opacity: 0.65;
--f7-message-text-footer-font-size: 12px;
--f7-message-bubble-line-height: 1.2;
--f7-message-header-font-size: 12px;
--f7-message-footer-font-size: 11px;
--f7-message-name-font-size: 12px;
--f7-message-name-font-weight: inherit;
--f7-message-avatar-border-radius: 50%;
--f7-messages-title-font-weight: inherit;
--f7-message-typing-indicator-bg-color: #000;
}
:root .dark,
:root.dark {
--f7-message-typing-indicator-bg-color: #fff;
}
.ios {
--f7-message-text-header-text-color: inherit;
--f7-message-text-footer-text-color: inherit;
--f7-messages-title-font-size: 11px;
--f7-message-avatar-size: 29px;
--f7-message-margin: 10px;
--f7-message-bubble-min-height: 32px;
--f7-message-bubble-font-size: 17px;
--f7-message-bubble-border-radius: 16px;
--f7-message-bubble-padding-vertical: 6px;
--f7-message-bubble-padding-horizontal: 16px;
--f7-message-typing-indicator-opacity: 0.35;
/*
--f7-message-sent-bg-color: var(--f7-theme-color);
*/
--f7-message-sent-text-color: #fff;
--f7-messages-content-bg-color: #fff;
--f7-message-received-text-color: #000;
--f7-message-received-bg-color: #e5e5ea;
--f7-messages-title-text-color: rgba(0, 0, 0, 0.45);
--f7-message-header-text-color: rgba(0, 0, 0, 0.45);
--f7-message-footer-text-color: rgba(0, 0, 0, 0.45);
--f7-message-name-text-color: rgba(0, 0, 0, 0.45);
}
.ios .dark,
.ios.dark {
--f7-message-received-bg-color: #252525;
--f7-message-received-text-color: #fff;
--f7-messages-content-bg-color: transparent;
--f7-messages-title-text-color: rgba(255, 255, 255, 0.54);
--f7-message-header-text-color: rgba(255, 255, 255, 0.54);
--f7-message-name-text-color: rgba(255, 255, 255, 0.54);
--f7-message-footer-text-color: rgba(255, 255, 255, 0.54);
}
.md {
--f7-messages-content-bg-color: transparent;
--f7-messages-title-font-size: 12px;
--f7-message-avatar-size: 32px;
--f7-message-margin: 16px;
--f7-message-bubble-min-height: 40px;
--f7-message-bubble-font-size: 16px;
--f7-message-bubble-border-radius: 20px;
--f7-message-bubble-padding-vertical: 10px;
--f7-message-bubble-padding-horizontal: 16px;
--f7-message-typing-indicator-opacity: 0.6;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-message-sent-bg-color: var(--f7-md-primary);
--f7-message-sent-text-color: var(--f7-md-on-primary);
--f7-message-received-bg-color: var(--f7-md-surface-variant);
--f7-message-received-text-color: var(--f7-md-on-surface);
--f7-message-text-header-text-color: var(--f7-md-on-surface-variant);
--f7-message-text-footer-text-color: var(--f7-md-on-surface-variant);
--f7-messages-title-text-color: var(--f7-md-on-surface-variant);
--f7-message-header-text-color: var(--f7-md-on-surface-variant);
--f7-message-footer-text-color: var(--f7-md-on-surface-variant);
--f7-message-name-text-color: var(--f7-md-on-surface-variant);
}
.messages-content,
.messages {
background: var(--f7-messages-content-bg-color);
}
.messages {
display: flex;
flex-direction: column;
min-height: 100%;
position: relative;
z-index: 1;
}
.messages-title,
.message {
margin-top: var(--f7-message-margin);
}
.messages-title:last-child,
.message:last-child {
margin-bottom: var(--f7-message-margin);
}
.messages-title {
text-align: center;
width: 100%;
line-height: 1;
color: var(--f7-messages-title-text-color);
font-size: var(--f7-messages-title-font-size);
font-weight: var(--f7-messages-title-font-weight);
}
.message {
max-width: 70%;
box-sizing: border-box;
display: flex;
align-items: flex-end;
position: relative;
z-index: 1;
transform: translate3d(0, 0, 0);
}
.message-avatar {
border-radius: var(--f7-message-avatar-border-radius);
position: relative;
background-size: cover;
align-self: flex-end;
flex-shrink: 0;
width: var(--f7-message-avatar-size);
height: var(--f7-message-avatar-size);
}
.message-content {
position: relative;
display: flex;
flex-direction: column;
}
.message-header,
.message-footer,
.message-name {
line-height: 1;
}
.message-header {
color: var(--f7-message-header-text-color);
font-size: var(--f7-message-header-font-size);
}
.message-footer {
color: var(--f7-message-footer-text-color);
font-size: var(--f7-message-footer-font-size);
margin-bottom: -1em;
}
.message-name {
color: var(--f7-message-name-text-color);
font-size: var(--f7-message-name-font-size);
font-weight: var(--f7-message-name-font-weight);
}
.message-bubble {
box-sizing: border-box;
word-break: break-word;
display: flex;
flex-direction: column;
position: relative;
line-height: var(--f7-message-bubble-line-height);
font-size: var(--f7-message-bubble-font-size);
border-radius: var(--f7-message-bubble-border-radius);
padding: var(--f7-message-bubble-padding-vertical) var(--f7-message-bubble-padding-horizontal);
min-height: var(--f7-message-bubble-min-height);
}
.message-image img {
display: block;
max-width: 100%;
height: auto;
width: auto;
}
.message-text-header,
.message-text-footer {
line-height: 1;
}
.message-text-header {
color: var(--f7-message-text-header-text-color);
opacity: var(--f7-message-text-header-opacity);
font-size: var(--f7-message-text-header-font-size);
}
.message-text-footer {
color: var(--f7-message-text-footer-text-color);
opacity: var(--f7-message-text-footer-opacity);
font-size: var(--f7-message-text-footer-font-size);
}
.message-text {
text-align: left;
}
.message-sent {
text-align: right;
flex-direction: row-reverse;
align-self: flex-end;
}
.message-sent .message-bubble {
color: var(--f7-message-sent-text-color);
background: var(--f7-message-sent-bg-color, var(--f7-theme-color));
}
.message-sent .message-content {
align-items: flex-end;
}
.message-received {
flex-direction: row;
}
.message-received .message-bubble {
color: var(--f7-message-received-text-color);
background: var(--f7-message-received-bg-color);
}
.message-received .message-content {
align-items: flex-start;
}
.message:not(.message-last) .message-avatar {
opacity: 0;
}
.message:not(.message-first) .message-name {
display: none;
}
.message.message-same-name .message-name {
display: none;
}
.message.message-same-header .message-header {
display: none;
}
.message.message-same-footer .message-footer {
display: none;
}
.message-appear-from-bottom {
animation: message-appear-from-bottom 300ms;
}
.message-appear-from-top {
animation: message-appear-from-top 300ms;
}
.message-typing-indicator {
display: inline-block;
font-size: 0;
vertical-align: middle;
}
.message-typing-indicator > div {
display: inline-block;
position: relative;
background: var(--f7-message-typing-indicator-bg-color);
opacity: var(--f7-message-typing-indicator-opacity);
vertical-align: middle;
border-radius: 50%;
}
@keyframes message-appear-from-bottom {
from {
transform: translate3d(0, 100%, 0);
}
to {
transform: translate3d(0, 0, 0);
}
}
@keyframes message-appear-from-top {
from {
transform: translate3d(0, -100%, 0);
}
to {
transform: translate3d(0, 0, 0);
}
}
.ios .messages-title b,
.ios .message-header b,
.ios .message-footer b,
.ios .message-name b {
font-weight: 600;
}
.ios .message-header,
.ios .message-name {
margin-bottom: 3px;
}
.ios .message-footer {
margin-top: 3px;
}
.ios .message-bubble {
min-width: 48px;
}
.ios .message-image {
margin: var(--f7-message-bubble-padding-vertical) calc(-1 * var(--f7-message-bubble-padding-horizontal));
}
.ios .message-image:first-child {
margin-top: calc(-1 * var(--f7-message-bubble-padding-vertical));
}
.ios .message-image:first-child img {
border-top-left-radius: var(--f7-message-bubble-border-radius);
border-top-right-radius: var(--f7-message-bubble-border-radius);
}
.ios .message-image:last-child {
margin-bottom: calc(-1 * var(--f7-message-bubble-padding-vertical));
}
.ios .message-image:last-child img {
border-bottom-left-radius: var(--f7-message-bubble-border-radius);
border-bottom-right-radius: var(--f7-message-bubble-border-radius);
}
.ios .message-text-header {
margin-bottom: 3px;
}
.ios .message-text-footer {
margin-top: 3px;
}
.ios .message-received {
margin-left: calc(10px + var(--f7-safe-area-left));
}
.ios .message-received .message-header,
.ios .message-received .message-footer,
.ios .message-received .message-name {
margin-left: var(--f7-message-bubble-padding-horizontal);
}
.ios .message-received .message-bubble {
padding-left: calc(var(--f7-message-bubble-padding-horizontal) + 6px);
-webkit-mask-box-image: url("data:image/svg+xml;charset=utf-8,<svg height='35' viewBox='0 0 96 70' width='48' xmlns='http://www.w3.org/2000/svg'><path d='m96 35c1 7-5 37-42 35-37 2-43-28-42-35-1-7 5-37 42-35 37-2 43 28 42 35z'/></svg>") 50% 42% 46% 56%;
}
.ios .message-received .message-image {
margin-left: calc(-1 * (var(--f7-message-bubble-padding-horizontal) + 6px));
}
.ios .message-received.message-tail .message-bubble {
border-radius: var(--f7-message-bubble-border-radius) var(--f7-message-bubble-border-radius) var(--f7-message-bubble-border-radius) 0;
}
.ios .message-received.message-tail:not(.message-typing) .message-bubble {
-webkit-mask-box-image: url("data:image/svg+xml;charset=utf-8,<svg height='35' viewBox='0 0 96 70' width='48' xmlns='http://www.w3.org/2000/svg'><path d='m96 35c1 7-5 37-42 35-37 2-43-28-42-35-1-7 5-37 42-35 37-2 43 28 42 35z'/><path d='m0 70c6-2 12-10 12-19v-16l14 27s-8 8-26 8z'/></svg>") 50% 42% 46% 56%;
}
.ios .message-received.message-tail:not(.message-typing) .message-bubble .message-image:last-child img {
border-bottom-left-radius: 0px;
}
.ios .message-sent {
margin-right: calc(10px + var(--f7-safe-area-right));
}
.ios .message-sent .message-header,
.ios .message-sent .message-footer,
.ios .message-sent .message-name {
margin-right: var(--f7-message-bubble-padding-horizontal);
}
.ios .message-sent .message-bubble {
padding-right: calc(var(--f7-message-bubble-padding-horizontal) + 6px);
-webkit-mask-box-image: url("data:image/svg+xml;charset=utf-8,<svg height='35' viewBox='0 0 96 70' width='48' xmlns='http://www.w3.org/2000/svg'><path d='m84 35c1 7-5 37-42 35-37 2-43-28-42-35-1-7 5-37 42-35 37-2 43 28 42 35z'/></svg>") 50% 56% 46% 42%;
}
.ios .message-sent .message-image {
margin-right: calc(-1 * (var(--f7-message-bubble-padding-horizontal) + 6px));
}
.ios .message-sent.message-tail .message-bubble {
border-radius: var(--f7-message-bubble-border-radius) var(--f7-message-bubble-border-radius) 0 var(--f7-message-bubble-border-radius);
}
.ios .message-sent.message-tail .message-bubble {
-webkit-mask-box-image: url("data:image/svg+xml;charset=utf-8,<svg height='35' viewBox='0 0 96 70' width='48' xmlns='http://www.w3.org/2000/svg'><path d='m84 35c1 7-5 37-42 35-37 2-43-28-42-35-1-7 5-37 42-35 37-2 43 28 42 35z'/><path d='m96 70c-6-2-12-10-12-19v-16l-14 27s8 8 26 8z'/></svg>") 50% 56% 46% 42%;
}
.ios .message-sent.message-tail .message-bubble .message-image:last-child img {
border-bottom-right-radius: 0px;
}
.ios .message + .message:not(.message-first) {
margin-top: 1px;
}
.ios .message-received.message-typing .message-content:after,
.ios .message-received.message-typing .message-content:before {
content: '';
position: absolute;
background: var(--f7-message-received-bg-color);
border-radius: 50%;
}
.ios .message-received.message-typing .message-content:after {
width: 11px;
height: 11px;
left: 4px;
bottom: 0px;
}
.ios .message-received.message-typing .message-content:before {
width: 6px;
height: 6px;
left: -1px;
bottom: -4px;
}
.ios .message-typing-indicator > div {
width: 9px;
height: 9px;
}
.ios .message-typing-indicator > div + div {
margin-left: 4px;
}
.ios .message-typing-indicator > div:nth-child(1) {
animation: ios-message-typing-indicator 900ms infinite;
}
.ios .message-typing-indicator > div:nth-child(2) {
animation: ios-message-typing-indicator 900ms 150ms infinite;
}
.ios .message-typing-indicator > div:nth-child(3) {
animation: ios-message-typing-indicator 900ms 300ms infinite;
}
@keyframes ios-message-typing-indicator {
0% {
opacity: 0.35;
}
25% {
opacity: 0.2;
}
50% {
opacity: 0.2;
}
}
.md .messages-title b,
.md .message-header b,
.md .message-footer b,
.md .message-name b {
font-weight: 500;
}
.md .message-header,
.md .message-name {
margin-bottom: 2px;
}
.md .message-footer {
margin-top: 2px;
}
.md .message-text-header {
margin-bottom: 4px;
}
.md .message-text-footer {
margin-top: 4px;
}
.md .message-image {
margin: calc(-1 * var(--f7-message-bubble-padding-vertical)) calc(-1 * var(--f7-message-bubble-padding-horizontal));
}
.md .message-image,
.md .message-image img {
border-radius: var(--f7-message-bubble-border-radius);
}
.md .message-received {
margin-left: calc(8px + var(--f7-safe-area-left));
}
.md .message-received .message-name,
.md .message-received .message-header,
.md .message-received .message-footer {
margin-left: 16px;
}
.md .message-received.message-first:not(.message-last) .message-bubble,
.md .message-received.message-first:not(.message-last) .message-image,
.md .message-received.message-first:not(.message-last) .message-image img {
border-bottom-left-radius: 4px;
}
.md .message-received.message-last:not(.message-first) .message-bubble,
.md .message-received.message-last:not(.message-first) .message-image,
.md .message-received.message-last:not(.message-first) .message-image img {
border-top-left-radius: 4px;
}
.md .message-received:not(.message-last):not(.message-first) .message-bubble,
.md .message-received:not(.message-last):not(.message-first) .message-image,
.md .message-received:not(.message-last):not(.message-first) .message-image img {
border-bottom-left-radius: 4px;
border-top-left-radius: 4px;
}
.md .message-received .message-avatar + .message-content {
margin-left: 8px;
}
.md .message-sent {
margin-right: calc(8px + var(--f7-safe-area-right));
}
.md .message-sent .message-name,
.md .message-sent .message-header,
.md .message-sent .message-footer {
margin-right: 16px;
}
.md .message-sent.message-first:not(.message-last) .message-bubble,
.md .message-sent.message-first:not(.message-last) .message-image,
.md .message-sent.message-first:not(.message-last) .message-image img {
border-bottom-right-radius: 4px;
}
.md .message-sent.message-last:not(.message-first) .message-bubble,
.md .message-sent.message-last:not(.message-first) .message-image,
.md .message-sent.message-last:not(.message-first) .message-image img {
border-top-right-radius: 4px;
}
.md .message-sent:not(.message-last):not(.message-first) .message-bubble,
.md .message-sent:not(.message-last):not(.message-first) .message-image,
.md .message-sent:not(.message-last):not(.message-first) .message-image img {
border-bottom-right-radius: 4px;
border-top-right-radius: 4px;
}
.md .message-sent .message-avatar + .message-content {
margin-right: var(--f7-message-bubble-padding-horizontal);
}
.md .message + .message:not(.message-first) {
margin-top: 2px;
}
.md .message-typing-indicator > div {
width: 6px;
height: 6px;
}
.md .message-typing-indicator > div + div {
margin-left: 6px;
}
.md .message-typing-indicator > div:nth-child(1) {
animation: md-message-typing-indicator 900ms infinite;
}
.md .message-typing-indicator > div:nth-child(2) {
animation: md-message-typing-indicator 900ms 150ms infinite;
}
.md .message-typing-indicator > div:nth-child(3) {
animation: md-message-typing-indicator 900ms 300ms infinite;
}
@keyframes md-message-typing-indicator {
0% {
transform: translateY(0%);
}
25% {
transform: translateY(-5px);
}
50% {
transform: translateY(0%);
}
}
/* === Messagebar === */
:root {
--f7-messagebar-attachments-height: 155px;
--f7-messagebar-sheet-height: 252px;
--f7-messagebar-sheet-landscape-height: 192px;
/*
--f7-messagebar-inner-padding-left: var(--f7-toolbar-inner-padding-left);
--f7-messagebar-inner-padding-right: var(--f7-toolbar-inner-padding-right);
*/
}
.ios {
--f7-messagebar-height: 44px;
--f7-messagebar-font-size: 17px;
--f7-messagebar-textarea-bg-color: transparent;
/*
--f7-messagebar-link-color: var(--f7-theme-color);
*/
--f7-messagebar-border-color: transparent;
--f7-messagebar-textarea-border-radius: 17px;
--f7-messagebar-textarea-padding: 6px 16px;
--f7-messagebar-textarea-height: 34px;
--f7-messagebar-textarea-font-size: 17px;
--f7-messagebar-textarea-line-height: 20px;
--f7-messagebar-sheet-bg-color: #d1d5da;
--f7-messagebar-sheet-border-color: transparent;
--f7-messagebar-attachment-border-radius: 12px;
--f7-messagebar-attachment-height: 155px;
--f7-messagebar-attachment-landscape-height: 120px;
--f7-messagebar-textarea-placeholder-color: rgba(0, 0, 0, 0.4);
--f7-messagebar-textarea-text-color: #000;
--f7-messagebar-textarea-border: 1px solid #c8c8cd;
--f7-messagebar-attachments-border-color: #c8c8cd;
--f7-messagebar-bg-color: #fff;
--f7-messagebar-bg-color-rgb: 255, 255, 255;
}
.ios .dark,
.ios.dark {
--f7-messagebar-textarea-placeholder-color: rgba(255, 255, 255, 0.4);
--f7-messagebar-textarea-text-color: #fff;
--f7-messagebar-textarea-border: 1px solid var(--f7-bars-border-color);
--f7-messagebar-attachments-border-color: var(--f7-bars-border-color);
--f7-messagebar-bg-color: var(--f7-bars-bg-color);
--f7-messagebar-bg-color-rgb: var(--f7-bars-bg-color-rgb);
}
.md {
--f7-messagebar-height: 64px;
--f7-messagebar-font-size: 16px;
--f7-messagebar-textarea-border-radius: 24px;
--f7-messagebar-textarea-padding: 12px 16px;
--f7-messagebar-textarea-height: 48px;
--f7-messagebar-textarea-font-size: 16px;
--f7-messagebar-textarea-line-height: 22px;
--f7-messagebar-textarea-border: 1px solid transparent;
--f7-messagebar-attachment-border-radius: 12px;
--f7-messagebar-attachment-height: 72px;
--f7-messagebar-attachment-landscape-height: 72px;
--f7-messagebar-border-color: transparent;
--f7-messagebar-attachments-border-color: transparent;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-messagebar-textarea-placeholder-color: var(--f7-md-on-surface-variant);
--f7-messagebar-textarea-bg-color: var(--f7-md-surface-variant);
--f7-messagebar-bg-color: var(--f7-md-surface);
--f7-messagebar-textarea-text-color: var(--f7-md-on-surface);
--f7-messagebar-sheet-bg-color: var(--f7-md-surface);
--f7-messagebar-sheet-border-color: var(--f7-md-outline-variant);
--f7-messagebar-link-color: var(--f7-md-on-surface);
}
.messagebar {
transform: translate3d(0, 0, 0);
background: var(--f7-messagebar-bg-color);
height: auto;
min-height: var(--f7-messagebar-height);
font-size: var(--f7-messagebar-font-size);
padding-bottom: var(--f7-safe-area-bottom);
bottom: 0;
}
.messagebar:before {
content: '';
position: absolute;
background-color: var(--f7-messagebar-border-color);
display: block;
z-index: 15;
top: 0;
right: auto;
bottom: auto;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 0%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
@supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
.ios-translucent-bars .messagebar {
background-color: rgba(var(--f7-messagebar-bg-color-rgb), var(--f7-bars-translucent-opacity));
-webkit-backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
}
}
.messagebar.no-outline:before {
display: none !important;
}
.messagebar.toolbar-hidden:after {
display: none !important;
}
.messagebar .toolbar-inner {
top: auto;
position: relative;
height: auto;
bottom: auto;
padding-left: calc(var(--f7-messagebar-inner-padding-left, var(--f7-toolbar-inner-padding-left)) + var(--f7-safe-area-left));
padding-right: calc(var(--f7-messagebar-inner-padding-right, var(--f7-toolbar-inner-padding-right)) + var(--f7-safe-area-right));
}
.messagebar.messagebar-sheet-visible > .toolbar-inner {
bottom: 0;
}
.messagebar .messagebar-area {
width: 100%;
flex-shrink: 1;
overflow: hidden;
position: relative;
}
.messagebar textarea {
width: 100%;
flex-shrink: 1;
background-color: var(--f7-messagebar-textarea-bg-color);
border-radius: var(--f7-messagebar-textarea-border-radius);
padding: var(--f7-messagebar-textarea-padding);
height: var(--f7-messagebar-textarea-height);
color: var(--f7-messagebar-textarea-text-color);
font-size: var(--f7-messagebar-textarea-font-size);
line-height: var(--f7-messagebar-textarea-line-height);
border: var(--f7-messagebar-textarea-border);
}
.messagebar textarea::placeholder {
color: var(--f7-messagebar-textarea-placeholder-color);
}
.messagebar a.link {
align-self: flex-end;
flex-shrink: 0;
color: var(--f7-messagebar-link-color, var(--f7-theme-color));
}
.messagebar-attachments {
width: 100%;
overflow: auto;
-webkit-overflow-scrolling: touch;
font-size: 0;
white-space: nowrap;
box-sizing: border-box;
position: relative;
}
.messagebar:not(.messagebar-attachments-visible) .messagebar-attachments {
display: none;
}
.messagebar-attachment {
background-size: cover;
background-position: center;
background-repeat: no-repeat;
display: inline-block;
vertical-align: middle;
white-space: normal;
height: var(--f7-messagebar-attachment-height);
position: relative;
border-radius: var(--f7-messagebar-attachment-border-radius);
}
@media (orientation: landscape) {
.messagebar-attachment {
height: var(--f7-messagebar-attachment-landscape-height);
}
}
.messagebar-attachment img {
display: block;
width: auto;
height: 100%;
border-radius: var(--f7-messagebar-attachment-border-radius);
}
.messagebar-sheet {
overflow: auto;
-webkit-overflow-scrolling: touch;
display: flex;
flex-wrap: wrap;
flex-direction: column;
align-content: flex-start;
height: var(--f7-messagebar-sheet-height);
background-color: var(--f7-messagebar-sheet-bg-color);
border-top: 1px solid var(--f7-messagebar-sheet-border-color);
padding-left: var(--f7-safe-area-left);
padding-right: var(--f7-safe-area-right);
}
@media (orientation: landscape) {
.messagebar-sheet {
height: var(--f7-messagebar-sheet-landscape-height);
}
}
.messagebar-sheet-image {
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
.messagebar-sheet-image > img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
border-radius: inherit;
transition-duration: 200ms;
}
.messagebar-attachment-delete {
display: block;
position: absolute;
border-radius: 50%;
box-sizing: border-box;
cursor: pointer;
}
.messagebar-attachment-delete:after,
.messagebar-attachment-delete:before {
position: absolute;
content: '';
left: 50%;
top: 50%;
}
.messagebar-attachment-delete:after {
transform: rotate(45deg);
}
.messagebar-attachment-delete:before {
transform: rotate(-45deg);
}
.messagebar:not(.messagebar-sheet-visible) .messagebar-sheet {
display: none;
}
.messagebar ~ * {
--f7-page-toolbar-bottom-offset: var(--f7-messagebar-height);
}
.ios .messagebar a.link.icon-only:first-child {
margin-left: -8px;
}
.ios .messagebar a.link.icon-only:last-child {
margin-right: -8px;
}
.ios .messagebar a.link:not(.icon-only) + .messagebar-area {
margin-left: 8px;
}
.ios .messagebar .messagebar-area + a.link:not(.icon-only) {
margin-left: 8px;
}
.ios .messagebar-area {
margin-top: 5px;
margin-bottom: 5px;
}
.ios .messagebar-attachments {
padding: 5px;
border-radius: var(--f7-messagebar-textarea-border-radius) var(--f7-messagebar-textarea-border-radius) 0 0;
border: 1px solid var(--f7-messagebar-attachments-border-color);
border-bottom: none;
}
.ios .messagebar-attachments-visible .messagebar-attachments + textarea {
border-radius: 0 0 var(--f7-messagebar-textarea-border-radius) var(--f7-messagebar-textarea-border-radius);
}
.ios .messagebar-attachment {
font-size: 14px;
}
.ios .messagebar-attachment + .messagebar-attachment {
margin-left: 8px;
}
.ios .messagebar-attachment-delete {
right: 5px;
top: 5px;
width: 20px;
height: 20px;
background: #7d7e80;
border: 2px solid #fff;
box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2);
}
.ios .messagebar-attachment-delete:after,
.ios .messagebar-attachment-delete:before {
width: 10px;
height: 2px;
background: #fff;
margin-left: -5px;
margin-top: -1px;
}
.ios .messagebar-sheet-image,
.ios .messagebar-sheet-item {
box-sizing: border-box;
flex-shrink: 0;
margin-top: 1px;
position: relative;
overflow: hidden;
height: calc((var(--f7-messagebar-sheet-height) - 2px) / 2);
width: calc((var(--f7-messagebar-sheet-height) - 2px) / 2);
margin-left: 1px;
}
@media (orientation: landscape) {
.ios .messagebar-sheet-image,
.ios .messagebar-sheet-item {
width: calc((var(--f7-messagebar-sheet-landscape-height) - 2px) / 2);
height: calc((var(--f7-messagebar-sheet-landscape-height) - 2px) / 2);
}
}
.ios .messagebar-sheet-image .icon-checkbox,
.ios .messagebar-sheet-item .icon-checkbox,
.ios .messagebar-sheet-image .icon-radio,
.ios .messagebar-sheet-item .icon-radio {
position: absolute;
right: 8px;
bottom: 8px;
z-index: 1;
}
.md .messagebar {
--f7-toolbar-link-height: var(--f7-messagebar-height);
}
.md .messagebar-attachments {
padding: 16px 16px 0;
border-bottom: 1px solid var(--f7-messagebar-attachments-border-color);
}
.md .messagebar-attachment img {
width: var(--f7-messagebar-attachment-height);
height: var(--f7-messagebar-attachment-height);
object-fit: cover;
object-position: center;
}
.md .messagebar-attachment + .messagebar-attachment {
margin-left: 16px;
}
.md .messagebar-attachments-visible .messagebar-attachments {
background: var(--f7-messagebar-textarea-bg-color);
border-radius: var(--f7-messagebar-textarea-border-radius) var(--f7-messagebar-textarea-border-radius) 0 0;
}
.md .messagebar-attachments-visible textarea {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.md .messagebar-area {
margin-top: 8px;
margin-bottom: 8px;
}
.md .messagebar-attachment-delete {
right: -6px;
top: -6px;
width: 24px;
height: 24px;
background-color: var(--f7-md-inverse-surface);
border-radius: 24px;
border: 2px solid var(--f7-messagebar-textarea-bg-color);
}
.md .messagebar-attachment-delete:after,
.md .messagebar-attachment-delete:before {
width: 12px;
height: 2px;
background: var(--f7-messagebar-textarea-bg-color);
margin-left: -6px;
margin-top: -1px;
}
.md .messagebar-sheet-image,
.md .messagebar-sheet-item {
--f7-touch-ripple-color: transparent;
box-sizing: border-box;
flex-shrink: 0;
margin-top: 8px;
position: relative;
overflow: hidden;
height: calc((var(--f7-messagebar-sheet-height) - 24px) / 2);
width: calc((var(--f7-messagebar-sheet-height) - 24px) / 2);
border-radius: 4px;
margin-left: 8px;
}
@media (orientation: landscape) {
.md .messagebar-sheet-image,
.md .messagebar-sheet-item {
width: calc((var(--f7-messagebar-sheet-landscape-height) - 8px) / 2);
height: calc((var(--f7-messagebar-sheet-landscape-height) - 24px) / 2);
}
}
.md .messagebar-sheet-image input:checked ~ img,
.md .messagebar-sheet-item input:checked ~ img {
transform: scale(0.85);
}
.md .messagebar-sheet-image input:checked ~ .icon-checkbox,
.md .messagebar-sheet-item input:checked ~ .icon-checkbox,
.md .messagebar-sheet-image input:checked ~ .icon-radio,
.md .messagebar-sheet-item input:checked ~ .icon-radio {
transform: translate(-50%, -50%) scale(1);
}
.md .messagebar-sheet-image .icon-checkbox,
.md .messagebar-sheet-item .icon-checkbox,
.md .messagebar-sheet-image .icon-radio,
.md .messagebar-sheet-item .icon-radio {
width: 32px;
height: 32px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%) scale(0.85);
border: none;
z-index: 1;
--f7-checkbox-inactive-color: var(--f7-md-surface);
--f7-checkbox-active-color: var(--f7-md-surface);
}
.md .messagebar-sheet-image .icon-checkbox::after,
.md .messagebar-sheet-item .icon-checkbox::after,
.md .messagebar-sheet-image .icon-radio::after,
.md .messagebar-sheet-item .icon-radio::after {
color: var(--f7-md-on-surface);
font-size: 18px;
width: auto;
height: 100%;
line-height: 32px;
left: 0;
position: static;
}
/* === Swiper === */
/**
* Swiper 10.2.0
* Most modern mobile touch slider and framework with hardware accelerated transitions
* https://swiperjs.com
*
* Copyright 2014-2023 Vladimir Kharlampidi
*
* Released under the MIT License
*
* Released on: August 17, 2023
*/
/* FONT_START */
@font-face {
font-family: 'swiper-icons';
src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
font-weight: 400;
font-style: normal;
}
/* FONT_END */
:root {
--swiper-theme-color: #007aff;
/*
--swiper-preloader-color: var(--swiper-theme-color);
--swiper-wrapper-transition-timing-function: initial;
*/
}
:host {
position: relative;
display: block;
margin-left: auto;
margin-right: auto;
z-index: 1;
}
.swiper {
margin-left: auto;
margin-right: auto;
position: relative;
overflow: hidden;
overflow: clip;
list-style: none;
padding: 0;
/* Fix of Webkit flickering */
z-index: 1;
display: block;
}
.swiper-vertical > .swiper-wrapper {
flex-direction: column;
}
.swiper-wrapper {
position: relative;
width: 100%;
height: 100%;
z-index: 1;
display: flex;
transition-property: transform;
transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
transform: translate3d(0px, 0, 0);
}
.swiper-horizontal {
touch-action: pan-y;
}
.swiper-vertical {
touch-action: pan-x;
}
.swiper-slide {
flex-shrink: 0;
width: 100%;
height: 100%;
position: relative;
transition-property: transform;
display: block;
}
.swiper-slide-invisible-blank {
visibility: hidden;
}
/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
height: auto;
}
.swiper-autoheight .swiper-wrapper {
align-items: flex-start;
transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
transform: translateZ(0);
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
transform-style: preserve-3d;
}
.swiper-3d {
perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
transform-style: preserve-3d;
}
/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
overflow: auto;
scrollbar-width: none;
/* For Firefox */
-ms-overflow-style: none;
/* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
content: '';
flex-shrink: 0;
order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
scroll-snap-align: center center;
scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
height: 100%;
min-height: 1px;
width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
width: 100%;
min-width: 1px;
height: var(--swiper-centered-offset-after);
}
/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-lazy-preloader {
width: 42px;
height: 42px;
position: absolute;
left: 50%;
top: 50%;
margin-left: -21px;
margin-top: -21px;
z-index: 10;
transform-origin: 50%;
box-sizing: border-box;
border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
border-radius: 50%;
border-top-color: transparent;
}
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
animation: swiper-preloader-spin 1s infinite linear;
}
.swiper-lazy-preloader-white {
--swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
--swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
/* Slide styles end */
.swiper-virtual .swiper-slide {
-webkit-backface-visibility: hidden;
transform: translateZ(0);
}
.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
content: '';
position: absolute;
left: 0;
top: 0;
pointer-events: none;
}
.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
height: 1px;
width: var(--swiper-virtual-size);
}
.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
width: 1px;
height: var(--swiper-virtual-size);
}
:root {
--swiper-navigation-size: 44px;
/*
--swiper-navigation-top-offset: 50%;
--swiper-navigation-sides-offset: 10px;
--swiper-navigation-color: var(--swiper-theme-color);
*/
}
.swiper-button-prev,
.swiper-button-next {
position: absolute;
top: var(--swiper-navigation-top-offset, 50%);
width: calc(var(--swiper-navigation-size) / 44 * 27);
height: var(--swiper-navigation-size);
margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
z-index: 10;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
opacity: 0.35;
cursor: auto;
pointer-events: none;
}
.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
opacity: 0;
cursor: auto;
pointer-events: none;
}
.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
display: none !important;
}
.swiper-button-prev svg,
.swiper-button-next svg {
width: 100%;
height: 100%;
object-fit: contain;
transform-origin: center;
}
.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
transform: rotate(180deg);
}
.swiper-button-prev,
.swiper-rtl .swiper-button-next {
left: var(--swiper-navigation-sides-offset, 10px);
right: auto;
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
right: var(--swiper-navigation-sides-offset, 10px);
left: auto;
}
.swiper-button-lock {
display: none;
}
/* Navigation font start */
.swiper-button-prev:after,
.swiper-button-next:after {
font-family: swiper-icons;
font-size: var(--swiper-navigation-size);
text-transform: none !important;
letter-spacing: 0;
font-variant: initial;
line-height: 1;
}
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
content: 'prev';
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
right: var(--swiper-navigation-sides-offset, 10px);
left: auto;
}
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
content: 'next';
}
/* Navigation font end */
:root {
/*
--swiper-pagination-color: var(--swiper-theme-color);
--swiper-pagination-left: auto;
--swiper-pagination-right: 8px;
--swiper-pagination-bottom: 8px;
--swiper-pagination-top: auto;
--swiper-pagination-fraction-color: inherit;
--swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
--swiper-pagination-progressbar-size: 4px;
--swiper-pagination-bullet-size: 8px;
--swiper-pagination-bullet-width: 8px;
--swiper-pagination-bullet-height: 8px;
--swiper-pagination-bullet-border-radius: 50%;
--swiper-pagination-bullet-inactive-color: #000;
--swiper-pagination-bullet-inactive-opacity: 0.2;
--swiper-pagination-bullet-opacity: 1;
--swiper-pagination-bullet-horizontal-gap: 4px;
--swiper-pagination-bullet-vertical-gap: 6px;
*/
}
.swiper-pagination {
position: absolute;
text-align: center;
transition: 300ms opacity;
transform: translate3d(0, 0, 0);
z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
opacity: 0;
}
.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
display: none !important;
}
/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
bottom: var(--swiper-pagination-bottom, 8px);
top: var(--swiper-pagination-top, auto);
left: 0;
width: 100%;
}
/* Bullets */
.swiper-pagination-bullets-dynamic {
overflow: hidden;
font-size: 0;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transform: scale(0.33);
position: relative;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
transform: scale(0.33);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
transform: scale(0.33);
}
.swiper-pagination-bullet {
width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
display: inline-block;
border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
background: var(--swiper-pagination-bullet-inactive-color, #000);
opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}
button.swiper-pagination-bullet {
border: none;
margin: 0;
padding: 0;
box-shadow: none;
-webkit-appearance: none;
appearance: none;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
cursor: pointer;
}
.swiper-pagination-bullet:only-child {
display: none !important;
}
.swiper-pagination-bullet-active {
opacity: var(--swiper-pagination-bullet-opacity, 1);
background: var(--swiper-pagination-color, var(--swiper-theme-color));
}
.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
right: var(--swiper-pagination-right, 8px);
left: var(--swiper-pagination-left, auto);
top: 50%;
transform: translate3d(0px, -50%, 0);
}
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
display: block;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
top: 50%;
transform: translateY(-50%);
width: 8px;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
display: inline-block;
transition: 200ms transform, 200ms top;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
left: 50%;
transform: translateX(-50%);
white-space: nowrap;
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transition: 200ms transform, 200ms left;
}
.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transition: 200ms transform, 200ms right;
}
/* Fraction */
.swiper-pagination-fraction {
color: var(--swiper-pagination-fraction-color, inherit);
}
/* Progress */
.swiper-pagination-progressbar {
background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
background: var(--swiper-pagination-color, var(--swiper-theme-color));
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
transform: scale(0);
transform-origin: left top;
}
.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
transform-origin: right top;
}
.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
width: 100%;
height: var(--swiper-pagination-progressbar-size, 4px);
left: 0;
top: 0;
}
.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
width: var(--swiper-pagination-progressbar-size, 4px);
height: 100%;
left: 0;
top: 0;
}
.swiper-pagination-lock {
display: none;
}
:root {
/*
--swiper-scrollbar-border-radius: 10px;
--swiper-scrollbar-top: auto;
--swiper-scrollbar-bottom: 4px;
--swiper-scrollbar-left: auto;
--swiper-scrollbar-right: 4px;
--swiper-scrollbar-sides-offset: 1%;
--swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
--swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
--swiper-scrollbar-size: 4px;
*/
}
.swiper-scrollbar {
border-radius: var(--swiper-scrollbar-border-radius, 10px);
position: relative;
-ms-touch-action: none;
background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}
.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
display: none !important;
}
.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
position: absolute;
left: var(--swiper-scrollbar-sides-offset, 1%);
bottom: var(--swiper-scrollbar-bottom, 4px);
top: var(--swiper-scrollbar-top, auto);
z-index: 50;
height: var(--swiper-scrollbar-size, 4px);
width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}
.swiper-vertical > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
position: absolute;
left: var(--swiper-scrollbar-left, auto);
right: var(--swiper-scrollbar-right, 4px);
top: var(--swiper-scrollbar-sides-offset, 1%);
z-index: 50;
width: var(--swiper-scrollbar-size, 4px);
height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}
.swiper-scrollbar-drag {
height: 100%;
width: 100%;
position: relative;
background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
border-radius: var(--swiper-scrollbar-border-radius, 10px);
left: 0;
top: 0;
}
.swiper-scrollbar-cursor-drag {
cursor: move;
}
.swiper-scrollbar-lock {
display: none;
}
/* Zoom container styles start */
.swiper-zoom-container {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}
.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
max-width: 100%;
max-height: 100%;
object-fit: contain;
}
/* Zoom container styles end */
.swiper-slide-zoomed {
cursor: move;
touch-action: none;
}
/* a11y */
.swiper .swiper-notification {
position: absolute;
left: 0;
top: 0;
pointer-events: none;
opacity: 0;
z-index: -1000;
}
.swiper-free-mode > .swiper-wrapper {
transition-timing-function: ease-out;
margin: 0 auto;
}
.swiper-grid > .swiper-wrapper {
flex-wrap: wrap;
}
.swiper-grid-column > .swiper-wrapper {
flex-wrap: wrap;
flex-direction: column;
}
.swiper-fade.swiper-free-mode .swiper-slide {
transition-timing-function: ease-out;
}
.swiper-fade .swiper-slide {
pointer-events: none;
transition-property: opacity;
}
.swiper-fade .swiper-slide .swiper-slide {
pointer-events: none;
}
.swiper-fade .swiper-slide-active {
pointer-events: auto;
}
.swiper-fade .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
.swiper-cube {
overflow: visible;
}
.swiper-cube .swiper-slide {
pointer-events: none;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
z-index: 1;
visibility: hidden;
transform-origin: 0 0;
width: 100%;
height: 100%;
}
.swiper-cube .swiper-slide .swiper-slide {
pointer-events: none;
}
.swiper-cube.swiper-rtl .swiper-slide {
transform-origin: 100% 0;
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
pointer-events: auto;
visibility: visible;
}
.swiper-cube .swiper-cube-shadow {
position: absolute;
left: 0;
bottom: 0px;
width: 100%;
height: 100%;
opacity: 0.6;
z-index: 0;
}
.swiper-cube .swiper-cube-shadow:before {
content: '';
background: #000;
position: absolute;
left: 0;
top: 0;
bottom: 0;
right: 0;
filter: blur(50px);
}
.swiper-cube .swiper-slide-next + .swiper-slide {
pointer-events: auto;
visibility: visible;
}
/* Cube slide shadows start */
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right {
z-index: 0;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
/* Cube slide shadows end */
.swiper-flip {
overflow: visible;
}
.swiper-flip .swiper-slide {
pointer-events: none;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
z-index: 1;
}
.swiper-flip .swiper-slide .swiper-slide {
pointer-events: none;
}
.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
/* Flip slide shadows start */
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right {
z-index: 0;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
/* Flip slide shadows end */
.swiper-creative .swiper-slide {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
overflow: hidden;
transition-property: transform, opacity, height;
}
.swiper-cards {
overflow: visible;
}
.swiper-cards .swiper-slide {
transform-origin: center bottom;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
overflow: hidden;
}
/* === Photo Browser === */
:root {
--f7-photobrowser-bg-color: #fff;
--f7-photobrowser-bars-bg-color: rgba(var(--f7-bars-bg-color-rgb), 0.95);
--f7-photobrowser-bars-text-color: var(--f7-bars-text-color);
--f7-photobrowser-bars-link-color: var(--f7-bars-link-color);
--f7-photobrowser-caption-font-size: 13px;
--f7-photobrowser-caption-font-weight: 500;
--f7-photobrowser-caption-light-text-color: #000;
--f7-photobrowser-caption-dark-text-color: #fff;
--f7-photobrowser-exposed-bg-color: #000;
--f7-photobrowser-dark-bg-color: #000;
--f7-photobrowser-dark-bars-bg-color: rgba(27, 27, 27, 0.8);
--f7-photobrowser-dark-bars-text-color: #fff;
--f7-photobrowser-dark-bars-link-color: #fff;
}
.photo-browser {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 400;
}
.photo-browser-standalone.modal-in {
transition-duration: 0ms;
animation: photo-browser-in 400ms;
}
.photo-browser-standalone.modal-out {
transition-duration: 0ms;
animation: photo-browser-out 400ms !important;
}
.photo-browser-standalone.modal-out.swipe-close-to-bottom,
.photo-browser-standalone.modal-out.swipe-close-to-top {
animation: none !important;
}
.photo-browser-standalone.photo-browser-transitioning {
transition: 400ms;
animation: none !important;
}
.photo-browser-popup.modal-out.swipe-close-to-bottom,
.photo-browser-popup.modal-out.swipe-close-to-top {
transition-duration: 300ms;
}
.photo-browser-popup.modal-out.swipe-close-to-bottom {
transform: translate3d(0, 100vh, 0);
}
.photo-browser-popup.modal-out.swipe-close-to-top {
transform: translate3d(0, -100vh, 0);
}
.photo-browser-page {
background: none;
}
.photo-browser-page .toolbar {
transform: none;
}
.photo-browser-popup {
background: none;
}
.photo-browser-of {
margin: 0 5px;
}
.photo-browser-captions {
pointer-events: none;
position: absolute;
left: 0;
width: 100%;
bottom: var(--f7-safe-area-bottom);
z-index: 10;
opacity: 1;
transition-duration: 400ms;
}
.photo-browser-captions.photo-browser-captions-exposed {
opacity: 0;
}
.toolbar ~ .toolbar.photo-browser-thumbs {
bottom: calc(var(--f7-toolbar-height) + var(--f7-safe-area-bottom));
}
.page ~ .photo-browser-page:not(.photo-browser-exposed) .toolbar ~ .toolbar.photo-browser-thumbs,
.photo-browser-popup:not(.photo-browser-exposed) .toolbar ~ .toolbar.photo-browser-thumbs,
.photo-browser-standalone:not(.photo-browser-exposed) .toolbar ~ .toolbar.photo-browser-thumbs {
height: var(--f7-toolbar-height);
}
.photo-browser-exposed .toolbar ~ .toolbar.photo-browser-thumbs {
transform: translate3d(0, calc(var(--f7-toolbar-height) + var(--f7-safe-area-bottom, 0)), 0);
}
.photo-browser-exposed .toolbar ~ .toolbar.photo-browser-thumbs .swiper {
height: calc(100% - var(--f7-safe-area-bottom, 0));
}
.navbar + .toolbar.photo-browser-thumbs .swiper {
height: calc(100% - var(--f7-safe-area-bottom, 0));
}
.toolbar ~ .photo-browser-captions {
bottom: calc(var(--f7-toolbar-height) + var(--f7-safe-area-bottom));
transform: translate3d(0, 0px, 0);
}
.toolbar ~ .photo-browser-captions.photo-browser-captions-exposed {
transform: translate3d(0, 0px, 0);
}
.toolbar ~ .toolbar ~ .photo-browser-captions {
bottom: calc(var(--f7-toolbar-height) * 2 + var(--f7-safe-area-bottom));
}
.toolbar ~ .toolbar ~ .photo-browser-captions.photo-browser-captions-exposed {
transform: translate3d(0, var(--f7-toolbar-height), 0);
}
.photo-browser-thumbs {
transition-property: transform, background-color, color;
}
.photo-browser-thumbs .swiper {
width: 100%;
height: 100%;
}
.photo-browser-thumbs .swiper-slide {
width: auto;
display: flex;
align-items: center;
justify-content: center;
}
.photo-browser-thumbs img {
width: auto;
height: 75%;
display: block;
border-radius: 2px;
min-width: 4px;
}
.photo-browser-thumbs .swiper-slide img {
transform: translateX(-4px);
transition-duration: 150ms;
}
.photo-browser-thumbs .swiper-slide-active img {
transform: scale(1.2);
}
.photo-browser-thumbs .swiper-slide-active ~ .swiper-slide img {
transform: translateX(4px);
}
.photo-browser-caption {
box-sizing: border-box;
transition-duration: 400ms;
position: absolute;
bottom: 0;
left: 0;
opacity: 0;
padding: 4px 5px;
width: 100%;
text-align: center;
font-size: var(--f7-photobrowser-caption-font-size);
font-weight: var(--f7-photobrowser-caption-font-weight);
}
@supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
.ios-translucent-bars .photo-browser-caption {
-webkit-backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
backdrop-filter: saturate(180%) blur(var(--f7-bars-translucent-blur));
}
}
.photo-browser-caption:empty {
display: none;
}
.photo-browser-caption.photo-browser-caption-active {
opacity: 1;
}
.photo-browser-captions-light .photo-browser-caption {
color: var(--f7-photobrowser-caption-light-text-color);
}
.photo-browser-captions-dark .photo-browser-caption,
.dark .photo-browser-caption {
color: var(--f7-photobrowser-caption-dark-text-color);
}
.photo-browser-swiper-container {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: hidden;
background: var(--f7-photobrowser-bg-color);
transition: 400ms;
transition-property: background-color;
touch-action: none;
}
.photo-browser-prev.swiper-button-disabled,
.photo-browser-next.swiper-button-disabled {
opacity: 0.3;
pointer-events: none;
}
.photo-browser-slide {
width: 100%;
height: 100%;
position: relative;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
flex-shrink: 0;
box-sizing: border-box;
}
.photo-browser-slide span.swiper-zoom-container {
display: none;
}
.photo-browser-slide img {
width: auto;
height: auto;
max-width: 100%;
max-height: 100%;
display: none;
}
.photo-browser-slide.swiper-slide-active span.swiper-zoom-container,
.photo-browser-slide.swiper-slide-next span.swiper-zoom-container,
.photo-browser-slide.swiper-slide-prev span.swiper-zoom-container {
display: flex;
}
.photo-browser-slide.swiper-slide-active img,
.photo-browser-slide.swiper-slide-next img,
.photo-browser-slide.swiper-slide-prev img {
display: inline;
}
.photo-browser-slide.swiper-slide-active.photo-browser-slide-lazy .preloader,
.photo-browser-slide.swiper-slide-next.photo-browser-slide-lazy .preloader,
.photo-browser-slide.swiper-slide-prev.photo-browser-slide-lazy .preloader {
display: block;
}
.photo-browser-slide iframe {
width: 100%;
height: 100%;
}
.photo-browser-slide .preloader {
display: none;
position: absolute;
width: 42px;
height: 42px;
margin-left: -21px;
margin-top: -21px;
left: 50%;
top: 50%;
}
.navbar-photo-browser .right .link svg,
.navbar-photo-browser .right .link i {
width: 24px;
height: 24px;
display: block;
}
.photo-browser-page .navbar-bg,
.navbar-photo-browser .navbar-bg,
.photo-browser-page .toolbar,
.photo-browser-caption {
background-color: var(--f7-photobrowser-bars-bg-color, rgba(var(--f7-bars-bg-color-rgb), 0.95));
}
.photo-browser-page {
touch-action: none;
}
.photo-browser-page .navbar,
.photo-browser-page .toolbar {
transform: translate3d(0, 0, 0);
transition-duration: 400ms;
color: var(--f7-photobrowser-bars-text-color, var(--f7-bars-text-color));
}
.photo-browser-page .navbar a,
.photo-browser-page .toolbar a {
color: var(--f7-photobrowser-bars-link-color, var(--f7-bars-link-color, var(--f7-theme-color)));
}
.photo-browser-exposed .navbar,
.photo-browser-exposed .toolbar:not(.photo-browser-thumbs) {
opacity: 0;
visibility: hidden;
pointer-events: none;
}
.photo-browser-exposed .toolbar:not(.photo-browser-thumbs) ~ .photo-browser-captions,
.photo-browser-exposed .toolbar ~ .toolbar.photo-browser-thumbs ~ .photo-browser-captions {
transform: translate3d(0, var(--f7-toolbar-height), 0);
}
.photo-browser-exposed .photo-browser-swiper-container {
background: var(--f7-photobrowser-exposed-bg-color);
}
.photo-browser-exposed .photo-browser-thumbs,
.photo-browser-dark .photo-browser-thumbs,
.photo-browser-exposed .toolbar,
.photo-browser-dark .toolbar {
background-color: var(--f7-photobrowser-dark-bars-bg-color);
}
.photo-browser-exposed .photo-browser-caption,
.photo-browser-dark .photo-browser-caption {
color: var(--f7-photobrowser-caption-dark-text-color);
background-color: var(--f7-photobrowser-dark-bars-bg-color);
}
.view.with-photo-browser-page-exposed .navbar {
opacity: 0;
pointer-events: none;
}
.photo-browser-page .toolbar:before,
.photo-browser-page .toolbar:after {
display: none !important;
}
.photo-browser-page-dark .navbar-bg,
.navbar-photo-browser-dark .navbar-bg {
background: var(--f7-photobrowser-dark-bars-bg-color);
}
.photo-browser-page-dark .navbar-bg:before,
.navbar-photo-browser-dark .navbar-bg:before,
.photo-browser-page-dark .navbar-bg:after,
.navbar-photo-browser-dark .navbar-bg:after {
display: none !important;
}
.navbar-photo-browser-dark,
.photo-browser-dark .navbar,
.photo-browser-dark .toolbar,
.photo-browser-page-dark .navbar,
.photo-browser-page-dark .toolbar {
color: var(--f7-photobrowser-dark-bars-text-color);
}
.navbar-photo-browser-dark a,
.photo-browser-dark .navbar a,
.photo-browser-dark .toolbar a,
.photo-browser-page-dark .navbar a,
.photo-browser-page-dark .toolbar a {
color: var(--f7-photobrowser-dark-bars-link-color);
}
.photo-browser-dark .photo-browser-swiper-container,
.photo-browser-page-dark .photo-browser-swiper-container {
background: var(--f7-photobrowser-dark-bg-color);
}
@keyframes photo-browser-in {
0% {
transform: translate3d(0, 0, 0) scale(0.5);
opacity: 0;
}
50% {
transform: translate3d(0, 0, 0) scale(1.05);
opacity: 1;
}
100% {
transform: translate3d(0, 0, 0) scale(1);
opacity: 1;
}
}
@keyframes photo-browser-out {
0% {
transform: translate3d(0, 0, 0) scale(1);
opacity: 1;
}
50% {
transform: translate3d(0, 0, 0) scale(1.05);
opacity: 1;
}
100% {
transform: translate3d(0, 0, 0) scale(0.5);
opacity: 0;
}
}
/* === Notifications === */
:root {
--f7-notification-max-width: 568px;
--f7-notification-subtitle-text-transform: none;
--f7-notification-subtitle-line-height: 1.35;
--f7-notification-text-text-transform: none;
--f7-notification-text-font-weight: 400;
}
.ios {
--f7-notification-margin: 8px;
--f7-notification-padding-horizontal: 10px;
--f7-notification-padding-vertical: 10px;
--f7-notification-border-radius: 12px;
--f7-notification-box-shadow: 0px 5px 25px -10px rgba(0, 0, 0, 0.7);
--f7-notification-icon-size: 20px;
--f7-notification-title-font-size: 13px;
--f7-notification-title-text-transform: uppercase;
--f7-notification-title-line-height: 1.4;
--f7-notification-title-font-weight: 400;
--f7-notification-title-letter-spacing: 0.02em;
--f7-notification-title-right-font-size: 13px;
--f7-notification-subtitle-font-size: 15px;
--f7-notification-subtitle-font-weight: 600;
--f7-notification-text-font-size: 15px;
--f7-notification-text-line-height: 1.2;
--f7-notification-bg-color: rgba(250, 250, 250, 0.95);
--f7-notification-bg-color-rgb: 255, 255, 255;
--f7-notification-title-color: #000;
--f7-notification-title-right-color: rgba(0, 0, 0, 0.45);
--f7-notification-subtitle-color: #000;
--f7-notification-text-color: #000;
}
.ios .dark,
.ios.dark {
--f7-notification-bg-color: rgba(30, 30, 30, 0.95);
--f7-notification-bg-color-rgb: 30, 30, 30;
--f7-notification-title-color: #fff;
--f7-notification-text-color: #fff;
--f7-notification-subtitle-color: #fff;
--f7-notification-title-right-color: rgba(255, 255, 255, 0.55);
}
.md {
--f7-notification-margin: 16px;
--f7-notification-padding-vertical: 20px;
--f7-notification-padding-horizontal: 16px;
--f7-notification-border-radius: 16px;
--f7-notification-box-shadow: none;
--f7-notification-icon-size: 24px;
--f7-notification-title-font-size: 16px;
--f7-notification-title-text-transform: none;
--f7-notification-title-line-height: 1.35;
--f7-notification-title-font-weight: 500;
--f7-notification-title-right-font-size: 12px;
--f7-notification-subtitle-font-size: 14px;
--f7-notification-subtitle-font-weight: 400;
--f7-notification-text-font-size: 14px;
--f7-notification-text-line-height: 1.35;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-notification-title-color: var(--f7-md-on-surface);
--f7-notification-bg-color: var(--f7-md-surface-5);
--f7-notification-text-color: var(--f7-md-on-surface-variant);
--f7-notification-title-right-color: var(--f7-md-on-surface-variant);
--f7-notification-subtitle-color: var(--f7-md-on-surface);
}
.notification {
position: absolute;
left: var(--f7-notification-margin);
top: var(--f7-notification-margin);
width: calc(100% - var(--f7-notification-margin) * 2);
z-index: 20000;
font-size: 14px;
margin: 0;
border: none;
display: none;
box-sizing: border-box;
transition-property: transform;
direction: ltr;
max-width: var(--f7-notification-max-width);
padding: var(--f7-notification-padding-vertical) var(--f7-notification-padding-horizontal);
border-radius: var(--f7-notification-border-radius);
box-shadow: var(--f7-notification-box-shadow);
background: var(--f7-notification-bg-color);
margin-top: var(--f7-safe-area-top);
}
@supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
.ios-translucent-modals .notification {
background-color: rgba(var(--f7-notification-bg-color-rgb), 0.8);
-webkit-backdrop-filter: saturate(180%) blur(20px);
backdrop-filter: saturate(180%) blur(20px);
}
}
@media (min-width: 568px) {
.notification {
left: 50%;
width: var(--f7-notification-max-width);
margin-left: calc(-1 * var(--f7-notification-max-width) / 2);
}
}
.notification-title {
color: var(--f7-notification-title-color, var(--f7-theme-color));
font-size: var(--f7-notification-title-font-size);
text-transform: var(--f7-notification-title-text-transform);
line-height: var(--f7-notification-title-line-height);
font-weight: var(--f7-notification-title-font-weight);
letter-spacing: var(--f7-notification-title-letter-spacing);
}
.notification-subtitle {
color: var(--f7-notification-subtitle-color);
font-size: var(--f7-notification-subtitle-font-size);
text-transform: var(--f7-notification-subtitle-text-transform);
line-height: var(--f7-notification-subtitle-line-height);
font-weight: var(--f7-notification-subtitle-font-weight);
}
.notification-text {
color: var(--f7-notification-text-color);
font-size: var(--f7-notification-text-font-size);
text-transform: var(--f7-notification-text-text-transform);
line-height: var(--f7-notification-text-line-height);
font-weight: var(--f7-notification-text-font-weight);
}
.notification-title-right-text {
color: var(--f7-notification-title-right-color);
font-size: var(--f7-notification-title-right-font-size);
}
.notification-icon {
font-size: 0;
line-height: var(--f7-notification-icon-size);
}
.notification-icon i,
.notification-icon {
width: var(--f7-notification-icon-size) !important;
height: var(--f7-notification-icon-size) !important;
}
.notification-icon i {
font-size: var(--f7-notification-icon-size);
}
.notification-icon img {
height: var(--f7-notification-icon-size);
}
.notification-header {
display: flex;
justify-content: flex-start;
align-items: center;
}
.notification-close-button {
margin-left: auto;
cursor: pointer;
position: relative;
}
.notification-close-button:after {
font-family: 'framework7-core-icons';
font-weight: normal;
font-style: normal;
line-height: 1;
letter-spacing: normal;
text-transform: none;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
-moz-osx-font-smoothing: grayscale;
font-feature-settings: 'liga';
display: block;
width: 100%;
height: 100%;
font-size: 20px;
position: absolute;
left: 50%;
top: 50%;
text-align: center;
}
.ios .notification {
transition-duration: 450ms;
transform: translate3d(0%, -200%, 0);
}
.ios .notification.modal-in {
transform: translate3d(0%, 0%, 0);
opacity: 1;
}
.ios .notification.modal-out {
transform: translate3d(0%, -200%, 0);
}
.ios .notification-icon {
margin-right: 8px;
}
.ios .notification-header + .notification-content {
margin-top: 10px;
}
.ios .notification-title-right-text {
margin-right: 6px;
margin-left: auto;
}
.ios .notification-title-right-text + .notification-close-button {
margin-left: 10px;
}
.ios .notification-close-button {
font-size: 14px;
width: 20px;
height: 20px;
opacity: 0.3;
transition-duration: 300ms;
}
.ios .notification-close-button.active-state {
transition-duration: 0ms;
opacity: 0.1;
}
.ios .notification-close-button:after {
color: #000;
content: 'notification_close_ios';
font-size: 0.65em;
line-height: 44px;
width: 44px;
height: 44px;
margin-left: -22px;
margin-top: -22px;
}
.ios .dark .notification-close-button:after,
.ios.dark .notification-close-button:after {
color: #fff;
}
.md .notification {
transform: translate3d(0, -150%, 0);
}
.md .notification.modal-in {
transition-duration: 500ms;
transform: translate3d(0, 0%, 0);
transition-timing-function: cubic-bezier(0, 0.8, 0.34, 1);
}
.md .notification.modal-in.notification-transitioning {
transition-duration: 200ms;
}
.md .notification.modal-out {
animation: none;
transition-duration: 200ms;
transition-timing-function: ease-in;
transform: translate3d(0, -150%, 0);
}
.md .notification-with-icon .notification-icon {
position: absolute;
left: var(--f7-notification-padding-horizontal);
top: var(--f7-notification-padding-vertical);
}
.md .notification-with-icon .notification-content,
.md .notification-with-icon .notification-header {
margin-left: calc(var(--f7-notification-icon-size) + 16px);
}
.md .notification-icon {
margin-right: 8px;
}
.md .notification-subtitle + .notification-text {
margin-top: 4px;
}
.md .notification-header + .notification-content {
margin-top: 8px;
}
.md .notification-title-right-text {
margin-left: 4px;
}
.md .notification-title-right-text:before {
content: '';
width: 3px;
height: 3px;
border-radius: 50%;
display: inline-block;
vertical-align: middle;
margin-right: 4px;
background: var(--f7-notification-title-right-color);
}
.md .notification-close-button {
width: 16px;
height: 16px;
transition-duration: 300ms;
}
.md .notification-close-button:before,
.md .notification-close-button:after {
width: 48px;
height: 48px;
left: 50%;
top: 50%;
margin-left: -24px;
margin-top: -24px;
}
.md .notification-close-button:after {
color: var(--f7-md-on-surface-variant);
content: 'delete_round_md';
line-height: 48px;
font-size: 24px;
}
@keyframes notification-md-in {
0% {
transform: translate3d(0, -150%, 0);
}
50% {
transform: translate3d(0, 10%, 0);
}
100% {
transform: translate3d(0, 0%, 0);
}
}
/* === Autocomplete === */
:root {
--f7-autocomplete-dropdown-placeholder-color: #a9a9a9;
--f7-autocomplete-dropdown-preloader-size: 20px;
--f7-autocomplete-dropdown-font-size: var(--f7-list-font-size);
/*
--f7-autocomplete-dropdown-selected-bg-color: rgba(var(--f7-theme-color-rgb), 0.2);
*/
}
.ios {
--f7-autocomplete-dropdown-box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.2);
--f7-autocomplete-dropdown-text-matching-font-weight: 600;
--f7-autocomplete-dropdown-bg-color: #fff;
--f7-autocomplete-dropdown-text-color: #000;
--f7-autocomplete-dropdown-text-matching-color: #000;
}
.ios .dark,
.ios.dark {
--f7-autocomplete-dropdown-bg-color: #1c1c1d;
--f7-autocomplete-dropdown-text-color: #fff;
--f7-autocomplete-dropdown-text-matching-color: #fff;
}
.md {
--f7-autocomplete-dropdown-box-shadow: none;
--f7-autocomplete-dropdown-text-matching-font-weight: 500;
--f7-autocomplete-dropdown-text-matching-color: #000;
}
.md .dark,
.md.dark {
--f7-autocomplete-dropdown-text-matching-color: #fff;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-autocomplete-dropdown-bg-color: var(--f7-md-surface-2);
--f7-autocomplete-dropdown-text-color: var(--f7-md-on-surface);
}
.autocomplete-page .autocomplete-found {
display: block;
}
.autocomplete-page .autocomplete-not-found {
display: none;
}
.autocomplete-page .autocomplete-values {
display: block;
}
.autocomplete-page .list ul:empty {
display: none;
}
.autocomplete-preloader:not(.autocomplete-preloader-visible) {
visibility: hidden;
}
.autocomplete-preloader:not(.autocomplete-preloader-visible),
.autocomplete-preloader:not(.autocomplete-preloader-visible) * {
animation: none;
}
.autocomplete-dropdown {
background: var(--f7-autocomplete-dropdown-bg-color);
box-shadow: var(--f7-autocomplete-dropdown-box-shadow);
box-sizing: border-box;
position: absolute;
z-index: 500;
width: 100%;
left: 0;
}
.autocomplete-dropdown .autocomplete-dropdown-inner {
position: relative;
overflow: auto;
-webkit-overflow-scrolling: touch;
height: 100%;
z-index: 1;
}
.autocomplete-dropdown .autocomplete-preloader {
display: none;
position: absolute;
bottom: 100%;
width: var(--f7-autocomplete-dropdown-preloader-size);
height: var(--f7-autocomplete-dropdown-preloader-size);
}
.autocomplete-dropdown .autocomplete-preloader-visible {
display: block;
}
.autocomplete-dropdown .autocomplete-dropdown-placeholder {
color: var(--f7-autocomplete-dropdown-placeholder-color);
}
.autocomplete-dropdown .list {
margin: 0;
color: var(--f7-autocomplete-dropdown-text-color);
font-size: var(--f7-autocomplete-dropdown-font-size);
}
.autocomplete-dropdown .list b {
color: var(--f7-autocomplete-dropdown-text-matching-color);
font-weight: var(--f7-autocomplete-dropdown-text-matching-font-weight);
}
.autocomplete-dropdown .list ul {
background: none !important;
}
.autocomplete-dropdown .list ul:before,
.autocomplete-dropdown .list ul:after {
display: none !important;
}
.autocomplete-dropdown .autocomplete-dropdown-selected {
background: var(--f7-autocomplete-dropdown-selected-bg-color, rgba(var(--f7-theme-color-rgb), 0.2));
}
.searchbar-input-wrap .autocomplete-dropdown {
background-color: var(--f7-searchbar-input-bg-color, var(--f7-searchbar-bg-color));
border-radius: var(--f7-searchbar-input-border-radius);
margin-top: calc(-1 * var(--f7-searchbar-input-height));
top: 100%;
z-index: -1;
}
.searchbar-input-wrap .autocomplete-dropdown .autocomplete-dropdown-inner {
padding-top: var(--f7-searchbar-input-height);
}
.searchbar-input-wrap .autocomplete-dropdown .autocomplete-dropdown-placeholder {
color: var(--f7-searchbar-placeholder-color);
}
.searchbar-input-wrap .autocomplete-dropdown li:last-child {
border-radius: 0 0 var(--f7-searchbar-input-border-radius) var(--f7-searchbar-input-border-radius);
position: relative;
overflow: hidden;
}
.searchbar-input-wrap .autocomplete-dropdown .item-content {
padding-left: calc(var(--f7-searchbar-input-padding-horizontal) + var(--f7-searchbar-input-extra-padding-left, 0px));
}
.ios .autocomplete-dropdown .autocomplete-preloader {
right: 16px;
margin-bottom: 12px;
}
.md .autocomplete-page .navbar .autocomplete-preloader {
margin-right: 8px;
}
.md .autocomplete-popup .navbar .autocomplete-preloader {
margin-left: 8px;
margin-right: 16px;
}
.md .autocomplete-dropdown .autocomplete-preloader {
right: 16px;
margin-bottom: 8px;
}
.md .autocomplete-dropdown .autocomplete-preloader circle {
stroke-width: 3;
}
/* === Tooltip === */
:root {
--f7-tooltip-padding: 8px 16px;
--f7-tooltip-font-size: 14px;
--f7-tooltip-font-weight: 500;
--f7-tooltip-desktop-padding: 6px 8px;
--f7-tooltip-desktop-font-size: 12px;
}
.ios {
--f7-tooltip-border-radius: 4px;
--f7-tooltip-bg-color: rgba(0, 0, 0, 0.87);
--f7-tooltip-text-color: #fff;
}
.md {
--f7-tooltip-border-radius: 8px;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-tooltip-bg-color: var(--f7-md-secondary);
--f7-tooltip-text-color: var(--f7-md-on-secondary);
}
.tooltip {
position: absolute;
z-index: 20000;
background: var(--f7-tooltip-bg-color);
border-radius: var(--f7-tooltip-border-radius);
padding: var(--f7-tooltip-padding);
color: var(--f7-tooltip-text-color);
font-size: var(--f7-tooltip-font-size);
font-weight: var(--f7-tooltip-font-weight);
box-sizing: border-box;
line-height: 1.2;
opacity: 0;
transform: scale(0.9);
transition-duration: 150ms;
transition-property: opacity, transform;
z-index: 99000;
}
.tooltip.tooltip-in {
transform: scale(1);
opacity: 1;
}
.tooltip.tooltip-out {
opacity: 0;
transform: scale(1);
}
.device-desktop .tooltip {
font-size: var(--f7-tooltip-desktop-font-size);
padding: var(--f7-tooltip-desktop-padding);
}
/* === Gauge === */
.gauge {
position: relative;
text-align: center;
margin-left: auto;
margin-right: auto;
display: inline-block;
}
.gauge-svg,
.gauge svg {
max-width: 100%;
height: auto;
}
.gauge-svg circle,
.gauge svg circle,
.gauge-svg path,
.gauge svg path {
transition-duration: 400ms;
}
/* === Skeleton === */
:root {
--skeleton-color: #ccc;
--skeleton-icon-color: rgba(0, 0, 0, 0.25);
}
.skeleton-block {
height: 1em;
background: var(--skeleton-color) !important;
width: 100%;
display: block;
}
@font-face {
font-family: "skeleton";
src: url("data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAYAAA0AAAAAESgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABMAAAABoAAAAclcTxx09TLzIAAAFMAAAASwAAAGBRtV1jY21hcAAAAZgAAAC9AAABamglddJjdnQgAAACWAAAAAQAAAAEABEBRGdhc3AAAAJcAAAACAAAAAj//wADZ2x5ZgAAAmQAAACTAAAJdL6KsfZoZWFkAAAC+AAAAC4AAAA2GgvLb2hoZWEAAAMoAAAAGgAAACQC8ADFaG10eAAAA0QAAAATAAAAtAMAABFsb2NhAAADWAAAAK4AAACuaF5mEm1heHAAAAQIAAAAHwAAACAAmgA5bmFtZQAABCgAAAE5AAACNKbyxURwb3N0AAAFZAAAAJkAAADOCL0Ic3icY2BgYGQAgts30q6A6DvfXCthNABZwwgPAAB4nGNgYWRgnMDAysDA6MOYxsDA4A6lvzJIMrQwMDAxsHIywAAjAxIISHNNYWhgUGCoZTzw/wCDHuMBBgeYGsYDQB4DUI4RAOnYC70AeJxjYGBgZoBgGQZGBhBIAfIYwXwWBg8gzcfAwcDEwMagxKDFYM0QyxDPUPv/P1BcgUGNQYfBEchP/P///+P/D/7f/3/r/83/N6DmIAFGNga4ICMTkGBCVwB0AgsrkMHGzsHJxcDNw8vHLyAoJCwiKiYuISkFViMtIysnr6CopKyiqqauoamlraOrp29gaGRsYmpmzmDBYGllbWNrZ+/g6OTs4urm7uHp5e3j6+cfEBgUHBKK7iL6AwBJLiG7AAAAABEBRAAAAAH//wACeJztzrENwjAUBNA7O4nrXzBAREEHEm5dsERWyApZIStkBip7ggzCCmyAEmxCQYNESfG7r3un04eBAJjYwcLhGIlTSK7C/Ryb+haSNflEtCWuS5xcw0dILLkXLwcvexmHvme3XIU+rxFYZ4Jz3sROWiEuBgug9tXMh7lN21djxbu1Nf/pZzU1NTU1NbWf7QnZ5mwOAHicY2BkYGAAYrZdrHLx/DZfGbiZGEDgzjfXSgT9/wAjA+MBIJeDASwNAA4cCj0AAHicY2BkYGA88P8Agx6QAQSMYIQCWABQZgK3AAB4nGNkYBBkAAJGKB4KAAAOfQAVAAAAACoAKgAqADgARgBUAGIAcAB+AIwAmgCoALYAxADYAOYA9AECARABHgEsAToBSAFWAWQBcgGAAY4BnAGqAbgBxgHUAeIB8AH+AgwCGgIoAjYCRAJSAmACbgJ8AooCmAKmArQCwgLQAt4C7AL6AwgDFgMkAzIDQANOA1wDagN4A4YDlAOiA7ADvgPMA9oD6AP2BAQEEgQgBC4EPARKBFgEZgR0BIIEkASeBKwEugAAeJxjYGRgYAhj4GBgYgABEMnIABJzYNADCQAADScA1AB4nH2PvW7CMBSFj/krXSpeoJKHDiAR6mRAFStSVIkFMWToFhErWCQkMmFAVR+hax+hY5+vY0+MWTqQ6Mqfj4/vPQbwgB8IXL4xNp4Fhvj03MEdvj138YRfzz0MxbPnPkbizfOA+gedonfP3drdallghHfPHc798tzFKzNcuMc+j577kOLF84D6HktUqHGGhUGOHRpIZt5iwjWCYoWYkhMUSJHRVbIslRXdKanVS/Yw7hTLqj5bk+8aOd5OZKSicCqTIs1Maaxc7VJbpGVtMjqP2EPzuubQCgcKe13opiJtKOY4ud6WW52fipQQO2PjVkuHdilnzCmxYP1veVHbNwSYs64vQlwdmriyuZbRTMmFvI4mRmEwD9rcNxMmFC0Nxs9R/EOXRLk0SLQ9GjZUKpwppeStbn/Mg1tYAAAAeJxdzlkzggEARuGn1EXUWEJFubJU1iyRJcbQJoRC9t/dn8k3XXZu3plz8c4RNmI4kAkmZJzXkQ2bEBEVM2lKXMK0GbPmJM1bsCglHTwsWZaVs2LVmnUb8gqKNm3ZtmPXnpJ9Bw4dKTt2ouLUmXMXqi5duXbjVk1dQ1PLnbZ7Dx51PHn2oqsXdL151/fh05dvP379/QOXKRMwAAAA") format("woff");
font-weight: 100, 200, 300, 400, 500, 600, 700, 800, 900;
font-style: normal, italic;
font-display: block;
}
.skeleton-text {
font-family: "skeleton" !important;
-webkit-user-select: none;
user-select: none;
}
.skeleton-text, .skeleton-text * {
color: var(--skeleton-color) !important;
letter-spacing: -0.03em !important;
}
.skeleton-image {
display: inline-block;
}
.skeleton-image svg {
max-width: 100%;
height: auto;
}
.skeleton-image polygon {
fill: var(--skeleton-color);
}
.skeleton-image path {
fill: var(--skeleton-icon-color);
}
.skeleton-avatar {
display: inline-block;
}
.skeleton-avatar svg {
max-width: 100%;
height: auto;
}
.skeleton-avatar rect {
fill: var(--skeleton-color);
}
.skeleton-avatar path {
fill: var(--skeleton-icon-color);
}
.skeleton-effect-blink, .skeleton-effect-wave {
-webkit-mask-image: linear-gradient(to right, transparent 0%, black 25%, black 75%, transparent 100%);
mask-image: linear-gradient(to right, transparent 0%, black 25%, black 75%, transparent 100%);
-webkit-mask-size: 200% 100%;
mask-size: 200% 100%;
-webkit-mask-repeat: repeat;
mask-repeat: repeat;
-webkit-mask-position: 50% top;
mask-position: 50% top;
animation: skeleton-effect-wave 1s infinite;
}
.skeleton-effect-fade {
animation: skeleton-effect-fade 1s infinite;
}
.skeleton-effect-pulse {
animation: skeleton-effect-pulse 1s infinite;
}
@keyframes skeleton-effect-fade {
0% {
opacity: 1;
}
50% {
opacity: 0.2;
}
100% {
opacity: 1;
}
}
@keyframes skeleton-effect-wave {
0% {
-webkit-mask-position: 50% top;
mask-position: 50% top;
}
100% {
-webkit-mask-position: -150% top;
mask-position: -150% top;
}
}
@keyframes skeleton-effect-pulse {
0% {
transform: scale(1);
}
40% {
transform: scale(1);
}
50% {
transform: scale(0.975);
}
100% {
transform: scale(1);
}
}
:root {
--skeleton-color: #ccc;
--skeleton-icon-color: rgba(0, 0, 0, 0.25);
}
.dark {
--skeleton-color: #515151;
--skeleton-icon-color: rgba(255, 255, 255, 0.25);
}
/* === Color Picker === */
:root {
--f7-color-picker-popover-width: 350px;
--f7-color-picker-slider-size: 6px;
--f7-color-picker-slider-knob-size: 16px;
--f7-color-picker-bar-size: 50px;
--f7-color-picker-bar-min-height: 260px;
--f7-color-picker-value-width: 64px;
--f7-color-picker-value-height: 32px;
--f7-color-picker-value-font-size: 16px;
--f7-color-picker-value-border-radius: 4px;
--f7-color-picker-hex-value-width: 84px;
--f7-color-picker-label-font-size: 14px;
--f7-color-picker-label-width: 10px;
--f7-color-picker-label-height: 14px;
--f7-color-picker-sb-spectrum-height: 260px;
--f7-color-picker-sb-spectrum-handle-size: 16px;
--f7-color-picker-wheel-width: 330px;
--f7-color-picker-palette-value-width: 36px;
--f7-color-picker-palette-value-height: 36px;
--f7-color-picker-initial-current-color-height: 40px;
--f7-color-picker-initial-current-color-border-radius: 4px;
--f7-color-picker-sheet-bg-color: #fff;
--f7-color-picker-popup-bg-color: #fff;
--f7-color-picker-value-bg-color: rgba(0, 0, 0, 0.05);
--f7-color-picker-group-bg-color: rgba(0, 0, 0, 0.05);
--f7-color-picker-group-value-bg-color: #fff;
}
:root .dark,
:root.dark {
--f7-color-picker-sheet-bg-color: #121212;
--f7-color-picker-popup-bg-color: #121212;
--f7-color-picker-value-bg-color: rgba(255, 255, 255, 0.1);
--f7-color-picker-group-bg-color: #000;
--f7-color-picker-group-value-bg-color: rgba(255, 255, 255, 0.12);
}
.color-picker {
overflow: hidden;
width: 100%;
display: flex;
flex-direction: column;
}
.color-picker.color-picker-inline,
.color-picker-popover .color-picker,
.color-picker-popup .color-picker {
position: relative;
}
.color-picker-sheet-modal {
background: var(--f7-color-picker-sheet-bg-color);
}
.color-picker-sheet-modal:before {
z-index: 600;
}
.color-picker-sheet-modal .sheet-modal-inner {
margin-bottom: var(--f7-safe-area-bottom);
}
.color-picker-popup .page {
background: var(--f7-color-picker-popup-bg-color);
}
.color-picker-popup .page-content {
padding-bottom: var(--f7-safe-area-bottom);
}
.color-picker-popover .color-picker,
.color-picker-popup .color-picker,
.color-picker-page .color-picker {
height: 100%;
}
.color-picker-popover .color-picker .toolbar,
.color-picker-popup .color-picker .toolbar,
.color-picker-page .color-picker .toolbar {
position: absolute;
}
.color-picker-popover {
width: var(--f7-color-picker-popover-width);
max-width: 90vw;
max-height: 80vh;
}
.md .color-picker-popover .popover-inner {
padding: 8px;
}
.color-picker-popover .color-picker {
max-height: 80vh;
}
.color-picker-popover .toolbar-top {
border-top-left-radius: var(--f7-popover-border-radius);
border-top-right-radius: var(--f7-popover-border-radius);
}
.color-picker-popover .color-picker-module-palette {
overflow: hidden;
flex-shrink: 0;
}
.color-picker-popover .color-picker-module-palette:first-child {
border-top-left-radius: var(--f7-popover-border-radius);
border-top-right-radius: var(--f7-popover-border-radius);
}
.color-picker-popover .color-picker-module-palette:last-child {
border-bottom-left-radius: var(--f7-popover-border-radius);
border-bottom-right-radius: var(--f7-popover-border-radius);
}
.color-picker-popover .color-picker-module-palette:first-child:last-child {
border-radius: var(--f7-popover-border-radius);
}
.color-picker-popover .toolbar ~ .page-content .color-picker-module-palette:first-child {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.color-picker-popup .page-content,
.color-picker-popover .page-content,
.color-picker-sheet-modal .page-content,
.color-picker-page .page-content {
display: flex;
justify-content: flex-start;
align-items: stretch;
flex-direction: column;
overflow-x: hidden;
}
.color-picker-module {
margin-top: 5px;
}
.color-picker-module:last-child {
margin-bottom: 5px;
}
.color-picker-module-sb-spectrum,
.color-picker-module-hs-spectrum {
margin-left: 10px;
margin-right: 10px;
}
.color-picker-module-sb-spectrum:first-child,
.color-picker-module-hs-spectrum:first-child {
margin-top: 10px;
}
.color-picker-module-sb-spectrum .color-picker-sb-spectrum,
.color-picker-module-hs-spectrum .color-picker-sb-spectrum,
.color-picker-module-sb-spectrum .color-picker-hs-spectrum,
.color-picker-module-hs-spectrum .color-picker-hs-spectrum {
height: var(--f7-color-picker-sb-spectrum-height);
}
.ios .color-picker-module-sb-spectrum .color-picker-sb-spectrum,
.ios .color-picker-module-hs-spectrum .color-picker-sb-spectrum,
.ios .color-picker-module-sb-spectrum .color-picker-hs-spectrum,
.ios .color-picker-module-hs-spectrum .color-picker-hs-spectrum {
border-radius: 4px;
}
.md .color-picker-module-sb-spectrum .color-picker-sb-spectrum,
.md .color-picker-module-hs-spectrum .color-picker-sb-spectrum,
.md .color-picker-module-sb-spectrum .color-picker-hs-spectrum,
.md .color-picker-module-hs-spectrum .color-picker-hs-spectrum {
border-radius: 12px;
}
.md .color-picker-module-sb-spectrum .color-picker-sb-spectrum::after,
.md .color-picker-module-hs-spectrum .color-picker-sb-spectrum::after,
.md .color-picker-module-sb-spectrum .color-picker-hs-spectrum::after,
.md .color-picker-module-hs-spectrum .color-picker-hs-spectrum::after {
border-radius: inherit;
}
.color-picker-sb-spectrum {
background-color: #000;
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, #000 100%), linear-gradient(to left, rgba(255, 255, 255, 0) 0%, #fff 100%);
position: relative;
}
.color-picker-hs-spectrum {
position: relative;
background-image: linear-gradient(to right, hsl(0, 100%, 50%), hsl(60, 100%, 50%), hsl(120, 100%, 50%), hsl(180, 100%, 50%), hsl(240, 100%, 50%), hsl(300, 100%, 50%), hsl(0, 100%, 50%));
}
.color-picker-hs-spectrum:after {
content: '';
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), #ffffff);
}
.color-picker-sb-spectrum-handle,
.color-picker-hs-spectrum-handle {
width: 4px;
height: 4px;
position: absolute;
left: -2px;
top: -2px;
z-index: 1;
}
.color-picker-sb-spectrum-handle:after,
.color-picker-hs-spectrum-handle:after {
background-color: inherit;
content: '';
position: absolute;
width: var(--f7-color-picker-sb-spectrum-handle-size);
height: var(--f7-color-picker-sb-spectrum-handle-size);
border: 1px solid #fff;
border-radius: 50%;
box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.5);
box-sizing: border-box;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
transition: 150ms;
transition-property: transform;
transform-origin: center;
}
.color-picker-sb-spectrum-handle.color-picker-sb-spectrum-handle-pressed:after,
.color-picker-hs-spectrum-handle.color-picker-sb-spectrum-handle-pressed:after,
.color-picker-sb-spectrum-handle.color-picker-hs-spectrum-handle-pressed:after,
.color-picker-hs-spectrum-handle.color-picker-hs-spectrum-handle-pressed:after {
transform: scale(1.5) translate(-33.333%, -33.333%);
}
.color-picker-module-wheel {
margin-left: 10px;
margin-right: 10px;
}
.color-picker-wheel {
position: relative;
width: var(--f7-color-picker-wheel-width);
max-width: 100%;
height: auto;
font-size: 0;
margin-left: auto;
margin-right: auto;
}
.color-picker-wheel svg {
width: 100%;
height: auto;
}
.color-picker-wheel .color-picker-wheel-handle {
width: 16.66666667%;
height: 16.66666667%;
position: absolute;
box-sizing: border-box;
border: 2px solid #fff;
box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
background: red;
border-radius: 50%;
left: 0;
top: 0;
}
.color-picker-wheel .color-picker-sb-spectrum {
width: 45%;
height: 45%;
left: 50%;
top: 50%;
transform: translate3d(-50%, -50%, 0);
position: absolute;
}
.color-picker-slider-wrap {
display: flex;
align-items: center;
margin-bottom: 2px;
}
.color-picker-slider-wrap + .color-picker-slider-wrap {
margin-top: 5px;
}
.color-picker-hex-wrap {
justify-content: space-between;
display: flex;
align-items: center;
}
.color-picker-slider-label,
.color-picker-hex-label {
font-size: var(--f7-color-picker-label-font-size);
width: var(--f7-color-picker-label-size);
flex-shrink: 0;
margin-right: 12px;
}
.color-picker-hex-label {
width: auto;
}
.color-picker-bar-value,
.color-picker-slider-value,
.color-picker-hex-value {
width: var(--f7-color-picker-value-width);
height: var(--f7-color-picker-value-height);
background: var(--f7-color-picker-value-bg-color);
border-radius: var(--f7-color-picker-value-border-radius);
text-align: center;
font-size: var(--f7-color-picker-value-font-size);
display: flex;
justify-content: center;
align-items: center;
flex-shrink: 0;
margin-left: 10px;
}
.color-picker-bar-value input,
.color-picker-slider-value input,
.color-picker-hex-value input {
width: 100%;
height: 100%;
-webkit-appearance: none;
appearance: none;
border: none;
outline: 0;
background: transparent;
color: inherit;
font-family: inherit;
font-size: inherit;
text-align: center;
display: block;
border-radius: 4px;
}
.color-picker-bar-value input::-webkit-inner-spin-button,
.color-picker-slider-value input::-webkit-inner-spin-button,
.color-picker-hex-value input::-webkit-inner-spin-button,
.color-picker-bar-value input::-webkit-outer-spin-button,
.color-picker-slider-value input::-webkit-outer-spin-button,
.color-picker-hex-value input::-webkit-outer-spin-button {
-webkit-appearance: none;
appearance: none;
margin: 0;
display: none;
}
.color-picker-hex-value {
width: var(--f7-color-picker-hex-value-width);
}
.color-picker-hex-value:first-child {
margin-left: auto;
}
.color-picker-slider {
--f7-range-bar-active-bg-color: transparent;
--f7-range-bar-size: var(--f7-color-picker-slider-size);
--f7-range-bar-border-radius: var(--f7-color-picker-slider-size);
--f7-range-knob-size: var(--f7-color-picker-slider-knob-size);
--f7-range-knob-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.color-picker-slider .range-knob {
transition-duration: 200ms;
transition-property: transform;
}
.color-picker-slider .range-knob:after {
width: 30px;
height: 30px;
margin-left: -16px;
margin-top: -16px;
}
.color-picker-slider .range-knob-active-state .range-knob {
transform: scale(1.5);
}
.md .color-picker-slider.range-slider-min:not(.range-slider-dual) .range-knob {
background: var(--f7-range-knob-color) !important;
border: none;
}
.color-picker-module-rgb-bars {
display: flex;
justify-content: space-around;
justify-content: space-evenly;
align-items: stretch;
height: 100%;
min-height: var(--f7-color-picker-bar-min-height);
padding-bottom: 10px;
padding-top: 10px;
box-sizing: border-box;
}
.color-picker-bar-wrap {
display: flex;
align-items: center;
flex-direction: column-reverse;
}
.color-picker-bar {
--f7-range-bar-active-bg-color: transparent;
--f7-range-bar-size: var(--f7-color-picker-bar-size);
--f7-range-bar-border-radius: 2px;
--f7-range-knob-size: 6px;
--f7-range-knob-box-shadow: 0 0px 3px rgba(0, 0, 0, 0.3);
--f7-range-knob-color: #fff;
}
.color-picker-bar .range-knob {
transition-duration: 0ms;
transition-property: transform;
border-radius: 3px;
}
.color-picker-bar .range-knob-wrap {
height: 6px;
width: calc(var(--f7-color-picker-bar-size) - 4px);
margin-left: calc(-0.5 * (var(--f7-color-picker-bar-size) - 4px));
}
.color-picker-bar .range-knob-active-state .range-knob {
transform: scale(1);
}
.md .color-picker-bar.range-slider-min:not(.range-slider-dual) .range-knob {
background: var(--f7-range-knob-color) !important;
border: none;
}
.color-picker-bar-label {
font-size: var(--f7-color-picker-label-size);
margin-top: 12px;
line-height: 1;
height: var(--f7-color-picker-label-height);
flex-shrink: 0;
}
.color-picker-bar-value {
margin-left: 0;
margin-bottom: 10px;
}
.color-picker-slider-alpha {
--f7-range-knob-color: #fff;
}
.color-picker-slider-alpha .range-bar {
background-image: linear-gradient(to right, rgba(0, 0, 0, 0), #000), linear-gradient(to right, rgba(255, 255, 255, 0.2) 50%, rgba(0, 0, 0, 0.2) 50%), linear-gradient(to left, rgba(255, 255, 255, 0.2) 50%, rgba(0, 0, 0, 0.2) 50%);
background-size: 100% 100%,
6px 3px,
6px 3px;
background-position: 0 0,
0px 3px,
0 0;
background-repeat: repeat-y, repeat-x, repeat-x;
}
.color-picker-slider-hue .range-bar {
background-image: linear-gradient(to right, hsl(0, 100%, 50%), hsl(60, 100%, 50%), hsl(120, 100%, 50%), hsl(180, 100%, 50%), hsl(240, 100%, 50%), hsl(300, 100%, 50%), hsl(0, 100%, 50%));
}
.color-picker-slider-brightness .range-bar {
background-image: linear-gradient(to right, #000, #fff);
}
.color-picker-module-palette {
margin-top: 16px;
}
.color-picker-module-palette:first-child {
margin-top: 0;
}
.color-picker-module-palette:last-child {
margin-bottom: 0;
}
.color-picker-module-palette:first-child:last-child {
margin: 0;
}
.color-picker-palette {
display: flex;
flex-wrap: wrap;
}
.color-picker-palette-row {
width: 100%;
display: flex;
flex-wrap: nowrap;
}
.color-picker-palette-row .color-picker-palette-value {
width: 100%;
}
.color-picker-palette-value {
width: var(--f7-color-picker-palette-value-width);
height: var(--f7-color-picker-palette-value-height);
cursor: pointer;
}
.color-picker-module-initial-current-colors,
.color-picker-module-current-color {
margin-left: 10px;
margin-right: 10px;
border-radius: var(--f7-color-picker-initial-current-color-border-radius);
overflow: hidden;
flex-shrink: 0;
}
.color-picker-initial-color,
.color-picker-current-color {
height: var(--f7-color-picker-initial-current-color-height);
}
.color-picker-initial-current-colors {
display: flex;
}
.color-picker-initial-current-colors .color-picker-initial-color,
.color-picker-initial-current-colors .color-picker-current-color {
width: 50%;
}
.color-picker-module-rgb-sliders,
.color-picker-module-hsb-sliders,
.color-picker-module-alpha-slider,
.color-picker-module-hue-slider,
.color-picker-module-brightness-slider,
.color-picker-module-hex {
margin-left: 10px;
margin-right: 10px;
}
.color-picker-grouped-modules .color-picker-module-rgb-sliders,
.color-picker-grouped-modules .color-picker-module-hsb-sliders,
.color-picker-grouped-modules .color-picker-module-alpha-slider,
.color-picker-grouped-modules .color-picker-module-hue-slider,
.color-picker-grouped-modules .color-picker-module-brightness-slider,
.color-picker-grouped-modules .color-picker-module-hex {
background: var(--f7-color-picker-group-bg-color);
padding: 8px;
border-radius: 8px;
margin-top: 16px;
margin-left: 8px;
margin-right: 8px;
}
.color-picker-grouped-modules .color-picker-module-rgb-sliders:last-child,
.color-picker-grouped-modules .color-picker-module-hsb-sliders:last-child,
.color-picker-grouped-modules .color-picker-module-alpha-slider:last-child,
.color-picker-grouped-modules .color-picker-module-hue-slider:last-child,
.color-picker-grouped-modules .color-picker-module-brightness-slider:last-child,
.color-picker-grouped-modules .color-picker-module-hex:last-child {
margin-bottom: 16px;
}
.color-picker-grouped-modules .color-picker-slider-value,
.color-picker-grouped-modules .color-picker-hex-value {
background: var(--f7-color-picker-group-value-bg-color);
}
.color-picker-grouped-modules .color-picker-slider-label,
.color-picker-grouped-modules .color-picker-hex-label {
margin-left: 5px;
}
.color-picker-grouped-modules .color-picker-module-rgb-sliders .range-slider:first-child,
.color-picker-grouped-modules .color-picker-module-hsb-sliders .range-slider:first-child,
.color-picker-grouped-modules .color-picker-module-alpha-slider .range-slider:first-child,
.color-picker-grouped-modules .color-picker-module-hue-slider .range-slider:first-child,
.color-picker-grouped-modules .color-picker-module-brightness-slider .range-slider:first-child {
margin-left: 5px;
}
.color-picker-grouped-modules .color-picker-module-rgb-sliders .range-slider:last-child,
.color-picker-grouped-modules .color-picker-module-hsb-sliders .range-slider:last-child,
.color-picker-grouped-modules .color-picker-module-alpha-slider .range-slider:last-child,
.color-picker-grouped-modules .color-picker-module-hue-slider .range-slider:last-child,
.color-picker-grouped-modules .color-picker-module-brightness-slider .range-slider:last-child {
margin-right: 5px;
}
/* === Treeview === */
:root {
--f7-treeview-item-height: 34px;
--f7-treeview-item-padding-left: 16px;
--f7-treeview-item-padding-right: 16px;
--f7-treeview-toggle-size: 24px;
--f7-treeview-children-offset: 29px;
--f7-treeview-label-font-weight: 400;
--f7-treeview-label-text-color: inherit;
--f7-treeview-icon-size: 24px;
/*
--f7-treeview-selectable-selected-bg-color: rgba(var(--f7-theme-color-rgb), 0.2);
*/
--f7-treeview-toggle-color: rgba(0, 0, 0, 0.5);
--f7-treeview-toggle-hover-bg-color: rgba(0, 0, 0, 0.1);
--f7-treeview-toggle-pressed-bg-color: rgba(0, 0, 0, 0.15);
--f7-treeview-icon-color: rgba(0, 0, 0, 0.5);
--f7-treeview-selectable-hover-bg-color: rgba(0, 0, 0, 0.1);
--f7-treeview-link-hover-bg-color: rgba(0, 0, 0, 0.1);
--f7-treeview-link-pressed-bg-color: rgba(0, 0, 0, 0.15);
}
:root .dark,
:root.dark {
--f7-treeview-toggle-color: rgba(255, 255, 255, 0.5);
--f7-treeview-toggle-hover-bg-color: rgba(255, 255, 255, 0.03);
--f7-treeview-toggle-pressed-bg-color: rgba(255, 255, 255, 0.1);
--f7-treeview-icon-color: rgba(255, 255, 255, 0.75);
--f7-treeview-selectable-hover-bg-color: rgba(255, 255, 255, 0.03);
--f7-treeview-link-hover-bg-color: rgba(255, 255, 255, 0.03);
--f7-treeview-link-pressed-bg-color: rgba(255, 255, 255, 0.11);
}
.ios {
--f7-treeview-label-font-size: 17px;
}
.md {
--f7-treeview-label-font-size: 16px;
}
.treeview-item-root {
padding-left: var(--f7-treeview-item-padding-left);
padding-right: var(--f7-treeview-item-padding-right);
min-height: var(--f7-treeview-item-height);
display: flex;
align-items: center;
justify-content: flex-start;
}
.treeview-item-content {
display: flex;
justify-content: flex-start;
align-items: center;
}
.treeview-item-content > i,
.treeview-item-content > .f7-icons,
.treeview-item-content > .material-icons {
font-size: var(--f7-treeview-icon-size);
color: var(--f7-treeview-icon-color);
}
.treeview-item-content:first-child {
margin-left: calc(var(--f7-treeview-toggle-size) + 5px);
}
.treeview-item-content > * + * {
margin-left: 5px;
}
.treeview-item-label {
font-size: var(--f7-treeview-label-font-size);
font-weight: var(--f7-treeview-label-font-weight);
color: var(--f7-treeview-label-text-color);
}
.treeview-toggle {
width: var(--f7-treeview-toggle-size);
height: var(--f7-treeview-toggle-size);
cursor: pointer;
border-radius: 4px;
background-color: rgba(0, 0, 0, 0);
transition-duration: 200ms;
position: relative;
margin-right: 5px;
}
.treeview-toggle.active-state {
background-color: var(--f7-treeview-toggle-pressed-bg-color);
}
.treeview-toggle:after {
transition-duration: 200ms;
content: '';
position: absolute;
left: 50%;
top: 50%;
width: 0;
height: 0;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
transform: translate(-50%, -50%);
border-left: 6px solid var(--f7-treeview-toggle-color);
}
.treeview-toggle-hidden {
opacity: 0;
pointer-events: none;
visibility: hidden;
}
.treeview-preloader {
--f7-preloader-size: var(--f7-treeview-toggle-size);
margin-right: calc(-1 * var(--f7-treeview-toggle-size));
}
.treeview-item-children {
display: none;
}
.treeview-item-opened > .treeview-item-children {
display: block;
}
.treeview-item-opened > .treeview-item-root .treeview-toggle:after {
transform: translate(-50%, -50%) rotate(90deg);
}
a.treeview-item-root {
color: var(--f7-treeview-label-text-color);
}
.treeview-item-selectable > .treeview-item-root,
.treeview-item-selectable.treeview-item-root {
cursor: pointer;
transition-duration: 150ms;
}
a.treeview-item-root {
transition-duration: 150ms;
}
a.treeview-item-root.active-state {
background: var(--f7-treeview-link-pressed-bg-color);
}
.treeview-item-toggle > .treeview-item-root,
.treeview-item-toggle.treeview-item-root {
cursor: pointer;
}
.treeview-item-selected > .treeview-item-root,
.treeview-item-selected.treeview-item-root {
background: var(--f7-treeview-selectable-selected-bg-color, rgba(var(--f7-theme-color-rgb), 0.2));
}
.treeview-item .treeview-item .treeview-item-root {
padding-left: calc(var(--f7-treeview-item-padding-left) + var(--f7-treeview-children-offset) * 1);
}
.treeview-item .treeview-item .treeview-item .treeview-item-root {
padding-left: calc(var(--f7-treeview-item-padding-left) + var(--f7-treeview-children-offset) * 2);
}
.treeview-item .treeview-item .treeview-item .treeview-item .treeview-item-root {
padding-left: calc(var(--f7-treeview-item-padding-left) + var(--f7-treeview-children-offset) * 3);
}
.treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item-root {
padding-left: calc(var(--f7-treeview-item-padding-left) + var(--f7-treeview-children-offset) * 4);
}
.treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item-root {
padding-left: calc(var(--f7-treeview-item-padding-left) + var(--f7-treeview-children-offset) * 5);
}
.treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item-root {
padding-left: calc(var(--f7-treeview-item-padding-left) + var(--f7-treeview-children-offset) * 6);
}
.treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item-root {
padding-left: calc(var(--f7-treeview-item-padding-left) + var(--f7-treeview-children-offset) * 7);
}
.treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item-root {
padding-left: calc(var(--f7-treeview-item-padding-left) + var(--f7-treeview-children-offset) * 8);
}
.treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item-root {
padding-left: calc(var(--f7-treeview-item-padding-left) + var(--f7-treeview-children-offset) * 9);
}
.treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item .treeview-item-root {
padding-left: calc(var(--f7-treeview-item-padding-left) + var(--f7-treeview-children-offset) * 10);
}
/* === Stepper === */
:root {
--f7-text-editor-font-size: inherit;
--f7-text-editor-font-weight: inherit;
--f7-text-editor-border-width: 1px;
--f7-text-editor-height: 250px;
--f7-text-editor-margin: 16px;
--f7-text-editor-padding: 8px;
--f7-text-editor-button-bg-color: transparent;
--f7-text-editor-button-size: 28px;
--f7-text-editor-button-icon-size: 20px;
--f7-text-editor-button-margin: 2px;
--f7-text-editor-text-color: #000;
--f7-text-editor-bg-color: #fff;
--f7-text-editor-button-divider-color: rgba(0, 0, 0, 0.15);
}
:root .dark,
:root.dark {
--f7-text-editor-bg-color: #121212;
--f7-text-editor-text-color: #fff;
--f7-text-editor-button-divider-color: rgba(255, 255, 255, 0.15);
}
.ios {
--f7-text-editor-toolbar-padding: 6px;
--f7-text-editor-button-border-radius: 2px;
--f7-text-editor-placeholder-color: rgba(0, 0, 0, 0.35);
--f7-text-editor-toolbar-border-color: rgba(0, 0, 0, 0.25);
--f7-text-editor-toolbar-bg-color: #fff;
--f7-text-editor-border-color: rgba(0, 0, 0, 0.1);
--f7-text-editor-button-text-color: #333;
}
.ios .dark,
.ios.dark {
--f7-text-editor-placeholder-color: rgba(255, 255, 255, 0.35);
--f7-text-editor-toolbar-bg-color: #121212;
--f7-text-editor-toolbar-border-color: rgba(255, 255, 255, 0.1);
--f7-text-editor-toolbar-bg-color: #202020;
--f7-text-editor-border-color: rgba(255, 255, 255, 0.1);
--f7-text-editor-button-text-color: #fff;
}
.md {
--f7-text-editor-button-border-radius: 8px;
--f7-text-editor-toolbar-padding: 8px;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-text-editor-placeholder-color: var(--f7-md-on-surface-variant);
--f7-text-editor-toolbar-bg-color: var(--f7-md-surface-1);
--f7-text-editor-border-color: var(--f7-md-outline);
--f7-text-editor-button-text-color: var(--f7-md-on-surface);
}
.text-editor {
margin: var(--f7-text-editor-margin);
background-color: var(--f7-text-editor-bg-color);
display: block;
position: relative;
border: var(--f7-text-editor-border-width) solid var(--f7-text-editor-border-color);
display: flex;
flex-direction: column;
align-items: stretch;
height: var(--f7-text-editor-height);
box-sizing: border-box;
}
.text-editor.text-editor-resizable {
height: auto;
}
.text-editor-toolbar {
display: flex;
flex-wrap: wrap;
background: var(--f7-text-editor-toolbar-bg-color);
z-index: 100;
position: relative;
position: sticky;
left: 0;
top: 0;
padding: var(--f7-text-editor-toolbar-padding);
flex-shrink: 0;
box-sizing: border-box;
}
.text-editor-toolbar:after {
content: '';
position: absolute;
background-color: var(--f7-text-editor-toolbar-border-color);
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
width: 100%;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--f7-device-pixel-ratio)));
}
button.text-editor-button {
-webkit-appearance: none;
appearance: none;
border: none;
padding: 0;
margin: 0;
outline: 0;
font-family: inherit;
background: transparent;
cursor: pointer;
box-shadow: none;
border-radius: var(--f7-text-editor-button-border-radius);
position: relative;
z-index: 1;
display: flex;
width: auto;
overflow: hidden;
width: var(--f7-text-editor-button-size);
height: var(--f7-text-editor-button-size);
align-items: center;
justify-content: center;
margin: var(--f7-text-editor-button-margin);
box-sizing: border-box;
color: var(--f7-text-editor-button-text-color);
background-color: var(--f7-text-editor-button-bg-color);
flex-shrink: 0;
}
button.text-editor-button i,
button.text-editor-button .f7-icons,
button.text-editor-button .material-icons {
font-size: var(--f7-text-editor-button-icon-size);
font-style: normal;
}
button.text-editor-button i sup,
button.text-editor-button .f7-icons sup,
button.text-editor-button .material-icons sup,
button.text-editor-button i sub,
button.text-editor-button .f7-icons sub,
button.text-editor-button .material-icons sub {
font-size: 60%;
}
.text-editor-button-divider {
width: 1px;
background: var(--f7-text-editor-button-divider-color);
margin: 0 2px;
flex-shrink: 0;
}
.text-editor-content {
-webkit-user-modify: read-write;
-webkit-appearance: none;
appearance: none;
border: none;
outline: 0;
height: 100%;
-webkit-user-select: text;
user-select: text;
padding: var(--f7-text-editor-padding);
overflow: auto;
flex-shrink: 10;
box-sizing: border-box;
color: var(--f7-text-editor-text-color);
font-size: var(--f7-text-editor-font-size);
font-weight: var(--f7-text-editor-font-weight);
}
.text-editor-content .text-editor-placeholder {
pointer-events: none;
color: var(--f7-text-editor-placeholder-color);
}
.text-editor-content img {
max-width: 100%;
}
.text-editor-content a {
pointer-events: none;
}
.text-editor-popover {
z-index: 12500;
width: auto;
max-width: 80vw;
}
.text-editor-popover .popover-inner {
display: flex;
flex-wrap: wrap;
padding: 3px;
}
.text-editor-keyboard-toolbar {
position: absolute;
z-index: 6000;
--f7-safe-area-bottom: 0px;
}
.text-editor-keyboard-toolbar .toolbar-inner {
justify-content: flex-start !important;
overflow: auto;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
scrollbar-color: transparent;
}
.text-editor-keyboard-toolbar .toolbar-inner::-webkit-scrollbar {
-webkit-appearance: none;
appearance: none;
width: 0px;
display: none;
opacity: 0;
background: transparent;
}
.text-editor-keyboard-toolbar .toolbar-inner::-webkit-scrollbar-track {
box-shadow: none;
background: transparent;
}
.text-editor-keyboard-toolbar .toolbar-inner::-webkit-scrollbar-thumb {
background-color: transparent;
outline: none;
border-radius: 9999px;
position: relative;
}
.text-editor-keyboard-toolbar .toolbar-inner .text-editor-button-divider {
height: 100%;
}
.item-input .text-editor {
border: none;
margin: 0;
background-color: var(--f7-input-bg-color, transparent);
}
.item-input .text-editor-content {
padding-top: var(--f7-textarea-padding-vertical);
padding-bottom: var(--f7-textarea-padding-vertical);
padding-left: var(--f7-input-padding-left);
padding-right: var(--f7-input-padding-right);
color: var(--f7-input-text-color);
font-size: var(--f7-input-font-size);
}
.item-input .text-editor-toolbar {
box-shadow: none;
}
.item-input .text-editor-toolbar:after {
display: none !important;
}
.item-input-outline .text-editor-content {
border-radius: var(--f7-input-outline-border-radius);
}
.ios button.text-editor-button {
transition: opacity 300ms;
}
.ios button.text-editor-button.active-state {
opacity: 0.3;
transition-duration: 0ms;
}
.md button.text-editor-button {
--f7-touch-ripple-color: rgba(var(--f7-theme-color-rgb), 0.25);
}
.md .text-editor-keyboard-toolbar .toolbar-inner {
padding-left: 8px;
padding-right: 8px;
}
.pie-chart {
position: relative;
}
.pie-chart svg {
display: block;
width: 100%;
font-size: 0;
height: auto;
margin: 0 auto;
}
.pie-chart path {
transition-duration: 150ms;
}
.pie-chart-hidden {
opacity: 0.4;
}
.pie-chart-tooltip {
pointer-events: none;
text-align: left;
font-size: 12px;
line-height: 1.4;
white-space: nowrap;
width: auto;
max-width: none;
}
.pie-chart-tooltip-label {
display: flex;
align-items: center;
}
.pie-chart-tooltip-color {
display: inline-block;
width: 10px;
height: 10px;
border-radius: 50%;
margin-right: 4px;
}
:root {
--f7-area-chart-current-line-stroke-width: 2px;
--f7-area-chart-current-line-stroke: rgba(0, 0, 0, 0.15);
--f7-area-chart-axis-text-color: inherit;
--f7-area-chart-axis-height: 1px;
--f7-area-chart-axis-font-size: 10px;
--f7-area-chart-axis-font-weight: 500;
--f7-area-chart-tooltip-font-size: 12px;
--f7-area-chart-tooltip-total-font-size: 16px;
--f7-area-chart-tooltip-total-font-weight: bold;
--f7-area-chart-tooltip-color-size: 10px;
--f7-area-chart-legend-font-size: 14px;
--f7-area-chart-legend-font-weight: 500;
--f7-area-chart-legend-text-color: inherit;
--f7-area-chart-legend-padding: 4px 8px;
--f7-area-chart-legend-border-radius: 4px;
--f7-area-chart-legend-color-size: 14px;
--f7-area-chart-line-stroke-width: 2px;
--f7-area-chart-axis-bg-color: rgba(0, 0, 0, 0.15);
--f7-area-chart-legend-disabled-text-color: rgba(0, 0, 0, 0.22);
}
:root .dark,
:root.dark {
--f7-area-chart-axis-bg-color: rgba(255, 255, 255, 0.15);
--f7-area-chart-legend-disabled-text-color: rgba(255, 255, 255, 0.22);
}
.ios {
--f7-area-chart-tooltip-total-label-text-color: rgba(255, 255, 255, 0.75);
}
.md {
--f7-area-chart-tooltip-total-label-text-color: inherit;
}
.area-chart {
position: relative;
}
.area-chart svg {
display: block;
width: 100%;
font-size: 0;
height: auto;
margin: 0 auto;
}
.area-chart path {
fill: none;
stroke-width: var(--f7-area-chart-line-stroke-width);
}
.area-chart-current-line {
stroke: var(--f7-area-chart-current-line-stroke);
stroke-width: var(--f7-area-chart-current-line-stroke-width);
}
.area-chart-axis {
height: var(--f7-area-chart-axis-height);
background: var(--f7-area-chart-axis-bg-color);
color: var(--f7-area-chart-axis-text-color);
display: flex;
font-size: var(--f7-area-chart-axis-font-size);
font-weight: var(--f7-area-chart-axis-font-weight);
justify-content: space-between;
line-height: 1;
margin-bottom: 2em;
}
.area-chart-axis > span {
padding-top: 10px;
width: 0;
display: flex;
align-items: flex-start;
justify-content: center;
white-space: nowrap;
}
.area-chart-axis > span:first-child {
justify-content: flex-start;
}
.area-chart-axis > span:last-child {
justify-content: flex-end;
}
.area-chart-tooltip {
pointer-events: none;
text-align: left;
font-size: var(--f7-area-chart-tooltip-font-size);
line-height: 1.4;
}
.area-chart-tooltip-label {
color: var(--f7-area-chart-tooltip-total-label-text-color);
}
.area-chart-tooltip-total {
font-size: var(--f7-area-chart-tooltip-total-font-size);
font-weight: var(--f7-area-chart-tooltip-total-font-weight);
}
.area-chart-tooltip-list {
list-style: none;
margin: 0;
padding: 0;
}
.area-chart-tooltip-list li {
white-space: nowrap;
}
.area-chart-tooltip-list span {
display: inline-block;
width: var(--f7-area-chart-tooltip-color-size);
height: var(--f7-area-chart-tooltip-color-size);
border-radius: 50%;
margin-right: 4px;
}
.area-chart-axis ~ .area-chart-legend {
margin-top: 2em;
}
.area-chart-legend {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
font-size: var(--f7-area-chart-legend-font-size);
width: 100%;
margin-top: 1em;
}
.area-chart-legend-button {
-webkit-appearance: none !important;
appearance: none !important;
background-color: transparent;
border-radius: 0;
border: none;
outline: 0 !important;
cursor: pointer;
font-family: inherit;
font-size: inherit;
box-shadow: none !important;
}
.area-chart-legend-item {
position: relative;
color: var(--f7-area-chart-legend-text-color);
width: auto;
display: flex;
align-items: center;
font-weight: var(--f7-area-chart-legend-font-weight);
transition-duration: 200ms;
padding: var(--f7-area-chart-legend-padding);
border-radius: var(--f7-area-chart-legend-border-radius);
overflow: hidden;
}
.area-chart-legend-item span {
width: var(--f7-area-chart-legend-color-size);
height: var(--f7-area-chart-legend-color-size);
margin-right: 4px;
border-radius: 50%;
transition-duration: 200ms;
}
.area-chart-legend-item-hidden {
color: var(--f7-area-chart-legend-disabled-text-color);
}
.area-chart-legend-item-hidden span {
background-color: var(--f7-area-chart-legend-disabled-text-color) !important;
}
/* === Breadcrumbs === */
:root {
--f7-breadcrumbs-spacing: 12px;
--f7-breadcrumbs-padding: 2px 0;
--f7-breadcrumbs-icon-size: 24px;
--f7-breadcrumbs-separator-color: rgba(0, 0, 0, 0.35);
}
:root .dark,
:root.dark {
--f7-breadcrumbs-separator-color: rgba(255, 255, 255, 0.35);
}
.ios {
--f7-breadcrumbs-item-bg-color: transparent;
--f7-breadcrumbs-collapsed-border-radius: 4px;
--f7-breadcrumbs-collapsed-padding: 0px 6px;
--f7-breadcrumbs-separator-icon: 'chevron_right_ios';
--f7-breadcrumbs-font-size: 17px;
--f7-breadcrumbs-item-border-radius: 0px;
--f7-breadcrumbs-item-padding: 0px;
--f7-breadcrumbs-item-font-weight: normal;
--f7-breadcrumbs-item-active-font-weight: 600;
--f7-breadcrumbs-item-color: rgba(0, 0, 0, 0.55);
--f7-breadcrumbs-item-active-color: #000;
--f7-breadcrumbs-collapsed-bg-color: rgba(0, 0, 0, 0.15);
--f7-breadcrumbs-collapsed-color: rgba(0, 0, 0, 0.75);
}
.ios .dark,
.ios.dark {
--f7-breadcrumbs-item-color: rgba(255, 255, 255, 0.75);
--f7-breadcrumbs-item-active-color: #fff;
--f7-breadcrumbs-collapsed-bg-color: rgba(255, 255, 255, 0.15);
--f7-breadcrumbs-collapsed-color: rgba(255, 255, 255, 0.75);
}
.md {
--f7-breadcrumbs-collapsed-border-radius: 8px;
--f7-breadcrumbs-collapsed-padding: 12px 8px;
--f7-breadcrumbs-separator-icon: 'chevron_right_md';
--f7-breadcrumbs-font-size: 14px;
--f7-breadcrumbs-item-border-radius: 8px;
--f7-breadcrumbs-item-padding: 4px 8px;
--f7-breadcrumbs-item-font-weight: 500;
--f7-breadcrumbs-item-active-font-weight: 500;
}
.md,
.md .dark,
.md [class*='color-'] {
--f7-breadcrumbs-item-color: var(--f7-theme-color);
--f7-breadcrumbs-item-bg-color: var(--f7-md-secondary-container);
--f7-breadcrumbs-item-active-color: var(--f7-md-on-secondary-container);
--f7-breadcrumbs-collapsed-color: var(--f7-theme-color);
--f7-breadcrumbs-collapsed-bg-color: var(--f7-md-secondary-container);
}
.breadcrumbs {
display: flex;
align-items: center;
justify-content: flex-start;
font-size: var(--f7-breadcrumbs-font-size);
overflow: auto;
white-space: nowrap;
padding: var(--f7-breadcrumbs-padding);
scrollbar-width: none;
scrollbar-color: transparent;
}
.breadcrumbs::-webkit-scrollbar {
-webkit-appearance: none;
appearance: none;
width: 0px;
display: none;
opacity: 0;
background: transparent;
}
.breadcrumbs::-webkit-scrollbar-track {
box-shadow: none;
background: transparent;
}
.breadcrumbs::-webkit-scrollbar-thumb {
background-color: transparent;
outline: none;
border-radius: 9999px;
position: relative;
}
.breadcrumbs-separator,
.breadcrumbs-item,
.breadcrumbs-collapsed {
flex-shrink: 0;
--f7-touch-ripple-color: transparent !important;
}
.breadcrumbs-separator + .breadcrumbs-separator,
.breadcrumbs-separator + .breadcrumbs-item,
.breadcrumbs-separator + .breadcrumbs-collapsed,
.breadcrumbs-item + .breadcrumbs-separator,
.breadcrumbs-item + .breadcrumbs-item,
.breadcrumbs-item + .breadcrumbs-collapsed,
.breadcrumbs-collapsed + .breadcrumbs-separator,
.breadcrumbs-collapsed + .breadcrumbs-item,
.breadcrumbs-collapsed + .breadcrumbs-collapsed {
margin-left: var(--f7-breadcrumbs-spacing);
}
.breadcrumbs-item {
color: var(--f7-breadcrumbs-item-color);
font-weight: var(--f7-breadcrumbs-item-font-weight);
padding: var(--f7-breadcrumbs-item-padding);
background-color: var(--f7-breadcrumbs-item-bg-color);
display: flex;
align-items: center;
border-radius: var(--f7-breadcrumbs-item-border-radius);
}
.breadcrumbs-item .icon {
font-size: var(--f7-breadcrumbs-icon-size);
width: var(--f7-breadcrumbs-icon-size);
height: var(--f7-breadcrumbs-icon-size);
}
.breadcrumbs-item a {
color: inherit;
--f7-touch-ripple-color: transparent !important;
}
.breadcrumbs-item-active {
color: var(--f7-breadcrumbs-item-active-color, var(--f7-breadcrumbs-item-color));
font-weight: var(--f7-breadcrumbs-item-active-font-weight);
}
.breadcrumbs-separator {
color: var(--f7-breadcrumbs-separator-color);
height: 24px;
overflow: hidden;
display: flex;
align-items: center;
}
.breadcrumbs-separator::after {
font-family: 'framework7-core-icons';
font-weight: normal;
font-style: normal;
line-height: 1;
letter-spacing: normal;
text-transform: none;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
-moz-osx-font-smoothing: grayscale;
font-feature-settings: 'liga';
text-align: center;
display: block;
width: 100%;
height: 100%;
font-size: 20px;
content: var(--f7-breadcrumbs-separator-icon);
width: 12px;
}
.ios .breadcrumbs-separator::after {
font-size: 12px;
height: 11px;
}
.md .breadcrumbs-separator::after {
font-size: 18px;
height: 18px;
}
.breadcrumbs-collapsed {
display: flex;
align-items: center;
padding: var(--f7-breadcrumbs-collapsed-padding);
background: var(--f7-breadcrumbs-collapsed-bg-color);
min-height: 1em;
border-radius: var(--f7-breadcrumbs-collapsed-border-radius);
cursor: pointer;
}
.breadcrumbs-collapsed::before,
.breadcrumbs-collapsed::after,
.breadcrumbs-collapsed span {
content: '';
width: 4px;
height: 4px;
background: var(--f7-breadcrumbs-collapsed-color);
border-radius: 50%;
}
.breadcrumbs-collapsed span {
margin: 0 3px;
}
/* === Typography === */
:root {
--f7-typography-padding: 16px;
--f7-typography-margin: 16px;
}
.display-flex {
display: flex !important;
}
.display-block {
display: block !important;
}
.display-inline-flex {
display: inline-flex !important;
}
.display-inline-block {
display: inline-block !important;
}
.display-inline {
display: inline !important;
}
.display-none {
display: none !important;
}
.flex-shrink-0 {
flex-shrink: 0 !important;
}
.flex-shrink-1 {
flex-shrink: 1 !important;
}
.flex-shrink-2 {
flex-shrink: 2 !important;
}
.flex-shrink-3 {
flex-shrink: 3 !important;
}
.flex-shrink-4 {
flex-shrink: 4 !important;
}
.flex-shrink-5 {
flex-shrink: 5 !important;
}
.flex-shrink-6 {
flex-shrink: 6 !important;
}
.flex-shrink-7 {
flex-shrink: 7 !important;
}
.flex-shrink-8 {
flex-shrink: 8 !important;
}
.flex-shrink-9 {
flex-shrink: 9 !important;
}
.flex-shrink-10 {
flex-shrink: 10 !important;
}
.flex-direction-row {
flex-direction: row !important;
}
.flex-direction-row-reverse {
flex-direction: row-reverse !important;
}
.flex-direction-column {
flex-direction: column !important;
}
.flex-direction-column-reverse {
flex-direction: column-reverse !important;
}
.justify-content-flex-start {
justify-content: flex-start !important;
}
.justify-content-center {
justify-content: center !important;
}
.justify-content-flex-end {
justify-content: flex-end !important;
}
.justify-content-space-between {
justify-content: space-between !important;
}
.justify-content-space-around {
justify-content: space-around !important;
}
.justify-content-space-evenly {
justify-content: space-evenly !important;
}
.justify-content-stretch {
justify-content: stretch !important;
}
.justify-content-start {
justify-content: start !important;
}
.justify-content-end {
justify-content: end !important;
}
.justify-content-left {
justify-content: left !important;
}
.justify-content-right {
justify-content: right !important;
}
.align-content-flex-start {
align-content: flex-start !important;
}
.align-content-flex-end {
align-content: flex-end !important;
}
.align-content-center {
align-content: center !important;
}
.align-content-space-between {
align-content: space-between !important;
}
.align-content-space-around {
align-content: space-around !important;
}
.align-content-stretch {
align-content: stretch !important;
}
.align-items-baseline {
align-items: baseline !important;
}
.align-items-flex-start {
align-items: flex-start !important;
}
.align-items-flex-end {
align-items: flex-end !important;
}
.align-items-center {
align-items: center !important;
}
.align-items-stretch {
align-items: stretch !important;
}
.align-self-flex-start {
align-self: flex-start !important;
}
.align-self-flex-end {
align-self: flex-end !important;
}
.align-self-center {
align-self: center !important;
}
.align-self-stretch {
align-self: stretch !important;
}
.text-align-left {
text-align: left !important;
}
.text-align-center {
text-align: center !important;
}
.text-align-right {
text-align: right !important;
}
.text-align-justify {
text-align: justify !important;
}
.float-left {
float: left !important;
}
.float-right {
float: right !important;
}
.float-none {
float: none !important;
}
.vertical-align-bottom {
vertical-align: bottom !important;
}
.vertical-align-middle {
vertical-align: middle !important;
}
.vertical-align-top {
vertical-align: top !important;
}
.no-padding {
padding: 0 !important;
}
.no-padding-left {
padding-left: 0 !important;
}
.no-padding-right {
padding-right: 0 !important;
}
.no-padding-horizontal {
padding-left: 0 !important;
padding-right: 0 !important;
}
.no-padding-top {
padding-top: 0 !important;
}
.no-padding-bottom {
padding-bottom: 0 !important;
}
.no-padding-vertical {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.no-margin {
margin: 0 !important;
}
.no-margin-left {
margin-left: 0 !important;
}
.no-margin-right {
margin-right: 0 !important;
}
.no-margin-horizontal {
margin-left: 0 !important;
margin-right: 0 !important;
}
.no-margin-top {
margin-top: 0 !important;
}
.no-margin-bottom {
margin-bottom: 0 !important;
}
.no-margin-vertical {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
.width-auto {
width: auto !important;
}
.width-100 {
width: 100% !important;
}
.padding {
padding: var(--f7-typography-padding) !important;
}
.padding-half {
padding: calc(var(--f7-typography-padding) / 2) !important;
}
.padding-top {
padding-top: var(--f7-typography-padding) !important;
}
.padding-top-half {
padding-top: calc(var(--f7-typography-padding) / 2) !important;
}
.padding-bottom {
padding-bottom: var(--f7-typography-padding) !important;
}
.padding-bottom-half {
padding-bottom: calc(var(--f7-typography-padding) / 2) !important;
}
.padding-left {
padding-left: var(--f7-typography-padding) !important;
}
.padding-left-half {
padding-left: calc(var(--f7-typography-padding) / 2) !important;
}
.padding-right {
padding-right: var(--f7-typography-padding) !important;
}
.padding-right-half {
padding-right: calc(var(--f7-typography-padding) / 2) !important;
}
.padding-vertical {
padding-top: var(--f7-typography-padding) !important;
padding-bottom: var(--f7-typography-padding) !important;
}
.padding-vertical-half {
padding-top: calc(var(--f7-typography-padding) / 2) !important;
padding-bottom: calc(var(--f7-typography-padding) / 2) !important;
}
.padding-horizontal {
padding-left: var(--f7-typography-padding) !important;
padding-right: var(--f7-typography-padding) !important;
}
.padding-horizontal-half {
padding-left: calc(var(--f7-typography-padding) / 2) !important;
padding-right: calc(var(--f7-typography-padding) / 2) !important;
}
.margin {
margin: var(--f7-typography-margin) !important;
}
.margin-half {
margin: calc(var(--f7-typography-margin) / 2) !important;
}
.margin-top {
margin-top: var(--f7-typography-margin) !important;
}
.margin-top-half {
margin-top: calc(var(--f7-typography-margin) / 2) !important;
}
.margin-bottom {
margin-bottom: var(--f7-typography-margin) !important;
}
.margin-bottom-half {
margin-bottom: calc(var(--f7-typography-margin) / 2) !important;
}
.margin-left {
margin-left: var(--f7-typography-margin) !important;
}
.margin-left-half {
margin-left: calc(var(--f7-typography-margin) / 2) !important;
}
.margin-right {
margin-right: var(--f7-typography-margin) !important;
}
.margin-right-half {
margin-right: calc(var(--f7-typography-margin) / 2) !important;
}
.margin-vertical {
margin-top: var(--f7-typography-margin) !important;
margin-bottom: var(--f7-typography-margin) !important;
}
.margin-vertical-half {
margin-top: calc(var(--f7-typography-margin) / 2) !important;
margin-bottom: calc(var(--f7-typography-margin) / 2) !important;
}
.margin-horizontal {
margin-left: var(--f7-typography-margin) !important;
margin-right: var(--f7-typography-margin) !important;
}
.margin-horizontal-half {
margin-left: calc(var(--f7-typography-margin) / 2) !important;
margin-right: calc(var(--f7-typography-margin) / 2) !important;
}
[class*='text-color-'] {
color: var(--f7-theme-color-text-color) !important;
}
[class*='bg-color-'] {
background-color: var(--f7-theme-color-bg-color) !important;
}
[class*='border-color-'] {
border-color: var(--f7-theme-color-border-color) !important;
}