@import url("fonts.css");
@import url("font-awesome/css/font-awesome.min.css");


/* =========================================================
   TIPOGRAFIA GLOBAL - SOURCE SANS 3
   A fonte é carregada no inc-metadata.php via Google Fonts.
   Font Awesome fica excluída para preservar os ícones.
   ========================================================= */

html,
body,
input,
select,
textarea,
button,
table,
th,
td,
p,
span,
label,
a,
li,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Source Sans 3', Arial, sans-serif;
}

.fa,
[class^="fa-"],
[class*=" fa-"] {
    font-family: FontAwesome !important;
}


/* 
	Fix for owl-carousel or flexslider 
	on responsive 
*/
@media only screen and (max-width: 769px) {
	ul.shop-item-list>li {
		width:49%;
	}
}
@media only screen and (max-width: 480px) {
	ul.shop-item-list>li {
		width:100%;
	}
}



/* 
	6 COLUMNS - RECALIBRATE FOR LONG TITLES
*/
ul.shop-item-list>li.col-lg-2:nth-child(6n+1),
ul.shop-item-list>li.col-md-2:nth-child(6n+1) {
	clear:both;
}

/* 
	5 COLUMNS - RECALIBRATE FOR LONG TITLES
*/
ul.shop-item-list>li.col-lg-5th:nth-child(5n+1),
ul.shop-item-list>li.col-md-5th:nth-child(5n+1) {
	clear:both;
}


/* 
	4 COLUMNS - RECALIBRATE FOR LONG TITLES
*/
ul.shop-item-list>li.col-lg-3:nth-child(4n+1),
ul.shop-item-list>li.col-md-3:nth-child(4n+1) {
	clear:both;
}

/* 
	3 COLUMNS - RECALIBRATE FOR LONG TITLES
*/
ul.shop-item-list>li.col-lg-4:nth-child(3n+1),
ul.shop-item-list>li.col-md-4:nth-child(3n+1) {
	clear:both;
}

/* 
	2 COLUMNS - RECALIBRATE FOR LONG TITLES
*/
ul.shop-item-list>li.col-lg-6:nth-child(2n+1),
ul.shop-item-list>li.col-md-6:nth-child(2n+1) {
	clear:both;
}






div.shop-item {
	margin-bottom:60px;
}
div.shop-item .shop-item-buttons a.btn-default {
	border:0;
	background-color:rgba(0,0,0,0.1);
}
div.shop-item .shop-item-buttons a.btn-default:hover {
	border:0;
	background-color:rgba(0,0,0,0.18);
}
div.shop-item>.thumbnail {
	background-color:transparent !important;
	border-color:#ddd !important;
	margin-bottom:6px;
	position:relative;
}
	section.dark div.shop-item>.thumbnail {
		border-color:#444 !important;
	}

	div.shop-item>.thumbnail>a.shop-item-image>img {
		-webkit-border-radius: 3px;
		   -moz-border-radius: 3px;
				border-radius: 3px;
	}

	/* double image transition effect */
	div.shop-item>.thumbnail>a.shop-item-image {
		display:block;
		position:relative;
	}
	div.shop-item>.thumbnail>a.shop-item-image>img:last-child {
		position:absolute;
		left:0; top:0;
		z-index:10;

		opacity:0;
		filter: alpha(opacity=0);

		-webkit-transition: all .500s;
		   -moz-transition: all .500s;
			 -o-transition: all .500s;
				transition: all .500s; 
	}

	div.shop-item>.thumbnail:hover>a.shop-item-image>img:last-child {
		opacity:1;
		filter: alpha(opacity=100);
	}

	div.shop-item>.thumbnail>a.shop-item-image>img:first-child {
		position:relative;
		opacity:1;
		filter: alpha(opacity=100);
	}
	/* buttons over image */
	div.shop-item>.thumbnail>.shop-option-over {
		position:absolute;
		top:8px;
		right:2px;
		z-index:20;
		width:50px;

		opacity:0;
		filter: alpha(opacity=0);

		-webkit-transition: all .300s;
		   -moz-transition: all .300s;
			 -o-transition: all .300s;
				transition: all .300s; 
	}
	div.shop-item>.thumbnail>.shop-option-over>a {
		width:44px;
		text-align:center;
		margin:0 0 3px 0;

		-webkit-border-bottom-right-radius: 15px;
		-webkit-border-top-left-radius: 15px;
		-moz-border-radius-bottomright: 15px;
		-moz-border-radius-topleft: 15px;
		border-bottom-right-radius: 15px;
		border-top-left-radius: 15px;
  
	}

	div.shop-item:hover>.thumbnail>.shop-option-over {
		opacity:1;
		filter: alpha(opacity=100);
	}

	/* info over image */
	div.shop-item>.thumbnail>.shop-item-info {
		position:absolute;
		top:8px;
		left:8px;
		z-index:20;
		width:70px;
	}
	div.shop-item>.thumbnail>.shop-item-info>.label {
		min-width:50px;
		text-align:center;
		font-size:13px;
		margin-bottom:3px;
		display:inline-block;
	}
	
	
/* summary */
div.shop-item-summary {
	padding:15px 8px;

	-webkit-border-radius: 3px;
	   -moz-border-radius: 3px;
			border-radius: 3px;
}
div.shop-item-summary h2 {
	font-size:15px;
	color:#666;
	margin:0 0 4px 0;
}

div.shop-item-rating-line {
	display:block;
	position:relative;
}
div.shop-item-rating-line:before {
	left: 0 !important;
	right: 50%;
	margin-right: 50px;
	content: '';
	position: absolute;
	top: 10px;
	padding:1px;
	height: 0;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}
div.shop-item-rating-line:after {
	right: 0 !important;
	left: 50%;
	margin-left: 50px;
	content: '';
	position: absolute;
	top: 10px;
	padding:1px;
	height: 0;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}


/* list item price */
div.shop-item-price {
	font-size:20px;
	margin-top:6px;
	font-weight:bold;
}
div.shop-item-price>span {
	color:#999;
	font-size:15px;
	display:inline-block;
	padding:0 10px;
	font-weight:400;
}

/* list item buttons */
div.shop-item-buttons {
	margin-top:6px;
}
div.shop-item-buttons a.btn-default:hover {
	color:#333;
}
section.dark div.shop-item-buttons a.btn-default:hover {
	color:#fff;
}
	/* out of stock */
	span.out-of-stock {
		display:block;
		margin-top:15px;
	}

	span.out-of-stock:before {
		content:'–x– ';
	}
	span.out-of-stock:after {
		content:' –x–';
	}

	span.out-of-stock.clean:before,
	span.out-of-stock.clean:after {
		content:'';
	}



