#ranking { background-color:  #f6f9fa; padding: 50px; color: #455a64; font-family: Montserrat, sans-serif;}

.ranking-header {text-align: center;}
.ranking-header h1 { font-size: 30px; margin: 0; text-transform: uppercase; font-weight: 500;}
.ranking-header h2 { margin: 0 0 50px; font-weight: 400;}

.ranking-menu { border-radius: 10px; border: 1px solid #c3c3c3; padding: 20px;}
.ranking-nav { display: flex; justify-content: space-around; flex-wrap: wrap;}
.ranking-nav a { font-size: 16px; color: currentColor; text-decoration: none; font-weight: 500; display: block; flex: 0 0 auto; text-align: center; margin: 5px 10px; position: relative;}
.ranking-nav a:after { content: ""; width: 100%; height: 2px; background-color: #20aee3; position: absolute; bottom: -8px; left: 0; transform: scaleX(0); transition: all .3s ease;}
.ranking-nav a.active:after, .ranking-nav a:hover:after { transform: scaleX(1);}

.ranking-table-area { background-color: white; margin: 40px 0; padding: 20px;}

.ranking-table-header { margin: 10px 0 30px; flex: 1 1 auto;}
.ranking-table-header h3 { margin: 0; font-size: 20px; font-weight: 500;}
.ranking-table-header h4 { margin: 0; font-size: 16px; font-weight: 300;}

.ranking-table-wrapper { display: none; flex-wrap: wrap;}
.ranking-table-wrapper.active { display: flex; width: 100%;}

.ranking-table-menu { flex: 0 0 auto; display: flex; align-items: center; margin: 10px 0 30px;}

.ranking-table { flex: 0 0 auto; width: 100%; padding: 0; border-spacing: 0;}
.ranking-table thead td { font-size: 14px; font-weight: 500; text-align: center;}
.ranking-table tbody tr {transition: all .2s ease;}
.ranking-table tbody tr:nth-child(even) { background-color: #f6f9fa;}
.ranking-table tbody td { text-align: center;}
.ranking-table thead td:nth-child(2) {text-align: left;}

.ranking-table tbody td:nth-child(2) {display:flex;flex-wrap: wrap;flex-direction: column;align-items: flex-start;}

.ranking-table .link-info { display: inline-flex; align-items: center; padding: 10px; text-decoration: none; color: currentColor; font-weight: 500; font-size: 14px;}
.ranking-table .link-info:hover { color: #20aee3;}
.ranking-table .link-info.active {color: #20aee3;font-size: 16px;}
.ranking-table .link-info .foto-usuario {height: 45px;width: 45px;border-radius: 50px;margin-right: 20px;object-fit: cover;}
.ranking-table .link-info.sem-foto { justify-content: center;}

.ranking-table tbody tr:hover { background-color: #e3e6e7;}

.refresh-button, .refresh-button-devup-equipe { display: flex; width: 30px; height: 30px; cursor: pointer; padding: 4px; box-sizing: border-box;}
.svg-refresh { height: 100%; width: 100%;}
.svg-element { fill: currentColor;}

.select-period { margin: 0 15px;}
.select-period select { padding: 5px 10px 5px 5px; border: none; border-bottom: 2px solid #20aee3; font-size: 14px; font-family: inherit; color: inherit;}

.ranking-table tbody tr.ranking-line-active { background-color: #d4e3e8; font-weight: 500;}
.ranking-table tbody tr.ranking-line-active td { color: #20aee3;}
.ranking-table tbody tr.ranking-line-active td .link-info:not(.active) { color: #455a64;}

.ranking-table-area.loading { position: relative; display: flex; align-items: center; justify-content: center;}
.ranking-table-area.loading:after { content: "Aguarde..."; position: absolute; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 500; background-color: white; width: 300px; max-width: 100%; height: 60px; max-height: 100%; border-radius: 5px;}
.ranking-table-area.loading:before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #00000040; border-radius: 5px;}

.ranking-nav-menu { width: 100%; height: 60px; background: #ffffff; border-bottom: 1px solid #dcdee6; display: flex;}
.ranking-nav-menu nav { display: flex; align-items: center;}
.ranking-nav-menu nav a { height: 100%; display: flex; align-items: center; padding: 10px 15px; box-sizing: border-box; font-family: montserrat, sans-serif; text-decoration: none; font-weight: 400; color: #455a64; transition: all .2s ease;}
.ranking-nav-menu nav.nav-menu-extra { flex: 0 0 auto; border-left: 1px solid #dcdee6;}
.ranking-nav-menu nav.nav-menu-itens { flex: 1 1 auto;}
.ranking-nav-menu nav a:hover, .ranking-nav-menu nav a.active { background-color: #f6f9fa; color: #20aee3;}
.nav-menu-button { display: flex; flex: 1 1 auto;}
.ranking-nav-menu .nav-menu-button-mobile{display: none;}

a.btn-up-nivel {
    background: #20aee3;
    margin: 0 auto;
    max-width: 330px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
    padding: 20px 10px;
    box-sizing: border-box;
    color: #ffffff;
    text-decoration: none;
    border-radius: 50px;
    line-height: 1.5em;
    font-size: 16px;
    text-align: center;
}

a.btn-up-nivel:hover {
    background: #2e9ec7;
}

@media (max-width: 768px){
    .ranking-nav-menu .nav-menu-button-mobile {display: flex; width: 100%; align-items: center; justify-content: center; font-size: 16px; text-transform: uppercase; font-family: montserrat, sans-serif; color: #455a64; font-weight: 500; height: 60px; cursor: pointer;}
    .ranking-nav-menu.active .nav-menu-button-mobile { background-color: #f2f4f5;}
    .ranking-nav-menu .nav-menu-button{ display:none;}
    .ranking-nav-menu.active{ flex-direction:column; flex-wrap:wrap; height:auto;}
    .ranking-nav-menu.active .nav-menu-button{ display:flex; flex-direction: column;}
    .ranking-nav-menu nav a { height: 60px; width: 100%; justify-content: center;}
    .ranking-nav-menu nav.nav-menu-extra { border-top: 1px solid #dcdee6; border-left: 0;}
    .ranking-nav-menu nav.nav-menu-itens { flex-direction: column;}
}

@media (max-width: 620px){
    .ranking-table-header {margin-bottom: 15px;}
    .ranking-table-wrapper { justify-content: flex-end;}
}

@media (max-width: 425px){
    #ranking { padding: 50px 20px;}
    .ranking-table .link-info img { display: none;}
    .ranking-table .link-info { justify-content: center;}
    .ranking-header h1 { font-size: 26px;}
    .ranking-header h2 { font-size: 20px;}
    .ranking-table-header { text-align: center;}
}

@media (max-width: 375px){
    #ranking { padding: 40px 0px;}
    .ranking-header { padding: 0 10px;}
    .ranking-header h1 { font-size: 24px;}
    .ranking-header h2 { font-size: 18px; margin-bottom: 40px;}
    .ranking-menu { padding: 0px; margin: 5px; overflow: hidden;}
    .ranking-nav a {flex: 0 0 auto;display: inline-block;padding: 10px 20px;margin: 0;transition: all .2s ease;}
    .ranking-nav { flex-direction: column; flex-wrap: wrap;}
    .ranking-nav a:after { display: none;}
    .ranking-nav a.active, .ranking-nav a:hover { background-color: #20aee3; color: white;}
    .ranking-table-area {padding: 15px 10px;}
    .ranking-table thead td { font-size: 12px;}
}