@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap');

:root {
	--primary: #245236 ;  /*HORARIOS E SALAS*/
	--second: #489d44;  /*BOTOES*/
	--txt: #525252;  /*TEXTOS*/
}

*{
	font-family: 'Roboto', sans-serif;
}


.head, .hora, .body, .body b{ font-size: 12px !important; }
.filho1.hora, .filho1.body b, .filho1.hora b{ font-size: 12px !important; }

/*a, a b { font-size: 12px; }*/

.corpo{ background: linear-gradient(#fff, #f3f3f3); }

h5, .h5 {
	margin-bottom: 0;
}

h2, .h2 {
    margin-bottom: 0;
    font-size: 2rem;
    font-weight: 900;
    text-transform: uppercase;
    color: var(--txt) ;
}

nav.navbar.navbar-expand-lg.navbar-dark.navbar-custom {
    border-radius: 100px;
    width: 70%;
    margin: -40px 15% 0 15%;
    padding: 20px 30px;
    background: #fff;
    color: #ccc;
    box-shadow: 0px 7px 11px #e4e4e4;
}
.navbar-dark .navbar-brand {
    color: var(--txt) ;
    font-weight: 900;
    font-size: 1.5rem;
    cursor: default;
}
.navbar-dark .navbar-brand:hover {
	color: var(--txt) ;
}
.navbar button.btn.btn-primary {
    background: var(--second) ;
    border: 1px solid var(--second) ;
    border-radius: 0 100px 100px 0;
    outline: none;
}
.navbar .btn-primary:not(:disabled):not(.disabled).active,
.navbar .btn-primary:not(:disabled):not(.disabled):active,
.navbar .show>.btn-primary.dropdown-toggle {
    color: #fff;
    background-color: var(--second) ;
    border-color: var(--second) ;
}
.navbar .btn-primary.focus, 
.navbar .btn-primary:focus {
    box-shadow: 0 0 0 0.2rem rgba(72, 157, 68, .5);
}
.navbar input.form-control.mr-sm-2 { border-radius: 100px 0 0 100px; }
.navbar .form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: var(--second) ;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(72, 157, 68, .5);
}

.footer-custom {
	background-color: var(--second);
		
}
.footer-dark .footer-brand {
	color: #fff;
}

.container-custom {
    min-height: 400px;
    width: auto;
    background: #fff!important;
    box-shadow: 0 0 15px #eee;
    border-radius: 20px;
    padding: 20px 50px;
    margin-top: 40px;
    margin-bottom: 40px;
}

.title-custom {
	margin-top: 50px;
}

.data-custom{
	 margin: 50px 0 10px 0;
    font-size: 3rem;
    color: var(--txt);
    position: relative;
    padding: .75rem 0;
}

.legenda-custom ul li.list-inline-item {
    padding: 5px 20px;
    border-radius: 100px;
    color: var(--txt);
    font-size: .9rem;
    font-weight: 300;
    letter-spacing: .5px;
    margin-bottom: 10px;
}
.legenda-custom h5 { margin-bottom: 10px; }

.table {
	font-family: sans-serif;
	width: 100%;
	border-spacing: 0;
	border-collapse: separate;
	table-layout: fixed;
	/*margin-bottom: 50px;*/
}
.table thead tr th,
.head {
	background: var(--primary) ;
	color: #fff;
	padding: 0.5em;
	overflow: hidden;
	text-align: center;
	border-bottom: 1px solid #fff;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	text-transform: uppercase;
    font-weight: 900;
}
.head  { letter-spacing: 2px; }
.table td, .table th,
.body,
.filho1,
.filho2 {
    padding: 15px;
    vertical-align: top;
}

.body,
.filho1,
.filho2 {
	border-right: 2px solid #efefef;
	border-top: 4px solid #efefef;
    border-bottom: 4px solid #efefef;
}

.filho1 { background-color: #FF7275; border: 5px solid #efefef; }
.filho2 { background-color: #FFBD87; border: 0; }
.filho1.hora { border-left: 20px solid #efefef; }
.filho2.hora { border-left: 40px solid #efefef; }
.filho3.hora { border-left: 60px solid #efefef; }
.filho4.hora { border-left: 80px solid #efefef; }
.filho1, .filho2, .filho3, .filho4 { border-bottom: 5px solid #efefef }
.hora { border-right: 0; font-weight: 900; text-transform: uppercase; }
.titulo { border-left: 0; border-right: 0;  }

.hour {
	background: var(--primary) !important;
	color: #fff!important;
}

.minute {
	background: var(--primary) !important;
	color: #fff !important;
}

table thead tr th:first-child {
	border-radius: 3px 0 0 0;
}
table thead tr th:last-child {
	border-radius: 0 3px  0 0;
}
table thead tr th .day {
	display: block;
	font-size: 1.2em;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	margin: 0 auto 5px;
	padding: 5px;
	line-height: 1.8;
}
table thead tr th .day.active {
	background: #d1d5db;
	color: var(--txt);
}
table thead tr th .short {
	display: none;
}
table thead tr th i {
	vertical-align: middle;
	font-size: 2em;
}
/*table tbody tr {
	background: #d1d5db;
}
table tbody tr:nth-child(odd) {
	background: #d1d5db;
}
table tbody tr:nth-child(4n+0) td {
	border-bottom: 1px solid #fff;
}*/
table tbody tr td {
	text-align: left;
	vertical-align: top;
	border: 1px solid #fff;
	position: relative;
	height: 32px;
	cursor: pointer;
	padding: 15px;
}
table tbody tr th { border: 1px solid #fff; }
table tbody tr td.hour {
	text-align: center;
	vertical-align: middle;
	font-size: 2em;
	padding: 0;
	background: #fff;
	border-bottom: 1px solid #fff;
	border-collapse: separate;
	min-width: 100px;
	cursor: default;
}
table tbody tr td.hour span {
	display: block;
}

a.modalContent {
	font-size: 1rem;
    text-transform: uppercase;
    font-weight: 900;
}

span.palestraTime {
    font-size: .8rem;
    font-weight: 300;
}


@media (max-width: 60em) {
	table thead tr th .short {
		display: block;
	}
	table tbody tr td.hour span {
		transform: rotate(270deg);
		-webkit-transform: rotate(270deg);
		-moz-transform: rotate(270deg);
	}
}
@media (min-width: 576px) {
	.modal-dialog {
	    max-width: 80%;
	    margin: 1.75rem auto;
	}
}
@media (max-width: 480px) {
	nav.navbar.navbar-expand-lg.navbar-dark.navbar-custom {
	    border-radius: 100px;
	    width: 90%;
	    margin: 0 5%;
	    padding: 10px 15px;
	    background: #fff;
	    color: #ccc;
	    box-shadow: 0px 7px 11px #e4e4e4;
	}
	.navbar-dark .navbar-brand {
	    color: var(--txt);
	    font-weight: 900;
	    font-size: 1rem;
	    cursor: default;
	    margin-right: 0;
	}
	.form-control {
    	display: block;
    	width: 70%;
	}
	.tabela-custom{
		overflow-x: scroll;
    	max-width: 100%;
	}
	.table {
		width: auto;
		overflow-x: scroll;
	}
	.table thead tr th {
		font-size: 65%;
	}
	.table thead tr th .day {
		display: block;
		font-size: 1.2em;
		border-radius: 50%;
		width: 20px;
		height: 20px;
		margin: 0 auto 5px;
		padding: 5px;
	}
	.table thead tr th .day.active {
		background: #d1d5db;
		color: var(--txt);
	}
	.table th span.long { font-size: .8rem; }
	.table tbody tr td.hour {
		font-size: .8rem;
		min-width: auto;
		padding: 40px 0px;
	}
}

@media (min-width: 992px){
	.modal-lg {
	    width: 90%;
	}
}

.modal-body {
    height: 500px;
}