/* list item countdown */
div.shop-item>.thumbnail>.shop-item-counter {
	position:relative;
	position:absolute;
	bottom:4px;
	left:4px; right:4px;
	z-index:20;
	background-color:rgba(33,33,33,0.5);

	-webkit-border-radius: 3px;
	   -moz-border-radius: 3px;
			border-radius: 3px;

	-webkit-border-top-left-radius: 0;
	-moz-border-radius-topleft: 0;
	border-top-left-radius: 0;
}
div.shop-item>.thumbnail>.shop-item-counter:before {
	position:absolute;
	left:0;
	top:-20px;
	padding:0 6px;
	height:20px;
	color:#fff;
	font: normal normal normal 14px/1 FontAwesome;
	content:"\f017 \20 limited offer";
	text-align:center;
	line-height:20px;
	background-color:rgba(33,33,33,0.5);

	-webkit-border-top-right-radius: 3px;
	-moz-border-radius-topright: 3px;
	border-top-right-radius: 3px;
	-webkit-border-top-left-radius: 3px;
	-moz-border-radius-topleft: 3px;
	border-top-left-radius: 3px;
}
div.shop-item>.thumbnail>.shop-item-counter>.countdown .countdown-section {
    display: inline-block;
    font-size: 11px;
	color:#fff;
    line-height: 1;
    text-align: center;
    width: 20%; margin:0 3px !important;
	padding:8px !important;
	text-align:center !important;
	margin:0; padding:0;
    text-transform: capitalize;
	overflow:hidden;

	-webkit-transition: all .500s;
	   -moz-transition: all .500s;
		 -o-transition: all .500s;
			transition: all .500s; 
}
div.shop-item>.thumbnail>.shop-item-counter>.countdown .countdown-amount {
	color:#fff;
    display: block;
    font-size: 13px;
	font-weight:bold;
	margin:0; padding:0;
}
div.shop-item>.thumbnail>.shop-item-counter>.countdown .countdown-period {
	font-size:10px !important;
	text-transform:lowercase !important;
	margin-top: 5px;
	display:block !important;
	margin-bottom:-18px !important;

	-webkit-transition: all .500s;
	   -moz-transition: all .500s;
		 -o-transition: all .500s;
			transition: all .500s; 
}

div.shop-item:hover>.thumbnail>.shop-item-counter>.countdown .countdown-period {
	margin-bottom:0 !important;
}

.thumbnail>.shop-limited-offer {
	position:absolute !important;
	left:5px; top:5px;
	z-index:20;
	color:#fff;
	font-size:18px;
	text-align:center;
}
.thumbnail>.shop-limited-offer>i {
	margin-left:8px;
	margin-top:6px;
}
.thumbnail>.shop-limited-offer:before {
	content: "";
	display: block;
	width: 40px;
	height: 40px;
	position: absolute;
	border: 26px solid transparent;
	border-left-color: #333;
	border-top-color: #333;
	left: 0; top: 0;

	-webkit-border-radius: 3px;
	   -moz-border-radius: 3px;
			border-radius: 3px;
}



/* list item options */
.shop-list-options label {
	margin:0 6px
}
.shop-list-options select,
.shop-list-options input {
	height:35px;
	padding:6px;
	border-width:1px;
	cursor:pointer;
}
.shop-list-options .btn {
	height:35px;
	line-height:22px;
	color:#ccc;
	border:#E5E7E9 1px solid;
	display:inline-block;
	margin-top:-4px;
	margin-right:0;
}
.shop-list-options .btn.active {
	color:#fff;
	background-color:#333;
}
@media only screen and (max-width: 768px) {
	.shop-list-options {
		text-align:center;
	}
	.shop-list-options ul,
	.shop-list-options select,
	.shop-list-options a {
		margin-bottom:3px;
		float:none !important;
	}
	.shop-list-options .options-left {
		display:block;
		margin-top:20px;
	}
}






/* 1 Column */
.shop-item-list>.col-lg-12>.shop-item {
	position:relative;
	min-height:230px;
}
.shop-item-list>.col-lg-12 {
	margin-bottom:30px;
	width:100%;
}
.shop-item-list>.col-lg-12>.shop-item h2 {
	font-size:20px;
}
.shop-item-list>.col-lg-12>.shop-item>.thumbnail,
.shop-item-list>.col-md-12>.shop-item>.thumbnail {
	float:left;
	width:200px;
}

.shop-item-list>.col-lg-12>.shop-item>.shop-item-summary,
.shop-item-list>.col-md-12>.shop-item>.shop-item-summary {
	text-align:left !important;
	position:absolute;
	left:230px;
}
.shop-item-list>.col-lg-12>.shop-item>.shop-item-buttons,
.shop-item-list>.col-md-12>.shop-item>.shop-item-buttons {
	text-align:left;
}
.shop-item-list>.col-lg-12>.shop-item>.shop-item-summary>.shop-item-price>span,
.shop-item-list>.col-md-12>.shop-item>.shop-item-summary>.shop-item-price>span {
	padding-left:0;
}
.shop-item-list>.col-lg-12>.shop-item p{
	margin:15px 0;
	display:inline-block;
}



@media only screen and (max-width: 480px) {
	.shop-item-list>.col-lg-12>.shop-item {
		min-height:100px;
	}
	.shop-item-list>.col-lg-12>.shop-item>.thumbnail,
	.shop-item-list>.col-md-12>.shop-item>.thumbnail {
		float:none;
		width:100%;
	}
	.shop-item-list>.col-lg-12>.shop-item>.shop-item-summary,
	.shop-item-list>.col-md-12>.shop-item>.shop-item-summary {
		position:relative;
		left:0;
	}
	.shop-item-list>.col-lg-12>.shop-item>.shop-item-buttons,
	.shop-item-list>.col-md-12>.shop-item>.shop-item-buttons,
	.shop-item-list>.col-lg-12>.shop-item>.shop-item-summary,
	.shop-item-list>.col-md-12>.shop-item>.shop-item-summary {
		float:none;
		text-align:center !important;
	}
	.shop-item-list>.col-lg-12>.shop-item>.shop-item-summary>.shop-item-price>span,
	.shop-item-list>.col-md-12>.shop-item>.shop-item-summary>.shop-item-price>span {
		padding:0 10px;
	}
}





/* SHOP COMPARE TABLE */
.shop-compare-title {
	background-color:rgba(0,0,0,0.05);
}
section.dark .shop-compare-title {
	background-color:rgba(255,255,255,0.1);
}

.shop-compare>tbody>tr>td:first-child {
	font-weight:bold;
}
.shop-compare a.shop-compare-item>img {
	margin-bottom:10px;
}




/* SHOP CART */
.cartContent {
	padding:0;
}
.cartContent .item {
	position:relative;
	background: rgba(0,0,0,0.01);
}

.cartContent .item {
	margin-top:-1px;
	border:rgba(0,0,0,0.05) 1px solid;
}
.cartContent .sky-form.boxed {
	border: rgba(0,0,0,0.1) 1px solid;
}

.cartContent .item.head {
	border-bottom:0;
}
.cartContent .product_name {
	float:left;
	width:35%;
	padding:10px;
	text-decoration:none;
	min-height:60px;
}
	.cartContent .product_name:hover>span {
		text-decoration:underline;
	}
	.cartContent .product_name >small {
		display:block;
		font-size:12px;
		line-height:12px;
		color:rgba(0,0,0,0.5);
		font-family: 'Source Sans 3', Arial, sans-serif;
	}
.cartContent .qty {
	float:right;
	width:160px;
	font-size:15px;
	padding:10px;
	text-align:center;
}
.cartContent .qty input {
	padding:3px; margin:0;
	border:#ccc 1px solid;
	width:50px; margin-right:3px;
	text-align:center;
}
.cartContent .total_price {
	float:right;
	width:150px;
	font-size:15px;
	padding:10px;
	line-height:30px;
	text-align:center;
	font-weight:bold;
}
.cartContent .remove_item {
	float:right;
	padding:5px 5px 5px 7px;
	width:30px; margin-right:8px;
}
.cartContent a.remove_item {
	background:rgba(0,0,0,0.1);
	border:rgba(0,0,0,0.1) 1px solid;
	padding-top:0;
	margin-top:10px;
	height:30px;
	line-height:26px;
	font-size:18px;
	text-decoration:none;
	color:rgba(0,0,0,0.5);
	border-radius:3px;

}
.cartContent .btn_update {
	margin-top:20px;
}

