@charset "UTF-8";
/* CSS Document */


html {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  font-size: calc(12px + 0.390625vw);
  overflow-y: scroll;
  scrollbar-gutter: stable;
}


body {
  background: #F9F9F9;
  font-family: "Helvetica Neue", sans-serif;
  font-size: .8em;
  font-weight: 800;
  line-height: 1.5;
  padding: 0;
  margin: 0;
}


@media screen and (max-width: 800px) {
   .inner-grid {
      flex: 50%;
      max-width: 50%;

   }
}
@media screen and (max-width: 600px) {
   .inner-grid {
      flex: 100%;
      max-width: 100%;
   }
}





/* page image fade effect */
.case-img {
  opacity: 0;
  transition: opacity .5s ease;
  display: block;
}

.case-img.loaded {
  opacity: 1;
}


.bg-container {
  opacity: 0;
  transition: opacity 2s ease;
}

.bg-container.loaded {
  opacity: 1;
}



/* page image fade effect ends */


.center {
    text-align: center;
}
           
 



/* add this if you want to keep pointer-events disabled elsewhere */
.logo a {
  pointer-events: auto;
}



.logo {
  position: relative;
  z-index: 10;
}

.logo img {
  transition: filter 0.3s ease;
}

.logo:hover img {
  filter: brightness(1.3);
}


.logo a {
  pointer-events: auto;
}


.logo:hover img {
  filter: brightness(1.3);
}

.thumb-link {
  display: block;
  width: 32px;
  height: 32px;
  background-image: url('../img/icon-thumbs.gif');
  background-size: contain;
  background-repeat: no-repeat;
}

.thumb-link:hover {
  background-image: url('../img/icon-thumbs-RO.gif');
}




/* Top Nav text */ 

.title-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  white-space: nowrap; /* IMPORTANT */
}

.title-wrap {
  width: 470px;
  text-align: center;
}

.arrow {
  max-width: 25px;
}



.card__title {
  font-weight: 200;
  font-size: 1.3rem;
  text-align: center;
  font-family: "Times New Roman";
  font-style: italic;
  line-height: 1.4rem;
  margin: 0;   /* REMOVE default spacing */
  padding: 0;
}

.card__sub {
  text-align: center;
  font-family: "Helvetica Neue", sans-serif;
  font-weight: 800;
  font-size: 0.8rem;
  line-height: 1rem;
 
	  margin-top: 0rem;   /* space ABOVE subtitle */
  margin-bottom: 0.3rem; /* space BELOW subtitle */
}


/* Grey Title 2 */    
   h2 {
   color: #ABADB5;
      margin-top: 15px;
       margin-bottom: 0px;
   font-size: 1.8em; font-weight: 300;
       line-height: 1.4;
   }
     
   
   
    /* Subheads */ 
   h3 {
	   
	color: #000;
   margin-top: 25px;
    margin-bottom: 12px;
   font-size: 1.6em; font-weight: 800;
   text-align: center;
   line-height: .8;
   
   
    }
   
     /* Subhead Body Copy */  
    
  
   h4 {
    color: #000;
   font-size: 1.4em; font-weight: 300;
       line-height: 1.3;
       margin-top: 10px;
   }
   
   
  /* Footer */  
   h5 {
 
       font-family: "Helvetica Neue", sans-serif;
       font-size: .8em;
       line-height: 1.2em;
       font-weight:800;
       margin-top: 0px;
       align-items: center;
   justify-content: center;
   }
                            
  
   a, a:link {
  color: #2467E9;
}

/* visited link */
   a, a:visited {
  color: #2467E9;
}

/* mouse over link */
   a, a:hover {
  color: #173D88;
}

/* selected link */
   a, a:active {
  color: #DD0569;
}


   .tab-nav {
     display:flex;
   box-shadow: 0px 2px 5px 2px rgba(200,200,200,.50); 
     overflow:hidden;

       align-items: center;
   justify-content: center;
       background: #FFFFFF;
   margin: 0px 0px 0px 0px;
  padding-left: 4px;
  padding-right: 4px; 
	      position:fixed; 
   	z-index: 2;
     }
   

   .parent {  
   display: flex;
   align-items: center;
   justify-content: center;
	padding: 0px;
	margin: 0;
   }
  

