/** Template ******************************************************************/

body {
	--default-color: #345447;
	--default-color-hover: #2e4b3f;
	--menu-lateral-width: 300px;
	
    background: var( --default-color );
}

main {
	background: #fff;
}

main > .main-contents {
	padding: 0 0 2rem;
}

main > .main-column {
	display: inline-block;
	width: calc( 100% - var( --menu-lateral-width ) );
	vertical-align: top;
}

main h1 {
	background: #345447;
	color: #FFF;
	font-size: 1.3em;
	font-weight: bolder;
	margin: 0;
	padding: 0.5em;
}

main h1 a {
	color: #FFF;
}

main > .main-column > h1 {
	min-height: 50px;
}

main::after {
	content: ' ';
	clear: both;
}

footer::before {
	content: ' ';
	clear: both;
}
footer {
	color: #fff;
    padding: 2em 0;
    text-align: center;
    position: relative;
}

footer .footer-digenium {
    position: absolute;
    top: 1.5em;
    right: 1em;
    text-align: right;
}

footer .footer-digenium a {
    color: #fff;
    text-decoration: none;
}

@media only screen and (max-width: 800px) {
	footer .footer-digenium {
		position: static;
		margin-top: 1em;
		text-align: center;
	}
}

@media(max-width: 640px) {
    main > .main-column {
		width: 100%;
		display: block;
	}
}

/** Navigation ****************************************************************/
header,
header.top-bar {
    background-color: #FFF;
    color: #ffffff;
    font-size: 30px;
    height: auto;
    line-height: 64px;
    box-shadow: 0 .3rem #345447;
	padding-top: 0.25rem;
	border-bottom: 0.15em solid #1f322a;
}

header .header-title {
    padding-left:80px
}

.header-help {
    float: right;
    margin-right:2rem;
    margin-top: -80px;
    font-size:16px;
}

.header-help span {
    font-weight: normal;
    text-align: center;
    text-decoration: none;
    line-height: 1;
    white-space: nowrap;
    display: inline-block;
    padding: 0.25rem 0.5rem 0.375rem;
    font-size: 0.8rem;
    background-color: #0097a7;
    color: #FFF;
    border-radius: 1000px;
}

.header-help a {
    color: #fff;
}

header h1 {
	float: left;
	background: none;
	font-size: 1.4em;
	margin-bottom: 0.25rem;
	margin-right: 1em;
}

header h1 a img {
    max-height: 80px;
    max-width: 192px;
    vertical-align: text-bottom;
}

header nav {
	float: right;
	font-size: 1rem;
	line-height: 1.6;
	list-style-position: outside;
	padding: 0.75rem 0 0.5rem 0.5rem;
}

header nav > a {
	margin-left: 1rem;
}

.side-nav li a:not(.button) {
    color: #15848F;
}

.side-nav li a:not(.button):hover {
    color: #15848F;
}

.top-bar.expanded .title-area {
    background: #fff;
	color: #333;
}

.top-bar.expanded,
.top-bar,
.top-bar-section ul li,
.top-bar-section li:not(.has-form) a:not(.button) {
    background: #fff;
	color: #333;
}

.top-bar .name h1 a,
.top-bar .name h2 a,
.top-bar .name h3 a,
.top-bar .name h4 a,
.top-bar .name p a,
.top-bar .name span a {
	color: #333;
}

.top-bar-section li:not(.has-form) a:not(.button):hover {
	background-color: #fafafa;
    background: #fafafa;
	color: #345447;
	-webkit-text-stroke: 0.5px;
}

.top-bar-section > ul.right {
	padding: 0 1rem;
}

.top-bar .name {
	height: auto;
}

.top-bar .name h1 {
	line-height: 1;
}

.side-nav li.heading {
    color: #1798A5;
    font-size: 0.875rem;
    font-weight: bold;
    text-transform: uppercase;
    padding: 0.4375rem 0.875rem;
}

#actions-sidebar {
    background: #fafafa;
}

@media ( max-width: 640px ) 
{
	.top-bar .name h1 {
		margin-bottom: 1rem;
	}
}

@media ( max-width: 500px )
{
	header nav {
		padding-top: 0.25rem;
	}
}

/** Menus *********************************************************************/

.menu-lateral {
	--default-element-distance: .75rem;
	--border-radius: 0.25rem;
	
	display: inline-block;
	border-top: 50px solid var( --default-color );
	padding: var( --default-element-distance ) 0 0 0.5rem;
	width: var( --menu-lateral-width );
	vertical-align: top;
	float: right;
}

.menu-lateral ul {
	list-style-type: none;
	margin-left: 0;
	margin-bottom: var( --default-element-distance );
}