@media only screen and (max-width: 992px) {
	.cartContent .item.head {
		display:none;
	}
	.cartContent .product_name {
		font-size:11px;
		line-height:15px;
	}
	.cartContent .item .qty {
		float:left;
		text-align:left;
	}
	.cartContent .product_name {
		width:50%;
	}
}



/* dark */
section.dark .cartContent .item {
	background: rgba(255,255,255,0.04);
}
section.dark .cartContent .item {
	border:rgba(255,255,255,0.05) 1px solid;
}
section.dark .cartContent .sky-form.boxed {
	border: rgba(255,255,255,0.1) 1px solid;
}
section.dark .cartContent .qty input {
	color:#000;
}
section.dark 	.cartContent .product_name >small {
	color:rgba(255,255,255,0.5);
}
section.dark .cartContent a.remove_item {
	color:#eee;
	background: rgba(255,255,255,0.1);
}







/**
	SHOP PRODUCT
**/

.product-opt-color,
.product-opt-size,
.product-opt-qty {
	margin-right:10px;
}

/* QTY DROP DOWN */
ul#product-qty-dd {
	padding:1px 0 0 1px;
	min-width:115px;
	margin-top:-1px;
}
ul#product-qty-dd li {
	float:left;
	width:49.1%;
	margin-right:1px;
	margin-bottom:1px;
	background-color:rgba(0,0,0,0.05);
	text-align:center;
	cursor:pointer;
}
button.product-qty-dd .caret {
	float:right;
	margin-top:8px;
}

button.product-qty-dd {
	width:100px;
	text-align:left;
}

/* SIZE DROP DOWN */
ul#product-size-dd {
	margin-top:-1px;
	min-width:159px;
	padding:1px 0 0 1px;
}
ul#product-size-dd li {
	float:left;
	width:51px;
	margin-right:1px;
	margin-bottom:1px;
	background-color:rgba(0,0,0,0.05);
	text-align:center;
	cursor:pointer;
}
ul#product-size-dd li>a {
	padding:3px 0;
}
button.product-size-dd {
	width:100px;
	text-align:left;
}
button.product-size-dd .caret {
	float:right;
	margin-top:8px;
}

/* COLOR DROP DOWN */
ul#product-color-dd {
	margin-top:-1px;
	min-width:50px;
	padding:1px 0 0 1px;
}
ul#product-color-dd li {
	float:left;
	width:25px !important;
	margin-right:1px;
	margin-bottom:1px;
	background-color:rgba(0,0,0,0.05);
	text-align:center;
	cursor:pointer;
}
ul#product-color-dd li>a {
	padding:3px 0;
}
ul#product-color-dd .tag.shop-color {
	width:24px !important; 
	height:24px !important;
}

button.product-color-dd {
	width:55px;
	text-align:left;
	position:relative;
}
button.product-color-dd .caret {
	float:right;
	margin-top:8px;
}
button.product-color-dd>.tag {
	height: 17px;
	width: 20px;
	margin: 0;
	position: absolute;
	top: 7px;
	left: 7px;
}
.product-opt-color>ul>li {
	padding:0 1px !important;
}

@media only screen and (max-width: 480px) {

	ul#product-size-dd,
	ul#product-qty-dd {
		margin-top:-21px;
	}

	.product-size-dd,
	.product-qty-dd,
	.product-add-cart {
		min-width:90px;
		width:100% !important;
		display:block !important;
		float:none !important;
		margin-bottom:20px !important;
	}
}


.product-star-vote label {
	margin:0 15px 30px 0 !important;
	font-weight:300;
}
#footer {
	background-color:#F00;
}
.page-header .breadcrumb li{
	color: #C8102E;
	font-weight: 500;
	text-transform:uppercase;
}
.page-header h5 {
	color: #C8102E;
	font-weight: 500;
	text-transform:uppercase;
	font-size: 11px;
  	max-width: 150px;
  	overflow: hidden;
  	text-overflow: ellipsis;
  	white-space: nowrap;
}
.page-header img {
	width: 90px;
	height: auto;
}
@media only screen and (max-width: 769px) {
	.page-header img {
		width: 100%;
		height: auto;
		padding:0;
		margin:0;
	}
}
.tipo-telha .telha {
	border-radius: 0px;
	margin-bottom: 80px;
}

.tipo-telha .telha img.img-telha {
	max-height: 50px;
	width: auto;
}
.tipo-telha .telha:hover  img {
	border: solid thin #C8102E;
	opacity: 0.5;
}
.tipo-telha .telha img {
	padding: 0px;
}

.tipo-telha .telha h2 {
	font-size: 16px;
	color: #C8102E;
	text-transform:uppercase;
	margin: 0;
	padding: 0;
}

.superficies .superficie{
	border-radius: 5px;
	margin-bottom: 30px;
}

.superficies .superficie img {
	height: 135px;
	width: 153px;
}
.superficies .superficie:hover  img {
	border: solid thin #C8102E;
	opacity: 0.5;
}
.superficies .superficie img {
	padding: 0px;
}
.superficies .superficie h2 {
	font-size: 16px;
	color: #C8102E;
	text-transform:uppercase;
}
.isolamento img {
	padding: 30px;
	border-radius: 10px;
}
.isolamento h2 {
	font-size: 16px;
	color: #C8102E;
	text-transform:uppercase;
	margin-top: 35px;
}
.isolamento a {
	font-size: 16px;
	color: #C8102E;
	text-transform:uppercase;
	font-weight: 500;
}
.cumes-rincoes {
	margin-bottom: 30px;
}
.cumes-rincoes h2{
	font-size: 16px;
	text-transform:uppercase;
	color: #C8102E;
}
.frmcumes label {
	font-size: 16px;
	color: #C8102E;
	text-transform:uppercase;
	margin-top: 35px;
}
.frmcumes label {
	font-size: 16px;
	color: #C8102E;
	text-transform:uppercase;
	margin-top: 35px;
	min-height: 200px;
}
#orcamento {
	font-family: 'Source Sans 3', Arial, sans-serif;
	background-color:#FFF;
}
.orcamento h1{
	font-size: 22px;
	color: #C8102E;
	text-transform:uppercase;
	text-align:right;
}
.orcamento h1 .data{
	font-size: 14px;
	font-style:italic;
	font-weight:300;
	color: #C8102E;
	text-transform:uppercase;
	text-align:right;
}
.orcamento h2{
	font-size: 16px;
	color: #C8102E;
	text-transform:uppercase;
	margin-top: 35px;
	margin-bottom: 35px;
	text-align:center;
}
.orcamento table td p {
	margin: 0;
	padding: 0;
}
.orcamento table.tborcam   {
	min-width: 100%;
	margin-bottom: 25px;
	font-family: 'Source Sans 3', Arial, sans-serif;
	font-size-adjust: inherit;
	font-size: 13px;
}
thead:before, thead:after { display: none; }
tbody:before, tbody:after { display: none; }

