*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    overflow-x: hidden;
}


/* 

Font information


-- ITC AVANT GARDE --
font-family: "itc-avant-garde-gothic-pro", sans-serif;
font-weight: 300;
font-style: normal;

font-family: "itc-avant-garde-gothic-pro", sans-serif;
font-weight: 300;
font-style: italic;

font-family: "itc-avant-garde-gothic-pro", sans-serif;
font-weight: 700;
font-style: normal;

font-family: "itc-avant-garde-gothic-pro", sans-serif;
font-weight: 700;
font-style: italic;

*/




/* Heroes */

/* .hero-background-homepage{
    height: 100%;
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
    text-align: center;
    padding-top: 16vh;
    padding-bottom: 12vh;
    position: relative;
}

*/






/* -- Text -- */

.headings-text{
    font-family: "itc-avant-garde-gothic-pro", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 60px;
    color: #202020;
    margin-bottom: 22px;
}


.sub-headings-text{
    font-family: "itc-avant-garde-gothic-pro", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 40px;
    color: #202020;
    margin-bottom: 17px;
}


.headings-text-white{
    font-family: "itc-avant-garde-gothic-pro", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 60px;
    color: #fff;
    margin-bottom: 15px;
}



.paragraph-text{
    font-family: "itc-avant-garde-gothic-pro", sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 22px;
    color: #4a4a4a;
    line-height: 1.5;
}


.text-white{
    font-family: "itc-avant-garde-gothic-pro", sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 22px;
    color: #fff;
    line-height: 1.5;
}

.text-white-sm{
    font-family: "itc-avant-garde-gothic-pro", sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 17px;
    color: #fff;
    line-height: 1.5;
}

/* -- Buttons -- */

.button-white{
    background-color: #f3f3f3;
    padding: 10px 25px 10px 25px;
    border-radius: 20px;

    font-family: "itc-avant-garde-gothic-pro", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 17px;

    letter-spacing: .05em;
    color: #21283d;
    text-decoration: none;

    transition: box-shadow 0.3s ease;
}

.button-white:hover{
    text-decoration: underline;
    box-shadow: 5px 5px 10px #21283d;
    color: #21283d;
}






/* -- Navigation -- */
.nav-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;

    background: #21283d;
    border-bottom: 1px solid #fff;

    display: flex;
    justify-content: center;
    align-items: center;

    z-index: 1000;
}