.menu-lateral ul > li > a {
	display: block;
	background: var( --default-color );
	border-top-left-radius: var( --border-radius );
	border-bottom-left-radius: var( --border-radius );
	color: #fff;
	font-size: 18px;
	margin-bottom: var( --default-element-distance );
	padding: 1rem;
	text-align: left;
}

.menu-lateral ul > li:last-child > a {
	margin-bottom: 0;
}

.menu-lateral ul > li > a:hover {
	font-weight: bolder;
	background: var( --default-color-hover );
}

@media ( max-width: 640px ) {
    .menu-lateral {
		width: 100%;
		display: block;
		border-top: 0;
		float: none;
		padding: var( --default-element-distance ) 0.5rem 0 0.5rem;
	}
	.menu-lateral ul > li > a {
		border-radius: var( --border-radius );
	}
}

/* submenu ********************************************************************/
.submenu {
	background-color: #4b5a54;
	white-space: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	width: 100%;
}
.submenu-table {
	display: table;
	height: 100%;
	min-height: 80px;
}
.submenu a {
	display: table-cell;
	color: #b9c1c5;
	min-width: 120px;
	max-width: 200px;
	white-space: normal;
	height: 100%;
	line-height: 20px;
	overflow: hidden;
	padding: 10px 20px;
	vertical-align: middle;
	text-align: center;
}

.submenu a:hover {
	background-color: #35463f;
}

.submenu a.active {
	background-color: #182821;
	color: #FFF;
}

.submenu a:hover span {
	color: #FFF;
}

.submenu-tertiary {
	margin-top: 1.75rem;
	white-space: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 0 3rem;
	width: 100%;
}
.submenu-tertiary a {
	display: inline-block;
	min-width: 80px;
	background: #848484;
	white-space: normal;
	line-height: 20px;
	overflow: hidden;
	padding-right: 0.5rem;
	padding-left: 0.5rem;
	margin-right: 0.5rem;
	vertical-align: middle;
	text-align: center;
	position: relative;
	transform: skewX(-30deg);
	border-bottom: 0.15rem solid #666;
	border-right: 0.15rem solid #666;
}
.submenu-tertiary a span {
	display: block;
	color: #EEE;
	font-weight: bolder;
	padding: .5rem 1.5rem .5rem 1.5rem;
	transform: skewX(20deg);
}
.submenu-tertiary a:hover {
	background: #383838;
	border-color: #1e1e1e;
	color: #EFEFEF;
}
.submenu-tertiary a.active {
	border-color: #b76302;
	background: #fc8c0a;
}
.submenu-tertiary a.active span {
	color: #FFF;
}

/** Pagination ****************************************************************/
ul.pagination li a {
    color: rgba(0, 0 ,0 , 0.54);
}

ul.pagination li.active a {
    background-color: #DCE47E;
    color: #FFF;
    font-weight: bold;
    cursor: default;
}
ul.pagination .disabled:hover a {
    background: none;
}

.paginator {
    text-align: center;
}

.paginator ul.pagination li {
    float: none;
    display: inline-block;
}

.paginator p {
    text-align: right;
    color: rgba(0, 0 ,0 , 0.54);
}

.asc:after {
    content: " \2193";
}
.desc:after {
    content: " \2191";
}

.main-column .paginator-counter {
	padding: 0.5rem 1rem;
}

.main-column .paginator-navigation {
	padding: 0 1rem;
}

/** View **********************************************************************/
.view h2 {
    color: #6F6F6F;
}

.view .columns.strings {
    border-radius: 3px;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24);
    margin-right:0.7rem;
}

.view .numbers {
    background-color: #B7E3EC;
    color: #FFF;
    border-radius: 3px;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24);
    margin-right: 0.7rem;
}

.view .columns.dates {
    border-radius: 3px;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24);
    margin-right:0.7rem;
    background-color:#DCE47E;
    color: #fff;
}

.view .columns.booleans {
    border-radius: 3px;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24);
    margin-right:0.7rem;
    background-color: #8D6E65;
    color: #fff;
}

.view .strings p {
    border-bottom: 1px solid #eee;
}
.view .numbers .subheader, .view .dates .subheader {
    color:#747474;
}
.view .booleans .subheader {
    color: #E9E9E9
}

.view .texts .columns {
    margin-top:1.2rem;
    border-bottom: 1px solid #eee;
}

/** Notices and Errors **/
.error label,
.error label.error {
    color: #C3232D;
}

.cake-error,
.cake-debug,
.notice,
p.error,
p.notice {
    display: block;
    clear: both;
    background-repeat: repeat-x;
    margin-bottom: 18px;
    padding: 7px 14px;
    border-radius: 3px;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24);
}

