* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

@font-face {
    font-family: 'CaliforniaGothic';
    src: url('CaliforniaGothic-Regular.ttf') format('truetype');
}



body {
    background-color:rgb(30,95,189);
    background-color:rgb(53, 53, 60); 

    width: 100vw;

     /*background-image: url('../images/saddlebackSunrise1.jpg'); */
     /*background-image: url('../images/RepeaterMountaintop.jpg'); */
    /*background-image: url('../images/AlphaMoutaintop.jpg');*/
    background-attachment: fixed;
    background-size: cover;  
    /* Optional: Make the image cover the entire viewport */
    background-position: center center; 
    /* Optional: Center the image */
    background-repeat: no-repeat;
    
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;

    overflow-x: hidden;
    font-size: clamp(1.125rem, 2vw, 1.5rem);
    
    min-height: 100vh;
    display: flex;
    flex-direction: column;

}

a:link {
   color:white;
}
a:visited {
   color:white;
}
a:hover {
    color:DodgerBlue;
}

.flex {
    display: flex;
    gap: var(--gap, 1rem);
}

.grid{
    display: grid;
    gap: var(--gap. 1rem);
}

.d-block{
    display: block;
}

.responsive-video-container {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 Aspect Ratio (9/16 = 0.5625) */
  height: 0;
  overflow: hidden;
}

.responsive-video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

li{
    font-size: clamp(1.2rem, 1.5vw, 1.3rem);
    margin-left: 1.8rem;
    /*font-weight: 700;*/
}


/* PRIMARY NAVIGATION */

.primary-header {
    align-items: center;
    justify-content: space-between;
}

.mobile-nav-toggle { display: none; }

.logo{
    margin: 1rem;
    width: 15rem;
    filter: drop-shadow(0.5rem 0.5rem 0.5rem);
}



.primary-navigation {
    font-family: 'CaliforniaGothic', Sans-Serif;
    position: sticky;
    list-style: none;
    font-size: clamp(1.2rem, 1.75vw, 2.5rem);
    padding: 1rem;
    padding-right: clamp(2rem, 8rem, 14rem);
    --gap: .8rem;
    
    border-top-left-radius: 2.5rem;
    border-bottom-left-radius: 2.5rem;

    background-color: hsl(209,61%,40%,.5);

    -webkit-backdrop-filter: blur(.5rem); /* Add this line first, it fixes blur for Safari*/
    backdrop-filter: blur(.5rem);/* This line activates blur*/
    filter: drop-shadow(0.2rem 0.2rem 0.2rem);
   z-index: 9997;
}

.primary-navigation a {
    text-decoration: none;
    color: white;
    white-space: nowrap;
}

.primary-navigation a:hover {
    color: rgb(154, 165, 218);
    color: rgb(20,85,179);
    text-shadow: 0 0 5px #fff,
               0 0 10px #fff,
               0 0 15px #fff,
               0 0 20px #fff,
               0 0 25px #fff;
}

.primary-navigation li ul {
    position: absolute;
    display: none;
    list-style-type:none;
    z-index: 9998;
}

.primary-navigation li ul li {
    background-color: hsl(0 0% 100% / 0.2);
    /*background-color:rgb(30,95,189);*/
    
    /* -webkit-backdrop-filter: blur(1rem); /* Add this line first, it fixes blur for Safari
    backdrop-filter: blur(1rem);/* This line activates blur */
    
    filter: drop-shadow(0.2rem 0.2rem 0.2rem);
    border-radius: .5em;
    min-width:8em;
    padding: .3em;
    padding-top:.5em;
    padding-left: 1em;
    margin: .1em;
    z-index: 9999;
}
.primary-navigation li ul li:first-child {
    margin-top:1rem;
}


.primary-navigation li:hover ul {
    display: block;
}

main {
    margin: 2rem 2rem;
    /*overflow: hidden;*/
    padding: 1rem;
    z-index: 1;
}

.pagetitle h1{
    font-family: 'CaliforniaGothic', Sans-Serif;
    font-size: 2.5rem;
    line-height: 1;
    padding: 1rem;
    padding-top: .01rem;
    grid-template-columns: 1;
    color:rgb(30,95,189);
    text-shadow: white .05em .05em .2em;
    max-width: 1400px;
    border-radius: .5rem;
    background: linear-gradient( to bottom, rgba(255, 255, 255, 0.70), rgba(255,0,0,0));
    -webkit-backdrop-filter: blur(.5rem); /* Add this line first, it fixes blur for Safari*/
    backdrop-filter: blur(.5rem);/* This line activates blur*/ 
    gap: 1rem;
}

.container{
    display: grid;
    grid-template-columns: repeat( auto-fit, minmax(30rem, 1fr) );
    max-width: 1400px;
    margin: auto;
    margin-top: .5em;
    justify-content: center;
    gap: 1rem;
}

.gridOneCol {

    grid-template-columns: auto ;
}

.gridThreeCol {
    grid-template-columns: repeat( auto-fit, minmax(20rem, 1fr) );
}

article {
    animation: scrollFadeIn linear both;
    animation-duration: 1ms; 
    animation-timeline: view();
    animation-range: entry 15% cover 45%;
    padding: 1rem;
    /* grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr) ); */
    border-radius: .5rem;
    border:2px solid white;
    background-color: rgba(255, 255, 255, 0.70);
    -webkit-backdrop-filter: blur(.8rem); /* Add this line first, it fixes blur for Safari*/
    backdrop-filter: blur(.8rem);/* This line activates blur*/
}

