/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.  The ASF licenses this file
* to you 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 url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
  --main-verde: #3E7C59;
  --main-vermelho: #ae0000;
  --main-normal:#b2e061;
  --main-exception:#fd7f6f;
  --main-primary-claro: #0094F055;
  --main-primary-text: #A1E4F0;
  --main-primary-escuro: #B08A2A;
  --main-secondary-claro: #B08A2A22;
  --main-secondary-escuro: #7eb0d5;
  --main-grey-claro: #ccc;
  --main-grey-escuro: #444;
  --main-image-menu: url("../assets/logo.svg");
  --main-image-login: url("../assets/banner.svg");
  --main-image-icon: url("../assets/mini-logo.svg");
  --main-linear-cora: #333;
  --main-linear-corb: #333;
}

#app{
  background-color: var(--main-linear-cora);
}

#app > div > form.ant-form.ant-form-horizontal h1,
#app > div > form.ant-form.ant-form-horizontal p{
  color:#fff !important;
}

#app > div > form > img.user-layout-logo{
  display:none !important;
}

#app > div > form{
  background-image:var(--main-image-login);
  background-repeat:no-repeat;
  background-size:250px;
  background-position:top center;
  padding-top:120px;
}

.userLayout .user-layout-header{
  min-height:130px;
  background-image:var(--main-image-login);
  background-repeat:no-repeat;
  background-size:400px;
  background-position:top center;
  margin-bottom:20px;
}

.ant-layout-sider.light.ant-fixed-sidemenu > div > div{
  height: 90px;
  background-image:var(--main-image-menu);
  background-repeat:no-repeat;
  background-size:150px;
  background-position:25px 25px;
  margin-bottom:20px;
}

.ant-layout-sider.light.ant-fixed-sidemenu.ant-layout-sider-collapsed > div > div{
  height: 80px;
  background-image:var(--main-image-icon);
  background-repeat:no-repeat;
  background-size:60px;
  background-position:10px 20px;
}

.sider.light .ant-menu-light a,
.sider.light .ant-menu-submenu > .ant-menu-submenu-title {
  color:#fff !important;
}

.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-active:hover a,
.ant-menu:not(.ant-menu-horizontal) .ant-menu-submenu span.ant-menu-title-content:hover{
  color:#fff !important;
}

.ant-menu-submenu ul a,
.ant-menu-submenu ul .ant-menu-item-selected a span{
  color:#000 !important;
}

/* USER MENU DARK */
*{
  font-family: 'Poppins' , Courier !important;
}

aside,
.ant-menu-submenu ul{
  background: linear-gradient(var(--main-linear-cora), var(--main-linear-corb)) !important;
}

.ant-menu-submenu ul a,
.ant-menu-submenu ul .ant-menu-item-selected a span{
  color:#fff !important;
}

html{
  background-color: var(--main-secondary-escuro);
}

/* HEADER */
.layout.ant-layout .header{
  background: linear-gradient(var(--main-linear-cora), var(--main-linear-corb)) !important;
  box-shadow: 0px 0px 10px #00000055;
}

.layout.ant-layout .header .user-menu > span.ant-dropdown-open{
  background-color:var(--main-primary-claro) !important;
  border-bottom:5px solid var(--main-primary-escuro) !important;
}

.layout.ant-layout .header .anticon-menu-unfold:hover,
.layout.ant-layout .header .anticon-menu-fold:hover,
.layout.ant-layout .header .user-menu > span:hover{
  background-color:var(--main-primary-escuro) !important;
  color:#fff !important;
}

.layout.ant-layout .header .user-menu > span:hover *,
.layout.ant-layout .header .user-menu > span *{
  color:#fff !important;
}

.layout.ant-layout .header .anticon-menu-unfold,
.layout.ant-layout .header .anticon-menu-fold{
  color:#fff;
}

.header-notice-opener{
  padding-left:15px;
}


.ant-table-tbody > .ant-table-row:hover td{
  background-color:var(--main-secondary-claro) !important;
}

/* SIDE BAR */
.ant-card {
  background-color: var(--main-linear-cora) !important;
}

.vm-info-card .ant-card-body .ant-card-bordered{
  border-top:2px solid var(--main-primary-escuro) !important;
  margin-bottom:50px;
}

.vm-info-card .ant-card-body .ant-card-bordered .ant-card-head,
.vm-info-card .ant-card-body .ant-card-bordered .ant-card-grid{
  padding:10px 0px !important;
}

.vm-info-card .ant-card-body .ant-card-bordered .resource-detail-item{
  margin-bottom:20px;
}

.vm-info-card .ant-card-body .ant-card-bordered .resource-detail-item .resource-detail-item__label{
  font-weight:900;
}

/* USER LOGIN SCREEN */

.ant-tabs-tab,
.user-layout{
  background-color:var(--main-grey-claro) !important;
}

.user-layout .ant-tabs-top-bar .ant-tabs-nav-scroll .ant-tabs-tab{
  background-color:var(--main-grey-claro) !important;
  color: var(--main-primary-escuro);
  border-bottom:0px solid var(--main-primary-escuro);
}

.user-layout .ant-tabs-top-bar .ant-tabs-nav-scroll .ant-tabs-tab:hover{
  background-color:var(--main-secondary-escuro) !important;
  color: #fff;
  border-bottom:3px solid var(--main-primary-escuro);
}

.user-layout .ant-tabs-top-bar .ant-tabs-nav-scroll .ant-tabs-tab.ant-tabs-tab-active{
  background-color:var(--main-grey-claro) !important;
  color: var(--main-primary-escuro);
  border-bottom:3px solid var(--main-primary-escuro);
}

.user-layout .ant-tabs-nav{
  width:100%;
}

.user-layout .ant-tabs-nav > div > div{
  width:50%;
}

