* {
    box-sizing: border-box;
    font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 16px;
}
body {
    background-color: #FFFFFF;
    margin: 0;
	display: flex;
    flex-direction: column;
	 min-height: 100vh;    
}

.content, footer div, body {
	width: 100%;
}


footer{
    margin-top: auto;
    bottom:0;
}


/* Style for larger screens (tablets and desktops) */
@media (min-width: 768px) {
	.content, footer div {
		width: 450px;
	}

}

/* Style for extra large screens (desktops) */
@media (min-width: 920px) {
	.content, footer div {
		width: 900px;
	}
	.navtop div {
		width: 900px;
	}

}
		
.navtop, footer {
    background-color: #313d4e;
    height: 60px;
    width: 100%;
    border: 0;
}
footer{
	height: 40px;
}

footer div {
	display: flex;
	height: 100%;
}

.navtop div, footer div {
    
    margin: 0 auto;
	font-size: 10px;
    color: #eaeced;
    font-weight: normal;
}
.navtop div h1, .navtop div a, footer div h1, footer div a {
    display: inline-flex;
    align-items: center;
}
.navtop div h1, footer div h1 {
    flex: 1;
    font-size: 20px;
    padding: 0;
    margin: 0;
    color: #eaeced;
    font-weight: normal;
}
 footer div h4 {
    flex: 1;
    font-size: 14px;
    padding: 0;
    margin: auto;
	text-align: center;
    color: #eaeced;
    font-weight: normal;
}

.navtop div a, footer div a {
    padding: 0 20px;
    text-decoration: none;
    color: #c1c5ca;
    font-weight: 500;
}
.navtop div a svg, footer div a svg {
    fill: #c1c5ca;
    margin: 2px 5px 0 0;
}
.navtop div a:hover, footer div  a:hover {
    color: #eaeced;
}
.content {
    margin: 0 auto;
	padding-left:5px;
	padding-right:5px;
}
.content h2 {
    margin: 0;
    padding: 25px 0 10px 0;
    font-size: 22px;
    font-weight: 600;
    color: #474b50;
}
.home .create-class, .home .poll-groups {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    appearance: none;
    cursor: pointer;
    border: 0;
    background: #2873cf;
    color: #FFFFFF;
    padding: 0 14px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 4px;
    height: 35px;
    margin-top: 10px;
    box-shadow: 0px 0px 6px 1px rgba(45, 54, 68, 0.1);
}
.home .create-class:hover, .home .poll-groups:hover {
    background: #266cc2;
}



.home table {
    width: 100%;
    margin-top: 30px;
    border-collapse: collapse;
}


.table-pagination{
	text-align: center;
	margin:auto;
	border-top: 1px solid #ebedf0;
}

.home table thead {
    border-bottom: 1px solid #ebedf0;
	text-align:center;
}
.home table thead td, .home table thead td a, .table-pagination, .table-pagination a {
    padding: 15px;
    font-weight: 500;
    color: #787a7c;
    font-size: 14px;
	text-decoration:none;
}

.table-pagination span, .home table thead td a.table-order{
	font-weight: bold;
	font-size: 14px;
	padding: 15px;
	color: black;
}

.home table thead td a:hover, .table-pagination a:hover{
	text-decoration:underline;
}

.home table tbody tr {
    border-bottom: 1px solid #ebedf0;
}

.home table tbody tr:nth-child(odd) {
    background-color: #fafafc;
}
.home table tbody tr td {
    padding: 15px;
}
.home table tbody tr td:nth-child(1) {
    color: #787a7d;
	font-weight: bold;
}
.home table tbody tr td .poll-answer {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 10px;
    background-color: #f8eabd;
    color: #c99f15;
    border-radius: 15px;
    margin-right: 4px;
    font-size: 12px;
    font-weight: 500;
}
.home table tbody tr td.actions {
    padding: 8px;
    text-align: right;
}
.home table tbody tr td.actions .answer,.home table tbody tr td.actions .qrcode, .home table tbody tr td.actions .view, .home table tbody tr td.actions .trash {
    display: inline-flex;
    text-align: right;
    text-decoration: none;
    color: #FFFFFF;
    padding: 7px 9px;
    border-radius: 5px;
    margin-left: 3px;
}
.home table tbody tr td.actions .answer svg, .home table tbody tr td.actions .qrcode svg, .home table tbody tr td.actions .view svg, .home table tbody tr td.actions .trash svg {
    fill: #fff;
}


