/*
import 'Open Sans' from 'Google Font' (regular, semibold and bold) ---------------------- */
@import "https://fonts.googleapis.com/css?family=Open+Sans:400,600,700";

/*
General ---------------------- */
html { width: 100%; height: 100%; }
body { display: flex; flex-direction: column; min-height: 100%; font: 400 14px/1.2 'Open Sans', Arial, sans-serif; background-color: #f6f6f6; }

h1, h2, h3, h4, h5, h6 { font-family: 'Open Sans', Arial, sans-serif; }
select { width: 140px; }


/*
Grid ---------------------- */
.row.margin-bottom > div { margin-bottom: 22px; }
header.row { margin-bottom: 30px; }
.bg-detail { flex-grow: 1; margin-bottom: 30px; }

.dest { font-size: 22px; font-weight: 700; text-align: center !important; color: #636365; }


/*
Header ---------------------- */
.header { margin-top: 10px; margin-bottom: 30px; }
.header .logo { float: left; margin: 8px 15px 0; }
.header .logo-second { margin-top: 30px; }
.header .logo-second img { width: auto; max-width: 300px; height: 85px; }
.header .survey-title { margin: 25px 15px 0; font-size: 36px; text-align: right; text-shadow: none; }
.header .survey-title small { font-size: 75%; }

@media only screen and (min-device-width: 767px) and (max-device-width: 1024px) {}

@media only screen and (max-width: 767px) {
	.header .logo { float: none; margin-left: auto; margin-right: auto; text-align: center; }
	.header .logo-second img { width: 100%; height: auto; }
	.header .survey-title { text-align: center; }
}

.header-wrap {
	position: relative;
	margin-top: -10px;
	margin-bottom: 10px;
	background-color: #2e5c89;
}

.logo-hfocus {
	display: block;
	width: auto;
	height: 35px;
	margin: 10px 0 10px 15px;
}

.header-user {
	position: relative;
	margin-top: 29px;
	margin-left: 40px;
}

@media only screen and (max-width: 767px) {
	.header-user {
		margin: 15px;
		padding-top: 15px;
		border-top: 1px solid rgba(255, 255, 255, .1);
		clear: both;
	}
}

.header-user::before {
	content: '/';
	position: absolute;
	top: -5px;
	left: -23px;
	font-size: 20px;
	color: #fff;
	opacity: .3;
}

@media only screen and (max-width: 767px) {
	.header-user::before {
		content: '';
	}
}

.header-user-name {
	font-size: 14px;
	font-weight: 700;
	color: #fff;
}

@media only screen and (max-width: 767px) {
	.header-user-name {
		display: block;
	}
}

.header-user-email {
	font-size: 13px;
	font-style: italic;
	color: #d6e2ed;
}

@media only screen and (max-width: 767px) {
	.header-user-email {
		display: block;
	}
}

/* Header Abas */
.header-abas {
	padding-right: 20px;
	text-align: right;
}

@media only screen and (max-width: 767px) {
	.header-abas {
		position: absolute;
		top: 0;
		right: 0;
	}
}

.header-aba {
	position: relative;
	top: -2px;
	z-index: 1;
	display: inline-block;
	padding: 10px 20px;
	font-size: 13px;
	font-weight: 700;
	color: #7d7c7c;
	text-decoration: none;
	text-shadow: 1px 2px 1px #fff;
	-webkit-transition: all 150ms ease-in-out;
	transition: all 150ms ease-in-out;
}

.header-aba:before {
	content: '';
	/* To generate the box */
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	background-color: #efefef;
	background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.09)), to(rgba(0, 0, 0, 0.09)));
	background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.09), rgba(0, 0, 0, 0.09));
	background-image: linear-gradient(top, rgba(255, 255, 255, 0.09), rgba(0, 0, 0, 0.09));
	filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='rgba(255, 255, 255, 0.09)', endColorStr='rgba(0, 0, 0, 0.09)');
	-webkit-transform: perspective(3px) rotateX(-2deg);
	-ms-transform: perspective(3px) rotateX(-2deg);
	transform: perspective(3px) rotateX(-2deg);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
	border-radius: 0 0 10px 10px;
	-webkit-transition: all 150ms ease-in-out;
	transition: all 150ms ease-in-out;
}

.header-aba:hover {
	color: #525252;
	text-decoration: none;
}

.header-aba:hover:before {
	background-color: #fff;
}

.header-aba.is-active, .aba.is-active:hover {
	top: 2px;
	z-index: 2;
}

.header-aba.is-active:before {
	background-color: #fff;
}

.header-aba-logout {
	margin-left: 50px;
}

.header-aba-icons {
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-right: 4px;
	vertical-align: -2px;
}

.icon-logout {
	background: url(../img/icon-logout-14.png);
}

.icon-default {
	background: url(../img/icon-default-14.png);
}

.icon-pacientes {
	background: url(../img/icon-pacientes-14.png);
}

.icon-medicos {
	background: url(../img/icon-medicos-14.png);
}