.orcamento table.tborcam td, .orcamento table.tborcam th {
	border: thin solid #ccc;
	font-family: 'Source Sans 3', Arial, sans-serif;
	font-size-adjust: inherit;
	font-size: 13px;
	padding-left: 10px;
}
.orcamento table.tborcam th  {
	text-align:left;
	border: thin solid #ccc;
	line-height: 18px;
	/*height: 20px;*/
	font-size: 13px;
	font-weight: 900;
	color:#666;
}
.descricoes  {
	font-family: 'Source Sans 3', Arial, sans-serif;
	font-size: 13px;
	text-align: justify;
	margin-top: 0px;
	/* border-top-width: thin;
	border-top-style: dashed;
	border-top-color: #C8102E;*/
}
.descricoes h1 {
	font-size: 22px;
	color: #C8102E;
	text-transform:uppercase;
	text-align:center;
	margin-top: 25px;
	margin-bottom: 0px;
}
.descricoes h2 {
	font-size: 22px;
	color: #C8102E;
	text-transform:uppercase;
	text-align:center;
	margin-top: 25px;
	margin-bottom: 0px;
	padding-bottom: 0px;
}
.descricoes p {
	font-size: 13px;
	text-align:justify;
}
.notas {
	border-top-width: thin;
	border-top-style: dashed;
	border-top-color: #C8102E;
	font-family: 'Source Sans 3', Arial, sans-serif;
	font-size:11px;
}
.notas ul {
	margin-top: 25px;
	font-size: 11px;
}
.rodape {
	margin-top:-15px;
	color: #C8102E;
	font-size:10px;
	border-top-width: thin;
	border-top-style: dashed;
	border-top-color: #C8102E;
}
#registo input, #registo select {
	border: thin solid #C8102E;
	height: 30px;
	font-size: 14px;
}
#registo textarea {
	border: thin solid #C8102E;
}
#registo label {
	font-weight: 200;
	color:#666;
	font-size: 14px;
}
#registo .rgpd {
	font-size: 11px;
	color: #C8102E;
	font-style:italic;
}
@media only screen and (max-width: 769px) {
	.hidden-xs {
		display:none;
	}
}

figcaption {
	font-size: 11px;
	color: #C8102E;
}
.tecnico .qrcode {
}
.tecnico i {
	font-family: "fontawesome";
	font-size: 20px;
	color: #000;
}

.conteudo {
}
.conteudo h1 {
	font-size: 24px;
	color: #C8102E;
}
.home {
}
.home img {
	border-radius: 10px;
}
.textos  {
	font-family: 'Source Sans 3', Arial, sans-serif;
	font-size: 16px;
	text-align: justify;
	margin-bottom: 40px;
	}

.textos h2 {
	font-size: 22px;
	color: #C8102E;
	text-transform:uppercase;
}
.textos p {
	font-size: 16px;
	text-align:justify;
	line-height:normal;
	margin-bottom: 10px;
	margin-top: 10px;
	padding: 0;
}
@media only screen and (max-width: 769px) {
	.home .textos h2 {
		font-size: 14px;
		color: #C8102E;
		text-transform:uppercase;
		height: 36px;
		line-height: 18px;
		margin: 0;
		padding: 0;
		font-weight: 300;
	}
}
.obra h3 {
	color: #C8102E;
	font-size: 16px;
	font-weight: 300;
}
.obra h3 span {
	color: #C8102E;
	font-size: 11px;
	font-weight: 600;
}
.resumo h2 {
	font-family: 'Source Sans 3', Arial, sans-serif;
	font-weight: 400;
}
.tbresumo {
	font-family: 'Source Sans 3', Arial, sans-serif;
	font-size: 11px;
	line-height: 16px;
}
.tbresumo td {
	font-family: 'Source Sans 3', Arial, sans-serif;
	font-size: 13px;
	line-height: 18px;
	border-bottom:thin solid #ccc;
}

/* SISTEMAS */
.sistemas h2 {
	font-size: 16px;
	color: #C8102E;
	text-transform:uppercase;
	margin-top: 35px;
}
.sistemas .tipo-sistema img {
	padding: 30px;
	border-radius: 10px;
	max-height: 300px;
}
.sistemas .tipo-sistema .texto {
	font-size: 16px;
}
.sistemas .tipo-sistema .texto p {
	margin: 0;
	padding: 0;
}
.sistemas .tipo-sistema .texto ul li  {
	font-size: 14px;
}
.sistema-lista ul li {
 	position: relative;
	padding-bottom: 50px;
}

.sistema-lista ul {
  list-style: none;
}

.sistema-lista ul li:before{
   content: '';
   position: absolute;
   border-right:2px solid black;
   border-bottom:2px solid black;
   width:10px;
   height:10px;
   top: calc(50% - 4px);
   left: -20px;
   transform: translateY(-50%) rotate(-45deg);
}
.cumes-rincoes {
	margin-bottom: 30px;
}
.cumes-rincoes h2{
	font-size: 16px;
	text-transform:uppercase;
	color: #C8102E;
}

/* /SISTEMAS */

/* Reduz a altura do cabeçalho */
#header {
    min-height: 70px !important;
}

#header .navbar-collapse {
    margin-top: 0 !important;
}

/* Menu */
#topMain > li {
    margin: 0 2px !important;
}

#topMain > li > a {
    font-size: 14px !important;
    padding: 10px 8px !important;
    line-height: 20px !important;
    font-weight: 500;
    text-transform: uppercase;
}

/* Separador | */
#topMain > li > a.hidden-xs {
    padding-left: 2px !important;
    padding-right: 2px !important;
}

#header .nav-main-collapse{
    margin-top:32px !important;
}

#header #logo{
    margin-top:15px;
}

#topMain > li > a{
    height:auto !important;
    line-height:20px !important;
    padding:12px 8px !important;
}
/* Cabeçalho */
#header {
    min-height: 95px;
}

/* Logo */
#header #logo {
    float: left;
    margin: 18px 0 0 0;
}

#header #logo img {
    max-height: 58px;
}

/* Menu */
#header .nav-main-collapse {
    float: right;
    margin-top: 20px !important;
}

#topMain {
    margin: 0;
    padding: 0;
}

#topMain > li {
    margin: 0 2px !important;
}

#topMain > li > a {
    height: 58px !important;
    line-height: 58px !important;
    padding: 0 5px !important;
    font-size: 14px !important;
    font-weight: 500;
    text-transform: uppercase;
}

/* =====================================================
   INDEX / LOGIN
===================================================== */

html,
body {
    width: 100%;
    min-height: 100%;
    margin: 0;
    overflow-x: hidden;
}

body {
    min-height: 100vh;
}

#wrapper {
    min-height: 100vh;
    display: grid;
    grid-template-rows:
        auto   /* header */
        auto   /* breadcrumb / page-header */
        1fr    /* conteúdo */
        auto;  /* footer */
}

.ondutherm-main {
    min-height: 0;
    padding-top: 30px;
    padding-bottom: 30px;
}

footer,
#footer {
    margin: 0;
}


/* Página de login */
.main-content-slides {
    min-height: 100vh !important;
    height: auto !important;
    position: relative !important;
    padding-bottom: 80px !important;
}

/* Área principal */
.main-content-slides .content-wrap {
    min-height: calc(100vh - 90px) !important;
    height: auto !important;
    display: block !important;
}

/* Caixa do login */
.main-content-slides .main-content {
    position: relative !important;
    top: -40px !important;
    padding-top: 60px !important;
    padding-bottom: 80px !important;
}

/* Footer/menu inferior */
.main-content-slides footer,
.main-content-slides .footer,
.main-content-slides #footer {
    position: fixed !important;
    left: 0 !important;
    bottom: 15px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 15px !important;
    background: transparent !important;
    z-index: 50 !important;
}