/* IMAGES LOGO */
.userLayout .user-layout-logo{
  display:none;
}

.ant-layout-sider.light.ant-fixed-sidemenu > div > div > img{
  display:none !important;
}

/* PROGRESS */
.ant-progress.ant-progress-status-active .ant-progress-inner,
.ant-progress.ant-progress-status-normal .ant-progress-inner{
  background-color:var(--main-grey-claro) !important;
}

.ant-progress.ant-progress-status-active .ant-progress-inner .ant-progress-bg,
.ant-progress.ant-progress-status-normal .ant-progress-inner .ant-progress-bg{
  background-color:var(--main-primary-escuro) !important;
}

.ant-progress .ant-progress-text{
  color:var(--main-grey-claro) !important;
  font-weight:700;
}

.ant-progress.ant-progress-status-exception .ant-progress-inner .ant-progress-bg{
  background-color:var(--main-exception) !important;
}

/* FORMS */
.ant-input-number-input{
  color:#000;
}

.ant-input-number-disabled .ant-input-number-input{
  color:#666;
}

.ant-select-selector,
.ant-input{
  background-color:white !important;
  color:var(--main-grey-escuro) !important;
}

.ant-select.ant-select-focused .ant-select-arrow .anticon{
  color:var(--main-grey-claro);
}

.ant-select-selector .ant-select-selection-placeholder,
.ant-select,
.ant-input::placeholder{
  color:var(--main-grey-escuro) !important;
}


.ant-select-selector:hover, .ant-select-selector:focus,
.ant-input:hover, .ant-input:focus{
  box-shadow: 0px 0px 3px var(--main-primary-escuro);
  border-color:var(--main-primary-escuro) !important;
}

.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector {
  border-color: var(--main-primary-escuro);
  border-right-width: 1px !important;
  box-shadow: 0 0 0 2px var(--main-primary-claro);
}

.ant-select-dropdown .ant-select-item.ant-select-item-option-selected,
.ant-select-dropdown .ant-select-item:hover{
  background-color:var(--main-primary-claro)  !important;
}

/* PAGINATION */
.ant-pagination .ant-pagination-item.ant-pagination-item-active{
  background-color:var(--main-primary-escuro) !important;
  border-color:#fff;
}

.ant-pagination .ant-pagination-item.ant-pagination-item-active a{
  color:#fff !important;
  font-weight:bold;
}

.ant-pagination .ant-pagination-item:not(.ant-pagination-item-active){
  background-color:#fff !important;
}

.ant-pagination .ant-pagination-item:not(.ant-pagination-item-active):hover{
  background-color:var(--main-secondary-escuro) !important;
  border-color:#666;
}

.ant-pagination .ant-pagination-item:not(.ant-pagination-item-active):hover a{
  color:#666 !important;
  font-weight:bold;
}

.ant-pagination .ant-pagination-next span,
.ant-pagination .ant-pagination-prev span{
  color:var(--main-grey-escuro) !important;
}

.ant-pagination .ant-pagination-next span:hover,
.ant-pagination .ant-pagination-prev span:hover{
  color:var(--main-secondary-escuro) !important;
}


/* RADIO GROUP */
.ant-radio-group label.ant-radio-button-wrapper-checked{
  background-color:var(--main-primary-escuro) !important;
  border-color:var(--main-primary-escuro) !important;
}

.ant-radio-group label:not(.ant-radio-button-wrapper-checked):hover{
  color:#000 !important;
  background-color:var(--main-primary-claro) !important;
}

.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)::before {
  background-color:var(--main-primary-escuro) !important;
}

/* TABLES */
.ant-table{
  font-size:16px !important;
  background:var(--main-linear-cora) !important;
}

.ant-table th{
  border-bottom:5px solid #ffffff55!important;
}

.ant-table th.ant-table-column-has-sorters:hover{
  border-bottom:5px solid var(--main-primary-escuro) !important;
  background-color:#ffffff22 !important;
}

.ant-table thead.ant-table-thead{
  border-bottom:5px solid var(--main-primary-escuro) !important;
}

.anticon.ant-table-column-sorter-up.on *,
.anticon.ant-table-column-sorter-down.on *{
  color: var(--main-primary-escuro) !important;
}

.anticon.anticon-camera.upload-icon{
  background:#ffffff33 !important;
  border:0px;
}

.anticon.anticon-camera.upload-icon:hover{
  background:var(--main-secondary-escuro) !important;
}

.anticon.anticon-camera.upload-icon{
  background: !important;
}

/* PAGE TABS LEFT */
.ant-tabs-left-bar .ant-tabs-nav-scroll {
  border-right:3px solid var(--main-primary-escuro);
}

.ant-tabs-left-bar .ant-tabs-nav-scroll .ant-tabs-tab{
  margin:0px;
  padding:10px 15px;
  border-right:3px solid transparent;
  transition: all 1s ease !important;
  background-color:var(--main-linear-cora) !important;
}

.ant-tabs-left-bar .ant-tabs-nav-scroll .ant-tabs-tab.ant-tabs-tab-active,
.ant-tabs-left-bar .ant-tabs-nav-scroll .ant-tabs-tab:hover{
  background-color:#ffffff33 !important;
  color: var(--main-primary-escuro);
  border-right:3px solid var(--main-primary-escuro);
}

.ant-tabs-left-bar .ant-tabs-nav-scroll  .ant-tabs-ink-bar{
  display:none !important;
  width:0px !important;
  background-color:var(--main-primary-escuro) !important;
}

/* PAGE TABS TOP */
.ant-tabs-tab-next,
.ant-tabs-tab-prev{
  color:var(--main-primary-escuro) !important;
}

.ant-tabs-tab-next svg,
.ant-tabs-tab-prev svg{
  transform: scale(1.5);
}

