/* Ensure org news and site news containers stack vertically and are visually separated */
.org-news-container {
    margin-bottom: 2em;
}
.site-news-container {
    margin-bottom: 2em;
}
/* Add margin to site news section below org news */
.site-news-section {
    margin-top: 2em;
}
/* Quill output style for home page */
.container,
.welcome-section {
    max-width: 100%;
    overflow-x: auto;
    box-sizing: border-box;
}
.quill-html-output {
    overflow-x: auto;
    word-break: break-word;
    max-width: 100%;
    box-sizing: border-box;
}
.quill-html-output ul,
.quill-html-output ol {
    padding-left: 2em;
    margin: 1em 0;
}
.quill-html-output li {
    margin: 0.25em 0;
    list-style-position: inside;
}
.quill-html-output pre.ql-syntax {
    display: block;
    background: #181818;
    color: #e0e0e0;
    font-family: 'Fira Mono', 'Consolas', 'Monaco', monospace;
    font-size: 1em;
    padding: 0.75em 1em;
    border-radius: 5px;
    margin: 0.5em 0;
    overflow-x: auto;
    white-space: pre;
    line-height: 1.5;
    max-width: 100%;
    box-sizing: border-box;
}
/* Quill alignment output support */
.quill-html-output .ql-align-center {
    text-align: center;
}
.quill-html-output .ql-align-right {
    text-align: right;
}
.quill-html-output .ql-align-justify {
    text-align: justify;
}
.quill-html-output .ql-align-left {
    text-align: left;
}
/* Organization news styling */
.org-news .quill-html-output {
    margin-top: 1em;
}
/* Flex row for home containers */
.home-containers-row {
    display: flex;
    gap: 2em;
    justify-content: center;
    align-items: flex-start;
    margin-bottom: 2em;
}
.home-containers-row > .container {
    flex: 1 1 0;
    min-width: 0;
    max-width: 50%;
    display: flex;
    flex-direction: column;
}

/* Welcome Title (top left) */
.welcome-title {
    align-self: flex-start;
    text-align: left;
    margin-top: 0;
    margin-bottom: 0.5em;
    font-size: 2.2em;
    font-weight: 700;
    letter-spacing: 1px;
}

/* Welcome Message (centered below title) */
.welcome-message {
    width: 100%;
    text-align: center;
    margin: 0.5em auto 1em auto;
    max-width: 700px;
    font-size: 1.2em;
    line-height: 1.5;
    font-weight: 400;
    display: block;
}

.dashboard-fallback {
    align-self: center;
    text-align: center;
    font-size: 1.1em;
    margin-bottom: 1em;
}

@import url('https://fonts.googleapis.com/css?family=Poppins;100,200,300,400,500,600,700,800,900');
/* custom variables */
@import 'variables.css';


/* -------------------------------------- Home Page */
.home{
    display: flex;
    flex-direction: row;
    gap: 2em;
    align-items: flex-start;
}

.home-detail, .service-box {
    flex: 1 1 30%;  /* 1 means they can grow, 1 means they can shrink, 30% is the initial size */
}

.home-detail h3{
    font-size: 3.2rem;
    font-weight: 700;
    animation: slideTop .7s ease forwards;
    animation-delay: .7s;
    opacity: 0;
}

.home-detail h1{
    font-size: 5.6rem;
    font-weight: 700;
    margin: -3px 0;
    animation: SlideRight 1s ease forwards;
    opacity: 0;
    animation-delay: 1s;
}

.home-detail p{
    font-size: 2rem;
    animation: SlideLeft 1s ease forwards;
    opacity: 0;
    animation-delay: 1s;
}

.social-media a{
    display: inline-flex;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    color: indigo;
    font-size: 2rem;
    border: 2px solid indigo;
    background: transparent;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    margin: 3rem 1.5rem 3rem 0;
    transition: .5s ease;
}

