/*!
 * Copyright 2023 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
@import "../common/base.less";

@material-border-width: 0;
@material-border-radius: 2px;
@material-inline-border-radius: (@material-border-radius - 1px);

.km-material
{
    font-family: "Roboto", Helvetica, Arial, sans-serif;
}

// override transform options for performance
.km-root .km-material.km-pane,
.km-root .km-material .km-view,
.km-root .km-material .km-slider,
.km-root .km-material .km-switch,
.km-root .km-material .km-group-title,
.km-root .km-material .km-filter-reset,
.km-root .km-material .km-shim .k-animation-container
{
    -webkit-transform: none;
}

.km-material,
.km-material *
{
    .box-sizing(border-box);
    .background-clip(border-box);
}

// Revert box/clip for Web widgets
.km-material [class^=k-]
{
    .box-sizing(content-box);
}


.km-material .km-tabstrip .km-button
{
    background: none;
}

// PopUp

.km-material .km-popup .k-popup
{
    font-size: 1em !important;
}

.km-material .km-popup .k-item,
.km-material .km-actionsheet > li > a
{
    text-decoration: none;
    padding: .5em .6em;
    border-radius: 0;
    border-width: 0 0 @material-border-width;
    border-style: solid;
    .box-sizing(border-box);
}

.km-material .km-popup
{
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    .box-sizing(border-box);
}

.km-material .km-popup .k-list-container
{
    width: 100% !important;
    height: auto !important;
}

.km-material .km-actionsheet,
.km-material .km-popup .k-list-container
{
    max-height: 80%;
}

.km-material .km-actionsheet-wrapper,
.km-material .km-popup .k-list-container
{
    bottom: 0;
    border-width: @material-border-width 0 0;
    border-style: solid;
    border-radius: 0;
    .box-sizing(border-box);
}

.km-material .km-shim .k-animation-container
{
    left: 0;
    top: auto;
    bottom: 0;
}

.km-material .km-popup-wrapper
{
    padding: 15px;
}

.km-material .km-popup.km-pane,
.km-material .km-actionsheet-wrapper.km-popup
{
    border-radius: @material-border-radius;
}

// Loader & Pull-to-refresh

.km-material .km-load-more
{
    height: 3.4em;
}

.km-material .km-load-more .km-button
{
    margin: 0 .8em;
    display: block;
}

.km-material .km-scroller-refresh.km-load-more,
.km-material .km-scroller-pull
{
    border-radius: 50%;
    overflow: visible;
}

.km-material .km-loader
{
    left: 0;
    top: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    background: none;
}

.km-material .km-loading,
.km-material .km-scroller-refresh .km-icon
{
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -13px;
    margin-left: -13px;
    width: 26px;
    height: 26px;
    border: 5px solid transparent;
    border-radius: 50%;
    .animation(none);
}

.km-material .km-loading:before,
.km-material .km-scroller-refresh .km-icon:before
{
    content: "\a0";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 12px;
    height: 12px;
    border-width: 2px;
    border-style: solid;
    border-radius: 50%;
}

.km-root .km-material .km-scroller-pull .km-icon
{
    -webkit-background-clip: inherit;
    background-size: inherit;
    border-radius: 50%;
}

.km-material .km-loading:after
{
    display: none;
}

.km-material .km-loading-left,
.km-material .km-loading-right
{
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    overflow: hidden;
    margin-top: -13px;
    margin-left: -13px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
}

.km-material .km-loader .km-loading-left,
.km-material .km-loader .km-loading-right,
.km-material .km-scroller-refresh .km-loading-left,
.km-material .km-scroller-refresh .km-loading-right
{
    .animation(materialdrive 4s infinite linear);
}

.km-material .km-scroller-refresh.km-load-more
{
    padding: 0;
    position: relative;
    margin: auto;
}

.km-material .km-scroller-refresh.km-load-more,
.km-material .km-scroller-pull
{
    font-size: 1em;
    width: 2.5em;
    height: 2.5em;
    top: .25em;
    white-space: nowrap;
}

.km-material .km-scroller-pull
{
    left: 50%;
    margin: 0 0 0 -90px;
}

.km-material .km-loader h1
{
    display: none;
    font-size: 1em;
    position: absolute;
    left: -50%;
    width: 200%;
    top: 55%;
}

.km-material .km-scroller-pull .km-template
{
    position: absolute;
    line-height: 2em;
    font-size: 1.2em;
    min-width: 0;
    top: 0;
    left: 3em;
}

.km-material .km-loader .km-loading-left:before,
.km-material .km-loader .km-loading-left:after,
.km-material .km-loader .km-loading-right:before,
.km-material .km-loader .km-loading-right:after,
.km-material .km-scroller-refresh .km-loading-left:before,
.km-material .km-scroller-refresh .km-loading-left:after,
.km-material .km-scroller-refresh .km-loading-right:before,
.km-material .km-scroller-refresh .km-loading-right:after
{
    content: "\a0";
    display: block;
    position: absolute;
    top: -13px;
    left: -13px;
    width: 26px;
    height: 26px;
    .transform-origin(24px 24px);
    .animation(materialrotate1 1.5s infinite ease-out);
}

.km-material .km-loader .km-loading-left:after,
.km-material .km-scroller-refresh .km-loading-left:after
{
    .animation-name(materialrotate2);
}

.km-material .km-loader .km-loading-right:before,
.km-material .km-scroller-refresh .km-loading-right:before
{
    .animation-name(materialrotate3);
}

.km-material .km-loader .km-loading-right:after,
.km-material .km-scroller-refresh .km-loading-right:after
{
    .animation-name(materialrotate4);
}

.km-material .km-scroller-pull .km-icon
{
    margin-right: 0;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -1rem;
    margin-top: -1rem;
}

.km-material .km-scroller-pull .km-icon:after
{
    content: "\e012";
    margin-left: -3px;
}

.km-material .km-scroller-refresh .km-icon:after
{
    display: none;
}

.km-material .km-load-more .km-icon,
.km-material .km-scroller-pull .km-icon
{
    .transform(rotate(0deg));
    .pTransition(none);
}

.km-material .km-load-more .km-icon:after,
.km-material .km-scroller-pull .km-icon:after
{
    .transform(rotate(0deg));
    .transform-origin(62% 50%);
    .pTransition(~"transform 300ms linear");
}

.km-material .km-scroller-release .km-icon:after
{
    .transform(rotate(180deg));
}

.km-material .km-scroller-refresh .km-icon:after
{
    .transition(none);
}

@-webkit-keyframes materialrotate1 {
    0% { -webkit-transform: rotate(0deg); }
    10% { -webkit-transform: rotate(0deg); }
    50% { -webkit-transform: rotate(270deg); }
    90% { -webkit-transform: rotate(360deg); }
    100% { -webkit-transform: rotate(360deg); }
}

@-webkit-keyframes materialrotate2 {
    0% { -webkit-transform: rotate(0deg); }
    10% { -webkit-transform: rotate(0deg); }
    50% { -webkit-transform: rotate(20deg); }
    90% { -webkit-transform: rotate(360deg); }
    100% { -webkit-transform: rotate(360deg); }
}

@-webkit-keyframes materialrotate3 {
    0% { -webkit-transform: rotate(0deg); }
    10% { -webkit-transform: rotate(0deg); }
    50% { -webkit-transform: rotate(90deg); }
    90% { -webkit-transform: rotate(360deg); }
    100% { -webkit-transform: rotate(360deg); }
}

@-webkit-keyframes materialrotate4 {
    0% { -webkit-transform: rotate(0deg); }
    10% { -webkit-transform: rotate(0deg); }
    50% { -webkit-transform: rotate(180deg); }
    90% { -webkit-transform: rotate(360deg); }
    100% { -webkit-transform: rotate(360deg); }
}

@-ms-keyframes materialrotate1 {
    0% { -ms-transform: rotate(0deg); }
    10% { -ms-transform: rotate(0deg); }
    50% { -ms-transform: rotate(270deg); }
    90% { -ms-transform: rotate(360deg); }
    100% { -ms-transform: rotate(360deg); }
}

@-ms-keyframes materialrotate2 {
    0% { -ms-transform: rotate(0deg); }
    10% { -ms-transform: rotate(0deg); }
    50% { -ms-transform: rotate(20deg); }
    90% { -ms-transform: rotate(360deg); }
    100% { -ms-transform: rotate(360deg); }
}

@-ms-keyframes materialrotate3 {
    0% { -ms-transform: rotate(0deg); }
    10% { -ms-transform: rotate(0deg); }
    50% { -ms-transform: rotate(90deg); }
    90% { -ms-transform: rotate(360deg); }
    100% { -ms-transform: rotate(360deg); }
}

@-ms-keyframes materialrotate4 {
    0% { -ms-transform: rotate(0deg); }
    10% { -ms-transform: rotate(0deg); }
    50% { -ms-transform: rotate(180deg); }
    90% { -ms-transform: rotate(360deg); }
    100% { -ms-transform: rotate(360deg); }
}

@keyframes materialrotate1 {
    0% { transform: rotate(0deg); }
    10% { transform: rotate(0deg); }
    50% { transform: rotate(270deg); }
    90% { transform: rotate(360deg); }
    100% { transform: rotate(360deg); }
}

@keyframes materialrotate2 {
    0% { transform: rotate(0deg); }
    10% { transform: rotate(0deg); }
    50% { transform: rotate(20deg); }
    90% { transform: rotate(360deg); }
    100% { transform: rotate(360deg); }
}

@keyframes materialrotate3 {
    0% { transform: rotate(0deg); }
    10% { transform: rotate(0deg); }
    50% { transform: rotate(90deg); }
    90% { transform: rotate(360deg); }
    100% { transform: rotate(360deg); }
}

@keyframes materialrotate4 {
    0% { transform: rotate(0deg); }
    10% { transform: rotate(0deg); }
    50% { transform: rotate(180deg); }
    90% { transform: rotate(360deg); }
    100% { transform: rotate(360deg); }
}

@-webkit-keyframes materialdrive {
    100% { -webkit-transform: rotate(360deg); }
}

@-ms-keyframes materialdrive {
    100% { -ms-transform: rotate(360deg); }
}

@keyframes materialdrive {
    100% { transform: rotate(360deg); }
}

// Color Template
@import "template.less";
@import "dark.less";

// Tablet Styles

.km-tablet .km-material.km-horizontal .km-navbar .km-button,
.km-tablet .km-material.km-horizontal .km-toolbar .km-button
{
    margin-top: .2rem;
    margin-bottom: .2rem;
}

.km-material .km-view-title {
    font-size: 1.25em;
    font-weight: 500;
    margin-top: 0.5em;
}

.km-material .k-popup .km-button {
    text-transform: uppercase;
}