.icon-acompanhantes {
	background: url(../img/icon-acompanhantes-14.png);
}

.icon-oncologia {
	background: url(../img/icon-oncologia-14.png);
}

.icon-sms {
	background: url(../img/icon-sms-14.png);
}

.icon-ensino {
	background: url(../img/icon-ensino-14.png);
}

.icon-artroplastia {
	background: url(../img/icon-artroplastia-14.png);
}

.icon-analisar {
	background: url(../img/icon-analisar-14.png);
}

.icon-piloto {
	background: url(../img/icon-piloto-14.png);
}

.icon-totem {
	background: url(../img/icon-totem-14.png);
}

.icon-pesquisa-cidadao {
	background: url(../img/icon-pesquisa-cidadao-14.png);
}


/*
Table ---------------------- */
.table { display: table; width: 100%; }
.table-row { display: table-row; }


/*
Steps ---------------------- */
.steps .table-cell { display: table-cell; width: 100%; }
.steps .table-cell .step { display: block; width: inherit; height: 18px; background: url(../img/steps-track.png) repeat-x left center;  }
.steps .table-cell .step .line { display: block; width: 5%; max-width: 100%; height: 18px; background: url(../img/steps-bar2.png) repeat-x right center; }
.legend { font-size: 16px; font-weight: 600; color: #636365; }


/*
Form ---------------------- */
.row form .row.intro { margin-top: 15px; margin-bottom: 15px; }
.row form .row.intro label:nth-child(n+2) { font-size: 14px; }
.row form .row.intro.tit { margin-left: -20px; margin-right: -20px; -webkit-border-radius: 0; -moz-border-radius: 0; -ms-border-radius: 0; -o-border-radius: 0; border-radius: 0; }

.row form .row .columns p { margin-bottom: 4px; color: #636365; }
.row form label, .row form span.label { margin-bottom: 8px; }

.row form .row.satisfacao { margin-top: 20px; margin-bottom: 30px; }
.row form .row.satisfaction .five label { margin-top: 4px; margin-bottom: 4px; }
.row form .row.satisfacao span.custom { top: 0; }
.row form .row.satisfacao.title { margin: 10px 0 0; }
.row form .row.satisfacao.title h3 { font-size: 18px; font-weight: 700; color: #636365; }
.row form .row.satisfacao.title label { margin-top: 2px; font-size: 12px; }

.row form textarea { height: 115px; }

.required .error-message { float: left; width: 100%; margin: 5px 0 0; }

form.custom .row .columns label:first-child { line-height: 18px; }
.row form .row input[type="text"] { margin: 0; }
.satisfaction label span { display: none; font-size: 12px; }
.satisfaction label span.question-index { display: inline; font-size: 14px; }

.radio-group label, .checkbox-group label { margin-right: 20px; }
span.date-div { margin: 7px 5px 0; }

.columns.column-mgr { margin: 60px 0 30px; }
label.inline.label-mgr { margin-right: 10px; }
label.inline.label-div { margin: 0 75px 12px; }

.row form .row .columns.col-nps { float: none; display: inline-block; padding: 5px 15px 0; }

.complement { margin: 7px 0 0 8px; font-size: 14px; }

.row.error.radio , .row.error.checkbox { background-color: #FFD5D5; margin-left: -20px; margin-right: -20px; padding: 5px 20px; }
.row.satisfaction.error { background-color: #FFD5D5; margin-left: -20px; margin-right: -20px; padding-left: 12px; padding-right: 12px; }
.row.error.custom-satisfaction, .row.error.select { background-color: #FFD5D5; }


/*
Form elements ---------------------- */
input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], textarea {
	font-size: 14px;
	color: #777;
	border-color: #dcdcdc;
	background-color: #fcfcfc;
	box-shadow: none;
	border-radius: 0;
}

input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, textarea:focus {
	background-color: #f6f6f8;
}

form.custom div.custom.dropdown {
	height: 36px;
	margin-bottom: 10px;
}

form.custom div.custom.dropdown a.current {
    min-height: 36px;
    padding-left: 14px;
    font-size: 14px;
    line-height: 36px;
    color: #777;
    background-color: #fcfcfc;
    background-image: none;
    border-color: #dcdcdc;
    box-shadow: none;
		border-radius: 0;

		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
}

form.custom div.custom.dropdown.open a.current {
    background-color: #f6f6f8;
    border-color: #dcdcdc;
    background-image: none;
    box-shadow: none;
}

form.custom div.custom.dropdown a.selector {
	height: 36px;
}

form.custom div.custom.dropdown ul {
    top: 37px;
    box-shadow: none;
    border-radius: 0;
    background-color: #f6f6f8;
}

form.custom div.custom.dropdown ul li {
	color: #777;
	border-top: none;
	border-bottom-color: #dcdcdc;
}

form.custom div.custom.dropdown ul li.selected {
	color: #333;
	background: #dcdcdc;
}


/*
Panel ------------------- */
.panel { background-color: #fff; border: 0; }
.panel.shadow { box-shadow: 0 1px 4px 0 rgba(0,0,0,0.1); }
.panel .tit { min-height: auto; padding: 15px 20px; margin-bottom: 20px; background-image: none; box-shadow: none !important; }
.panel .tit h2 { margin: 0; font-size: 18px; text-shadow: none; }

/* Alert box com table e regra para Warning */
.panel .alert-box.alert-end {
    margin: 40px 6px -20px;
    padding: 10px 15px 15px;
}

.panel .alert-box.alert-notend {
    margin: 4px 6px 0;
    padding: 10px 15px 15px;
}

.panel .alert-box.warning {
    background-color: #f6d963;
}

.panel .alert-box .alert-box-header {
    margin-bottom: 10px;
    text-align: center;
}

.panel .alert-box table {
    margin-bottom: 0;
    background-color: rgba(255,255,255,.95);
    border-collapse: collapse;
    border: 0;
    border-radius: 0;
    box-shadow: 0 2px 4px rgba(0,0,0,.05);
}

.panel .alert-box table tr {
    border-bottom: 1px solid #f6d963;
}

.panel .alert-box table td {
    padding: 4px 8px;
}

.panel .alert-box table .font-index {
    font-weight: 300;
    width: 5%;
}

.panel .alert-box table .font-question {
    font-weight: 300;
}

.panel .alert-box table .font-value {
    width: 5%;
}

/*
Buttons ---------------------- */
.buttons-set { position: relative; z-index: 5; margin-top: 20px; margin-bottom: -20px; }
.survey-steps-intro .buttons-set { margin-bottom: 0; }

.button, .button:active { min-width: auto;  height: 50px; padding: 0 30px !important; font-size: 16px; line-height: 50px; text-shadow: none; background-image: none; box-shadow: 0 1px 4px 0 rgba(0,0,0,.05); }
.button:hover, .button:focus { background-image: linear-gradient(to top, rgba(0,0,0,.1), rgba(0,0,0,.1)); }

.buttons-set .loading { margin: 15px 20px 0 0; padding-right: 35px; line-height: 25px; font-size: 16px; font-weight: 700; color: #999; background: url(../img/loading.gif) no-repeat right center; }

hr { margin: 15px 0 15px !important; border-color: #efefef; }


/*
Survey not found ---------------------- */
.not-found header .logo { margin-top: 28px; }
.not-found header .survey-title { margin-top: 60px; }
.not-found .buttons-set { margin-bottom: 50px; }


/*
Footer ---------------------- */
footer.row { margin-top: 60px; padding-bottom: 10px; }
footer.row .row, footer .logo { display: flex; align-items: center; }
footer p { margin: 25px 0 0; font-size: 12px; line-height: 1; color: #999; }
footer .logo { display: flex; align-items: center; }
footer a.lnk,
footer a.lnk:active { margin-left: 20px; font-size: 12px; color: #999; }
footer a.lnk:hover,
footer a.lnk:focus { color: #666; }
.custom-satisfaction div.columns div.columns span.generic-satisfaction,
.custom-satisfaction div.columns div.columns span.generic-satisfaction-desc {
    display: block;
    font-weight: bold;
    font-size: 0.8em;
}

/*
Buttons set */
@media only screen and (max-width: 767px) {
	.buttons-set .mgr-bottom { margin-bottom: 10px; }
}


/*
Media Queries ---------------------- */

@media only screen and (min-device-width: 767px) and (max-device-width: 1024px) {
	.survey-title { text-align: center; font-size: 32px; margin-top: 55px; }
	label.inline.label-div { margin: 0 0 12px; }
}

@media only screen and (min-device-width: 767px) {
	label.inline.label-div { margin: 0 0 12px; }
	.custom-satisfaction div.columns div.columns span.generic-satisfaction-desc {display: none !important}
}

@media only screen and (max-width: 767px) {
	#debug-kit-toolbar { display: none; }

	.dest { font-size: 16px; }

	.row form .row.satisfacao {display: none;}

	.row form .row.satisfacao.title { margin-top: 0; }
	.row form .row.satisfacao.title h3 { margin-bottom: 20px; }
	label.inline.label-div { margin: 0 0 12px; }

	.satisfaction label span {display: inline-block;}
	.satisfaction.intro .text-center { margin-top: 5px; text-align: left !important; }
	.satisfaction.intro .text-center label { margin-left: 15px; }

	footer .logo,
	footer .copyright { text-align: center; }
	footer a.lnk { display:block; margin-top: 10px; margin-left: 0; }
	footer p { text-align: center; }

	.custom-satisfaction div.columns div.columns label {text-align: left}
	.custom-satisfaction div.columns div.columns span.generic-satisfaction-desc {display: inline-block !important}
	.custom-satisfaction div.columns div.columns span.generic-satisfaction {display: inline-block !important}

	.custom-satisfaction div.columns.generic-question div.columns span.generic-satisfaction {display: none !important}

	.row form .row .columns.col-nps {display: block;}
}

.force-hidden {
	display: none !important;
}