.ant-tabs-tab-next:not(.ant-tabs-tab-btn-disabled):hover,
.ant-tabs-tab-prev:not(.ant-tabs-tab-btn-disabled):hover{
  background-color:var(--main-primary-escuro) !important;
  color:#fff !important;
}

.ant-tabs-tab-next.ant-tabs-tab-btn-disabled,
.ant-tabs-tab-prev.ant-tabs-tab-btn-disabled{
  color:var(--main-primary-claro) !important;
}

.ant-tabs-top-bar .ant-tabs-nav-scroll {
  border-bottom:3px solid var(--main-primary-escuro);
}

.ant-tabs-top-bar .ant-tabs-nav-scroll .ant-tabs-tab{
  margin:0px;
  padding:14px 30px;
  border-bottom:3px solid transparent;
  transform: all 1s easyin !important;
  background-color:#fff !important;
}

.ant-tabs-top-bar .ant-tabs-nav-scroll .ant-tabs-tab.ant-tabs-tab-active,
.ant-tabs-top-bar .ant-tabs-nav-scroll .ant-tabs-tab:hover{
  background-color:var(--main-grey-claro) !important;
  color: var(--main-primary-escuro);
  border-bottom:3px solid var(--main-primary-escuro);
}

.ant-tabs-top-bar .ant-tabs-nav-scroll  .ant-tabs-ink-bar{
  height:0px !important;
  background-color:var(--main-primary-escuro) !important;
}

/* LINKS */
a{
  color: var(--main-primary-escuro);
}

a:hover{
  color: var(--main-secondary-escuro);
}

.ant-breadcrumb-link a:hover{
  color: var(--main-primary-escuro) !important;;
}

.ant-breadcrumb-link .anticon{
  margin-top:5px !important;
}

.ant-breadcrumb-link .ant-select-arrow .anticon{
  margin-top:0px !important;
}


/* USER MENU */
.user-menu > span{
  border-bottom:5px solid transparent;
}

.user-menu > span:hover{
  border-bottom:5px solid var(--main-primary-escuro);
  background-color:var(--main-grey-claro) !important;
}

.ant-dropdown .ant-dropdown-menu-item:hover{
  background-color:var(--main-primary-claro) !important;
}

.ant-dropdown .ant-dropdown-menu-item:hover *{
  color:#000;
}

.ant-dropdown .ant-dropdown-menu-item.ant-dropdown-menu-item-selected,
.ant-dropdown .ant-dropdown-menu-item.ant-dropdown-menu-item-selected:hover *{
  background-color:var(--main-primary-escuro) !important;
  color:#fff !important;
}

/* CHECKBOXES */
.ant-checkbox-checked .ant-checkbox-inner {
  background-color: var(--main-primary-escuro) !important;
  border-color: var(--main-primary-escuro) !important;
}

.ant-checkbox .ant-checkbox-inner {
  border-color: var(--main-primary-escuro) !important;
}

.ant-checkbox-indeterminate .ant-checkbox-inner::after{
  background-color: var(--main-primary-escuro) !important;
}

/* SEARCH */
/*
.ant-input-search .ant-input-wrapper.ant-input-group{
  display:flex;
  justify-content: flex-end;
  padding-right:2%;

}

.ant-input-search.ant-input-affix-wrapper{
  width:300px !important;
  transform: width 1s easyin;
  border:0px;
}

.ant-input-search.ant-input-affix-wrapper-focused{
  width:98% !important;
  border:0px !important;
  border-color:transparent !important;
}
*/

.breadcrumb-card > .ant-card-body >.ant-row{
  display:flex;
  align-items: end;
  height:90px;
}

.ant-breadcrumb > span:last-child label,
.ant-breadcrumb-link .router-link-exact-active{
  font-size:35px;
  position:absolute;
  left:10px;
  top:-65px;
  /*! width:100vh !important; */
}

.ant-card-head{
  background-color:var(--main-linear-cora);
  color:#fff;
}

.ant-card-head .ant-card-head-title{
  font-size:35px;
}

.breadcrumb-card > .ant-card-body >.ant-row .ant-col:last-child{
  padding-bottom:7px;
}

.ant-input-search .ant-input-group-addon{
  padding:0px !important;
  width:30px !important;
}

.ant-input-search .ant-input-group-addon button{
  height:30px !important;
  width:30px;
  border-radius:7px 0px 0px 7px;
  border:2px solid var(--main-primary-escuro) !important;
}

.ant-select.project-select > .ant-select-selector,
.ant-input-affix-wrapper,
.ant-input-affix-wrapper input,
.ant-input-search .ant-input-search.input-search,
.ant-input-search .ant-input-search.input-search input{
  background-color:white !important;
}

.ant-input-affix-wrapper{
  border-radius: 7px;
}

.ant-select.project-select.ant-select-focused > .ant-select-selector,
.ant-input-affix-wrapper.ant-input-affix-wrapper-focused,
.ant-input-affix-wrapper.ant-input-affix-wrapper-focused input,
.ant-input-search .ant-input-search.input-search.ant-input-affix-wrapper-focused,
.ant-input-search .ant-input-search.input-search.ant-input-affix-wrapper-focused input{
  background-color: var(--main-grey-claro) !important;
  color: var(--main-grey-escuro) !important;
}

.user-layout .ant-input-affix-wrapper-focused .ant-input-prefix,
.user-layout .ant-input-affix-wrapper-focused .ant-input-suffix{
  color:#333 !important;
}

/*
.ant-select.project-select.ant-select-focused .anticon path{
  color:#fff !important;
  stroke:#fff !important;
}
*/

.ant-input-search .ant-input-search.input-search input::placeholder {
  color: #666;
}

