@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Unbounded:wght@200..900&display=swap');

@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:200 900;font-display:swap;font-optical-sizing:auto;src:url(https://gauchazh.clicrbs.com.br//static/fonts/source-serif4/source-serif4.woff2) format('woff2')}@font-face{font-display:swap;font-family:'IBM Plex Sans';font-style:normal;font-weight:400;src:url(https://gauchazh.clicrbs.com.br//static/fonts/ibm-plex-sans/ibm-plex-sans-regular.woff2) format('woff2')}@font-face{font-display:swap;font-family:'IBM Plex Sans';font-style:normal;font-weight:500;src:url(https://gauchazh.clicrbs.com.br//static/fonts/ibm-plex-sans/ibm-plex-sans-500.woff2) format('woff2')}@font-face{font-display:swap;font-family:'IBM Plex Sans';font-style:normal;font-weight:600;src:url(https://gauchazh.clicrbs.com.br//static/fonts/ibm-plex-sans/ibm-plex-sans-600.woff2) format('woff2')} 

*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    list-style: none;
}

:root{
    --yellow: #ffcc00;
    --yellow--dark:#d7af00;
    --yellow-brown: #948135;
    --yellow-gold: #E0C451;
    --black: #222;
    --white: #fff;
    --light--gray: #eee;
    --gray: #bbb;
    --dark--gray: #707070;




    --rt-color-success: #8dc572;
    --rt-color-error: #be6464;
    --rt-color-warning: #f0ad4e;
    --rt-color-info: #337ab7;


    --purple--zh2: #831F82;
    --green--esporte: #67AD2F;
    --green--vida: #00998C;
    --orange--donna: #EC6608;
    --red--donna: #E50051;
    --purple--donna: #494495; 
    --ocre--destemperados: #af4b2b;

    --gremio:#099ae9;
    --gremio--dark:#0f3059;
    --gremio--light:#0d80bf;
    --inter:#e5050f;
    --inter-dark:#8F0E1D;
    --inter--light:#f14b45;

    --rosa:#E051D6;
    --ciano-verde:#51E0D1;
    --verde-musgo:#618B87;
    --marrom-cinza:#615E53;
    --vinho-cinza:#615360;
    --azul-roxo: #6265A1;
    --cereja: #E05451;
}


.material-symbols-sharp {  
  font-variation-settings:
  'FILL' 1,
  'wght' 700,
  'GRAD' 0,
  'opsz' 20
}


body{
    font-family: 'Lato', sans-serif;
    font-weight: 400;
}

.title{
    width: 100%;
    position: relative;
    display: block;
    margin-bottom: 1rem;
    font-family: 'Lato', sans-serif;
    font-style:normal;
}

.title h1{
    font-size: 1.5rem;
    padding: .2rem 0;
    font-weight: 900;
}

.title::before{
    content: '';
    width: 30%;
    max-width: 100px;
    display: block;
    border-top: 8px solid var(--yellow);
}

.title::after{
    content: '';
    width: 30%;
    max-width: 100px;
    display: block;
    border-bottom: 1px solid var(--gray);
}

.info {
    text-align: center;
    font-size: 14px;
    text-transform: uppercase;
    color: var(--dark--gray);
    background-color: var(--light--gray);
    padding: 5px;
    font-family: 'Lato', sans-serif;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
}

.subtitulo{
    font-family: 'Lato', sans-serif;
    font-style:normal;
    font-weight: 900;
}

.lato{
    font-family: 'Lato', sans-serif;
    font-style:normal;
    font-weight: 300;
}

.legenda{
    font-family: 'IBM Plex Sans', sans-serif;
    font-style:normal;
    font-weight: 400;
    font-size: .8rem;
}

main.main-container {
    padding: 0 .2rem;
}

main.main-container p{
    padding: .5rem 0;
}

.bold{
    font-weight: 600;
}

.hairline{
    font-weight: 300;
}

.uppercase {
    text-transform: uppercase;
} 

.subtitulo{
    text-transform: uppercase;
}

.numero-destaque{
    border-left: 1px solid var(--gray);
    padding: 0 30% 0 .5rem;
    margin: 1rem 0;
}

.numero-destaque h2{
    color: var(--yellow--dark);
    font-size: 1.5rem;
}

p.linha {
    padding: 0 !important;
}

/*====================================
TABLE
====================================*/


table{
    width: 100%;
    /* min-width: 560px; */
}

main table th{
    border-bottom: 1px solid var(--gray);
    padding-bottom: .4rem;
}

main table td {
	font-family: 	'Lato', sans-serif;
	font-weight:	400;
    font-size: 14px;
    padding: 5px;
    text-align: left;
}

.attention{
    background-color: var(--yellow);
}

main table td.largo {
    min-width: 70%;
    text-align: left;
    font-weight: 700;
}

main table tr:nth-child(even) {
    background-color: #f5f5f5;
    border-top: 1px solid var(--gray);
    border-bottom: 1px solid var(--gray);
}

main table td.tabela-subtitulo{
	font-family: 	'Lato', sans-serif;
	font-weight:	700;
    font-size: 16px;
    padding: 5px ;
    
    color: var(--black);
    border-bottom: 1px solid var(--dark--gray);
    margin-top: 20px;
}



.setas{
	display: 			flex;
	/* margin: 			20px 0px 20px 0px; */
	width: 				100%;
	justify-content: 	space-between;
	align-items: 		center;
	height: 			60px;
    color: var(--yellow--dark);
    font-size: 24px;
}