.child {
   max-width: 1182px;
	padding: 0px;
	margin: 0;
	     display:flex;
	background: #F9F9F9;
	
	}
	




.outer-grid {
   display: flex;
	background: #F9F9F9;
   flex-wrap: wrap;
   padding: 0 4px 0 4px;
   justify-content:center;
   text-align:center;

}
.inner-grid {
   flex: 25%;
   max-width: 25%;
   padding: 0 0px;
}
.inner-grid img {
   margin-top: 0px;
   width: 100%;
   padding: 0px;
}
       
 
   .inner-grid img {
   margin-top: 0px;
   width: 100%;
   padding: 0px;
}
       
     
.inner-grid img:hover { 
	margin-top: 0px;
   width: 100%;
   padding: 0px;
  opacity: 0.7; /* Adjust the desired opacity on hover */ 
transition: opacity 0.4s ease-in-out;
} 
   
  
   #ref_calculateHFOV,
   #ref_calculateFocalLength,
   #ref_settings {
 
     width: 33.33%;
     height: 100%;
     padding: 0px 0px 0px 0px;
     background-color: #fff;
     box-sizing: border-box;
       
       }
     /**/
   
 /* Images */    
   .responsive-img {
  width: 100%;
  height: auto;
	        padding: 0px 0px 0px 0px;
	       margin: 0px 0px 0px 0px;
	   object-position: inherit;
z-index: 1;
	   
	 }   


/* Logo in nav case studies scaling */
.responsive-titleNav {
  width: 44px;
  height: auto;
}



.responsive-titleNav2 {
  width: 50%;
  height: auto;
	   object-position: inherit;

}	
   
	
/* =========================
   CASE STUDY NAV — BASE
   ========================= */

.tab-nav {
  display: flex;
  align-items: center;
  min-height: 72px;
}

/* Center row */
.title-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(10px, 2vw, 10px);
}

/* =========================
   LOGO
   ========================= */

#logo {
  width: clamp(30px, 6vw, 54px);
  height: auto;
}

/* =========================
   ARROWS
   ========================= */

.arrow {
  width: clamp(20px, 4vw, 36px);
  height: auto;
}

/* =========================
   GRID ICON
   ========================= */

#thumbIcon {
  width: clamp(24px, 4vw, 36px);
  height: auto;
}

/* =========================
   TITLE TEXT
   ========================= */

.title-wrap {
  text-align: center;
  min-width: 0;
}

/* Subtitle */
.card__sub {
  font-size: clamp(11px, 2.2vw, 14px);
  letter-spacing: 0.08em;
  margin-bottom: 4px;
  white-space: normal;
}

/* Title */
.card__title {
  font-size: clamp(14px, 3vw, 28px);
  line-height: 1.2;
  white-space: normal;
}

/* =========================
   MOBILE TIGHTENING
   ========================= */

@media screen and (max-width: 52.99em) {

	
	.title-row {
    max-width: 320px;  /* overall row width */
    margin: 0 auto;
    justify-content: space-between;
    align-items: center;
	gap: 12px;
  }

  .title-wrap {
    max-width: 250px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
	  justify-content: space-between 4px;
  }
	
	/* Add horizontal spacing for arrows */
  #arrowL {
    margin-left: 10px;   /* distance from logo */
  }

  #arrowR {
    margin-right: 10px;  /* distance from grid icon */
  }

}

/* Optional: remove tap highlight on mobile */
.title-row a:focus,
.title-row a:active,
.title-row a:hover {
    background: none;
    outline: none;
	    border: none;   
  }

  .card__title {
    line-height: 1.1;
  }

/* Remove mobile tap highlight on all links and buttons */
@media screen and (max-width: 840px) {
  a,
  button,
  input,
  .arrow,
  .thumb-nav a {
    -webkit-tap-highlight-color: transparent;
    outline: none !important;
    background: none !important;
    border: none !important;
  }
}

@media screen and (max-width: 800px) {
   .inner-grid {
      flex: 20%;
      max-width: 20%;

   }
}
@media screen and (max-width: 600px) {
   .inner-grid {
      flex: 20%;
      max-width: 20%;
   }
	
  }
/* Mobile - left logo in case study nav */
@media screen and (max-width: 52.99em) {
  .responsive-titleNav {
    width: 24px;
  }
}