.cake-debug,
.notice,
p.notice {
    color: #000000;
    background: #ffcc00;
}

.cake-error,
p.error {
    color: #fff;
    background: #C3232D;
}

pre {
    background: none repeat scroll 0% 0% #FFF;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24);
    margin: 15px 0px;
    color: rgba(0, 0 ,0 , 0.74);
    padding:5px;
}

.cake-error .cake-stack-trace {
    margin-top:10px;
}

.cake-stack-trace code {
    background: inherit;
    border:0;
}

.cake-code-dump .code-highlight {
    display: block;
    background-color: #FFC600;
}

.cake-error a,
.cake-error a:hover {
    color:#fff;
    text-decoration: underline;
}

/** Utils **/
.disabled a,
a.disabled {
    pointer-events: none;
}

a {
    color: #345447;
}

a.clean {
    text-decoration: none;
}

a:hover {
    color: #800;
    text-decoration: none;
}

.actions-container {
	padding: 0.5rem 1rem;
	background: #EEE;
}

.row {
    max-width: 80rem;
}

.btn-clinimap {
	color: #fff;
	background-color: var( --default-color );
	border-color: var( --default-color );
	padding: 0.6rem 1.5rem;
}

.btn-clinimap:hover {
	color: #fff;
	background-color: var( --default-color-hover );
}

.checks {
    padding:30px;
    color: #626262;
    background-color: #B7E3EC;
    border-radius: 3px;
    box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24);
    margin-bottom: 2em;
}

.checks h4 {
    margin-bottom: 1.5rem;
}