.home table tbody tr td.actions .answer {
    background-color: #3766b7;
}
.home table tbody tr td.actions .answer:hover {
    background-color: #275d8a;
}

.home table tbody tr td.actions .qrcode {
    background-color: #b7b537;
}
.home table tbody tr td.actions .qrcode:hover {
    background-color: #a1a331;
}

.home table tbody tr td.actions .trash {
    background-color: #b73737;
}
.home table tbody tr td.actions .trash:hover {
    background-color: #a33131;
}
.home table tbody tr td.actions .view {
    background-color: #37b770;
}
.home table tbody tr td.actions .view:hover {
    background-color: #31a364;
}
.update form {
    padding: 15px 0;
    display: flex;
    flex-flow: column;
    width: 400px;
}
.update form label {
    display: inline-flex;
    width: 100%;
    padding: 10px 0;
    margin-right: 25px;
    font-weight: 500;
    font-size: 14px;
    color: #474b50;
}
.update form input, .update form select, .update form textarea {
    padding: 10px;
    width: 100%;
    margin-right: 25px;
    margin-bottom: 15px;
    border: 1px solid #dcdee0;
    border-radius: 5px;
}
.update form input::placeholder, .update form select::placeholder, .update form textarea::placeholder {
    color: #999a9e;
}
.update form textarea {
    height: 200px;
}
.update form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    appearance: none;
    cursor: pointer;
    border: 0;
    background: #2873cf;
    color: #FFFFFF;
    padding: 0 14px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 4px;
    height: 35px;
    width: 120px;
    margin-top: 10px;
    box-shadow: 0px 0px 6px 1px rgba(45, 54, 68, 0.1);
}
.update form button:hover {
    background: #266cc2;
}
.delete .yesno {
    display: flex;
}
.delete .yesno a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    appearance: none;
    cursor: pointer;
    border: 0;
    background: #2873cf;
    color: #FFFFFF;
    padding: 0 14px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 4px;
    height: 35px;
    width: 70px;
    margin: 10px 10px 10px 0;
    box-shadow: 0px 0px 6px 1px rgba(45, 54, 68, 0.1);
}
.delete .yesno a:hover {
    background: #266cc2;
}
	
	
.navtop {
    width: 100%;
}

.navtop-container {
    display: flex;
    align-items: center;
    min-height: 60px;
}

.navtop h1 {
    flex: 0 0 auto;
    margin: 0;
}

.navtop-menu {
    display: flex;
    align-items: center;
    margin-left: auto;
}

.navtop-menu a {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.navtop-toggle {
    display: none;
    width: 42px;
    height: 38px;
    margin-left: auto;
    padding: 8px;
    border: 0;
    background: transparent;
	color: #eaeced;
    cursor: pointer;
}

.navtop-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    margin: 5px 0;
    background: currentColor;
    border-radius: 2px;
}

/*
 * Mantém o layout original no computador.
 */
@media (min-width: 769px) {
    .navtop-menu {
        display: flex !important;
		justify-content: flex-end;
    }

    .navtop h1 {
		flex-wrap: nowrap;
        white-space: nowrap;
    }

}

/*
 * Layout para celular.
 */
@media (max-width: 768px) {
    .navtop-container {
        position: relative;
        flex-wrap: wrap;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .navtop h1 {
		height: 60px;
        min-width: 0;
        max-width: calc(100% - 60px);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .navtop-toggle {
        display: block;
        flex: 0 0 auto;
    }

    .navtop-menu {
        display: none;
        flex: 0 0 100%;
        width: 100%;
        margin-left: 0;
        padding: 0.5rem 0 1rem;
		background-color: #313d4e;
    }

    .navtop-menu.is-open {
        display: flex;
        flex-direction: column;
        align-items: stretch;
		z-index:999;
    }

    .navtop-menu a {
        width: 100%;
        min-height: 44px;
        padding: 0.7rem 0.85rem;
    }
}