.nav-menu ul {

    display: flex;
    gap: .75rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav-menu a {
    color: white;
    text-decoration: none;
    padding: 0 1.5rem;

    font-family: "itc-avant-garde-gothic-pro", sans-serif;
    font-weight: 700;
    font-size: 17px;
    letter-spacing: .09em;
}

.nav-menu a:hover {
    	text-decoration: underline;
	color: white;
}


.nav-toggle {
    display: none;
    position: absolute;
    right: 30px;
    width: 35px;
    height: 28px;
}

.nav-toggle span,
.nav-toggle span::before,
.nav-toggle span::after {
    position: absolute;
    width: 100%;
    height: 3px;
    background: white;
    transition: .3s;
    content: "";
}

.nav-toggle span {
    top: 50%;
    transform: translateY(-50%);
}

.nav-toggle span::before {
    top: -10px;
}

.nav-toggle span::after {
    top: 10px;
}


.nav-toggle.active span {
    background: transparent;
}

.nav-toggle.active span::before {
    top: 0;
    transform: rotate(45deg);
}

.nav-toggle.active span::after {
    top: 0;
    transform: rotate(-45deg);
}


@media (max-width:800px) {

    .nav-toggle {
        display: block;
    }

    .nav-menu {
        display: none;

        position: absolute;
        top: 80px;
        left: 0;
        width: 100%;

        background: #21283d;
    }

    .nav-menu.open {
        display: block;
    }

    .nav-menu ul {
        flex-direction: column;
        padding: 1rem 0;
    }

    .nav-menu li {
        padding: .75rem 0;
		text-align: left;
    }
}



/* -- Body -- */

body{
    background-color: #f3f3f3;
}



/* -- Hero Homepage -- */

.hero-background-homepage{

    	min-height: 85vh;
    	display: flex;
    	flex-direction: column;  
    	align-items: flex-start;
    	justify-content: center;
    	position: relative;

    	margin-top: 80px;
    	padding-left: 300px;
    	padding-right: 300px;

    	background-image:
        	linear-gradient(rgba(33, 40, 61, 0.8), rgba(33, 40, 61, 0.8)),
        	url("../images/portfolio_background.jpg");
    	background-size: cover;     
    	background-position: center;  
    	background-repeat: no-repeat; 
}



.hero-background-homepage h1{
    	font-family: "itc-avant-garde-gothic-pro", sans-serif;
    	font-weight: 700;
    	font-style: normal;
    	letter-spacing: .03em;
    	font-size: 60px;
    	color: white;
}


.hero-background-homepage p{
    	font-family: "itc-avant-garde-gothic-pro", sans-serif;
    	font-weight: 500;
    	font-style: normal;
    	font-size: 30px;
    	color: white;
   	line-height: 1.5;
    	letter-spacing: .03em;
    	margin-bottom: 30px;
}


@media (max-width: 1000px) {
    .hero-background-homepage{
    	padding-left: 30px;
    	padding-right: 30px;
}

    .hero-background-homepage h1{
    	font-size: 40px;
    }

    .hero-background-homepage p{
    	font-size: 20px;
}

}




/* -- Space Sections -- */
.white-background-section{
    	padding: 100px 300px 100px 300px;
}

.white-background-section-notopbottom{
    	padding: 0px 300px 50px 300px;
}

.white-background-section-two{
    	padding: 170px 300px 100px 300px;
}

.light-blue-background-section{
    	padding: 100px 300px 100px 300px;
    	background-color: #21283d10;
}


.dark-blue-background-section{
    	padding: 100px 300px 100px 300px;
    	background-color: #21283d;
}



.dark-blue-background-section-two{
	width: 100%;
    	padding: 0px 300px 100px 300px;
    	background-color: #21283d;
}





@media (max-width: 1275px) {
    .white-background-section{
    	padding: 30px;
}

    .white-background-section{
    	padding: 100px 30px 30px 30px;
}

.light-blue-background-section{
    	padding: 30px
}

.dark-blue-background-section{
    	padding: 30px
}

.dark-blue-background-section-two{
    	padding:30px;
    	background-color: #21283d;
}


}




/* -- About Section Specific CSS -- */
.about-pfp{
    	width: 100%;
   	background-color: #fff;
    	border: 1px solid #97979798;
    	border-radius: 4px;
    
}



/* -- Featured Project Section Specific CSS */


.project-card a {
    	display: flex;
    	flex-direction: column;
    	height: 100%;
    	border: 1px solid #97979798;
    	border-radius: 4px;
    	text-decoration: none;
    	background-color: #fff;
}


.project-card img {
    	width: 100%;
    	aspect-ratio: 4 / 3;
    	object-fit: cover;
}


.project-card-text {
    	padding: 0px 15px 15px 15px;
    	color: #4a4a4a;

    	font-family: "itc-avant-garde-gothic-pro", sans-serif;
    	font-weight: 300;
    	font-style: normal;
    	font-size: 20px;
}


.project-card-category {
    	padding: 15px 15px 0px 15px;
    	color: #4a4a4a;
    	font-family: "itc-avant-garde-gothic-pro", sans-serif;
    	font-weight: 300;
    	font-style: normal;
	text-transform: uppercase;
    	font-size: 13px;
	letter-spacing: 0.15em;
}



.project-card-heading {
    	padding: 0px 15px 5px 15px;
   	color: #202020;

    	font-family: "itc-avant-garde-gothic-pro", sans-serif;
    	font-weight: 700;
    	font-style: normal;
    	font-size: 22px;
}


.project-card:hover .project-card-heading {
    	text-decoration: underline;
}


.project-card a:hover {
    	border: 1px solid #21283d;
}





/* -- Contact Section Specific CSS -- */

.text-contact{
   	font-family: "itc-avant-garde-gothic-pro", sans-serif;
    	font-weight: 500;
    	font-style: normal;
    	font-size: 30px;
    	color: white;
   	line-height: 1.5;
    	letter-spacing: .03em;
}

.headings-contact{
    	font-family: "itc-avant-garde-gothic-pro", sans-serif;
    	font-weight: 500;
    	font-style: normal;
    	font-size: 22px;
    	color: white;
   	line-height: 1.5;
    	letter-spacing: .03em;
    	margin-bottom: 5px;
}


.links-contact{
    	font-family: "itc-avant-garde-gothic-pro", sans-serif;
    	font-weight: 300;
    	font-style: normal;
    	font-size: 15px;
    	color: white;
    	letter-spacing: .03em;
	text-decoration: none;
}


.links-contact:hover{
    	color: white;
	text-decoration: underline;
}


.add-space-contact{
	margin-bottom: 22px;
}




/* -- Footer Specific CSS -- */

.rule {
	background-color: #fff;
	width: 100%;
	height: 2px;
	margin-bottom: 50px;
}


.links-list {
	list-style: none;
	padding-left: 0;
}


.links-list a {
	text-decoration: none;
	color: white;
	font-size: 13px;

	font-family: "itc-avant-garde-gothic-pro", sans-serif;
	font-weight: 300;
	font-style: normal;
}


.links-list a:hover {
	color: white;
	text-decoration: underline;
}




/* -- Page Specific CSS -- */


.main-image-project-page{
	display: block;
	width: 100%;
	height: 70vh;
	object-fit: cover;
        background-color: #fff;
        border: 1px solid #97979798;
        border-radius: 4px;
	margin-bottom: 25px;
}
	




.column-image {
    	display: flex;
    	flex-direction: column;
	width: 100%;
    	height: auto;
    	border: 1px solid #97979798;
    	border-radius: 4px;
    	text-decoration: none;
    	background-color: #fff;
}
