/* Base Resets & Colors */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 62.5%;
}

body {
  color: #333;
  line-height: 1.778;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  min-height: 100vh; /* Keeps footer pinned to bottom */
  font-size:1.6rem;
}

p {
	margin:0 0 1.3rem 0;
}

/* Navbar Layout */

.project .s-header{
	background-image:url("../images/header-background.jpg");
	background-size:cover;
	top:unset;    
	height: 100px;
}

.project .s-header > .row {
    width:auto;
    max-width: 1600px;
    top:10px;
    position: relative;
}
.project .header-logo {
   margin-left:20px;
}
@media (max-width: 1279px) {
	.project .header-logo {
		margin-left:10rem;
	}
}
@media (max-width: 800px) {
	.project .header-logo {
		left:0;
		margin-left:3rem;
		
	}
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.2rem 5%;
  background-color: #ffffff;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
  position: sticky;
  top: 0;
  z-index: 100;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 1.5rem;
}

.nav-links a {
  text-decoration: none;
  color: #555;
  font-weight: 500;
  transition: color 0.2s;
}

.nav-links a:hover {
  color: #4a90e2;
}

.logo {
  font-size: 1.4rem;
  font-weight: bold;
  color: #4a90e2;
}

/* Hero Section */
.hero {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: linear-gradient(135deg, #4a90e2 0%, #357abd 100%);
  color: white;
  padding: 5rem 1rem;
}

.hero-content h1 {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.hero-content p {
  font-size: 1.1rem;
  max-width: 600px;
  margin: 0 auto 2rem auto;
  opacity: 0.9;
}

.btn {
  display: inline-block;
  background-color: #ffffff;
  color: #4a90e2;
  padding: 0.75rem 2rem;
  border-radius: 4px;
  text-decoration: none;
  font-weight: bold;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  transition: transform 0.2s;
}

.btn:hover {
  transform: translateY(-2px);
}

/* Main Content Grid */
.container {
  max-width: 1600px;
  margin: 0 auto 3rem auto;
   padding: 0 0 0 0;
  flex: 1; /* Pushes footer downward on empty pages */
}

.section-title {
  text-align: center;
  margin-bottom: 2rem;
  color: #222;
}

.column-grid {
  display: flex;
  flex-wrap: wrap; /* Allows cards to wrap down on mobile screens */
  gap: 2rem;
  min-height:100vh;
  width:auto;
}

.column-images {
/* order:1;*/
  margin-top:11rem;
  background: white;
  padding: 2rem;
  border-radius: 8px;
 /* box-shadow: 0 4px 12px rgba(0,0,0,0.05); */
  display:flex;
  align-items:flex-start;
  flex: 2; /* Flex basis for 3-column setup */
  flex-flow:column;
  height:min-content;
  width:100%;
  max-width:1440px;
  min-width: 280px; /* Forces wrap on mobile layouts */
  position:relative;
  gap:30px;
}
/*
.portfolio-piece {
  border-bottom-width: 1px;
  border-color: rgba(0, 0, 0, 0.05);
  border-left-width: 1px;
  border-right-width: 1px;
  border-style: solid;
  border-top-width: 1px;
  border-radius: 16px;
  flex: 1 0 0px;
  height: auto;
  overflow: visible;
  position: relative;
}
*/

.column-images img {
 border-bottom-width: 1px;
  border-color: rgba(0, 0, 0, 0.05);
  border-left-width: 1px;
  border-right-width: 1px;
  border-style: solid;
  border-top-width: 1px;
  border-radius: 16px;
  width:100%;
}

.animated {
  border-width: 1px 1px 1px 1px;
  border-color: rgba(0, 0, 0, 0.05);
  border-style: solid;
  border-radius: 16px;
  background:url(../portfolio/img/disney-character-bg.gif) repeat;
  height:450px;
  width:100%;
}

.goofydonald {
width:100%;
height:100%;
 background-image:url(../portfolio/img/mark-goofy-category-page-animated.gif),url(../portfolio/img/mark-blue-fairy-category-page-animated.gif);
 background-position: left bottom, right 250%;
 background-repeat:no-repeat, no-repeat;
}

.jasmine {
 height:430px;
 width:550px;
 margin:0 auto;
 background-image:url(../portfolio/img/mark-jasmine-category-page-animated.gif),url(../portfolio/img/mark-cinderella-category-page-animated.gif);
 background-position:-60px bottom, right 94%;
 background-repeat:no-repeat, no-repeat;
}
@media (max-width: 610px) {
 .jasmine {
 width:auto;
 }
}

@media (min-width: 950px) {
  .animated.center-figure {
   background:none;
   border:none;
   height:1px;
   margin-top: -30px;   
  }
  
  .jasmine {
   margin-top:-445px;
  }

}

.column-description {
/*  order:0;*/
  display:flex;
  flex: 1; /* Flex basis for 3-column setup */
  flex-flow:column;  
  gap:0px;
  overflow:visible;
 /* position:sticky;*/
  top:112px;
  background: fff;
  padding: 2rem;
  border-radius: 8px;
  /* box-shadow: 0 4px 12px rgba(0,0,0,0.05);*/
  width:100%;
  min-width: 280px; /* Forces wrap on mobile layouts */
/*  max-width: 700px;  */
  height: stretch;  
  margin-top: 110px;
}

/*@media (min-width: 950px) and (max-width: 1279px) {
    .my-role {
     columns:2 auto;
     column-gap:40px;
    }
}*/

.cd-container{
    display:grid;
}
.cd-image {
	height:380px;
	width:220px;
	float:right;
	margin-left:10px;
	background-image:url(../portfolio/img/mark-donald-duck-category-page-animated.gif);
	background-position:98% 95%;
}

@media (min-width: 1279px) and (max-width: 1400px) {
  .cd-image {
    width:160px;
    height:93px;
    background-size:1000px auto;
  }
}

@media (max-width: 500px){
 .cd-image {
  height:170px;
  width:110px;
  background-size:670%;
  background-repeat:no-repeat;
  background-position:98% 95%;

 }

}

.cd-main {
	position:relative;
	top:50%;
	transform:translateY(-50%);
}



@media (min-width: 800px) and (max-width: 1279px) {
    .column-images {
        gap:24px;
        order: 1;
        width: 100%;
        margin-top:0;
    }
    
     .column-description {
        flex: 0 0 auto;
        order: 0;
        position: relative;
        top: unset;
        width: 100%;
        margin-top: 110px;
        padding:2rem 10rem;
    }   
    
}
@media (max-width: 799px){
	.column-images {
	  gap:16px;
	  order:1;
	  width:100%;
      margin-top:0;
	}
	
	.column-description {
	  flex: 0 0 auto;
	  order:0;
	  position:relative;
	  top:unset;
	  width:100%;
	  margin-top: 110px;
	  padding:2rem 3rem;
	}
}

.work-graphic {
    background-color: #00509A;
    border-radius: 12px;
    flex: 0 0 auto;
    height: 72px;
    overflow: hidden;
    position: relative;
    width: 72px;
}

.work-graphic .icon {
    flex: 0 0 auto;
    position: absolute;
    transform: translate(-50%, -50%);
}

.company-info h3 {
  font-size:3.4rem;
  margin:20px 0 0 0;
}

.tags {
}


.column-description .subhead {
  opacity:.7;
  font-size:2.2rem;
  line-height:2.8rem;
  margin:0;
  font-family:"Martian Mono", "Inter", sans-serif;
}

.my-role {
    margin-top:4.8rem;
	font-size:1.8rem;
	line-height:1.625;
}
.my-role h3 {
    font-size:2.2rem;
    margin:4.8rem 0 1.6rem 0;
}

.role-hd {
 	  text-transform:uppercase;
	  font-size:2.4rem;
	  font-family:"Martian Mono", "Inter", sans-serif;
	  font-weight:300;
	  color:#2c7588;
	  margin-top:4.8rem;
	  margin-bottom:0;
}

.my-role ul {
	  margin-bottom:1.6rem;
}

.my-role ol {
	  margin-bottom:1.6rem;
	  margin-left:3.2rem;
}

@media (min-width: 1280px) {
	
	.column-description .subhead {
  	font-size:1.8rem;
  	line-height:2.2rem;
  	text-transform:uppercase;
	}
	
	.my-role {
	  margin-top:3.9rem;
	  font-size:1.6rem;
	  line-height:1.625;
	}
.my-role h3 {
    font-size:2.2rem;
    margin:3.9rem 0 1.3rem 0;
}	
	
	.role-hd {
      margin-bottom: 0;
  	  margin-top:3.9rem;
	}
	
	.my-role ul  {
	  margin-left:1.4rem;
	  margin-bottom:1.4rem;
	}
	.my-role ol {
	margin-left:1.4rem;
    margin-bottom:1.3rem;
	}
}

.tags {
  margin-top:1rem;
}
.rolebox {
    display:inline-block;
	border-bottom-width: 1px;
    border-color: rgba(176, 205, 214, 0.6);
    border-left-width: 1px;
    border-right-width: 1px;
    border-style: solid;
    border-top-width: 1px;
    place-content: center;
    align-items: center;
    border-radius: 4px;
    height: min-content;
    overflow: hidden;
    padding: 6px 8px 0;
    width: min-content;
}

.rolecontainer {
    flex: 0 0 auto;
    height: auto;
    position: relative;
    white-space: pre;
    width: auto;
    outline:none;
    flex-direction:column;
    flex-shrink:0;
    justify-content:flex-start;
    display:flex;
    padding-bottom:6px;
}

.role {
  font-family:"Martian Mono", "Inter", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 12px;
  color: rgb(4, 173, 181);
  text-transform: uppercase;
  background-color:#fff;
  border-radius:2px;
  padding:0px;
  margin:0;
  min-width:content;
  bottom:0;
}    


/* portfolio navigation */
.portfolio-nav-placeholder {

}

.portfolio-nav {
  transition: all 0.3s ease; /* Optional: smooths transition when affixed */
  width:350px;
  padding:20px 0 20px 0;
  background: linear-gradient(180deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 15%);
    font-family:"Martian Mono", "Inter", sans-serif;
}

.container > .portfolio-nav-placeholder > .portfolio-nav {
  margin:0 auto;
  width:90%
}

/* Styles applied via JavaScript when it enters the viewport */
.portfolio-nav.affixed {
  position: fixed;
  bottom: 0px;
  z-index: 999; /* Ensures it stays on top of other content */
}
@media (max-width: 1279px) {
  .portfolio-nav.affixed {
  position:static;
  left: 50%;
  transform: translateX(-50%);
 }
}

.pnav-hd {
	font-size:16px;
	border-bottom:1px solid #ddd;
}
.container > .portfolio-nav-placeholder > .portfolio-nav .pnav-hd {
   font-size:2rem;
}

.portfolio-nav p {
		margin-bottom:0;
		text-transform:uppercase;
}
.pnav-links {
    font-family:"Martian Mono", "Inter", sans-serif;
	display:flex;
	justify-content:space-between;
	font-size:1.6rem;
	color:#999;
	padding-top:10px;
}
.container > .portfolio-nav-placeholder > .portfolio-nav .pnav-links {
  font-size:2.2rem;
}

.pnav-links span {
  /*padding-top:6px;*/
}
.kaiser .column-description .pnav-links span {
 font-size:1.4rem;
}

.marvel .column-description .pnav-links span {
 font-size:1.6rem;
}
.marvel .column-description .pnav-links a,
.eharmony .column-description .pnav-links a {
 font-size:1.2rem;
}

.pnav-links a {
	color:#2c7588;
    font-size:1.4rem;
	font-weight:normal;
	padding:4px 8px;
	display:inline-block;
	border:1px #2c7588 solid;
	border-radius:10px;
	background-color:#d6e4e8;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
}
.pnav-links a:hover {
   color:#fff;
   background-color:#CBDBD3;
   border:1px #177245 solid;
   background: linear-gradient(180deg,rgba(128, 182, 196, 1) 0%, rgba(95, 160, 177, 1) 10%, rgba(95, 160, 177, 1) 89%, rgba(21,78,93,1) 100%);
}

.container > .portfolio-nav-placeholder > .portfolio-nav .pnav-links a {
    font-size:1.8rem;
}

@media (max-width: 700px) {
	.container > .portfolio-nav-placeholder > .portfolio-nav .pnav-links {
	font-size:1.6rem;
	}
	.pnav-links span {
 padding-top:6px;
}
	.container > .portfolio-nav-placeholder > .portfolio-nav .pnav-links a {
    font-size:1.6rem;
}
}

.card h3 {
  margin-bottom: 0.75rem;
  color: #4a90e2;
}

/* Sticky Footer Layout 
.footer {
  background-color: #222;
  color: #aaa;
  text-align: center;
  padding: 1.5rem 1rem;
  margin-top: auto;
} */

/* Responsive Navbar Adjustments */
@media (max-width: 600px) {
  .navbar {
    flex-direction: column;
    gap: 1rem;
  }
}