.ant-input-affix-wrapper.ant-input-affix-wrapper-focused input::placeholder,
.ant-input-search .ant-input-search.input-search.ant-input-affix-wrapper-focused input::placeholder{
  color:var(--main-grey-escuro) !important;
}

.ant-input-search .ant-input-search.input-search{
  border-radius:0px 7px 7px 0px;
}

.anticon-search.ant-input-search-icon{
  background-color:var(--main-primary-escuro) !important;
  position:absolute;
  height:30px;
  width:30px;
  border-radius:0px 7px 7px 0px;
  display:flex;
  justify-content: center;
  align-items: center;
  color:#fff;
  right:0;
}

.anticon-search.ant-input-search-icon:hover{
  background-color:var(--main-secondary-escuro) !important;
}

/* SWITCH E BOTAO */
button.ant-btn{
  background-color:var(--main-primary-escuro) !important;
  color:#fff;
  border:0px;
}

button.ant-btn:hover{
  background-color:var(--main-secondary-escuro) !important;
  color:#fff;
}

.ant-radio .ant-radio-inner{
  border-color:var(--main-primary-escuro) !important;
}

.ant-radio .ant-radio-inner:after{
  background-color:var(--main-primary-escuro) !important;
}

.ant-tabs-tabpane .ant-radio-button-wrapper{
  background-color:var(--main-linear-cora);
}

.ant-switch{
  background-color:var(--main-primary-claro);
  border-color:var(--main-primary-escuro) !important;
  height:24px;
  /*! position:absolute; */
}

.ant-switch-loading-icon, .ant-switch::after{
  height:20px;
}

.ant-switch-disabled,
.ant-switch-checked{
  background-color:var(--main-primary-escuro) !important;
}

.ant-switch span{
  color:#444;
}

.ant-switch-checked span{
  color:#fff;
}

.ant-slider-handle,
.ant-slider-handle .ant-tooltip-open{
  background-color: #fff;
  border: solid 2px var(--main-primary-escuro);
  border-radius: 50%;
  box-shadow: 0;
}

.ant-slider-handle.ant-tooltip-open{
  box-shadow: 0px 0px 5px var(--main-grey-claro) !important;
  border: solid 2px var(--main-primary-escuro);
}

.ant-slider:hover .ant-slider-handle,
.ant-slider-handle:hover,
.ant-slider-handle:focus{
  background-color: var(--main-primary-escuro);
  border: solid 2px var(--main-primary-escuro) !important;
  border-radius: 50%;
  box-shadow: 0;
  box-shadow: 0px 0px 5px var(--main-grey-claro) !important;
}

.ant-slider-track{
  background-color:var(--main-primary-escuro) !important;
}

.ant-slider-rail{
  background-color:var(--main-primary-claro) !important;
}

.ant-avatar-icon{
  background-color:transparent;
}


/* HEADER */
.layout.ant-layout .header{
  background-color:#fff !important;
}

/* MENU ACTIVE */
.ant-menu-vertical .ant-menu-item::after, .ant-menu-vertical-left .ant-menu-item::after, .ant-menu-vertical-right .ant-menu-item::after, .ant-menu-inline .ant-menu-item::after {
  border-color:var(--main-primary-escuro) !important;
}

.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected a{
  color:#000 !important;
}

.ant-menu:not(.ant-menu-horizontal) .ant-menu-item.ant-menu-item-selected {
  background-color: var(--main-primary-claro) !important;
}

/* MENU LIGHT */
.sider.light .ant-menu-light,
.sider.light .ant-menu-submenu > .ant-menu{
  background-color:transparent;
}

.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow::before,
.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow::after{
  background-color: #fff !important;
}

/* MENU ITEM */
.ant-menu:not(.ant-menu-horizontal) .ant-menu-item:hover,
.ant-menu:not(.ant-menu-horizontal) .ant-menu-submenu div:hover{
  background-color: var(--main-primary-escuro) !important;
}

.ant-menu-inline-collapsed .ant-menu-submenu-title{
  margin:0px !important;
}


/* CARDS DASHBOARD */
.usage-dashboard .ant-card-body .ant-row .ant-col:nth-child(2) .ant-card.usage-dashboard-chart-card{
  background-color:var(--main-vermelho) !important;
}

.usage-dashboard .ant-card-body .ant-row .ant-col:nth-child(1) .ant-card.usage-dashboard-chart-card{
  background-color:var(--main-verde) !important;
}

.usage-dashboard-chart-card-inner h2,
.usage-dashboard-chart-card-inner h3{
  color:#fff !important;
}

/* CHARTS  */

.ant-progress .ant-progress-status-normal path{
  stroke:var(--main-exception) !important;
}

.ant-progress-circle.ant-progress-status-normal .ant-progress-text{
  color:var(--main-normal) !important;
  font-weight: bold
}

.ant-progress.ant-progress-status-normal path.ant-progress-circle-path{
  stroke:var(--main-normal) !important;
}

.ant-progress.ant-progress-status-exception path.ant-progress-circle-path,
.ant-progress.ant-progress-status-active path.ant-progress-circle-path{
  stroke:var(--main-exception) !important;
}

.ant-progress path.ant-progress-circle-trail{
  stroke:var(--main-grey-claro) !important;
}

.ant-progress-circle.ant-progress-status-exception .ant-progress-text,
.ant-progress-circle.ant-progress-status-active .ant-progress-text{
  color:var(--main-exception) !important;
  font-weight: bold
}

/* LIST TABLES  */
.ant-list .ant-list-item{
  border-left:5px solid transparent !important;
  padding-left:10px;
}

.ant-list .ant-list-item:hover{
  background-color:#ffffff33 !important;
  border-left:5px solid var(--main-primary-escuro) !important;
}

.ant-list.ant-list-split .ant-list-item:hover{
  background-color:transparent !important;

}