/* =====================================================
   PORTÁTEIS 1366x768
===================================================== */

@media screen and (max-height: 800px) {

    .main-content-slides .main-content {
        top: -100px !important;
        padding-top: 30px !important;
        padding-bottom: 40px !important;
    }

    .main-content-slides h1,
    .main-content-slides .main-content h1 {
        font-size: 52px !important;
        margin-bottom: 15px !important;
    }

    .main-content-slides input {
        height: 44px !important;
        margin-bottom: 14px !important;
    }

    .main-content-slides .btn {
        height: 44px !important;
        padding: 10px 20px !important;
    }

    .main-content-slides footer,
    .main-content-slides .footer,
    .main-content-slides #footer {
        bottom: 8px !important;
    }
}

/* =====================================================
   TELEMÓVEL
===================================================== */

@media screen and (max-width: 767px) {

    .main-content-slides {
        min-height: 100vh !important;
        padding-bottom: 100px !important;
    }

    .main-content-slides .content-wrap {
        min-height: auto !important;
    }

    .main-content-slides .main-content {
        top: -90px !important;
        padding-top: 25px !important;
        padding-bottom: 40px !important;
        text-align: center !important;
    }

    .main-content-slides h1,
    .main-content-slides .main-content h1 {
        font-size: 42px !important;
        margin-bottom: 10px !important;
    }

    .main-content-slides input,
    .main-content-slides .btn {
        width: 100% !important;
        max-width: 300px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .main-content-slides footer,
    .main-content-slides .footer,
    .main-content-slides #footer {
        position: fixed !important;
        bottom: 8px !important;
        text-align: center !important;
        padding: 10px !important;
    }
}

/* FIX LOGIN PORTÁTIL 1366x768 */
@media screen and (max-height: 760px) {

    body {
        overflow: hidden !important;
    }

    .main-content-slides .main-content {
        top: -250px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .main-content-slides h1 {
        font-size: 48px !important;
        margin-bottom: 8px !important;
    }

    .main-content-slides input {
        height: 40px !important;
        margin-bottom: 10px !important;
    }

    .main-content-slides .btn {
        height: 42px !important;
        padding: 8px 20px !important;
    }

    .main-content-slides footer,
    .main-content-slides .footer,
    .main-content-slides #footer {
        display: block !important;
        visibility: visible !important;
        position: fixed !important;
        bottom: 8px !important;
        left: 0 !important;
        width: 100% !important;
        z-index: 9999 !important;
        background: transparent !important;
        margin: 0 !important;
        padding: 5px 20px !important;
    }
}

.home-box {
    display: block;
    text-decoration: none;
}

.home-box:hover {
    text-decoration: none;
}

@media only screen and (max-width: 767px) {
    .home .col-xs-12 {
        float: none !important;
        display: block !important;
        width: 100% !important;
        clear: both !important;
        margin-bottom: 30px;
    }

    .home img {
        display: block;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
    }
}

html,
body {
    height: auto !important;
    min-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

#wrapper {
    height: auto !important;
    min-height: 100vh !important;
    overflow: visible !important;
}

section,
.container,
.row {
    overflow: visible !important;
}

@media only screen and (max-width: 767px) {
    body.smoothscroll {
        overflow-y: auto !important;
        height: auto !important;

    }

    .home-section {
        margin-top: 0 !important;
        padding-top: 20px !important;
    }
}

/* Cabeçalho da página */
.page-header.page-header-xs {
    min-height: 42px !important;
    padding: 10px 0 !important;
    line-height: normal !important;
}

.page-header .breadcrumb {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 22px !important;
}

.page-header .breadcrumb > li {
    line-height: 22px !important;
    font-size: 13px;
}
/* Secção seguinte */
.page-header + section {
    margin-top: -40px !important;
}