.preview-text {
    --max-lines: 4;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--max-lines);
    margin-bottom:2rem;
}

.mycard{
    position: relative;
    /*width: 500px;*/
    /*height: 300px;*/
    background-color:rgba(73, 109, 206, 0.418);
    backdrop-filter: blur(3px) ;
    
    border-top: 2px solid rgba(255,255,255, 0.4);
    border-left: 2px solid rgba(255,255,255, 0.3);
    border-radius: 1em;

    box-shadow: 3px 3px 5px rgba(0,0,0,0.5);

    color: rgba(255,255,255, 0.8);
    text-align: justify;
    margin: 1rem;
    padding: 2em;
    text-shadow: 2px 2px 2px rgba(140, 139, 204, 0.418);
}

.mycard::after {
    content: "Repeater";
    content: attr(tool-tip-data);
    color: white;
    font-size: 1.25em;
    font-weight: bold;
    background-color: rgba(34,70,170,.5);
    position: absolute;
    bottom: 0;
    left: 0;
    padding:.5em;
    border-top-right-radius: 1em;
}
.mycard:hover {
    background-color:rgba(34, 70, 170,.8);
    cursor: pointer;
}

.mycard:hover::after {
    font-size: 1em;
    content: "Click to see details";
}

.shapeContainer {
    clip-path: path("M 20,0 L 480,0 A 20,20,0,0,1 500,20 L 500,200 A 20,20,0,0,1 480, 220 L 350,220 A 20,20,0,0,0 330,240 L 330,280 A 20,20,0,0,1 310,300 L 20,300 A 20,20,0,0,1 0,280 L 00,20 A 20,20,0,0,1 20,0 Z") ;
}


h1 {
    font-size: 2.2rem;
}

h2 {
    font-size: 1.8rem;
    margin-bottom: .5em;
}



p{
     padding-block: 0.3rem;
     text-indent: .9rem;
     font-weight: 100;
}

@keyframes scrollFadeIn{
    0% {
        opacity:0;
    }
    20% {
         opacity:.7;
    }
    100%{
         opacity:1;
    }
}

@view-transition {
  navigation: auto;
}

.accordion {
    background: none;
    cursor: pointer;
    border-radius: .25rem;
    padding: .2rem;
    padding-left:.8rem;
    width: 100%;
    border: none;
    text-align: left;
    outline: none;
    transition: 0.4s;
}

.accactive, .accordion:hover {
    color:white;
    background-color: hsl(209,61%,40%)
}

.panel {
  /*padding: 0 18px;*/
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}

footer {
    display: flex;
    justify-content: space-between;
    position: static;
    font-size: 1.2rem;
    font-weight: bold;
    left: 0;
    bottom:0;
    width: 97%;
    background-color: black;
    color:white;
    text-align: center;
    width: 100vw;
    margin-top:auto;
    padding: .6rem;
    padding-left: 1rem;
    padding-right: 1rem;
}

.footersub {
    align-items: flex-end;
    padding-left:2rem;
}

.footdersub p {
    color: white;
}

.footerlogo {
    position: relative;
}
.footerlogo img {
     position: absolute; 
     width: 8rem !important;
     top: -3rem;
     left: -4vw;
     padding-bottom:2rem;
}

@media screen and (max-width:65em) {
    
    body{
        font-size: clamp(1.5rem, 2vw, 1.5rem);
        background-attachment: scroll; 
    }
    
    .primary-navigation {
        font-size: clamp(2rem, 1.75vw, 4rem);
        position:fixed;
        inset: 0 0 0 30%;
        flex-direction: column;
        padding: min(20vh, 5rem) .5em;
        border-radius: 0;
        /*background-color: hsl(0 0% 100% / 0.9);*/

        transform: translateX(100%);
        transition: transform 350ms ease-out;
    }
    .primary-navigation[data-visible="true"] {
        transform: translateX(0%);
    }
    .primary-navigation li ul li {
        padding: .5em;
        /*font-size: clamp(1.1rem, 1.5vw, 2rem); */
    }
    .mobile-nav-toggle {
        display: block;
        position: fixed;
        background-color: transparent;
        background-image: url('../icons/menu-close-x.svg');
        background-repeat: no-repeat;
        border:0;   
        width: 3rem;
        aspect-ratio: 1;
        top: 1.5rem;
        right: 1.5rem;
        z-index: 9999;
    }
    .mobile-nav-toggle[aria-expanded="true"] {
        background-image: url('../icons/menu-hamburger.svg');
    }
    
    .primary-navigation li ul {
        position: static;
    }
    
    body[id ='home'] .logo  { 
        width: 21rem;
    }
    
    body:not([id]) .logo {
        width: 10rem;
    }
    
   
   
    
    main {
        margin: 0;
    }
    .container{
        grid-template-columns: 1fr;
        max-width: 1fr;
    }
    
    footer {
        display: block;
        padding: 0;
    }
    
    .footerlogo {
        position: static;
        
    }
    .footerlogo img {
         position: static; 
    }
    
        
    
    .footersub {
        padding:0;
    }

   
}