.ant-list .ant-list-item .ant-btn{
  opacity:0;
}

.ant-list .ant-list-item:hover .ant-btn{
  background-color:var(--main-primary-escuro) !important;
  color:#fff !important;
  opacity:1;
}

.ant-list .ant-list-item-action-split{
  opacity:0;
}

.ant-list .ant-list-item:hover .ant-btn:hover{
  border-color:var(--main-secondary-escuro) !important;
  background-color:var(--main-secondary-escuro) !important;
}

/* OTHERS  */

.ant-tree li .ant-tree-node-content-wrapper.ant-tree-node-selected{
  background-color:var(--main-primary-claro)
}

/* MODAL */
.ant-modal .ant-modal-header{
  background-color:var(--main-primary-claro);
}

.ant-modal .ant-modal-header *{
  color:#fff;
}

.ant-modal .ant-row.ant-form-item{
  margin-bottom:20px !important;
}

.ant-modal .ant-row.ant-form-item .ant-form-item-label{
  padding-bottom:0px !important;
}

.ant-row.ant-form-item{
  margin-bottom:20px !important;
}

.ant-steps-item .ant-form.ant-form-vertical{
  margin-top:20px !important;
}

.ant-row.ant-form-item .ant-form-item-label{
  padding-bottom:0px !important;
}

.ant-modal .ant-modal-title{
  font-size:20px
}

.ant-modal .ant-modal-title .anticon{
  font-size:15px
}

.ant-modal .ant-modal-body .anticon{
  /* position:absolute; */
  transform: scale(0.9);
  margin-left:5px;
}

.ant-select-selector .anticon{
  position: relative !important;
  margin-left:0px !important;
}

.ant-modal .anticon:hover{
  color:var(--main-primary-escuro);
}

.ant-modal .ant-modal-close{
  color:#fff;
  height:54px;
  transition:all 1s easyin;
  background-color:transparent;
}

.ant-modal .ant-modal-close:hover{
  background-color:var(--main-primary-escuro);
}

.ant-modal .ant-modal-close-x:hover svg{
  color:#fff;
}

.ant-modal .ant-modal-close-x svg{
  transform: scale(1.3);
}

/* REGISTRATIONS FORMS AND ADDS */
.ant-steps-item-tail{
  margin-top:15px;
}

.ant-steps-item-tail:after{
  background-color:var(--main-grey-claro) !important;
}

.ant-steps-item-icon{
  background-color:var(--main-primary-escuro) !important;
  border-color:var(--main-primary-escuro) !important;
  margin-top:10px
}

.ant-steps-item .ant-card-head{
  padding:0px;
}

.ant-steps-item .ant-radio-group .ant-card-grid{
  box-shadow: ;none;
  border:2px solid var(--main-grey-claro)
}

.ant-steps-item .ant-card-meta-description{
  color:var(--main-grey-claro) !important;
}

.ant-steps-item .ant-card-body .ant-tabs-nav > div .ant-tabs-tab,
.ant-steps-item .ant-card-contain-tabs .ant-card-body{
  background-color:var(--main-linear-cora) !important;
}

.ant-steps-item .ant-card-grid .ant-radio-wrapper{
  width:100%;
  border-radius:7px;
  padding:10px;
}

.ant-steps-item .ant-radio-wrapper:hover{
  background-color:green !important;
}


.ant-steps-item .ant-card-grid .ant-radio-wrapper:hover{
  background-color: blue !important;
}

.ant-steps-item .ant-radio-group label:not(.ant-radio-button-wrapper-checked):hover{
  background-color:transparent !important;
}

.ant-steps-item #zoneid .ant-card-grid .ant-radio-wrapper{
  background-color: var(--main-grey-escuro) !important;
}

.ant-steps-item #zoneid .ant-card-grid .ant-radio-wrapper:hover{
  background-color: var(--main-primary-claro) !important;
}

.ant-steps-item .ant-card-grid .ant-radio-wrapper .anticon{
  margin-left:0px !important;
  width:100%;
  margin-top:0px !important;
}

.ant-steps-item .ant-list .ant-list-item:hover{
  background-color:var(--main-primary-claro) !important;
  border-left:5px solid transparent !important;
}

.ant-steps-item{
  margin-bottom:30px;
  margin-top:0px;
}

.ant-table-body,
.ant-list-vertical.form-item-scroll .ant-spin-container{
  max-height:none !important;;
}

.ant-steps-item-title{
  width:100%;
  height:40px;
  display: flex;
  align-items: center;
  border-top:0px solid #ffffff55 !important;
  font-weight:00 !important;
  font-size:22px !important;
}

/* DARK HOME */
body #userLayout{
  background-color:var(--main-linear-cora) !important;
}

.userLayout .user-layout-header{
  margin-bottom:20px;
}

.userLayout .anticon-translation{
  color:#FFF;
}

.user-layout .ant-tabs-top-bar .ant-tabs-nav-scroll .ant-tabs-tab.ant-tabs-tab-active{
  background-color:var(--main-primary-escuro) !important;
  color: #fff;
  border-bottom:3px solid var(--main-primary-escuro);
}

.user-layout .ant-tabs-top-bar .ant-tabs-nav-scroll .ant-tabs-tab{
  background-color:var(--main-linear-cora) !important;
  color: #fff;
  border-bottom:3px solid var(--main-primary-escuro);
}

.ant-layout-footer *{
  color:#fff !important;
}

.ant-card{
  border:0px !important;
}

.ant-card-body *:not(a):not(.ant-tag):not(.ant-tag *):not(input):not(.ant-select-selection-item span):not(div.ant-select *),
.ant-table *:not(a):not(.ant-tag):not(.ant-tag *):not(input):not(.ant-select-selection-item span){
  color:#fff;
}