/* Título Bienvenido */
.conteudo {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.conteudo h1 {
    margin-top: 0 !important;
}


/* =====================================================
   MOBILE - WIZARD COMPACTO SEM SCALE
===================================================== */
@media (max-width:767px){

    .page-header.page-header-xs {
        padding: 4px 0 !important;
        min-height: 28px !important;
    }

    .process-wizard {
        margin-top: -45px !important;
        margin-bottom: -35px !important;
        padding: 0 !important;
        display: flex !important;
        justify-content: center !important;
        align-items: flex-start !important;
        height: 70px !important;
        transform: none !important;
    }

    .process-wizard-step {
        width: 32px !important;
        min-width: 32px !important;
        max-width: 32px !important;
        padding: 0 !important;
        float: none !important;
        position: relative !important;
    }

    .process-wizard-stepnum {
        font-size: 11px !important;
        line-height: 12px !important;
        height: 12px !important;
        margin: 0 0 4px 0 !important;
        padding: 0 !important;
        color: #333 !important;
    }

    .process-wizard-dot {
        width: 18px !important;
        height: 18px !important;
        line-height: 18px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: block !important;
        border-radius: 50% !important;
        background: #eeeeee !important;
        border: 1px solid #dddddd !important;
        position: relative !important;
        top: 0 !important;
        left: auto !important;
        box-shadow: none !important;
    }

    .process-wizard-dot:before,
    .process-wizard-dot:after {
        display: none !important;
        content: none !important;
    }

    .process-wizard-danger .process-wizard-step.disable .process-wizard-dot,
    .process-wizard-danger .process-wizard-step.active .process-wizard-dot,
    .process-wizard-danger .process-wizard-step.complete .process-wizard-dot {
        background: #c8102e !important;
        border-color: #c8102e !important;
    }

    .process-wizard-step .progress {
        position: absolute !important;
        top: 34px !important;
        left: 24px !important;
        width: 24px !important;
        height: 3px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #e5e5e5 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    .process-wizard-step:last-child .progress {
        display: none !important;
    }

    .process-wizard-step .progress-bar {
        background: #c8102e !important;
        box-shadow: none !important;
    }

    /* compactar topo do configurador */
    .page-header + section {
        margin-top: -25px !important;
    }

    .tipo-telha,
    .sistemas,
    .isolamento,
    .conteudo {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .tipo-telha h2,
    .sistemas h2,
    .isolamento h2 {
        margin-top: 5px !important;
        margin-bottom: 5px !important;
        font-size: 13px !important;
        line-height: 16px !important;
    }
}

/* =====================================================
   PROCESS WIZARD - MOBILE + PORTÁTIL 1366x768
===================================================== */

/* PORTÁTIL 1366x768 */
@media (min-width:768px) and (max-height:800px) {

    .process-wizard {
        margin-top: -20px !important;
        margin-bottom: 10px !important;
        padding: 0 !important;
        display: flex !important;
        justify-content: center !important;
        height: 75px !important;
        transform: none !important;
    }

    .process-wizard-step {
        width: 70px !important;
        min-width: 70px !important;
        max-width: 70px !important;
        float: none !important;
        padding: 0 !important;
        position: relative !important;
    }

    .process-wizard-stepnum {
        font-size: 14px !important;
        line-height: 16px !important;
        height: 16px !important;
        margin: 0 0 6px 0 !important;
        padding: 0 !important;
    }

    .process-wizard-dot {
        width: 24px !important;
        height: 24px !important;
        margin: 0 auto !important;
        display: block !important;
        border-radius: 50% !important;
        background: #eeeeee !important;
        border: 1px solid #dddddd !important;
        position: relative !important;
        top: 0 !important;
        left: auto !important;
        box-shadow: none !important;
    }

    .process-wizard-dot:before,
    .process-wizard-dot:after {
        display: none !important;
        content: none !important;
    }

    .process-wizard-step .progress {
        position: absolute !important;
        top: 34px !important;
        left: 47px !important;
        width: 46px !important;
        height: 4px !important;
        margin: 0 !important;
        background: #e5e5e5 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    .process-wizard-step:last-child .progress {
        display: none !important;
    }

    .process-wizard-danger .process-wizard-step.disable .process-wizard-dot,
    .process-wizard-danger .process-wizard-step.active .process-wizard-dot,
    .process-wizard-danger .process-wizard-step.complete .process-wizard-dot {
        background: #c8102e !important;
        border-color: #c8102e !important;
    }

    .process-wizard-step .progress-bar {
        background: #c8102e !important;
        box-shadow: none !important;
    }
}


/* TELEMÓVEL */
@media (max-width:767px) {

    .process-wizard {
        margin-top: -45px !important;
        margin-bottom: -35px !important;
        padding: 0 !important;
        display: flex !important;
        justify-content: center !important;
        height: 70px !important;
        transform: none !important;
    }

    .process-wizard-step {
        width: 32px !important;
        min-width: 32px !important;
        max-width: 32px !important;
        padding: 0 !important;
        float: none !important;
        position: relative !important;
    }

    .process-wizard-stepnum {
        font-size: 11px !important;
        line-height: 12px !important;
        height: 12px !important;
        margin: 0 0 4px 0 !important;
        padding: 0 !important;
        color: #333 !important;
    }

    .process-wizard-dot {
        width: 18px !important;
        height: 18px !important;
        margin: 0 auto !important;
        display: block !important;
        border-radius: 50% !important;
        background: #eeeeee !important;
        border: 1px solid #dddddd !important;
        position: relative !important;
        top: 0 !important;
        left: auto !important;
        box-shadow: none !important;
    }

    .process-wizard-dot:before,
    .process-wizard-dot:after {
        display: none !important;
        content: none !important;
    }

    .process-wizard-step .progress {
        position: absolute !important;
        top: 30px !important;
        left: 25px !important;
        width: 22px !important;
        height: 3px !important;
        margin: 0 !important;
        background: #e5e5e5 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    .process-wizard-step:last-child .progress {
        display: none !important;
    }

    .process-wizard-danger .process-wizard-step.disable .process-wizard-dot,
    .process-wizard-danger .process-wizard-step.active .process-wizard-dot,
    .process-wizard-danger .process-wizard-step.complete .process-wizard-dot {
        background: #c8102e !important;
        border-color: #c8102e !important;
    }

    .process-wizard-step .progress-bar {
        background: #c8102e !important;
        box-shadow: none !important;
    }
}

/* =====================================================
   PROCESS WIZARD - MOBILE + PORTÁTIL 1366x768
===================================================== */

/* PORTÁTIL 1366x768 */
@media (min-width:768px) and (max-height:800px) {

    .process-wizard {
        margin-top: -20px !important;
        margin-bottom: 10px !important;
        padding: 0 !important;
        display: flex !important;
        justify-content: center !important;
        height: 75px !important;
        transform: none !important;
    }

    .process-wizard-step {
        width: 70px !important;
        min-width: 70px !important;
        max-width: 70px !important;
        float: none !important;
        padding: 0 !important;
        position: relative !important;
    }

    .process-wizard-stepnum {
        font-size: 14px !important;
        line-height: 16px !important;
        height: 16px !important;
        margin: 0 0 6px 0 !important;
        padding: 0 !important;
    }

    .process-wizard-dot {
        width: 24px !important;
        height: 24px !important;
        margin: 0 auto !important;
        display: block !important;
        border-radius: 50% !important;
        background: #eeeeee !important;
        border: 1px solid #dddddd !important;
        position: relative !important;
        top: 0 !important;
        left: auto !important;
        box-shadow: none !important;
    }

    .process-wizard-dot:before,
    .process-wizard-dot:after {
        display: none !important;
        content: none !important;
    }

    .process-wizard-step .progress {
        position: absolute !important;
        top: 34px !important;
        left: 47px !important;
        width: 46px !important;
        height: 4px !important;
        margin: 0 !important;
        background: #e5e5e5 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    .process-wizard-step:last-child .progress {
        display: none !important;
    }

    .process-wizard-danger .process-wizard-step.disable .process-wizard-dot,
    .process-wizard-danger .process-wizard-step.active .process-wizard-dot,
    .process-wizard-danger .process-wizard-step.complete .process-wizard-dot {
        background: #c8102e !important;
        border-color: #c8102e !important;
    }

    .process-wizard-step .progress-bar {
        background: #c8102e !important;
        box-shadow: none !important;
    }
}


/* TELEMÓVEL */
@media (max-width:767px) {

    .process-wizard {
        margin-top: -45px !important;
        margin-bottom: -35px !important;
        padding: 0 !important;
        display: flex !important;
        justify-content: center !important;
        height: 70px !important;
        transform: none !important;
    }

    .process-wizard-step {
        width: 32px !important;
        min-width: 32px !important;
        max-width: 32px !important;
        padding: 0 !important;
        float: none !important;
        position: relative !important;
    }

    .process-wizard-stepnum {
        font-size: 11px !important;
        line-height: 12px !important;
        height: 12px !important;
        margin: 0 0 4px 0 !important;
        padding: 0 !important;
        color: #333 !important;
    }

    .process-wizard-dot {
        width: 18px !important;
        height: 18px !important;
        margin: 0 auto !important;
        display: block !important;
        border-radius: 50% !important;
        background: #eeeeee !important;
        border: 1px solid #dddddd !important;
        position: relative !important;
        top: 0 !important;
        left: auto !important;
        box-shadow: none !important;
    }

    .process-wizard-dot:before,
    .process-wizard-dot:after {
        display: none !important;
        content: none !important;
    }

    .process-wizard-step .progress {
        position: absolute !important;
        top: 30px !important;
        left: 25px !important;
        width: 22px !important;
        height: 3px !important;
        margin: 0 !important;
        background: #e5e5e5 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    .process-wizard-step:last-child .progress {
        display: none !important;
    }

    .process-wizard-danger .process-wizard-step.disable .process-wizard-dot,
    .process-wizard-danger .process-wizard-step.active .process-wizard-dot,
    .process-wizard-danger .process-wizard-step.complete .process-wizard-dot {
        background: #c8102e !important;
        border-color: #c8102e !important;
    }

    .process-wizard-step .progress-bar {
        background: #c8102e !important;
        box-shadow: none !important;
    }
}

.img-process {
	max-height:50px; 
	width:auto;
}
/* Desktop grande 1920x1080 */
@media (min-width:1400px) and (min-height:900px) {
    .process-wizard {
        margin-top: -5px !important;
        margin-bottom: 	35px !important;
        padding: 0 !important;
        display: flex !important;
        justify-content: center !important;
        height: 70px !important;
        transform: none !important;
    }
    .tipo-telha .telha {
        min-height: 210px !important;
        margin-bottom: 20px !important;
    }

    .tipo-telha .telha h2 {
        margin-bottom: 12px !important;
    }

    .tipo-telha .telha img.img-telha,
    .tipo-telha .telha img {
        max-width: 220px !important;
        max-height: 150px !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain !important;
        margin: 10px auto 0 auto !important;
    }
}
/* TELHAS - desktop e portátil */
@media (min-width:768px) {

    .tipo-telha .telha {
        min-height: 260px !important;
        margin-bottom: 35px !important;
        text-align: center !important;
    }

    .tipo-telha .telha img.img-telha,
    .tipo-telha .telha img {
        width: auto !important;
        height: auto !important;
        max-width: 260px !important;
        max-height: 190px !important;
        object-fit: contain !important;
        display: block !important;
        margin: 15px auto 0 auto !important;
    }
}

/* portátil 1366x768 */
@media (min-width:768px) and (max-height:800px) {

    .tipo-telha .telha {
        min-height: 220px !important;
        margin-bottom: 20px !important;
    }

    .tipo-telha .telha img.img-telha,
    .tipo-telha .telha img {
        max-width: 230px !important;
        max-height: 165px !important;
    }
}

/* telemóvel */
@media (max-width:767px) {

    .tipo-telha .telha img.img-telha,
    .tipo-telha .telha img {
        max-width: 120px !important;
        max-height: 90px !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain !important;
    }
}

table.tborcam {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Source Sans 3', Arial, sans-serif;
    font-size: 10px;
}

table.tborcam th,
table.tborcam td {
    border: 1px solid #cccccc;
    padding: 3px 5px;
    vertical-align: top;
    line-height: 12px;
}

table.tborcam th {
    font-weight: bold;
}
table,tborcam td.descricao {
	height:90px; 
	font-size:9px; 
	line-height:11px;
}
.bloco-acessorio {
    page-break-inside: avoid;
    break-inside: avoid;
    margin-bottom: 12px;
}

.quebra-acessorios {
    page-break-before: always;
    break-before: page;
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

/* =========================================================
   PDF - PAGINACAO E ULTIMA PAGINA
   ========================================================= */

@page {
    margin-bottom: 60px;
}

.pdf-ultima-pagina {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Source Sans 3', Arial, sans-serif;
    margin-top: 15px;
    page-break-inside: avoid;
}

.pdf-ultima-pagina > tbody > tr > td {
    border: 0 !important;
    padding: 0;
    vertical-align: top;
}

.pdf-footer-conteudo {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    border-top: 1px dashed #d71920;
}

.pdf-footer-conteudo td,
.pdf-tecnico-dados td {
    border: 0 !important;
}

.pdf-footer-notas {
    padding: 8px 12px 6px 4px !important;
    vertical-align: top !important;
    color: #000;
    font-family: 'Source Sans 3', Arial, sans-serif;
    font-size: 8px !important;
    line-height: 10px !important;
    font-weight: normal;
}

.pdf-footer-notas ul {
    margin: 0 !important;
    padding: 0 0 0 14px !important;
}

.pdf-footer-notas li {
    margin: 0 0 2px 0 !important;
    padding: 0 !important;
    font-size: 9px !important;
    line-height: 10px !important;
}

.pdf-footer-tecnico {
    padding: 7px 4px 6px 10px !important;
    vertical-align: top !important;
    text-align: center;
    font-family: 'Source Sans 3', Arial, sans-serif;
}

.pdf-footer-tecnico h3 {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    color: #222;
    font-size: 13px !important;
    line-height: 15px !important;
    font-weight: bold;
    text-align: center;
    text-transform: none;
}

.pdf-tecnico-dados {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.pdf-tecnico-dados td {
    padding: 0 2px !important;
    vertical-align: middle !important;
    text-align: center;
    font-family: 'Source Sans 3', Arial, sans-serif;
    font-size: 8px !important;
    line-height: 10px !important;
}

.pdf-tecnico-dados h4 {
    margin: 0 0 5px 0 !important;
    padding: 0 !important;
    font-size: 10px !important;
    line-height: 12px !important;
    font-weight: bold;
}

.pdf-chamada-movel {
    color: #d71920;
    font-size: 7px !important;
    line-height: 8px !important;
}

.pdf-qr-tecnico {
    width: 85px;
    max-width: 85px;
    height: auto;
    margin: 0;
}

.pdf-footer-onduline {
    width: 100%;
    margin-top: 7px;
    padding-top: 5px;
    border-top: 1px dashed #d71920;
    color: #d71920;
    text-align: center;
    font-family: 'Source Sans 3', Arial, sans-serif;
    font-size: 6.5px !important;
    line-height: 8px !important;
}

.pdf-footer-onduline strong {
    color: #d71920;
}

.pdf-footer-onduline img {
    width: auto;
    height: 14px;
    max-height: 14px;
    margin: 0;
    padding: 0;
}


/* =========================================================
   PWA - BOTÃO INSTALAR APP
   Apenas tablet / telemóvel
   ========================================================= */

#ondulineInstallApp {
    display: none !important;
}

@media screen and (max-width: 1024px) and (pointer: coarse) {
    #ondulineInstallApp {
        display: block !important;
    }
}

/* =========================================================
   ONDULINE ES - AREA2 RESPONSIVE
   Tablet + Telemóvel
   ========================================================= */

@media (max-width: 991px) {

    /* conteúdo com mais largura útil */
    .container {
        width: 100% !important;
        padding-left: 18px;
        padding-right: 18px;
    }

    /* bloco de produtos/configuração no topo */
    .ondutherm-resumo,
    .area-produtos,
    .produtos-selecionados {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        align-items: flex-start;
    }

    .ondutherm-resumo > div,
    .area-produtos > div,
    .produtos-selecionados > div {
        flex: 1 1 30%;
        min-width: 140px;
    }

    /* imagens dos produtos */
    .ondutherm-resumo img,
    .area-produtos img,
    .produtos-selecionados img {
        max-width: 100%;
        height: auto;
        margin: 0 auto 6px auto;
    }

    /* texto dos produtos */
    .ondutherm-resumo p,
    .area-produtos p,
    .produtos-selecionados p {
        font-size: 13px;
        line-height: 1.25;
        margin-bottom: 5px;
        word-break: normal;
        overflow-wrap: normal;
    }

    /* títulos da área */
    .area2 h2,
    .area2 h3 {
        margin-top: 18px;
        margin-bottom: 12px;
    }

    /* inputs */
    .area2 .form-control {
        width: 100%;
        min-height: 44px;
        font-size: 16px;
    }

    /* botões */
    .area2 .btn {
        min-height: 46px;
        font-size: 16px;
    }
}


/* =========================================================
   TELEMÓVEL
   ========================================================= */

@media (max-width: 767px) {

    body {
        font-size: 14px;
    }

    .container {
        padding-left: 14px;
        padding-right: 14px;
    }

    /* no telemóvel os produtos ficam em 2 colunas */
    .ondutherm-resumo > div,
    .area-produtos > div,
    .produtos-selecionados > div {
        flex: 0 0 calc(50% - 6px);
        max-width: calc(50% - 6px);
        min-width: 0;
    }

    /* evita texto super estreito */
    .ondutherm-resumo p,
    .area-produtos p,
    .produtos-selecionados p {
        font-size: 12px;
        line-height: 1.3;
    }

    /* zona de cálculo */
    .area2 .row > [class*="col-"] {
        width: 100%;
        float: none;
    }

    .area2 label {
        display: block;
        margin-bottom: 6px;
        text-align: left;
    }

    /* inputs e botões full width */
    .area2 input,
    .area2 select,
    .area2 .btn {
        width: 100% !important;
    }

    /* reduz margens excessivas */
    .area2 br {
        line-height: 6px;
    }

    /* botão PWA não deve tapar formulários */
    #ondulineInstallApp {
        right: 10px !important;
        bottom: 10px !important;
        max-width: calc(100% - 20px);
        font-size: 13px !important;
        padding: 10px 14px !important;
    }

    /* reserva espaço inferior quando o botão PWA estiver visível */
    body {
        padding-bottom: 70px;
    }
}


/* =========================================================
   TELEMÓVEL PEQUENO
   ========================================================= */

@media (max-width: 480px) {

    /* se quiseres ainda mais limpo:
       produtos numa única coluna */
    .ondutherm-resumo > div,
    .area-produtos > div,
    .produtos-selecionados > div {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .ondutherm-resumo img,
    .area-produtos img,
    .produtos-selecionados img {
        max-width: 150px;
    }

}

/* =========================================================
   ACABAMENTOS - TABLET E TELEMÓVEL
   Desktop mantém Bootstrap original
   ========================================================= */

/* TABLET - 3 por linha */
@media (min-width: 768px) and (max-width: 991px) {

    .acabamentos-grid {
        display: flex;
        flex-wrap: wrap;
    }

    .acabamentos-grid > div {
        float: none;
        width: 33.333333% !important;
        padding-bottom: 15px;
    }
}


/* TELEMÓVEL - 2 por linha */
@media (max-width: 767px) {

    .acabamentos-grid {
        display: flex;
        flex-wrap: wrap;
    }

    .acabamentos-grid > div {
        float: none;
        width: 50% !important;
        padding-bottom: 12px;
    }
}

/* =========================================================
   TABLET VERTICAL
   ========================================================= */

@media (min-width: 768px) and (max-width: 991px) and (orientation: portrait) {

    html,
    body {
        min-height: 100%;
        margin: 0 !important;
        padding-bottom: 0 !important;
    }

    #wrapper {
        min-height: 100vh;
        min-height: 100dvh;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .area-main,
    .ondutherm-main {
        min-height: 0 !important;
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    footer,
    #footer {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
}


/* =========================================================
   ÁREA DAS IMAGENS DOS SISTEMAS
========================================================= */

.sistema-imagem {
    width: 100%;
    height: 220px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;
    margin-bottom: 15px;
}

.sistema-imagem a {
    display: block;
    width: 100%;
}

.sistema-imagem .sistema-img {
    width: 100% !important;
    height: 220px !important;

    object-fit: contain;
    object-position: center center;

    margin: 0 auto;
}

.sistema-card h2 {
    height: 35px;
    margin: 0 0 8px 0;

    display: flex;
    align-items: center;

    font-size: 13px;
    line-height: 18px;
    font-weight: 400;
    color: #e30613;
}

/* =========================================================
   HOME - GRID RESPONSIVA
   Desktop + Tablet = 3 por linha
   Telemóvel = 1 por linha
========================================================= */

#homeGrid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px;
    width: 100%;
    align-items: start;
}

#homeGrid .home-item {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
}

#homeGrid .home-box {
    display: block;
    width: 100%;
}