.checks hr {
    border: 0;
    height: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

.checks .success,
.checks .problem {
    margin-left: 10px;
}
.checks .success:before,
.checks .problem:before {
    line-height: 0px;
    font-size: 28px;
    height: 12px;
    width: 12px;
    border-radius: 15px;
    text-align: center;
    vertical-align: middle;
    display: inline-block;
    position: relative;
    left: -11px;
}

.checks .success:before {
    content: "✓";
    color: green;
    margin-right: 9px;
}

.checks .problem:before {
    content: "✘";
    color: red;
    margin-right: 9px;
}

.icon-size-32 {
	font-size: 32px;
	height: 32px;
}

.logotipo {
	max-width: 240px;
}

/** Tables **/

.related table {
    border: 0;
    width: 100%;
    table-layout: fixed;
}

.actions.columns {
    margin-top:1rem;
    border-left: 5px solid #15848F;
    padding-left: 15px;
    padding: 32px 20px;
}

.actions.columns h3 {
    color:#15848F;
}

.index table thead {
    height: 3.5rem;
}

.index table {
    margin-top: 0rem;
    border: 0;
    width: 100%;
    table-layout: fixed;
}

table {
    background: #fff;
    margin-bottom: 1.25rem;
    border: none;
    table-layout: fixed;
    width: 100%;
}

table thead {
    background: none;
}

table tr {
    border-bottom: 1px solid #ebebec;
}

table thead tr {
    border-bottom: 1px solid #1798A5;
}

table tr th {
    padding: 0.5625rem 0.625rem;
    font-size: 0.875rem;
    color: #1798A5;
    text-align: left;
    border-bottom: 2px solid #1798A5;
}

table tr:nth-of-type(even) {
    background: none;
}

.vertical-table th {
    padding: 0.5625rem 0.625rem;
    font-size: 0.875rem;
    color: #1798A5;
    border: none;
    text-align: left;
}

.vertical-table {
    vertical-align: middle;
}

.vertical-table td {
    text-align: right;
}

table td {
    vertical-align: top;
    word-break: break-all;
}

table.realce {
	border-spacing: 0;
	border-bottom: #030406 1px solid;
}
table.realce>tbody>tr>td {
	margin-top: 0;
	margin-bottom: 0;
	border-top: #CCC 2px solid;
	border-bottom: transparent 2px solid;
	border-left: transparent 2px solid;
	line-height: 1.8em;
	margin: 0;
}
table.realce>tbody>tr {
	padding-top: -4px;
}
table.realce>tbody>tr:nth-child(2n) td {
	background: #FAF5FD;
}
table.realce>tbody>tr:hover>td {
	border-top: #60858C 2px solid;
	border-bottom: #60858C 2px solid;
	background-color: #D5EBD5;
}
table.realce>tbody>tr:hover>td:first-child {
	border-left: #880000 2px solid;
}

/** Forms **/

legend {
    color:#15848F;
}

.form .error-message {
    display: block;
    padding: 0.375rem 0.5625rem 0.5625rem;
    margin-top: -1px;
    margin-bottom: 1rem;
    font-size: 0.75rem;
    font-weight: normal;
    font-style: italic;
    color: rgba(0, 0, 0, 0.54);
}

.required > label {
    font-weight: bold;
}
.required > label:after {
    content: ' *';
    color: #C3232D;
}

select[multiple] {
    min-height:150px;
    background: none;
}
input[type=checkbox],
input[type=radio] {
    margin-right: 0.5em;
}

.date select,
.time select,
.datetime select {
    display: inline;
    width: auto;
    margin-right: 10px;
}

fieldset {
    border: none;
    padding: 1.25rem;
    margin: 1.125rem 0;
}

fieldset legend {
    border-bottom: 2px solid #1798A5;
    width: 100%;
    line-height: 2rem;
}

.form button[type="submit"] {
    float: right;
    text-transform: uppercase;
    box-shadow: none;
}

.form button:hover, .form button:focus {
    background: #BE840B;
    box-shadow: none;
}

form textArea {
	border: solid 1px #A3BAC0;
	border-radius: 0.4em;
	box-shadow: inset -2px 0 10px #ccc;
	padding: 0.45em 0.7em;
}

form input[type='text'],
form input[type='date'],
form input[type='datetime-local'],
form input[type='time'],
form input[type='email'],
form input[type='number'],
form input[type='password'],
select {
	border: solid 1px #A3BAC0;
	border-radius: 0.4em;
	box-shadow: inset -2px 0 10px #ccc;
	height: 50px;
	line-height: 1;
	padding: 0.7em;
	font-size: 17px;
}

form input[type='date'] {
	width: 170px;
	text-align: center;
}

form input[type='file'] {
	width: auto;
}

input[type='submit'] {
	cursor: pointer;
}

input.rtl {
   direction: rtl;
}

button {
    background: #966600;
}

.input-phone {
	display: inline-block;
	width: 160px;
}

.input-logradouro {
	display: inline-block;
	width: 18rem;
	max-width: 100%;
}

.input-numero {
	display: inline-block;
	width: 7rem;
}

.input-complemento {
	display: inline-block;
	width: 10rem;
}

.input-bairro {
	display: inline-block;
	width: 15rem;
}

.input-uf {
	display: inline-block;
	width: 60px;
}

.input-cep {
	display: inline-block;
	width: 120px;
}

form.search-default {
	padding: 1rem;
}

/** Messages ******************************************************************/
div.message {
    text-align: center;
    cursor: pointer;
    display: block;
    font-weight: normal;
    padding: 0 1.5rem 0 1.5rem;
    transition: height 300ms ease-out 0s;
    background-color: #a0d3e8;
    color: #626262;
    top: 15px;
    right: 15px;
    z-index: 999;
    overflow: hidden;
    height: 50px;
    line-height: 3em;
}

div.message:before {
    line-height: 0px;
    font-size: 20px;
	height: 1.6rem;
	width: 1.6rem;
    border-radius: 15px;
    text-align: center;
    vertical-align: middle;
    display: inline-block;
    position: relative;
    left: -11px;
    background-color: #FFF;
	padding: 0.9rem 0.8rem 0.7rem 0.675rem;
    content: "i";
    color: #a0d3e8;
}

div.message.error {
    background-color: #C3232D;
    color: #FFF;
}

div.message.error:before {
    padding: 0.8rem 0.8rem 0.8rem 0.5rem;
	height: 1.6rem;
	width: 1.6rem;
    color: #C3232D;
    content: "x";
}
div.message.hidden {
    height: 0;
}

.ajaxFlashMessage {
	background: #345447;
	padding: 0.5em;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 9999999999;
	min-width: 8rem;
}

.ajaxFlashMessage .loader {
	margin-top: -1.3rem;
	margin-bottom: 2.3rem;
}

/** Content **/

.content {
    padding: 2rem;
}

/* Use 'one true layout' methods to get equal height columns */
.container {
    overflow: hidden;
    min-height: 92%; /* full height almost always */
}

/* Force equal height by overflowing */
#actions-sidebar {
    margin-bottom: -99999px;
    padding-bottom: 99999px;
}

@media(max-width: 640px) {
    #actions-sidebar {
        padding-bottom: 2rem;
        margin-bottom: 0;
    }
}

.content h3 {
    color: #be140b;
    padding-bottom: 0.5rem;
    margin-bottom: 20px;
}

.content h4 {
    color: #be140b;
    padding-bottom: 0.5rem;
    margin-bottom: 20px;
    border-bottom: 2px solid #be140b;
}

.content .related h4 {
    color: #4d8f97;
    padding-bottom: 0.5rem;
    margin-top: 20px;
    margin-bottom: 10px;
    border-bottom: 0px;
}