.ant-input-suffix .anticon:not(.anticon-search ) *{
  color:#000 !important;
}

.ant-alert-info *{
  color:#000 !important;
}

.anticon.anticon-delete{
  background-color:var(--main-vermelho);
  padding:0px;
  border-radius:50px;
}

.ant-popover-inner-content .anticon.anticon-delete{
  padding:0px;
}

.anticon.anticon-delete svg path:first-child{
  fill:transparent;
}

.anticon.anticon-delete svg path:last-child{
  fill:#fff;
}

.ant-pagination .ant-select-item-option-content span{
  color:#000 !important;
}

.ant-select-selection-item{
  color:#000 !important;
}

.ant-table a{
  color:var(--main-primary-escuro) !important;
}


.ant-table tr,
.ant-table th,
.ant-table-footer,
.ant-card-body,
.ant-layout,
.ant-layout-footer{
  background-color:var(--main-linear-cora) !important;
}

.ant-table tr.ant-table-row-selected td{
  background-color:var(--main-secondary-claro);
}

.usage-dashboard .ant-card-body .ant-row .ant-col:nth-child(1) .ant-card.usage-dashboard-chart-card .ant-card-body{
  background-color:var(--main-verde) !important;
}

.usage-dashboard .ant-card-body .ant-row .ant-col:nth-child(2) .ant-card.usage-dashboard-chart-card .ant-card-body{
  background-color:var(--main-vermelho) !important;
}

.usage-dashboard .ant-card-body .ant-row .ant-col .ant-card.usage-dashboard-chart-card .ant-card-body{
  background-color:#fff !important;
}

.usage-dashboard-chart-card-inner h2,
.usage-dashboard-chart-card-inner h3,
.usage-dashboard-chart-card-inner svg{
  color:#000 !important;
  fill:#000;
}

.usage-dashboard .ant-card-body .ant-row .ant-col:nth-child(2) .ant-card.usage-dashboard-chart-card .ant-card-body .usage-dashboard-chart-card-inner svg,
.usage-dashboard .ant-card-body .ant-row .ant-col:nth-child(1) .ant-card.usage-dashboard-chart-card .ant-card-body .usage-dashboard-chart-card-inner svg,
.usage-dashboard .ant-card-body .ant-row .ant-col:nth-child(2) .ant-card.usage-dashboard-chart-card .ant-card-body .usage-dashboard-chart-card-inner h2,
.usage-dashboard .ant-card-body .ant-row .ant-col:nth-child(1) .ant-card.usage-dashboard-chart-card .ant-card-body .usage-dashboard-chart-card-inner h2,
.usage-dashboard .ant-card-body .ant-row .ant-col:nth-child(2) .ant-card.usage-dashboard-chart-card .ant-card-body .usage-dashboard-chart-card-inner h3,
.usage-dashboard .ant-card-body .ant-row .ant-col:nth-child(1) .ant-card.usage-dashboard-chart-card .ant-card-body .usage-dashboard-chart-card-inner h3{
  color:#fff !important;
  fill:#fff;
}

.usage-dashboard .ant-card-body .ant-row .ant-col:nth-child(2) .ant-card.usage-dashboard-chart-card .ant-card-body{
  background-color:var(--main-vermelho) !important;
}

.ant-table tr a,
.ant-table th a{
  color:var(--main-primary-text) !important;
}

.ant-pagination{
  color:#fff;
}

.ant-tabs-tabpane .ant-table tr,
.ant-tabs-tabpane .ant-table-footer,
.ant-tabs-tabpane .ant-table th{
  background-color:var(--main-linear-cora) !important;
}

.usage-dashboard .ant-tabs-tabpane .ant-table table,
.usage-dashboard .ant-tabs-tabpane .ant-table tr,
.usage-dashboard .ant-tabs-tabpane .ant-table-footer,
.usage-dashboard .ant-tabs-tabpane .ant-table th{
  background-color:var(--main-linear-cora) !important;
}

.ant-tabs-tabpane .ant-table tr,
.ant-tabs-tabpane .ant-table th{
  background-color: var(--main-linear-cora) !important;
}

.ant-tabs-tabpane .ant-pagination{
  color:#000;
}

.ant-tabs .ant-tabs-left-content{
  border-left: 0px !important;
}

.ant-tabs .ant-tabs-bar{
  border-color:transparent;
}

.ant-layout-content .page-header-wrapper-grid-content-main .ant-row .ant-col-lg-16 .ant-card-body{
  background-color:var(--main-linear-cora) !important;
}

.ant-select-selection-item,
.ant-select-selector,
.ant-select-selector *{
  color:#666 !important;
}

.ant-layout-content .page-header-wrapper-grid-content-main .ant-row .ant-col-lg-16 .ant-card-body *:not(a):not(input):not(.ant-radio-button-wrapper-checked span):not(button *):not(.ant-select-selector *):not(.ant-select-item-option-content){
  color:#fff;
}

.ant-layout-content .page-header-wrapper-grid-content-main .ant-row .ant-col-lg-16 .ant-card-body p.ant-empty-description:not(.ant-radio-button-wrapper-checked span):not(button *){
  color:#fff !important;
}

.input-search .ant-input-group-addon{
  border:0px;
}

.ant-select-arrow path{
  color:#666 !important;
}

.ant-input-search,
.ant-input-search .ant-input-search-icon{
  border:0px !important;
}

.ant-progress.ant-progress-status-active .ant-progress-inner,
.ant-progress.ant-progress-status-normal .ant-progress-inner{
  background-color:#ffffff33 !important;
}

.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected a{
  color:#fff !important;
}

.ant-menu span.ant-menu-title-content .custom-icon path,
.ant-menu span.ant-menu-title-content:hover .custom-icon path{
  fill:#fff !important;
}

