/* Add here all your CSS customizations */
.text-link {
	color: #FFFFFF;
}

.text-link:hover {
	color: #383f48;
}

.text-link:focus {
	color: #383f48;
}

.text-link:active {
	color: #e36159;
}

#contact span {
	color: #018230;
}

#contact address {
	color: #018230;
}

a,a:hover,a:focus {
    color:#018230;
}

/* Hero section (static replacement for the old slider) */
.hero {
	position: relative;
	height: 100vh;
	min-height: 460px;
	overflow: hidden;
}

.hero-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
}

.hero-content {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	z-index: 1;
}

.hero-title {
	color: #fff;
	font-size: clamp(2.5rem, 8vw, 6rem);
	letter-spacing: .15rem;
	margin: 0 0 1.5rem;
	font-weight: 800;
	font-family: -apple-system, "Segoe UI", system-ui, Arial, sans-serif;
}

/* ==========================================================================
   Bootstrap 3.3.7 fallback — ported on removal of vendor/bootstrap.
   The Porto theme extends Bootstrap rather than replacing it, so the base
   box model for the grid, buttons, nav reset and tables lived in
   bootstrap.min.css. These rules reproduce ONLY the parts this page uses.
   Values copied verbatim from Bootstrap v3.3.7.
   ========================================================================== */

/* Global box-sizing reset (Porto assumes this) */
*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/* Root font-size — every rem unit on the page (e.g. the hero h1 above)
   resolves against this, so dropping it rescales rem-sized text 1.6x */
html {
	font-size: 10px;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* Un-italicize the contact <address> block (browser default is italic) */
address {
	margin-bottom: 20px;
	font-style: normal;
	line-height: 1.42857143;
}

img {
	vertical-align: middle;
}

/* --- Grid: container --- */
.container {
	margin-right: auto;
	margin-left: auto;
	padding-left: 15px;
	padding-right: 15px;
}
@media (min-width: 768px) {
	.container { width: 750px; }
}
@media (min-width: 992px) {
	.container { width: 970px; }
}
@media (min-width: 1200px) {
	.container { width: 1170px; }
}

/* --- Grid: row --- */
.row {
	margin-left: -15px;
	margin-right: -15px;
}

/* clearfix for container/row (Bootstrap floats columns) */
.container:before,
.container:after,
.row:before,
.row:after {
	content: " ";
	display: table;
}
.container:after,
.row:after {
	clear: both;
}

/* --- Grid: columns --- */
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6,
.col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12,
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6,
.col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
	position: relative;
	min-height: 1px;
	padding-left: 15px;
	padding-right: 15px;
}

@media (min-width: 768px) {
	.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6,
	.col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
		float: left;
	}
	.col-sm-12 { width: 100%; }
	.col-sm-11 { width: 91.66666667%; }
	.col-sm-10 { width: 83.33333333%; }
	.col-sm-9  { width: 75%; }
	.col-sm-8  { width: 66.66666667%; }
	.col-sm-7  { width: 58.33333333%; }
	.col-sm-6  { width: 50%; }
	.col-sm-5  { width: 41.66666667%; }
	.col-sm-4  { width: 33.33333333%; }
	.col-sm-3  { width: 25%; }
	.col-sm-2  { width: 16.66666667%; }
	.col-sm-1  { width: 8.33333333%; }
}

@media (min-width: 992px) {
	.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6,
	.col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
		float: left;
	}
	.col-md-12 { width: 100%; }
	.col-md-11 { width: 91.66666667%; }
	.col-md-10 { width: 83.33333333%; }
	.col-md-9  { width: 75%; }
	.col-md-8  { width: 66.66666667%; }
	.col-md-7  { width: 58.33333333%; }
	.col-md-6  { width: 50%; }
	.col-md-5  { width: 41.66666667%; }
	.col-md-4  { width: 33.33333333%; }
	.col-md-3  { width: 25%; }
	.col-md-2  { width: 16.66666667%; }
	.col-md-1  { width: 8.33333333%; }
}

/* --- Typography utility --- */
.lead {
	margin-bottom: 20px;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.4;
}
@media (min-width: 768px) {
	.lead { font-size: 21px; }
}

.img-responsive {
	display: block;
	max-width: 100%;
	height: auto;
}

/* --- Nav base + pills layout (Porto's .header-nav-stripe relies on the
   Bootstrap float to lay the top nav out horizontally on desktop) --- */
.nav {
	padding-left: 0;
	margin-bottom: 0;
	list-style: none;
}
.nav > li {
	position: relative;
	display: block;
}
.nav > li > a {
	position: relative;
	display: block;
	padding: 10px 15px;
}
.nav-pills > li {
	float: left;
}
.nav-pills > li > a {
	border-radius: 4px;
}
.nav-pills > li + li {
	margin-left: 2px;
}

/* --- Buttons: base box model (Porto only adds colors/transition) --- */
.btn {
	display: inline-block;
	padding: 6px 12px;
	margin-bottom: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.42857143;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	-ms-touch-action: manipulation;
	touch-action: manipulation;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background-image: none;
	border: 1px solid transparent;
	border-radius: 4px;
}
.btn:focus,
.btn:hover {
	color: #333;
	text-decoration: none;
}
.btn:active,
.btn.active {
	background-image: none;
	outline: 0;
	-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
	box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
.btn-lg {
	padding: 10px 16px;
	font-size: 18px;
	line-height: 1.3333333;
	border-radius: 6px;
}

/* --- Tables (project modals) --- */
.table {
	width: 100%;
	max-width: 100%;
	margin-bottom: 20px;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
	padding: 8px;
	line-height: 1.42857143;
	vertical-align: top;
	border-top: 1px solid #ddd;
}
.table > thead > tr > th {
	vertical-align: bottom;
	border-bottom: 2px solid #ddd;
}
.table > caption + thead > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > th,
.table > thead:first-child > tr:first-child > td {
	border-top: 0;
}
.table-bordered {
	border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
	border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
	border-bottom-width: 2px;
}

/* --- Collapse (mobile nav). Desktop (>=992px) is forced visible by Porto's
   `#header .header-nav-main{display:block!important}`; on mobile this hides
   the menu until js/site.js toggles `.in`. --- */
.collapse {
	display: none;
}
.collapse.in {
	display: block;
}