/*  This is for javascript */
.social-media a:hover,.social-media a.active{
    background: indigo;
    color: #000;
    box-shadow: 0 0 20px indigo;
}
.home-detail h3:nth-of-type(2){
   margin-bottom: 2rem;
}
h2 small{
    color: indigo;
    font-size: 4.5rem;
}

h3 small{
    color: indigo;
    font-size: 3.2rem;
}
/* -------------------------------------- Image on home page */
.home .home-img img{
    width: 35vw;
    animation: Zoom 1s ease forwards , Float 4s ease-in-out infinite;
    animation-delay: 2s, 3s;
    opacity: 0;
}

/* -------------------------------------- About Page */
.about {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background-image: url('../images/TruckBG.png');
    background-size: cover;
    background-position: right;
    background-repeat: no-repeat;
    width: 100vw;
    min-height: 100vh; /* Change from height to min-height */
    padding: 5rem 3rem; /* Adds space around the content */
    box-sizing: border-box; /* Prevents padding from affecting width */
}

.about-section {
    width: 65%;
    padding: 3rem;
    color: white;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 10px;
}

.allheading {
    text-align: center;
    font-size: 4.5rem;
    margin-top: 89px;
}

.about-section h2 {
    text-align: center;
    line-height: 1.2;
}

.about-section h3 {
    font-size: 2.6rem;
}

.about-section p {
    font-size: 1.75rem;
    margin: 2rem 0 3rem;
}

/* -------------------------------------- Services Page */
.service-section{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    flex-wrap: wrap;
}
.service-section .service-box{    
    flex: 1 1 30rem;
    padding: 3rem 2rem 4rem;
    border-radius: 2rem;
    min-height: 40rem;
    background: var(--container-color);
    text-align: center;
    border: 3px solid #000;
    transition: .5s ease;
}
.service-box:hover{
    box-shadow: 0 0 60px indigo;
    border: 2px solid indigo;
    transform: scale(1.02);
}
.service h2{
    margin-bottom: 5rem;    
}
.service-box i{
    font-size: 100px;
    color: indigo;    
}
.service h3{
    font-size: 2.6rem;    
}
.service-box p{
    font-size: 1.6rem;
    margin: 1rem 0 3rem;
}

/* -------------------------------------- Portfolio Page */
.portfolio{
    background: linear-gradient(90deg, black 0%, #1c0333 50%, #2f0144 100%);
    background-image: linear-gradient(90deg, black 0%, #1c0333 50%, #2f0144 100%),
                        repeating-linear-gradient(
                          to bottom,
                          transparent,
                          transparent 8px,
                          rgba(255,255,255,0.03) 8px,
                          rgba(255,255,255,0.03) 10px
                        );
    background-blend-mode: overlay;
    background-size: cover;      
}
.portfolio h2{
    margin-bottom: 4rem;
}
.portfolio-box{
    position: relative;
    border-radius: 2rem;
    box-shadow: 0 0 1rem var(--container-color);
    overflow: hidden;
    display: flex;
}
.portfolio-section{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    text-align: center;
    gap: 2.5rem;
}
.portfolio-box img{
   width: 100%;
   transition: .5s ease;
}
.portfolio-head{
    flex-direction: column;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(0,0,0,.3),indigo);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 4rem;
    transform: translateY(100%);
    transition: .5s ease;
}
.portfolio-box:hover img{
    transform: scale(1.2);
}
.portfolio-box:hover{
    box-shadow: 0 0 60px indigo;
}
.portfolio-box:hover .portfolio-head{
    transform: translateY(0%);
}
.portfolio-box .portfolio-head h4{
    font-size: 3rem;
}
.portfolio-head p{
    font-size: 1.6rem;
    margin: .3rem 0 1 rem;
}
.portfolio-head a{
    
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 5rem;
    height: 5rem;
    border: 50%;
    text-decoration: none;
}
.portfolio-head i{
   font-size: 2rem;
   color: var(--border-color);
}