.ant-menu-submenu-popup.ant-menu-light, .ant-menu-light > .ant-menu,
.ant-menu-submenu ul,
.ant-menu-submenu ul .ant-menu-item {
  background:var(--main-grey-escuro) !important;
}

.ant-pagination .ant-pagination-item.ant-pagination-item-active{
  border:0px;
}

.ant-pagination .ant-pagination-item{
  border:0px;
  margin-left:2px !important;
}

.ant-table-placeholder{
  background:var(--main-linear-cora)
}

.ant-tabs-top-bar .ant-tabs-nav-scroll .ant-tabs-tab{
  margin:0px;
  padding:14px 30px;
  border-bottom:3px solid transparent;
  transform: all 1s easyin !important;
  background-color:var(--main-linear-cora) !important;
  font-weight: 600;
}

.ant-tabs-top-bar .ant-tabs-nav-scroll .ant-tabs-tab.ant-tabs-tab-active,
.ant-tabs-top-bar .ant-tabs-nav-scroll .ant-tabs-tab:hover{
  background-color:var(--main-primary-escuro) !important;
  color: #fff;
  border-bottom:3px solid var(--main-primary-escuro);
}

.ant-table .ant-table-body .ant-btn{
  background:var(--main-primary-escuro) !important;
}

.ant-table .ant-table-body .ant-btn:hover{
  background:var(--main-primary-claro)  !important;
}

.ant-input-group-addon{
  background-color:transparent;
}

/* FIM DARKMODE */

button.ant-btn.ant-btn-dangerous:not(.ant-btn-icon-only)
{
  background-color:var(--main-vermelho) !important;
}

/* TREE FILES */
.ant-tree-icon__customize,
.ant-tree.ant-tree-show-line li span.ant-tree-switcher{
  background-color:transparent;
}

.ant-tree .ant-tree-node-content-wrapper:hover{
  background-color:inherit !important;
}

.ant-tree .ant-tree-node-content-wrapper:hover span{
  color:var(--main-primary-escuro) !important;
}






.ant-dropdown-placement-bottomRight ul{
  background-color:#fff;;
}


.ant-dropdown-placement-bottomRight li *{
  color:#000 !important;
}

.ant-table .ant-table-row-expand-icon{
  border-radius:50px;
}

.ant-table .ant-table-expanded-row.ant-table-expanded-row-level-1:hover td,
.ant-table .ant-table-expanded-row.ant-table-expanded-row-level-1 td:hover{
  background-color:transparent !important;
}

.ant-table .ant-table-row-expand-icon:after{
  color:#000;
  display:flex;
  justify-content: center;
  align-items: center;
  height:100%;
  width:100%;
}

.vm-info-card .resource-detail-item__details a, .vm-info-card .resource-detail-item a {
  color: var(--main-primary-escuro);
  cursor: default;
  pointer-events: none;
}

/* Modal */
.ant-modal-content{
  background-color:var(--main-linear-cora);
  border:1px solid #fff;
}

.ant-modal-content .ant-radio-group.ant-radio-group-solid span{
  color:#000 !important;
}

.ant-modal-content .ant-radio-group.ant-radio-group-solid label{
  background-color:#fff;
}

.ant-modal-content .ant-radio-group.ant-radio-group-solid .ant-radio-button-wrapper-checked span,
.ant-modal-content .ant-radio-group.ant-radio-group-solid label:hover span{
  color:#fff !important;
}

.ant-modal-content label{
  color:#fff;
}

.ant-modal-content .ant-tabs-nav .ant-tabs-tab{
  color:#fff;
}

.resource-detail-item{
  border-bottom: 1px solid #777;
  padding-bottom: 20px;
}

.account-center-tags .ant-divider-horizontal{
  display:none
}


/* MODAL Steps */

.ant-modal-body .ant-steps.ant-steps-horizontal .ant-steps-item-title{
  font-size:14px !important;
  border-top:0px !important;
  justify-content: center;
}

.ant-modal-body .ant-steps.ant-steps-horizontal .ant-steps-item.ant-steps-item-wait .ant-steps-item-icon{
  background-color:#ddd !important;
  border-color:#999 !important;
}

.ant-modal-body .ant-steps.ant-steps-horizontal .ant-steps-item.ant-steps-item-wait .ant-steps-item-icon span{
  color:#999;
}

.ant-modal-body .ant-steps.ant-steps-horizontal .ant-steps-item.ant-steps-item-finish .ant-steps-item-icon{
  background-color:#555 !important;
  border-color:#555 !important;
}

.ant-modal-body .ant-steps.ant-steps-horizontal .ant-steps-item.ant-steps-item-finish .ant-steps-item-icon span{
  color:white !important;
  right:-3px;
  top:9px;
}

.ant-modal-body .ant-steps.ant-steps-dot .ant-steps-item-container .ant-steps-item-icon{
  background-color:var(--main-primary-claro) !important;
  margin-top:0px;
}

.ant-modal-body .ant-steps.ant-steps-dot .ant-steps-item.ant-steps-item-active .ant-steps-item-container .ant-steps-item-icon .ant-steps-icon-dot{
  background-color:var(--main-primary-escuro) !important;
}

.ant-modal-body .ant-steps.ant-steps-dot .ant-steps-item.ant-steps-item-wait .ant-steps-item-container .ant-steps-item-icon .ant-steps-icon-dot{
  background-color:var(--main-primary-claro) !important;
}

.ant-modal-body .ant-steps.ant-steps-dot .ant-steps-item.ant-steps-item-finish .ant-steps-item-container .ant-steps-item-icon .ant-steps-icon-dot{
  background-color:var(--main-secondary-escuro) !important;
}

.ant-modal-body .ant-steps.ant-steps-dot .ant-steps-item.ant-steps-item-finish .ant-steps-item-container .ant-steps-item-icon .ant-steps-icon-dot{
  color:white !important;
  left:0px !important;
  top:0px;
}