#homeGrid img.img-responsive {
    display: block;
    max-width: 100% !important;
    height: auto !important;
    margin-left: auto;
    margin-right: auto;
	border-radius: 15px;
	
}
/* HOME - títulos numa só linha no tablet */
@media screen and (min-width: 600px) and (max-width: 1024px) {

    .home-grid .textos h2 {
        font-size: 14px !important;
        line-height: 18px !important;
        white-space: nowrap !important;
        margin: 0 0 12px 0 !important;
        padding: 0 !important;
    }

}
/* Telemóvel */
@media only screen and (max-width: 599px) {

    #homeGrid {
        grid-template-columns: 1fr !important;
        gap: 20px;
    }

}
/* TEMP */
html,
body {
    height: 100%;
    margin: 0;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* contentor principal da página */
#wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* zona de conteúdo cresce */
#wrapper > section,
#wrapper .page-content,
#wrapper .main-content {
    flex: 1 0 auto;
}

/* footer fica no fim */
footer,
#footer,
.footer {
    flex-shrink: 0;
    margin-bottom: 0 !important;
}

/* evita espaço extra depois do footer */
html,
body,
#wrapper {
    padding-bottom: 0 !important;
}

/* =========================================================
   STICKY FOOTER
   Footer no fundo do ecrã quando há pouco conteúdo
========================================================= */

