 /* 
Theme Name: Daniela T 
Test Domain: Daniela T
Version 1.0
Description: SpindleStack Customized Template - Daniela T
Author: Julianna Rogers
/* ----------------- General styles and fonts ------------- */

@font-face {
    font-family: 'Crimson Pro';
    src: url('../fonts/CrimsonPro-Regular.woff2') format('woff2'),
        url('../fonts/CrimsonPro-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Forum';
    src: url('../fonts/Forum.woff2') format('woff2'),
        url('../fonts/Forum.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Nunito';
    src: url('../fonts/Nunito-Regular.woff2') format('woff2'),
        url('../fonts/Nunito-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Mrs Saint Delafield';
    src: url('../fonts/MrsSaintDelafield-Regular.woff2') format('woff2'),
        url('../fonts/MrsSaintDelafield-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}



body {
      font-family: 'Nunito', sans-serif;
	  overflow-x: hidden !important;
    }
 
 h1,h2,h3,h4,h5
 {
    font-family: "Crimson Pro", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
 
}
 .h1,.h2,.h3,.h4,.h5{
	  font-weight: 400 !important;

	 
 }
 .delafield {
  font-family: "Mrs Saint Delafield", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: .75; /* tighten vertical spacing */
 
}


.forum-regular {
  font-family: "Forum", serif;
  font-weight: 400;
  font-style: normal;
}

.text-primary{
	
	color:  #18435a !important;
		
}

a {
	color:  #18435a !important;
	
}
  .header {
      text-align: center;
      padding: 4rem 1rem 2rem;
    }
    .header h1 {
      font-family: 'DM Serif Display', serif;
      font-weight: 700;
      font-size: 3rem;
      color: #18435a;
    }
    .header h2 {
      font-family: 'DM Serif Display', serif;
      font-weight: 400;
      font-style: italic;
      color: #b2a781;
      margin-bottom: 1rem;
    }
    .section-title {
      font-weight: 500;
      color: #1f3b53;
      border-bottom: 2px solid #b2a781;
      padding-bottom: 0.3rem;
      margin-bottom: 1rem;
      font-size: 1.5rem;
    }
    .card {
      border: none;
      border-radius: 0.75rem;
      box-shadow: 0 4px 15px rgba(0,0,0,0.05);
      padding: 2rem;
      margin-bottom: 2rem;
    }
    .skill-bar {
      height: 8px;
      background-color: #e9ecef;
      border-radius: 5px;
      margin-bottom: 0.8rem;
    }
    .skill-bar-fill {
      height: 100%;
      border-radius: 5px;
      background: linear-gradient(90deg, #18435a, #b2a781);
    }
    .stats-banner {
      background-color: #18435a;
      color: #f0f0f0;
      padding: 3rem 0;
      text-align: center;
    }
    .stats-banner h3 {
      color: #b2a781;
      font-weight: 700;
      margin-bottom: 0.3rem;
    }
.sticky-sidebar {
  position: sticky;
  top: 1rem; /* distance from top */
}
/*-----------  Navbar --------------------- */
  .custom-navbar {
    border-top: 1px solid #e0e0e0;
    border-bottom: 1px solid #e0e0e0;
    padding: 0.5rem;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    background: white;
  }

  .custom-navbar a, .active {
    text-decoration: none;
    color: #333;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: color 0.2s ease;
  }

  .custom-navbar a:hover {
    color: #18435a;
  }

/* Ensure nav-link is relative for absolute positioning */
.nav-link {
  position: relative;
  display: inline-block; /* width matches text */
  padding-bottom: 0.001rem !important; /* optional: reduce default padding */
}
.nav-link {
  position: relative;
  padding-bottom: 10px; /* creates room under the text */
}
.nav-link.active:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -.75rem;
  height: .75rem;

  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% 100%;

  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'>\
<path d='M0,5 C20,10 80,0 100,5' fill='transparent' stroke='%23b2a781' stroke-width='2' vector-effect='non-scaling-stroke'/>\
</svg>");
}
.nav-item.dropdown > .nav-link {
  position: relative;
}

/* Only top-level active nav links */
.nav-item.dropdown > .drop-down-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -.75rem; /* adjust if needed */
  height: .75rem;

  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% 100%;

  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'>\
<path d='M0,5 C20,10 80,0 100,5' fill='transparent' stroke='%23b2a781' stroke-width='2' vector-effect='non-scaling-stroke'/>\
</svg>");
}


.dropdown-menu{
 /* background-color: #f6f8f9;*/
}


.dropdown-menu[data-bs-popper] {

  left: .5rem;
  margin-top: var(--bs-dropdown-spacer);
  top: 2.5rem;
}
.dropdown-item.active, .dropdown-item:active {
    background-color: #f5f5f5;
	
}

.dropdown-item:hover, .dropdown-item.active:hover {
  background-color: #18435a;
 
  color: #fff !important;
}
.dropdown-toggle::after{
	border:none !important;	
}

/* -------------- Hero Section ----------------- */
    .hero {
      display: flex;
      min-height: 80vh;
      position: relative;
    }

    .hero-image {
      width: 70vw;
      background: url('../img/hero.jpg') center/cover no-repeat;
    }

    .hero-accent {
      width: 30vw;
      background-color: #18435a; /* Pretty sky blue */
    }

    .hero-content {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      background-color: white;
      padding: 3rem;
	 width: 45vw;
      box-shadow: 0 5px 20px rgba(0,0,0,0.1);
      border-radius: 0.5rem;
    }
	.hero-content .delafield{
		   line-height: .25; /* tighten vertical spacing */
	}
	.hero-content .delafield, .hero-content .forum-regular, .inner-hero-content .delafield, .inner-hero-content .forum-regular{
	
		font-size: 5rem !important;
	}

	 .inner-hero {
      display: flex;
      min-height: 50vh;
      position: relative;
    }

    .inner-hero-image {
      width: 70vw;
      background: url('../img/hero.jpg') center/cover no-repeat;
    }

    .inner-hero-accent {
      width: 30vw;
      background-color: #18435a; /* Pretty sky blue */
    }

    .inner-hero-content {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      background-color: white;
      padding: 5rem;
	 width: 45vw;
      box-shadow: 0 5px 20px rgba(0,0,0,0.1);
      border-radius: 0.5rem;
    }

/* --------- Accent Banners ---------------------- */
  
    .accent-banner {
      background-color: #18435a; /* Matches hero accent */
    }
	.accent-banner-half {
       background: linear-gradient(to bottom, #18435a 50%, transparent 50%);
    }
	 .accent-banner-tan {
      background-color: #b2a781; /* Matches hero accent */
    }

    .bg-img-section {
      background: url('../img/bg.jpg') center/cover no-repeat;
      min-height: 30vh;
	  padding: 3rem;
    }
    .bg-img-content {
      background-color: white;
      width: 45vw;
    }
	
	.cta-banner {
    background-color: #18435a;
    color: white;
    padding: 0.3rem 0.8rem;
    border-radius: 0.25rem;
    font-weight: 600;
    font-size: 0.85rem;
    text-decoration: none;
  }



/* ----- Image Styles ------------*/

.imageContainer {
  display: inline-block;
  position: relative;
}

.imageContainer::after {
  position: absolute;
  bottom: -5%;
  right: -15%;
  width: 100%;
  height: 100%;
  background-color: #18435a;
  content: '';
  z-index: -1;
}


/* ---------- Button Styles --------- */
.btn-primary, .btn-primary .btn-outline-primary.active{
	background-color: #18435a !important;
	color: #fff !important;
	border: none;

	
}

.btn-primary:hover{
	
	background-color: #297299;
	
}

.btn-outline-primary{
	border-color:  #18435a !important;
	color:  #18435a !important;
}


.btn-outline-primary.active, .btn-outline-primary:hover{
	color: #fff !important;
	background-color:  #18435a !important;
	text-transform: none;
}
.filter-buttons .btn {
  border-radius: 0;       /* remove all rounding by default */
  border-right: none;     /* remove inner borders so they touch smoothly */
}
}

/* Re-add border on the very last button */
.filter-buttons .btn:last-child {
  border-right: 1px solid var(--bs-primary);
}

/* Round only the FIRST button */
.filter-buttons .btn:first-child {
  border-top-left-radius: .375rem;
  border-bottom-left-radius: .375rem;
}

/* Round only the LAST button */
.filter-buttons .btn:last-child {
  border-top-right-radius: .375rem;
  border-bottom-right-radius: .375rem;
}



/* DEFAULT: desktop — all in one line */
.filter-buttons .btn {
  flex: 0 0 auto; /* keeps them inline */
}

/* MOBILE & TABLET: wrap into 4 per row */
@media (max-width: 992px) {
  .filter-buttons .btn {
    flex: 1 1 calc(25% - 10px); /* 4 per row */
    text-align: center;
  }
}

/*----------- Footer ------------------ */



  .footer {
    background-color: #ffffff;
    border-top: 1px solid #ddd;
	
  }

  .footer-link, .footer-nav-link {
    text-decoration: none;
    color: #333;
    font-weight: 300;
    transition: color 0.2s ease;
  }

  .footer-link:hover, .footer-nav-link:hover {
    color: #007bff;
    text-decoration: underline;
  }


  /* Borders around center column */
  .border-start {
    border-left: 1px solid #ddd !important;
  }
  .border-end {
    border-right: 1px solid #ddd !important;
  }


  /* Bottom bar */
  .footer-bottom {
    background-color: #fff;
    font-size: 0.85rem;
  }

  .footer-bottom a {
    color: inherit;
    text-decoration: none;
  }

  .footer-bottom a:hover {
    color: #007bff;
  }

.footer-secondary-nav .footer-nav-link {
    color: #f8f9fa; /* Light text color */
    text-decoration: none; /* Remove underline */
    transition: color 0.3s; /* Optional: smooth hover effect */
}

.footer-secondary-nav .footer-nav-link:hover {
    color: #ffc107; /* Optional: change color on hover */
    text-decoration: none;
}


/* -------------- Cards ------------------- */
.card:hover {
  transform: translateY(-5px);
  transition: 0.3s;
}

.article-card, .video-card{
	
	padding-top: 2.5rem;
}

.article-meta {
  font-size: 0.9rem;
  letter-spacing: 0.2px;
  color: #777;
}

.article-meta strong {
  color: #18435a;
  font-weight: 500;
}
.article-content h3 {
  font-family: 'Playfair Display', serif;
  margin-top: 2.5rem;
}

.article-content p {
  line-height: 1.8;
  color: #333;
}

a {
  color: #b2a781;
  transition: color 0.3s ease;
}

a:hover {
  color: #8c7a50;
}

hr {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

@media (max-width: 768px) {
  .article-content h3 {
    font-size: 1.15rem;
  }
}
.breadcrumb {
  font-size: 0.9rem;
  color: #6c757d;
}

.breadcrumb-item + .breadcrumb-item::before {
  content: "›";
  color: #b2a781;
  font-weight: 500;
}

.breadcrumb a:hover {
  color: #b2a781;
}

.article-content h3 {
  font-family: 'Playfair Display', serif;
  margin-top: 2.5rem;
}

.article-content p {
  line-height: 1.8;
  color: #333;
}

a {
  color: #b2a781;
  transition: color 0.3s ease;
}

a:hover {
  color: #8c7a50;
}

hr {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
@media (max-width: 768px) {
  .imageContainer::after {
    display: none;
  }
}

 
 /*----------- Animations ----------------- */
   /* === Fade-in Animation === */
    .fade-section {
      opacity: 0;
      transform: translateY(40px);
      transition: opacity 1s ease-out, transform 1s ease-out;
    }
    .fade-section.visible {
      opacity: 1;
      transform: translateY(0);
    }
/* =============== MEDIA QUERIES =============== */

	/* Responsive Styles */
/* ------------------------------------------------ */

@media (max-width:500px)  { 
	.hero{
		
		height: 95vh;
	}
	.hero-content, .inner-hero-content{
		width: 100% !important;
	}
	
	.hero-content .delafield,.inner-hero-content .delafield{
		line-height:.75 !important;
	}
	.hero-content .delafield, .hero-content .forum-regular, .inner-hero-content .delafield, .inner-hero-content .forum-regular{
	
		font-size: 3rem !important;
	}
	.inner-hero-content {
		padding: 3rem !important;
	}
	.bg-img-content{
		max-width: 100% !important;
		width: 100% !important;
		padding: 2rem !important;
		
	}
	.bg-img-section {   
	  padding: 0 !important;
	  height: 70vh !important;
	}
}
/* smartphones, iPhone, portrait 480x320 phones */
@media (max-width:320px)  { 



	
	

 }
 
/* smartphones, iPhone, portrait 480x320 phones */
@media (min-width:320px)  { 




 }

@media (min-width:375px)  { 



 }




/* portrait tablets, portrait iPad, landscape e-readers, landscape 800x480 or 854x480 phones */
@media (min-width:641px)  { 
	
	
	.hero-content, .inner-hero-content{
		width: 100% !important;
	}
	
	.hero-content .delafield,.inner-hero-content .delafield{
		line-height:.75 !important;
	}
	.hero-content .delafield, .hero-content .forum-regular, .inner-hero-content .delafield, .inner-hero-content .forum-regular{
	
		font-size: 3rem !important;
	}
	.inner-hero-content {
		padding: 3rem !important;
	}
	.bg-img-content{
		max-width: 100% !important;
		width: 100% !important;
		padding: 2rem !important;
		
	}
	.bg-img-section {   
	  padding: 0 !important;
	  height: 55vh !important;
	}
	
 }
 
 
  /* Nokia Phones in landscape only */
@media screen and (max-device-width: 320px) and (orientation: landscape) {
 .
}


/* Samsung Galaxy S23 FE Landscape */
@media only screen 
  and (min-width: 641px) 
  and (orientation: landscape) {
  
}

/* Samsung Galaxy S23 FE Landscape */
@media only screen 
  and (min-width: 641px) 
  and (orientation: portrait) {
  
  	
	
}



 /* Phones in landscape only */
@media screen and (max-device-width: 812px) and (orientation: landscape) {

}
/*Samsung Note */
@media screen and (max-width: 1200px) and (orientation: landscape) {
 
}


/* tablet, landscape iPad, lo-res laptops ands desktops */
@media (min-width:961px)  { 
  
 }
/* big landscape tablets, laptops, and desktops */
@media (min-width:1025px) { 



	

}
/* hi-res laptops and desktops */
@media (min-width:1281px) { 

    .hero, .inner-hero {
      min-height: 80vh;
    }


    .hero-content,.inner-hero-content {
      padding: 3rem;
	  width: 45vw !important;
    }
	.hero-content .delafield{
		   line-height: .25; /* tighten vertical spacing */
	}
	.hero-content .delafield, .hero-content .forum-regular, .inner-hero-content .delafield, .inner-hero-content .forum-regular{
	
		font-size: 5rem !important;
	}
	
	.bg-img-content{
		max-width: 45vw !important;

		padding: 3rem !important;
		
	}
	.bg-img-section {   
	  padding: 0 !important;
	  height: 35vh !important;
	}
 }