/*Design Stuff*/
@import url('https://fonts.googleapis.com/css?family=Oswald');
@import url('https://fonts.googleapis.com/css?family=Roboto');

body {
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
}
h1, h2, h3, h4, h5, h6 {
	font-family: 'Oswald', sans-serif;
}
iframe {
	width: 100%;
}
a {
	color: #9b9b9b;
	-webkit-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
	text-decoration: none;
}
/* Links distinguishable beyond color (accessibility) */
a:hover,
a:focus {
	color: #003768;
	text-decoration: none;
}
a:focus-visible {
	outline: 2px solid #003768;
	outline-offset: 2px;
}
.body-content a {
	color: #000;
}
img {
	max-width: 100%;
}
i {
	color: #003768;
}
.btn-default, a.btn-default {
	background-color: #333;
	color: #fff;
	border-radius: 0;
	border: none;
}
.btn-default i {
	color: #fff;
}
.btn-default:hover, a.btn-default:hover {
	background-color: #003768;
	color: #fff;
	-webkit-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
}

.btn-primary, a.btn-primary {
	background-color: #003768;
	color: #fff;
	border-radius: 0;
	border: none;
}
.btn-primary:hover {
	background-color: #000;
	color: #fff;
	border-radius: 0;
	border: none;
}
.navbar {
	background-color: rgba(255,255,255,1);
	border-bottom: #313536 2px solid;
	/*border-top: #313536 5px solid;*/
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url(../files/header.png);
}
.navbar-brand img {
    max-height: 120px;
}
.nav-item {
    padding-right: 7px;
    padding-left: 7px
}
.nav-link {
    color: #000 !important;
    font-size: 18px;
    line-height: 40px;
}
.navbar .nav-link::after, .nav-link.active::after {
    content: '';
    display: block;
    width: 0;
    height: 3px;
    background: #003768;
    transition: width .7s;
}
.navbar .nav-link:hover::after, .navbar .nav-link.active::after {
    width: 100%;
    transition: width .7s;
}
.carousel-item {
    overflow: hidden;
    max-height: 65vh;
}
.carousel-control-next-icon {
    background-color: #ccc !important;
    border-radius: 20%;
}
.carousel-control-prev-icon {
    background-color: #ccc !important;
    border-radius: 20%;
}

.body-top {
	background-position: top center;
	background-size: cover;
	background-repeat: no-repeat;
	height: 400px;
}
.about {
	background-image: url(../files/about-top.jpg);
	background-position: center center;
}
.contact {
	background-image: url(../files/contact.jpg);
	background-position: center center;
}

.line-left {
	border-left: 1px #eee solid;
}

.welcome-text h1 {
	text-transform: uppercase;
	font-size: 40px;
}
.welcome-text h3 {
	text-transform: uppercase;
	font-size: 30px;
}
.body-content td {
    padding-bottom: 20px;
}

.footer {
	background-color: #202428;
	padding: 30px 0;
}
.footer-contact .footer-row {
    border-top: 1px solid #ccc;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    display: flex;
    gap: 0.5rem;
}
.footer-contact .footer-row:first-child {
    border-top: none;
    padding-top: 0;
}
.footer-label {
    color: #a5a5a5;
    flex-shrink: 0;
}
.footer-value {
    color: #a5a5a5;
}
.footer-value a {
    color: inherit;
}
.footer-follow a {
    margin-right: 8px;
}
.footer .h4 {
	color: #fff;
	font-size: 20px;	
}
.footer h5 {
	color: #fff;
	font-size: 18px;	
}
.footer p {
	color: #a5a5a5;
}
.footer ul {
	padding-left: 25px;
}
.footer li {
	color: #a5a5a5;
}
.footer .list-spaced li {
	padding: 5px 0;
}
.footer i {
	color: #ccc;
	font-size: 30px;
	margin-left: 8px;
	-webkit-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
}
.footer a:hover i {
	color: #003768;
}
.footer img {
	max-width: 80%;
}
.breadcrumbs {
	color: #999;
	padding: 40px 0 30px 0;
	background-color: #000;
}

.portfolio {
	height: 600px;
}
.portfolio-container {
	border: #eee 1px solid;
	border-radius: 5px;
	padding: 15px;
	margin-bottom: 20px;
}

#map {
	height: 100%;
}

/* Project Gallery Hover Effects */
.project-gallery .card {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	border: none;
	overflow: hidden;
}

.project-gallery .card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
}

.project-gallery .card-img-top {
	transition: transform 0.3s ease;
}

.project-gallery .card:hover .card-img-top {
	transform: scale(1.05);
}

.project-gallery .gallery-thumbnail {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	cursor: pointer;
	transition: transform 0.3s ease, opacity 0.3s ease, box-shadow 0.3s ease;
}

.project-gallery .gallery-thumbnail:hover {
	transform: scale(1.05);
	opacity: 0.9;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.project-gallery .gallery-card-image {
	aspect-ratio: 4 / 3;
	object-fit: cover;
}