html,
body {
    height: 100%;
    min-height: 100%;
    margin: 0;
    padding: 0;
}

#wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.site-main {
    flex: 1 0 auto;
}

footer {
    margin-top: auto;
    flex-shrink: 0;
}

/* =========================================================
   TELHA.PHP - GRID RESPONSIVA

   DESKTOP   = 6 por linha
   TABLET    = 3 por linha
   TELEMÓVEL = 2 por linha
========================================================= */

/* DESKTOP - 6 POR LINHA */
.telha-grid {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 25px;
    width: 100%;
    align-items: start;
}

.telha-grid-item {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    float: none !important;
    text-align: center;
}


/* TÍTULOS - TODOS OS DISPOSITIVOS */
.telha-grid-item h2 {
    color: #df2029 !important;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 300;
    text-transform: uppercase;
    margin: 0 0 15px 0;
    padding: 0;
}


/* IMAGENS */
.telha-grid-item a {
    display: block;
    width: 100%;
}

.telha-grid-item .img-telha {
    display: block;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* =========================================================
   TABLET - 3 POR LINHA
========================================================= */

@media screen and (min-width: 600px) and (max-width: 1024px) {

    .telha-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 20px;
    }

}


/* =========================================================
   TELEMÓVEL - 2 POR LINHA
========================================================= */

@media screen and (max-width: 599px) {

    .telha-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 15px;
    }

    .telha-grid-item h2 {
        font-size: 12px;
    }

}

/* =========================================================
   FOOTER ORÇAMENTOS - DISPLAY
========================================================= */

@media screen {

    .pdf-footer-notas,
    .pdf-footer-notas li {
        font-size: 13px !important;
        line-height: 1.45 !important;
    }

    .pdf-footer-tecnico {
        font-size: 13px !important;
        line-height: 1.45 !important;
    }

    .pdf-footer-tecnico h3 {
        font-size: 17px !important;
        line-height: 1.3 !important;
    }

    .pdf-footer-tecnico h4 {
        font-size: 14px !important;
    }

    .pdf-footer-tecnico a {
        font-size: 12px !important;
    }

    .pdf-chamada-movel {
        font-size: 11px !important;
    }

    .pdf-footer-onduline {
        font-size: 12px !important;
        line-height: 1.45 !important;
    }

}

/* =========================================================
   ONDUTHERM - CABEÇALHO COMPACTO
========================================================= */

.page-header.page-header-xs.ondutherm-header {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 15px !important;
    padding-bottom: 15px !important;
    margin: 0 !important;
}

.ondutherm-header .container {
    min-height: 0 !important;
    height: auto !important;
}

.ondutherm-header h1 {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 30px !important;
}

.ondutherm-header .breadcrumb {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 30px !important;
}

/* =========================================================
   SOURCE SANS 3 - ORÇAMENTOS
   ========================================================= */

#orcamento,
#orcamento table,
#orcamento th,
#orcamento td,
#orcamento input,
#orcamento select,
#orcamento textarea,
#orcamento button {
    font-family: 'Source Sans 3', Arial, sans-serif !important;
}