.ant-modal-body .ant-table-body .ant-tag span{
  position:relative !important;
}

.ant-modal-body .ant-table-body .traffic-select-item > span button.ant-btn-circle{
  padding-top:15px !important;
}

.ant-modal-body .ant-table-body button.ant-btn-circle.ant-btn-dangerous{
  background-color:var( --main-vermelho);
  border-color:var( --main-vermelho);
}

.ant-modal-body .ant-form-item-control-input .anticon.anticon-close-circle{
  top:0px !important;
  bottom:0px !important;
  left:-10px !important;
}

.ant-modal-body .ant-form-item-control-input .ant-select-arrow{
  right:15px
}

.ant-form-item-has-feedback .ant-form-item-control-input :not(.ant-input-group-addon) > .ant-select .ant-select-arrow{
  right:40px
}

.ant-modal-body .ant-form-item-control-input .ant-select-clear{
  background-color:transparent !important;
  top:13px;
  right:-20px !important;
}

.ant-modal-body .ant-table-body button.ant-btn-circle.ant-btn-dangerous .anticon{
  /* left:2px;
  top:7px; */
}

.ant-modal-body .ant-table-body button.ant-btn-circle.ant-btn-dangerous:hover,
.ant-modal-body .ant-table-body .traffic-select-item > span button.ant-btn-circle:hover{
  background-color:var(--main-secondary-escuro);
  border-color:var(--main-secondary-escuro);
}

.ant-modal-body .ant-table-body button.ant-btn-circle.ant-btn-dangerous .anticon,
.ant-modal-body .ant-table-body .traffic-select-item > span button.ant-btn-circle:hover svg{
  color:#fff;
}

.ant-modal-body .ant-table-body .traffic-select-item > span button.ant-btn-circle > span{
  top:4px;
  left:-1px;
}

.ant-modal-body .traffic-select-item .ant-select-arrow .anticon.anticon-down{
  margin-left:0px !important;
}

.ant-modal-body .ant-form-item-control-input .anticon.anticon-close-circle,
.ant-modal-body .ant-form-item-control-input .anticon.anticon-check-circle{
  left:5px;
  top:4px !important;
}

.ant-modal-body .card-waiting-launch .anticon-check-circle{
  position: absolute;
  font-size:40px !important;
  left:60px;
  top:40px
}

.ant-modal-body .anticon-rocket{
  left:1px;
  bottom:7px;
}

.ant-modal-body .anticon-rocket:hover{
  color:inherit !important;
}

.card-launch-content .ant-steps-item-finish .anticon.anticon-check.ant-steps-finish-icon{
  right:-6px;
  color:#fff;
  top:19px
}

.card-launch-content .ant-steps-item .ant-steps-item-icon .ant-steps-icon .anticon{
  left:-10px
}

.card-launch-content .ant-steps-item .ant-steps-item-icon .ant-steps-icon .anticon.ant-steps-finish-icon{
  position: absolute;
}

.card-launch-content .ant-steps-item .ant-steps-item-icon{
  min-width:23px !important;
}

.card-launch-content .anticon.anticon-close-circle{
  left:-15px !important;
}

.card-launch-content .anticon.anticon-loading{
  top:1px
}

/* NOVAS ENTRADAS */
.ant-spin-nested-loading .ant-table-bordered .ant-table-body .ant-table-row-cell-break-word .ant-btn-circle{

}

.ant-modal-body .ant-table-bordered .ant-table-body .ant-table-row-cell-break-word .ant-btn-circle.ant-btn-dangerous{
  background-color:var(--main-vermelho) !important;

  &:hover{
    background-color:var(--main-secondary-escuro) !important;
  }

}

.ant-alert .ant-alert-message{
  margin-left:40px;
}

.ant-alert:not(.ant-alert-no-icon) .ant-alert-message{
  margin-left:40px;
}

.ant-btn-dangerous.ant-btn-primary.ant-btn-dangerous{
  background:var(--main-vermelho);
  border-color:var(--main-vermelho);
}


/* DARK ONLY */
.ant-modal-body .ant-table-bordered .ant-table-body .ant-table-row-cell-break-word .ant-btn-circle.ant-btn-dangerous span{
  background-color: transparent;
  margin-right:5px !important;
}

.ant-steps-item-content .ant-card.ant-card-bordered .ant-card-body{
  border:1px solid var(--main-primary-escuro) !important;
  border-radius: 0px;
}

.ant-modal-body .ant-form.ant-form-horizontal.form-content{
  background-color:transparent !important;
}

.ant-modal-body .ant-steps.ant-steps-horizontal .ant-steps-item-title{
  color:#fff;
}
.ant-modal-body .zone-support{
  background:transparent !important;
}

.ant-card-bordered:not(:last-child){
  border-bottom:1px solid rgba(255,255,255,0.5) !important;
}

.ant-steps-item-description .ant-card-bordered:not(:last-child){
  border-bottom:0px !important;
}

.ant-card-bordered.ant-form-text{
  background-color:var(--main-grey-escuro);
  border-bottom:0px !important;
  color:#fff;
}

.ant-modal-body .ant-steps.ant-steps-horizontal .ant-steps-item.ant-steps-item-finish .ant-steps-item-icon span{
  color:white !important;
  right:3px;
  top:0px;
}

.ant-steps-item-icon{
  background-color:var(--main-primary-escuro) !important;
  border-color:var(--main-primary-escuro) !important;
  margin-top:10px
}

.card-launch-content .ant-steps-item .ant-steps-item-icon{
  background-color:transparent !important;
}

form.ant-form .ant-form-item-explain.ant-form-item-explain-error{
  color:pink !important;
}