.preview,
.next{
	font-size: 			4em;
	cursor: 			pointer;
	transition: 		transform 222ms;
	-webkit-transition: transform 222ms;
	position: 			relative;
	will-change:		transform;
	
	transform-origin: 	50% 50%;
}

.preview:hover,
.next:hover{
	transform: 			scale(1.1);
	-ms-transform: 		scale(1.1);
	-webkit-transform: 	scale(1.1);
}

.preview:active{
	left:					-2px;
}

.next:active{
	right: 					-2px;
}



.scrolling-wrapper {
	position: 			relative;
	overflow-x: hidden;
}

.scroll-father{
	/* overflow:	hidden; */
	width:			100%;
	max-width:		100%;
	margin-bottom:	150px;
}

@media (max-width:601px){ 
	.texto-apoio:after{
		content: 		"Arraste para os lados"
	}
	
	.texto-apoio{
		font-size: 		16px;
        text-align:	 	center;
        display: inline-block;
        width: calc(100% - 35px)
	}
	
	.imageLarge{
		max-height:		400px;
	}
	
	.scrolling-wrapper { 
		overflow: 		scroll;
		width:			100%;
		
		-webkit-overflow-scrolling: touch;
	}
	
	.setas{
		display: 			block;
		margin: 			20px 0px 20px 0px;
		width: 				100%;
		height:				auto;
		font-size:			16px;
	}
}

@media all and (min-width:550px){
    .setas {
        display: none;
    }
}

/*====================================
HEMICICLO
====================================*/

.hemiciclo-wrap {
    position: relative;
    width: 100%;
    max-width: 700px;
    margin: 1rem auto 0;
}

.hemiciclo {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
}

.hemiciclo circle {
    cursor: pointer;
    transition: opacity 200ms ease;
}

/* esmaece tudo quando há um partido ou uma bolinha em foco */
.hemiciclo.has-focus circle {
    opacity: .18;
}

.hemiciclo.has-focus circle.is-active {
    opacity: 1;
}

.hemiciclo circle.is-hover {
    stroke: var(--black);
    stroke-width: 2.5px;
    vector-effect: non-scaling-stroke;
}

.hemiciclo .hemiciclo-total {
    font-family: 'Lato', sans-serif;
    font-weight: 900;
    fill: var(--black);
}

/* tooltip */
.hemiciclo-tooltip {
    position: absolute;
    z-index: 10;
    left: 0;
    top: 0;
    transform: translate(-50%, calc(-100% - 10px));
    background-color: var(--black);
    color: var(--white);
    border-radius: 8px;
    padding: 8px 14px;
    font-family: 'Lato', sans-serif;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity 120ms ease;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
}

.hemiciclo-tooltip.is-visible {
    opacity: 1;
}

.hemiciclo-tooltip .tt-nome {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 900;
}

.hemiciclo-tooltip .tt-cor {
    width: 11px;
    height: 11px;
    border-radius: 2px;
    flex-shrink: 0;
}

.hemiciclo-tooltip .tt-partido {
    display: block;
    margin-top: 2px;
    font-size: 14px;
    color: var(--gray);
}

/* legenda */
.legenda-partidos {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 1rem 0 1.5rem;
}

.legenda-partido {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border: 1px solid #e2e2e2;
    border-radius: 999px;
    background-color: var(--white);
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    color: var(--black);
    cursor: pointer;
    transition: border-color 200ms ease;
}

.legenda-partido:hover,
.legenda-partido.is-active {
    border-color: var(--dark--gray);
}

.legenda-partido:focus-visible {
    outline: 2px solid var(--yellow--dark);
    outline-offset: 2px;
}

.legenda-partido .lp-cor {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    flex-shrink: 0;
}

.legenda-partido strong {
    font-weight: 700;
}

.legenda-partido .lp-qtd {
    color: var(--dark--gray);
}

.tabela td.votos {
    text-align: left;
}

/* botão da lista de eleitos */
.botao-lista {
    display: block;
    width: 100%;
    margin: .5rem 0 1rem;
    padding: 12px 16px;
    border: 0;
    border-radius: 999px;
    background-color: var(--yellow);
    color: var(--black);
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 200ms ease;
}

.botao-lista:hover {
    background-color: var(--yellow--dark);
}

.botao-lista:focus-visible {
    outline: 2px solid var(--black);
    outline-offset: 2px;
}

.lista-eleitos[hidden] {
    display: none;
}

/* desktop: legenda à direita da bancada */
@media (min-width: 601px) {
    .hemiciclo-bloco {
        display: grid;
        grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
        align-items: center;
        gap: 1.5rem;
        margin: 1rem 0 1.5rem;
    }

    .hemiciclo-bloco .hemiciclo-wrap {
        margin: 0;
    }

    .hemiciclo-bloco .legenda-partidos {
        margin: 0;
        gap: 6px;
    }

    .hemiciclo-bloco .legenda-partido {
        font-size: 14px;
        padding: 4px 11px;
    }
}

@media (max-width: 500px) {
    .legenda-partidos {
        gap: 6px;
    }

    .legenda-partido {
        font-size: 13px;
        padding: 4px 10px;
    }

    .hemiciclo-tooltip .tt-nome {
        font-size: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hemiciclo circle,
    .hemiciclo-tooltip,
    .legenda-partido {
        transition: none;
    }
}