.wrapped {
	margin: 0px auto;
	max-width: 1228px;
}

.vertical-inline-block {
	display: inline-block;
	vertical-align: middle;
	float: none;
}

.vertically-aligned {
	/* allows for vertically-centering
	 * inside a block, it's a hardcore technique.
	 * DO NOT FORGET: put "vertical-align: middle;" on the parent element!
	 */
	position: relative;
	display: block;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	max-height: 100%; /* required! */
	margin: 0px auto; /* also centers the div */
}

.vertically-aligned-transform {
	/* allows for vertically-centering
	 * without overriding stuff like the above function!
	 * DO NOT FORGET: put "vertical-align: middle;" on the parent element!
	 */
	top: 50% !important; /* override this because reasons! */
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.form-control {
	/* override some of the styles
	 * so that we have our own form
	 * identity ;)
	 */
	-webkit-box-shadow: none;
	box-shadow: none;
}

.naked,
.naked:active,
.naked:focus,
.naked:hover {
	/* override all of the styles
	 * by removing ALL of them so that
	 * we have a naked control
	 */
	-webkit-box-shadow: none;
	box-shadow: none;
	outline: none;
	border: none;
	background: none;
}

.naked:focus {
	-webkit-box-shadow: none;
	box-shadow: none;
	outline: none;
	border: none;
	background: none;
}

.extrabold {
	text-transform: uppercase;
	letter-spacing: 0.125em;
	line-height: 1.25em;
	font-weight: 800;
}

.fa-spin {
	/* fix for google chrome cutting off icons
	 * that rotate with a spin. solution from:
	 * http://stackoverflow.com/questions/26146549/chrome-cuts-off-parts-of-type-on-the-left-firefox-and-ie-display-fine-chrome-b
	 */
	padding: 1px;
	margin: -1px;
}

.loading-div {
	display: block;
	padding: 50px;
	text-align: center;
	font-size: 14px;
	color: #aaa;

	-webkit-animation: loading-icon-colour 2s infinite alternate; /* Safari 4+ */
	-moz-animation: loading-icon-colour 2s infinite alternate; /* Fx 5+ */
	-o-animation: loading-icon-colour 2s infinite alternate; /* Opera 12+ */
	animation: loading-icon-colour 2s infinite alternate; /* IE 10+, Fx 29+ */
}

.loading-div > div {
	padding-top: 10px;
}

.social-button {
	display: inline-block;
	vertical-align: middle;
	width: 48px;
	height: 48px;
	border-radius: 100%;
	background: #DEE8F4;
	color: #426EB5;
	text-align: center;
	line-height: 48px;
	font-size: 28px;
}

.link-saiba-mais {
	display: block;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 3px;
	text-transform: uppercase;
	padding: 25px 0px;
}

.link-saiba-mais .iok-seta {
	display: inline-block;
	border: 2px solid;
	border-radius: 50%;
	vertical-align: middle;
	width: 32px;
	height: 32px;
	padding: 4px 3px 3px;
	font-size: 1.429em;
	line-height: 1em;
	letter-spacing: 0px;
}

.cylinder-edit {
	position: relative;
	font-size: 15px;
	cursor: pointer;
	color: rgba(200, 200, 200, 0.6);
	padding-left: 5px;
	vertical-align: middle;
	text-shadow: 0px 0px 0px #fff;
}

.cylinder-edit:hover {
	color: rgba(128, 128, 128, 1);
}





/*
 * BASIC TABLE OVERRIDES
 */

.table {
	text-align: center;
	max-width: 75%;
}

.layout-sm .table,
.layout-xs .table {
	max-width: 100%;
}

.table th {
	text-align: center;
	background: #666;
	color: #fff;
}

.table > thead > tr > th {
	border-bottom: none;
}





/*
 * TOOLTIP ICON
 * AND RESPECTIVE POPOVER STYLES!
 * http://getbootstrap.com/javascript/#popovers
 */

.tooltip-icon {
	background-color: #404040;
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	letter-spacing: 0em;
	font-size: 14px;
	font-weight: 700;
	height: 22px;
	margin-right: 9px;
	padding-top: 1px;
	text-align: center;
	width: 22px;
	position: absolute;
	left: 16px;
	top: 8px;
}

.tooltip-icon:active,
.tooltip-icon:focus,
.tooltip-icon:hover {
	outline: none;
	color: #fff;
}

.popover {
	/* override all of the popovers
	 * by doing some styles over
	 */
	font-size: 16px !important;
	font-weight: normal;
	line-height: 1.42857143;
	letter-spacing: 0px;
	background: rgba(248, 251, 253, 1);
	border-color: #d5daec;
	-webkit-box-shadow: 0 0px 10px rgba(0, 0, 0, 0.2);
	box-shadow: 0 0px 10px rgba(0, 0, 0, 0.2);
}

.layout-lg .popover { width: 400px; }
.layout-md .popover { width: 360px; }
.layout-sm .popover { width: 320px; }
.layout-xs .popover { width: 60%; }

.popover.right > .arrow { border-right-color: #d5daec; }
.popover.right > .arrow:after { border-right-color: rgba(248, 251, 253, 1); }

.popover > h3.popover-title {
	font-size: 0.875em !important;
	font-weight: 700;
	letter-spacing: 0.175em;
	text-transform: uppercase;
	padding: 13px 19px 0px;
	margin-bottom: 0px;
	border-bottom: none;
	background: transparent;
}

.popover > div.popover-content {
	font-size: 13px !important;
	padding: 13px 19px;
	color: #616161;
}





/*
 * FIVE-COLUMN LAYOUT
 * SO WE CAN PUT FIVE EQUAL COLUMNS
 * http://www.wearesicc.com/quick-tips-5-column-layout-with-twitter-bootstrap/
 */

.col-xs-15, .col-xs-30, .col-xs-45, .col-xs-60,
.col-sm-15, .col-sm-30, .col-sm-45, .col-sm-60,
.col-md-15, .col-md-30, .col-md-45, .col-md-60,
.col-lg-15, .col-lg-30, .col-lg-45, .col-lg-60 {
	position: relative;
	min-height: 1px;
	padding-left: 15px;
	padding-right: 15px;
}

.col-xs-15 { width: 20%; float: left; }
.col-xs-30 { width: 40%; float: left; }
.col-xs-45 { width: 60%; float: left; }
.col-xs-60 { width: 80%; float: left; }

@media (min-width: 768px) {
	.col-sm-15 { width: 20%; float: left; }
	.col-sm-30 { width: 40%; float: left; }
	.col-sm-45 { width: 60%; float: left; }
	.col-sm-60 { width: 80%; float: left; }
}

@media (min-width: 992px) {
	.col-md-15 { width: 20%; float: left; }
	.col-md-30 { width: 40%; float: left; }
	.col-md-45 { width: 60%; float: left; }
	.col-md-60 { width: 80%; float: left; }
}

@media (min-width: 1228px) {
	.col-lg-15 { width: 20%; float: left; }
	.col-lg-30 { width: 40%; float: left; }
	.col-lg-45 { width: 60%; float: left; }
	.col-lg-60 { width: 80%; float: left; }
}





/*
 * DEEP MENUS STYLED FOR OK!
 * USUALLY ONLY SUPPORTING TWO LEVELS OF CHILDREN
 */

.menu-deep {}

.menu-deep a {
	display: block;
}

.menu-deep-column {
	padding: 15px 7px 0px 8px;
}

.layout-xs .menu-deep {
	padding: 20px 0px;
}

.layout-xs .menu-deep .menu-deep-column,
.layout-sm .menu-deep .menu-deep-column {
	text-align: center;
}

.layout-xs .menu-deep .menu-deep-column {
	padding: 0px;
}

.layout-xs .menu-deep .row {
	margin-bottom: -20px;
	margin-top: -20px;
}

.menu-deep .menu-deep-item {
	margin: 0px;
}

.layout-xs .menu-deep .menu-deep-item {
	margin: 20px 0px;
}

.menu-deep .menu-deep-item .title {
	margin-top: 25px;
	margin-bottom: 7px;
}

.menu-deep .menu-deep-item .title > span.nolink {
	color: #1a3382;
}

.layout-xs .menu-deep .menu-deep-item .title {
	margin-top: 0px;
	margin-bottom: 0px;
}

.layout-xs .menu-deep .menu-deep-item .title.expanded {
	background: #406fb5;
}

.layout-xs .menu-deep .menu-deep-item .title.expanded a {
	color: #fff;
	padding: 7px 0px;
	margin-top: -7px; /* compensating for padding */
}

.menu-deep .menu-deep-children {
	list-style: none;
	font-size: 14px;
	padding: 0px;
	margin: 0px;
}

.menu-deep .menu-deep-children li a {
	padding: 5px 0px;
}

.menu-deep-highlight.pull-right {
	margin-top: 30px;
}

.menu-deep-highlight .menu-deep-highlight-link {
	position: relative;
	display: block;
	width: 312px;
	height: 222px;
	color: #fff;
	text-align: center;
	vertical-align: middle;
	background: rgba(0, 0, 0, 0.8) no-repeat left top;
	background-size: cover;
	margin: 0px auto;
	padding: 0px 10px;
}

.menu-deep-highlight .menu-deep-highlight-link h1, .menu-deep-highlight .menu-deep-highlight-link .h1,
.menu-deep-highlight .menu-deep-highlight-link h2, .menu-deep-highlight .menu-deep-highlight-link .h2,
.menu-deep-highlight .menu-deep-highlight-link h3, .menu-deep-highlight .menu-deep-highlight-link .h3,
.menu-deep-highlight .menu-deep-highlight-link h4, .menu-deep-highlight .menu-deep-highlight-link .h4,
.menu-deep-highlight .menu-deep-highlight-link h5, .menu-deep-highlight .menu-deep-highlight-link .h5,
.menu-deep-highlight .menu-deep-highlight-link h6, .menu-deep-highlight .menu-deep-highlight-link .h6 {
	margin-top: 0px;
	margin-bottom: 15px;
}

.menu-deep-highlight .menu-deep-highlight-link .btn {
	margin-top: 15px;
}





/*
 * HEADING FOR PAGES
 * USUALLY WITH AN IMAGE AS BG
 */

header.heading_container {
	position: relative;
	display: block;
	background: rgba(0, 0, 0, 0.5) no-repeat center center;
	background-size: cover;
	width: 100%;
	height: 370px;
	text-align: center;
	vertical-align: middle;
	color: #fff !important;
}

header.heading_container.in-homepage {
	background-position: left center;
}

header.heading_container.in-page {
	background-position: right center;
	height: 320px;
}

header.heading_container.in-page.fixed-left { background-position: left center; }
header.heading_container.in-page.fixed-center { background-position: center center; }

.layout-sm header.heading_container.in-homepage { height: 280px; }
.layout-xs header.heading_container.in-homepage { height: 190px; }

.heading_content_bottom {
	text-align: center;
	background-color: green;
	max-width: 100% !important;
	padding: 25px;
	width: 100%;
	color: #fff;
}

header.heading_container .heading_content {
	max-width: 540px;
	color: #fff;
}

header.heading_container.in-page .heading_content {
	font-weight: bold;
}

header.heading_container.align-left .heading_content { margin: 0px auto 0px 90px; }
header.heading_container.align-right .heading_content { margin: 0px 90px 0px auto; }

header.heading_container h1, header.heading_container .h1, .heading_content_bottom h1, .heading_content_bottom .h1,
header.heading_container h2, header.heading_container .h2, .heading_content_bottom h2, .heading_content_bottom .h2,
header.heading_container h3, header.heading_container .h3, .heading_content_bottom h3, .heading_content_bottom .h3 {
	margin-top: 11px;
}

.heading_content_bottom h1,
.heading_content_bottom .h1,
header.heading_container h1,
header.heading_container .h1 {
	margin-top: 0px !important;
	margin-bottom: 5px;
}

header.heading_container h1,
header.heading_container .h1 {
	font-size: 36px;
	font-weight: 600;
}

.heading_content_bottom h1, .heading_content_bottom .h1,
.layout-xs header.heading_container h1, .layout-xs header.heading_container .h1,
.layout-sm header.heading_container h1, .layout-sm header.heading_container .h1 { font-size: 30px; }
.layout-md header.heading_container h1, .layout-md header.heading_container .h1 { font-size: 33px; }

header.heading_container h3,
header.heading_container .h3 {
	font-size: 26px;
	font-weight: 400;
}

.heading_content_bottom h3, .heading_content_bottom .h3,
.layout-xs header.heading_container h3, .layout-xs header.heading_container .h3,
.layout-sm header.heading_container h3, .layout-sm header.heading_container .h3 { font-size: 20px; }
.layout-md header.heading_container h3, .layout-md header.heading_container .h3 { font-size: 23px; }

header.heading_container.in-page p {
	margin-bottom: 5px;
}

header.heading_container a,
.heading_content_bottom a {
	color: #fff;
}

header.heading_container.in-page .btn {
	margin-top: 15px;
}

.heading_content .link-saiba-mais,
.heading_content_bottom .link-saiba-mais {
	padding-top: 10px;
	padding-bottom: 10px;
}





/*
 * CIRCLES AND COLOURED CLASSES
 * STUFF SPECIFIC TO THIS THEME
 */

.circled-icon {
	position: relative;
	display: inline-block;
	width: 93px;
	height: 93px;
	color: #fff;
	background: #000;
	vertical-align: middle;
	text-align: center;
	font-size: 60px;

	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	-ms-border-radius: 100%;
	-o-border-radius: 100%;
	border-radius: 100%;
}

.circled-icon i {
	position: relative;
	display: block;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	max-height: 100%; /* required! */
	margin: 0px auto; /* also centers the div */
}

.circled-number {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	color: #fff;
	background: #000;
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	line-height: 20px;

	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	-ms-border-radius: 100%;
	-o-border-radius: 100%;
	border-radius: 100%;
}

.padded {
	position: relative;
	padding: 0px 10px 0px 40px;
}

.padded > .circled-number {
	margin-left: -30px;
	margin-top: 2px;
	display: block;
	float: left;
}

.bg-red { background-color: #eb0631 !important; }
.bg-blue { background-color: #193282 !important; }
.bg-ramo-saude { background-color: #1fd9d8 !important; }
.bg-ramo-casa { background-color: #ff395d !important; }
.bg-ramo-auto { background-color: #13619f !important; }
.bg-ramo-viagem { background-color: #1a99a0 !important; }
.bg-ramo-desporto { background-color: #dc5e0a !important; }
.bg-ramo-acidentes { background-color: #e69500 !important; }

a.bg-red:hover, .btn.bg-red:hover { background-color: #d20018 !important; }
a.bg-blue:hover, .btn.bg-blue:hover { background-color: #001969 !important; }
a.bg-ramo-saude:hover, .btn.bg-ramo-saude:hover { background-color: #06c0bf !important; }
a.bg-ramo-casa:hover, .btn.bg-ramo-casa:hover { background-color: #e62044 !important; }
a.bg-ramo-auto:hover, .btn.bg-ramo-auto:hover { background-color: #004886 !important; }
a.bg-ramo-viagem:hover, .btn.bg-ramo-viagem:hover { background-color: #018087 !important; }
a.bg-ramo-desporto:hover, .btn.bg-ramo-desporto:hover { background-color: #c34500 !important; }
a.bg-ramo-acidentes:hover, .btn.bg-ramo-acidentes:hover { background-color: #cd7c00 !important; }

.text-red, .btn.bg-red .badge { color: #eb0631; }
.text-blue, .btn.bg-blue .badge { color: #193282; }
.text-ramo-saude, .btn.bg-ramo-saude .badge { color: #1fd9d8; }
.text-ramo-casa, .btn.bg-ramo-casa .badge { color: #ff395d; }
.text-ramo-auto, .btn.bg-ramo-auto .badge { color: #13619f; }
.text-ramo-viagem, .btn.bg-ramo-viagem .badge { color: #1a99a0; }
.text-ramo-desporto, .btn.bg-ramo-desporto .badge { color: #dc5e0a; }
.text-ramo-acidentes, .btn.bg-ramo-acidentes .badge { color: #e69500; }

a.text-red:hover, a:hover .text-red { color: #b80000; }
a.text-blue:hover, a:hover .text-blue { color: #00004f; }
a.text-ramo-saude:hover, a:hover .text-ramo-saude { color: #00a6a5; }
a.text-ramo-casa:hover, a:hover .text-ramo-casa { color: #cc062a; }
a.text-ramo-auto:hover, a:hover .text-ramo-auto { color: #002e6c; }
a.text-ramo-viagem:hover, a:hover .text-ramo-viagem { color: #00666d; }
a.text-ramo-desporto:hover, a:hover .text-ramo-desporto { color: #a92b00; }
a.text-ramo-acidentes:hover, a:hover .text-ramo-acidentes { color: #b36200; }

@-webkit-keyframes loading-icon-colour {
	0% { color: #1a3383; }
	20% { color: #13619f; }
	40% { color: #1a99a0; }
	60% { color: #1fd9d8; }
	80% { color: #ff3a5e; }
	100% { color: #ec0531; }
}
@-moz-keyframes loading-icon-colour {
	0% { color: #1a3383; }
	20% { color: #13619f; }
	40% { color: #1a99a0; }
	60% { color: #1fd9d8; }
	80% { color: #ff3a5e; }
	100% { color: #ec0531; }
}
@-o-keyframes loading-icon-colour {
	0% { color: #1a3383; }
	20% { color: #13619f; }
	40% { color: #1a99a0; }
	60% { color: #1fd9d8; }
	80% { color: #ff3a5e; }
	100% { color: #ec0531; }
}
@keyframes loading-icon-colour {
	0% { color: #1a3383; }
	20% { color: #13619f; }
	40% { color: #1a99a0; }
	60% { color: #1fd9d8; }
	80% { color: #ff3a5e; }
	100% { color: #ec0531; }
}





/*
 * COLLAPSE ICON
 */

.collapse_icon { position: absolute; right: 20px; top: 11px; }
.collapse_icon .opened, .collapsed .collapse_icon .closed { display: block; }
.collapse_icon .closed, .collapsed .collapse_icon .opened {	display: none; }
.collapse_icon .opened { color: #a3a3a3; }





/*
 * CLOSED, OPEN CIRCLES;
 * "UNAVAILABLE" DASH;
 * E & R COVERAGES!
 */

i.okc-closed,
i.okc-open,
i.okc-dash {
	display: inline-block;
	font: normal normal normal 14px/1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	transform: translate(0, 0);
}

i.okc-closed:before { content: "\f111"; }
i.okc-open:before { content: "\f1db"; }
i.okc-dash:before { content: "\f068"; }

i.okc-letter-e,
i.okc-letter-r,
i.okc-letter-er {
	display: inline-block;
	font: italic normal 400 14px/1 'Open Sans', sans-serif;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	transform: translate(0, 0);
}

i.okc-letter-e:before { content: 'E'; }
i.okc-letter-r:before { content: 'R'; }
i.okc-letter-er:before { content: 'E / R'; }