/* Global Styles */
* {
    font-family: 'Montserrat', sans-serif;
    margin: 0;
    outline: none; /* Removes the focus outline */
}

a:focus {
    outline: 5px solid #46F648;
}

html {
    scroll-behavior: smooth;
}

ul {
    list-style-position: inside; /* Ensures the bullet is inside the padding */
    padding-left: 20px; /* Add padding to create space for the bullet */
    margin: 1rem 0px;
}

li {
    text-indent: -1px; /* Pulls the first line back to align bullets */
    padding-left: 20px; /* Ensures the text after the bullet is indented */
    margin: 1rem 0px;
}

.p-thickerBlue {
    color: #0375b4;
    font-weight: bold;
}

/* USED FOR LOGIN BUTTON - and is the default button if Hero-Button not specified */
.button {
    font-size: 12px;
    font-weight: 550;
    display: inline-block;
    color: black;
    background-color: #fff;
    border: none;
    border-radius: 5px;
    text-decoration: none;
    transition: background-color 0.3s;
    width: auto;
    max-width: fit-content;
    margin: auto;
}

    .button:hover {
        background-color: #d11919;
        color: white;
    }


img {
    max-width: 100%;
    height: auto;
    width: auto;
}

.logos-container {
    width: 100%;             /* Ensure the container takes up full width */
    height: 100%;            /* Optional: Ensure the container has height (use min-height if needed) */
    display: flex;           /* Make the container a flexbox */
    justify-content: center; /* Horizontally center the image */
    align-items: center;     /* Vertically center the image */
}

.PhoneNumber-Bar {
    background-color: black;
    color: white;
}

.content-wrapper {
    max-width: 1200px !important; /* Set the maximum width of the content */
    min-width: 300px !important;
    margin: 0 auto !important; /* Auto margins on left and right to center the content */
    padding: 20px !important; /* Optional: Add padding inside the container */
    box-sizing: border-box !important; /* Include padding in the width calculation */
}

.PhoneNumber-Bar-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, auto);
    padding: 5px;
}

.PhoneNumber-Bar-login {
    text-align: center;
    padding: 5px;
    grid-column: 3;
}

.PhoneNumber-Bar-phone {
    text-align: center;
    padding: 5px;
    grid-column: 1;
}

/* Nav Styles */
.nav .menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
}

    .nav .menu img {
        order: -1;
        margin-right: 20px;
    }

    .nav .menu .menu-items {
        display: flex;
        flex-direction: row;
        gap: 10px;
        font-size: clamp(10px, 2vw, 15px);
        font-weight: 600;
        color: #2e2e2e;
        margin: 1rem;
        white-space: nowrap;
    }

    .nav .menu a {
        text-decoration: none;
        color: inherit;
    }

        .nav .menu a:not(:has(img)) {
            display: none;
        }

        .nav .menu a:hover {
            color: white;
        }

@media (min-width: 50rem) {

    .nav .menu a:not(:has(img)) {
        display: inline;
        margin-top: 30px;
        padding-right: 10px;
    }

    .nav .menu > span {
        display: flex;
        justify-content: space-between;
        width: 100%;
    }
}

/* Dropdown Button MOBILE*/
.dropbtn {
    color: white;
    padding: .75rem;
    font-size: 1rem;
    border: none;
    border-radius: 5px;
}

.dropbtnSpecial {
    color: white !important;
    border-radius: 5px;
    background-color: dodgerblue;
    padding: .75rem;
    font-size: 1rem;
    border: none;
    transition: .30s ease-in-out;
    margin: 1rem;
}

    .dropbtnSpecial:hover {
        background-color: #d11919;
    }

.dropbtnMOBILE {
    color: #2e2e2e;
    font-size: 16px;
    border: none;
    margin-left: 1.25rem;
}

/* The container <div> - needed to position the dropdown content */
.nav .menu-items .dropdown {
    position: relative;
    display: inline-block;
    transition: .30s ease-in-out;
}

/* Dropdown Content (Hidden by Default) */
.nav .menu-items .dropdown-content {
    display: none;
    position: absolute;
    background-color: white;
    border-radius: 5px;
    min-width: 250px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 2;
    top: 100%; /* Position the dropdown content below the dropdown button */
    margin-top: .5rem;
    left: 0; /* Align the left edge of the dropdown content with the left edge of the dropdown button */
}

    /* Links inside the dropdown */
    .nav .menu-items .dropdown-content a {
        color: #2e2e2e;
        margin: auto; /* Adjust
            padding as needed */
        text-decoration: none;
        display: block;
        width: 100%; /* Ensure sublinks take up full width of the dropdown */
    }

        /* Change color of dropdown links on hover */
        .nav .menu-items .dropdown-content a:hover {
            background-color: #2e2e2e;
            color: white;
            border-radius: 5px;
        }

/* Show the dropdown menu on hover */
.nav .menu-items .dropdown:hover .dropdown-content {
    display: block;
    padding: 12px 16px; /* Adjust padding as needed */
}

/* Change the background color of the dropdown button when the dropdown content is shown */
.nav .menu-items .dropdown:hover .dropbtn {
    color: white;
    background-color: #2e2e2e;
    transition: .30s ease-in-out;
}

/*  ! THIS IS THE MOBILE MENU ! */

/* The container <div> - needed to position the dropdown content */
.nav .dropdown {
    position: relative;
    display: inline-block;
}

/* Dropdown Content (Hidden by Default) */
.nav .dropdown-content {
    display: none;
    margin: auto;
    position: absolute;
    background-color: #f1f1f1;
    border-radius: 5px;
    min-width: 250px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 2;
    top: 100%;
    right: 0;
}

    /* Links inside the dropdown */
    .nav .dropdown-content a {
        color: #2e2e2e;
        margin: auto; /* Adjust padding as needed */
        padding: 18px; /* Adjust padding as needed */
        text-decoration: none;
        display: block;
        width: 100%; /* Ensure sublinks take up full width of the dropdown */
        border-radius: 5px;
    }

        /* Change color of dropdown links on hover */
        .nav .dropdown-content a:hover {
            background-color: black;
            color: white;
            transition: .30s ease-in-out;
        }

/* Show the dropdown menu on hover */
.nav .dropdown:hover .dropdown-content {
    display: none;
}

/* Show the dropdown menu when its parent (.dropdown) is clicked */
.nav .dropdown.clicked .dropdown-content {
    display: block;
    padding: 12px 16px; /* Adjust padding as needed */
}

/* Change the background color of the dropdown button when the dropdown content is shown */
.nav .dropdown:hover .dropbtn {
    color: white;
    background-color: darkred;
    border-radius: 5px;
}

/* Add styles for the open icon */
.nav .dropdown .open-icon {
    display: none;
}

.nav .dropdown.clicked .open-icon {
    display: inline-block;
}

.nav .dropdown .fa-chevron-circle-right {
    display: inline-block;
}

.nav .dropdown.clicked .fa-chevron-circle-right {
    display: none;
}



.hero-content {
    position: relative;
    background: url(../images/home-header2.webp) no-repeat center center;
    background-size: cover;
    min-height: 35vh;
    height: auto;
    padding: 120px 0;
    text-align: left;
    color: white;
    width: 100%; /* Changed from 100vw */
    overflow: hidden;
}

.hero-subpage-content {
    position: relative;
    background: url(../images/SubpageHeader.webp) no-repeat center center;
    background-size: cover;
    min-height: 25vh;
    height: auto;
    padding: 120px 0;
    text-align: left;
    color: white;
    width: 100%; /* Changed from 100vw */
    overflow: hidden;
}

    .hero-subpage-content .container {
        max-width: 60%;
        margin-left: auto; /* Centers the .container */
        margin-right: auto;
        text-align: center;
    }

        .hero-subpage-content .container h1 {
            text-shadow: 2px 2px black;
            font-size: clamp(30px, 4vw, 28px);
        }


.hero-subpage2-content {
    position: relative;
    min-height: 35rem;
    height: auto;
    padding-top: 2rem;
    text-align: left;
    color: white;
    width: 100%;
    overflow: hidden;
}

    .hero-subpage2-content video {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: -2;
    }

    /* Gradient overlay: Blue to Red (left to right) */
    .hero-subpage2-content::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(to right, rgba(0, 0, 100, 0.7) 30%, rgba(160, 0, 0, 0.7) 70%);
        z-index: -1;
    }

    /* Gradient overlay: Fades from nothing (top) to 20% black (bottom) */
    .hero-subpage2-content::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 60%);
        z-index: -1;
    }

    .hero-subpage2-content .container {
        margin-top: 1.75rem;
        max-width: 70%;
        margin-left: auto;
        margin-right: auto;
        text-align: left;
        position: relative;
        z-index: 1;
    }

        .hero-subpage2-content .container h1 {
            text-shadow: 2px 2px black;
            font-size: clamp(30px, 4vw, 28px);
        }

/* Buttons - Stack on small screens */
        .hero-subpage2-content .container .hero-button,
        .hero-subpage2-content .container .hero-button-reverse {
            display: inline-block;
            margin: 10px 5px;
            padding: 10px 20px;
            font-size: clamp(16px, 2vw, 24px);
            text-decoration: none;
            border-radius: 8px;           
        }

/* Responsive tweaks for small screens */
@media (max-width: 768px) {
    /* Stack buttons vertically */
    .hero-subpage2-content .container .hero-button,
    .hero-subpage2-content .container .hero-button-reverse {
        display: block;
        width: 80%;
        margin: 10px 0; /* Center buttons */
    }

    /* Adjust section height on smaller screens */
    .hero-subpage2-content {
        min-height: 45vh; /* Allow height to shirnk if needed */
    }
}

@media (max-width: 480px) {
    .hero-subpage2-content {
        min-height: 60vh; /* More flexibility on small screens */
    }

        .hero-subpage2-content .container p {
            font-size: 1rem; /* Smaller text for small screens */
        }
}

/* Adjusting hero section for responsiveness */
.hero-video-content {
    position: relative;
    min-height: 90vh;
    padding-bottom: 2rem;
    text-align: center;
    color: white;
    width: 100%;
    overflow: visible;
    /* Center content vertically */
    display: flex;
    align-items: center; /* Vertical centering */
    justify-content: center; /* Horizontal centering */
}

/* Adjusting hero section for responsiveness */
.hero-video-content {
    position: relative;
    min-height: 100vh;
    padding-bottom: 2rem;
    text-align: center;
    color: white;
    width: 100%;
    overflow: visible;
    /* Center content vertically and horizontally */
    display: flex;
    align-items: center; /* Vertical centering */
    justify-content: center; /* Horizontal centering */
    box-sizing: border-box; /* Ensure padding does not affect width */
}

    /* Ensure video covers properly and responds well */
    .hero-video-content video {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: -2;
    }

    /* Gradient Overlays */
    .hero-video-content::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(to right, rgba(0, 0, 100, 0.7) 30%, rgba(160, 0, 0, 0.7) 70%);
        z-index: -1;
    }

    .hero-video-content::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 60%);
        z-index: -1;
    }

    /* Responsive container */
    .hero-video-content .container {
        width: 90%;
        max-width: 1200px; /* Keep it readable on larger screens */
        margin: 0 auto; /* Ensure it is centered horizontally */
        text-align: center;
        position: relative;
        z-index: 1;
        box-sizing: border-box; /* Ensure padding doesn't affect the width */
    }

        /* Responsive headings and text */
        .hero-video-content .container h1 {
            text-shadow: 2px 2px black;
            font-size: clamp(32px, 5vw, 64px);
            margin-top: 50px;
        }

        .hero-video-content .container p {
            font-size: clamp(18px, 3vw, 32px);
            line-height: 1.5;
        }

        /* Buttons - Stack on small screens */
        .hero-video-content .container .hero-button,
        .hero-video-content .container .hero-button-reverse {
            display: inline-block;
            margin: 10px 5px;
            padding: 10px 20px;
            font-size: clamp(16px, 2vw, 24px);
            text-decoration: none;
            border-radius: 8px;
        }

/* Responsive tweaks for small screens */
@media (max-width: 768px) {
    /* Stack buttons vertically */
    .hero-video-content .container .hero-button,
    .hero-video-content .container .hero-button-reverse {
        display: block;
        width: 80%;
        margin: 10px auto; /* Center buttons */
    }

    /* Adjust section height on smaller screens */
    .hero-video-content {
        min-height: 70vh; /* Allow height to grow if needed */
    }
}

@media (max-width: 480px) {
    .hero-video-content {
        min-height: 60vh; /* More flexibility on small screens */
    }

        .hero-video-content .container p {
            font-size: 1rem; /* Smaller text for small screens */
        }
}






.flex-wrapper {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    position: relative; /* Make sure this is below the underlay */
    z-index: 1; /* A lower z-index than the underlay */
}


.hero-underlay {
    position: absolute;
    bottom: -5px;
    right: 0px;
    width: 100%; /* Ensure it spans the full width of its parent */
    height: 10%; /* You may need to adjust this to get the desired effect */
    z-index: 10;
    background: url(underlay.webp) no-repeat center center;
    background-size: cover; /* This will make sure the image stretches to cover the entire element */
}


.hero-content .container {
    max-width: 60%;
    margin-left: auto; /* Centers the .container */
    margin-right: auto;
}

    .hero-content .container h1 {
        text-shadow: 2px 2px black;
        font-size: clamp(30px, 4vw, 35px);
    }

/*NOT USED*/
/*.hero-content blockquote {
    text-align: left;
    font-weight: bold;
    margin-left: 0;
}*/

input.hero-button:focus {
    outline: 5px solid #46F648;
    
}

/* Original hero button */
.hero-button {
    position: relative;
    z-index: 1; /* Ensure it's above ::before */
    display: inline-block;
    padding: 10px 10px;
    color: #fff;
    background: linear-gradient(90deg, #dc1111, #b70707);
    box-shadow: 1px 1px 5px black;
    border: none;
    border-radius: 5px;
    text-decoration: none;
    margin: 5px;
    z-index: 0;
    transition: color 0.2s, background 0.2s; /* Smooth transition for text and background */
}

    .hero-button::before {
        position: absolute;
        content: "";
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background: white; /* Hover background becomes white */
        z-index: -1;
        transition: opacity 0.2s linear;
        opacity: 0;
        border-radius: 4px;
    }

    .hero-button:hover {
        color: black; /* Text becomes black on hover */
    }

        .hero-button:hover::before {
            opacity: 1; /* Reveal the white background */
            border-radius: 5px;
        }

input.hero-button:hover {
    background: white; /* Ensure input also changes */
    color: black;
}

/* Reversed hero button */
.hero-button-reverse {
    position: relative;
    display: inline-block;
    padding: 10px 10px;
    color: #fff;
    background: linear-gradient(90deg, dodgerblue, #0375b4);
    box-shadow: 1px 1px 5px black;
    border: none;
    border-radius: 5px;
    text-decoration: none;
    margin: 5px;
    z-index: 0;
    transition: color 0.2s, background 0.2s; /* Smooth transition */
}

    .hero-button-reverse::before {
        position: absolute;
        content: "";
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background: white; /* Hover background becomes white */
        z-index: -1;
        transition: opacity 0.2s linear;
        opacity: 0;
        border-radius: 4px;
    }

    .hero-button-reverse:hover {
        color: black; /* Text becomes black on hover */
    }

        .hero-button-reverse:hover::before {
            opacity: 1; /* Reveal the white background */
            border-radius: 5px;
        }

input.hero-button-reverse:hover {
    background: white; /* Ensure input also changes */
    color: black;
}



/*White Background Section*/
/*.section {
    padding: 50px 10px;
    text-align: center;
    background-color: white;
}*/


/*Blue Background Section*/

.section-blueBackground {
    position: relative; /* This makes sure that the absolute positioned child stays within this parent */
    padding: 50px 10px;
    text-align: center;
    background: radial-gradient(#0375b4, #182b40);
    color: white;
    width: 100%;
}

    .section-blueBackground .container {
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

.section-blueBackground-title {
    text-align: center;
    margin-bottom: 25px; /* adjust this value as needed for spacing */
    margin-left: 10px;
    margin-right: 10px;
    font-size: 1.5em; /* adjust font size if necessary */
    color: white;
}

.section-blueBackground-paragraph {
    text-align: center;
    margin-bottom: 25px; /* adjust this value as needed for spacing */

    font-size: 1em; /* adjust font size if necessary */
    color: white;
}

.section-blueBackground-paragraphBlackText {
    text-align: center;
    margin-bottom: 25px; /* adjust this value as needed for spacing */
    padding: .75rem;
    font-size: 1em; /* adjust font size if necessary */
    color: #0375b4;
}

.two-columns {
    column-count: 2;
    padding: 0;
    margin-left: 100px;
    margin-right: 100px;
}

@media (max-width: 963px) {
    .two-columns {
        column-count: 1;
        padding: 0;
        margin-left: 100px;
        margin-right: 100px;
    }
}




/*.hero-top-underlay {
    position: absolute;
    top: -2px;
    left: 10px; 
    width: 100%;
    height: 10%; 
    z-index: 1; 
    background: url(CutLeft.webp) no-repeat center center;
    background-size: cover;
}*/


/* Boxes styles for the blue bg Section */
.boxes {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px; /* gap between the boxes */
    max-width: 1000px; /* Set a maximum width */
    margin: 0 auto; /* Center the boxes container */
    justify-content: center;
}



.box {
    flex: 0 0 calc(50% - 10px); /* 50% width - half the gap (assuming 20px gap) */
    background-color: white;
    text-align: left; /* Aligns the text to the left */
    color: black; /* Set text color to black */
    border-left: 10px solid red;
    padding: 20px;
    box-sizing: border-box; /* makes sure padding and border are included in the box's total width/height */
}

/* Responsive: Boxes will stack vertically on smaller screens */
@media (max-width: 768px) {
    .box {
        flex: 0 0 100%;
    }
}

/*WHY is body down here??*/
body {
    overflow-x: hidden; /* This will hide any unexpected horizontal overflow */
    margin: 0px;
}

.section-whiteBackground {
    margin: 40px 0;
    width: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column; /* Add this line to make content stack vertically */
    align-items: center; /* Center the title and content container horizontally */
}

    .section-whiteBackground .container {
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
    }

.section-whiteBackground-title {
    text-align: center;
    margin-top: 50px;
    margin-bottom: 10px; /* Adjust this value as needed for spacing */
    /*margin-top: 35px; /* Adjust this value as needed for spacing */
    margin-left: 10px;
    margin-right: 10px;
    font-size: 1.5em; /* Adjust font size if necessary */
    color: #0375b4;
    /*text-shadow: 2px 2px #c6ecff;*/
}

.section-whiteBackground-title2 {
    text-align: center;
    margin-bottom: 10px; /* Adjust this value as needed for spacing */
    /*margin-top: 35px; /* Adjust this value as needed for spacing */
    margin-left: 10px;
    margin-right: 10px;
    font-size: 1.5em; /* Adjust font size if necessary */
    background: linear-gradient(90deg, darkred, #136fd3);
    color: #ff7e5f; /*Fall Back for unsupported browsers*/
    -webkit-background-clip: text; /*Not supported by all browsers - for gradient color text*/
    -webkit-text-fill-color: transparent;
}

.content-container {
    width: 100%;
    max-width: 1200px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding: 0 20px;
    justify-content: center; /* Center the items horizontally */
}

.content-item {
    box-sizing: border-box;
    width: calc(25% - 20px); /* Initially, four items per row with a gap of 20px */
    padding: 20px;
    border: 1px solid #ccc;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: linear-gradient(#0375b4, #182b40);
    box-shadow: 2px 2px 10px #d3d3d3;
}

    .content-item .icon img {
        max-width: 50px; /* Adjust icon size as needed */
        height: auto;
    }

    .content-item .title {
        margin: 10px 0; /* Adjust as needed */
        font-size: 1.5em; /* Adjust as needed */
        color: white;
        text-shadow: 2px 2px black;
    }

    .content-item .description {
        margin: 10px 0; /* Adjust as needed */
        color: white; /* Adjust as needed */
    }

/* For medium screens */
@media (max-width: 1170px) {
    .content-item {
        width: calc(50% - 20px); /* Two items per row with a gap of 20px */
    }
}

/* For small screens */
@media (max-width: 680px) {
    .content-item {
        width: calc(100% - 20px); /* One item per row with a gap of 20px */
    }
}


/* Currently used for IVR Mapper (white box on blue section) */

.content-container3 {
    width: 100%;
    max-width: 1200px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding: 0 20px;
    justify-content: center; /* Center the items horizontally */
}

.content-item3 {
    box-sizing: border-box;
    width: calc(25% - 20px); /* Initially, four items per row with a gap of 20px */
    padding: 20px;
    border: 1px solid #ccc;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: white;
    box-shadow: 2px 2px 10px #e8e8e8;
}

    .content-item3 .icon {
        max-width: 50px; /* Adjust icon size as needed */
        height: auto;
        color: #0375b4;
    }

    .content-item3 .title {
        margin: 10px 0; /* Adjust as needed */
        font-size: 1.5em; /* Adjust as needed */
        color: #0375b4;
        text-shadow: 2px 2px black;
    }

    .content-item3 .description {
        margin: 10px 0; /* Adjust as needed */
        color: #0375b4; /* Adjust as needed */
    }

/* For medium screens */
@media (max-width: 1172px) {
    .content-item3 {
        width: calc(50% - 20px); /* Two items per row with a gap of 20px */
    }
}

/* For small screens */
@media (max-width: 680px) {
    .content-item3 {
        width: calc(100% - 20px); /* One item per row with a gap of 20px */
    }
}

.content-container4 {
    width: 100%;
    max-width: 1200px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding: 0 20px;
    justify-content: center; /* Center the items horizontally */
}

.content-item4 {
    box-sizing: border-box;
    width: calc(33% - 20px); /* Initially, four items per row with a gap of 20px */
    padding: 20px;
    border: 1px solid #ccc;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: white;
    box-shadow: 2px 2px 10px #e8e8e8;
}

    .content-item4 .icon {
        max-width: 50px; /* Adjust icon size as needed */
        margin-bottom: 20px;
        height: auto;
        color: #0375b4;
    }

    .content-item4 .title {
        margin: 10px 0; /* Adjust as needed */
        font-size: 1.5em; /* Adjust as needed */
        color: #0375b4;
        
    }

    .content-item4 .description {
        margin: 5px 0; /* Adjust as needed */
        color: #0375b4; /* Adjust as needed */
    }

/* For medium screens */
@media (max-width: 1172px) {
    .content-item4 {
        width: calc(50% - 20px); /* Two items per row with a gap of 20px */
    }
}

/* For small screens */
@media (max-width: 680px) {
    .content-item4 {
        width: calc(100% - 20px); /* One item per row with a gap of 20px */
    }
}


/* Only used in Services (which we wont have) page atm is a blue box and white text */
.content-container2 {
    width: 100%;
    max-width: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding: 0 20px;
    justify-content: center; /* Center the items horizontally */
}

.content-item2 {
    box-sizing: border-box;
    width: 100%;
    padding: 20px;
    border: 1px solid #ccc;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: linear-gradient(#0375b4, #182b40);
    box-shadow: 2px 2px 10px #d3d3d3;
}

    .content-item2 .icon img {
        max-width: 50px; /* Adjust icon size as needed */
        height: auto;
    }

    .content-item2 .title {
        margin: 10px 0; /* Adjust as needed */
        font-size: 1.5em; /* Adjust as needed */
        color: white;
        text-shadow: 2px 2px black;
    }

    .content-item2 .description {
        margin: 10px 0; /* Adjust as needed */
        color: white; /* Adjust as needed */
    }

/* For large screens */
@media (min-width: 768px) {


    .content-item2 {
        width: calc(50% - 20px);
    }
}

/* Footer */
/*.footer {
    padding: 20px;
    text-align: center;
    background: #ddd;
    margin-top: 20px;
} I just commented this out, dont think i need it jul26 */

footer {
    background-color: #000;
    color: #fff;
    padding: 20px 0;
}

.footer-container {
    max-width: 1200px; /* Adjust based on your design preferences */
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding: 0 20px; /* Padding on the sides */
    flex-wrap: wrap; /* Allow items to wrap */
}

.footer-section {
    flex: 1;
    text-align: center; /* Center align the content */
    margin-bottom: 20px; /* Add space between sections */
}

    .footer-section h3 {
        position: relative; /* Allows positioning of the pseudo-element */
        margin-bottom: 15px;
        font-size: 18px;
        padding-bottom: 5px; /* Space between the text and the underline */
        display: inline-block; /* Ensures the element doesn't take up the full width */
    }

        .footer-section h3::after {
            content: "";
            position: absolute; /* Position the pseudo-element relative to the h3 */
            bottom: 0;
            left: 0;
            width: 100%;
            height: 1px;
            background-color: #fff;
        }

    .footer-section ul {
        list-style-type: none;
        padding: 0;
        margin: 0;
    }

    .footer-section a {
        color: white;
        text-decoration: none;
    }

    .footer-section ul li {
        margin-bottom: 10px;
    }

        .footer-section ul li a:hover {
            text-decoration: underline;
            color: #ee7878;
        }

.services-list ul {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Two equal columns */
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Responsive Styles */
@media (max-width: 768px) {
    .footer-container {
        flex-direction: column;
    }

    .footer-section {
        margin-bottom: 20px;
        display: flex;
        flex-direction: column;
        align-items: center; /* Horizontally center the content */
        justify-content: center; /* Vertically center the content (if needed) */
    }

    /* Change the Services list to a single column on smaller screens */
    .services-list ul {
        grid-template-columns: 1fr; /* Switch to a single column */
    }
}


.social-icons {
    margin-top: 15px;
}

    .social-icons a {
        margin-right: 10px;
        display: inline-block; /* Ensure the link has an area to hover over */
    }

    .social-icons img {
        height: 20px;
        width: auto;
        transition: transform 0.3s ease; /* Smooth transition for hover effect */
    }

    .social-icons a:hover img {
        transform: scale(1.5); /* Increase the size by 20% on hover */
    }




@keyframes flipIn {
    0% {
        transform: rotateY(90deg); /* start from a side view */
        opacity: 0; /* keep it invisible at start */
    }

    100% {
        transform: rotateY(0deg); /* end with a front view */
        opacity: 1; /* make it fully visible */
    }
}

.fade-in {
    animation-name: flipIn;
    animation-duration: 1s;
    animation-fill-mode: both;
    transform-style: preserve-3d; /* ensures the flip looks 3D */
    perspective: 1000px; /* gives depth to the flip effect */
}


/*  NEW BOXES FOR SERVICES PAGE */


.flipBox {
    width: 300px;
    height: 250px;
    color: #0375b4
}

.flipBox-inner {
    transform-style: preserve-3d;
    transition: transform 0.5s;
    width: 100%;
    height: 100%;
}

    .flipBox-inner.flipped {
        transform: rotateY(180deg);
    }

.flipBox-front, .flipBox-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    border: 2px solid black;
    box-shadow: 2px 2px 10px rgba(255, 255, 255, 0.5);
}

.flipBox-front {
    background: linear-gradient(90deg, #dadada 0%,#ececec 5%, #ffffff 25%);
}

.flipBox-back {
    background: linear-gradient(90deg, #dadada 0%,#ececec 5%, #ffffff 25%);
    transform: rotateY(180deg);
}

.flipBox-title {
    margin-bottom: 10px; /* Adjust as needed. This adds space between the title and the <p> */
    /*color: black;*/
    color: #0375b4;
    text-shadow: 1px 1px black;
}

.flipBox-front p {
    /*text-decoration: underline;*/
}



.flipBox-icon {
    width: 40px;
    height: 40px;
    margin-bottom: 10px;
}

.flip-icon {
    cursor: pointer; /* To show that it's clickable */
    width: 20px; /* Adjust as needed */
    height: 20px; /* Adjust as needed */
}

.flip-icon-front {
    position: absolute;
    top: 10px; /* Adjust as needed */
    right: 10px; /* Adjust as needed */
}

.flip-icon-back {
    position: absolute;
    top: 10px; /* Adjust as needed */
    right: 10px; /* Adjust as needed */
}

@media (min-width: 768px) {
    body {
        flex-direction: row;
    }
}


/* CONTACT FORM */

.cf-form {
    background: #0375b445;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 1200px;
}

.cf-group {
    margin-bottom: 20px;
}

    .cf-group label {
        display: block;
        margin-bottom: 8px;
    }

    .cf-group input[type="text"],
    .cf-group input[type="email"],
    .cf-group input[type="tel"],
    .cf-group textarea {
        width: 100%;
        padding: 10px;
        border: 1px solid #ccc;
        border-radius: 4px;
        background: dodgerblue;
    }

.cf-button {
    background: darkred;
    color: white;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    border-radius: 4px;
    font-size: 16px;
}

    .cf-button:hover {
        background: #004494;
    }

/* Apply two-column layout only on larger screens */
@media (min-width: 768px) {
    .two-columnsCF {
        column-count: 2;
        padding: 0; /* Optional: removes padding */
        margin-left: 100px;
        margin-right: 100px;
    }
}

/* Create two unequal columns that floats next to each other */
/* Left column */
.leftcolumn {
    float: left;
    width: 75%;
}

/* Right column */
.rightcolumn {
    float: left;
    width: 25%;
    padding-left: 20px;
    border-left: 1px solid grey;
}

/* Add a card effect for articles */
.card {
    background-color: white;
    padding: 20px;
    margin-top: 20px;
}

    .card a {
        color: #b82601;
        text-decoration: none;
    }

    .card h2 {
        color: #b82601;
    }

    .card a:hover {
        color: royalblue;
    }

        .card a:hover h2 {
            color: royalblue;
        }

    .card p {
        margin-top: 15px;
    }



/* Clear floats after the columns */
.row:after {
    content: "";
    display: table;
    clear: both;
}


/* Responsive layout - when the screen is less than 800px wide, make the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 800px) {
    .leftcolumn, .rightcolumn {
        width: 100%;
        padding: 0;
        border-left: none;
    }

    .rightcolumn {
        margin-top: 20px;
        border-top: 1px solid grey;
    }
}

/* Blog navigation styles */
.blog-navigation {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

    .blog-navigation button {
        padding: 10px 20px;
        margin: 0 5px;
        background-color: #007bff;
        color: #fff;
        border: none;
        border-radius: 5px;
        cursor: pointer;
    }

        .blog-navigation button:hover {
            background-color: #0056b3;
        }



/*New Homepage idea boxes*/

.custom-column {
    padding: 10px;
}

.custom-one-third {
    width: 30%;
}

.custom-two-thirds {
    width: 50%;
}

.custom-box-description {
    color: #0375b4;
    text-align: left;
    /*background-color: lightblue;*/
    border-radius: 10px;
    padding: 20px;
    align-items: center;
    /*background: linear-gradient(#0375b4, #182b40);*/
    /*box-shadow: 2px 2px 10px #d3d3d3;*/
}

.custom-box img {
    max-width: 100%;
    border-radius: 10px;
}

.custom-box h2 {
    margin-top: 0;
}


/* New Colorful List : https://codepen.io/michellebarker/pen/poLoeRq : */



@import url("https://fonts.googleapis.com/css?family=Montserrat:400,700");

/* General reset for all elements */
* {
    box-sizing: border-box;
}

/* Ordered list styles */
.my-list {
    list-style: none;
    counter-reset: my-list-counter;
    padding: 0 1rem;
}

/* List item styles */
.my-list-item {
    --stop: calc(100% / var(--length) * var(--i));
    --l: 62%;
    --l2: 88%;
    --h: calc((var(--i) - 1) * (180 / var(--length)));
    --c1: hsl(var(--h), 71%, var(--l));
    --c2: hsl(var(--h), 71%, var(--l2));
    position: relative;
    counter-increment: my-list-counter;
    max-width: 45rem;
    margin: 1rem auto;
    padding: 2rem 1rem 1rem;
    box-shadow: 0.1rem 0.1rem 1.5rem rgba(0, 0, 0, 0.3);
    border-radius: 0.25rem;
    overflow: hidden;
    background-color: white;
}

    .my-list-item::before {
        content: '';
        display: block;
        width: 100%;
        height: 1rem;
        position: absolute;
        top: 0;
        left: 0;
        background: linear-gradient(to right, var(--c1) var(--stop), var(--c2) var(--stop));
    }

/* Heading styles */
.my-list-item-heading {
    display: flex;
    align-items: baseline;
    margin: 0 0 1rem;
    color: rgb(70 70 70);
}

    .my-list-item-heading::before {
        display: flex;
        justify-content: center;
        align-items: center;
        flex: 0 0 auto;
        margin-right: 1rem;
        width: 3rem;
        height: 3rem;
        content: counter(my-list-counter);
        padding: 1rem;
        border-radius: 50%;
        background-color: var(--c1);
        color: white;
    }

/* Media query for larger screens */
@media (min-width: 40em) {
    .my-list-item {
        margin: 3rem auto;
        padding: 3rem 2rem 2rem;
    }

    .my-list-item-heading {
        font-size: 2.25rem;
        margin: 0 0 2rem;
    }

        .my-list-item-heading::before {
            margin-right: 1.5rem;
        }
}






.two-boxes {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 1000px; /* Set a maximum width for the container */
    margin: 0 auto; /* Center the container */
}

.box2 {
    flex: 1 1 calc(50% - 4rem); /* Adjust for margin */
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
    padding: 10px;
    margin: 1rem; /* Margin of 2rem on all sides */
    background-color: white; /* White background */
    border: 1px solid #ccc; /* Optional: Add a border for visibility */
    text-align: center; /* Center the content horizontally */
}

.title {
    font-size: 24px; /* Large font size */
    font-weight: bold; /* Heavy weight */
    color: darkred; /* Dark red color */
    margin: 0; /* Remove default margin */
    margin-bottom: 10px; /* Space between title and content */
}

.content {
    font-size: 16px; /* Normal font size */
    color: black; /* Default color */
    margin: 0; /* Remove default margin */
}

@media (max-width: 768px) {
    .box2 {
        flex: 1 1 100%; /* Full width when stacked */
        margin: 2rem 0; /* Adjust margins to stack vertically */
    }
}

/*Hamburger and Mobile Menu Parts as well*/

*, *:before, *:after {
    box-sizing: border-box;
}



@media screen and (min-width: 50rem) {
    label .mmenu,
    label .hamburger-container,
    label .hamburger {
        display: none;
    }
}

label .mmenu {
    position: absolute;
    right: 0px;
    top: 30px;
    z-index: 100;
    -webkit-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
}

label .hamburger {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 2px;
    background: #2e2e2e;
    display: block;
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
}

label .hamburger-container {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 50px;
    height: 50px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
}

label .hamburger {
    width: 30px;
    height: 2px;
    background: #2e2e2e;
    border: 2px #2e2e2e; /*WHY!!!! make this hot pink, wont change but hamburger disappers without it*/
    position: relative;
}

    label .hamburger:after, label .hamburger:before {
        -webkit-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
        content: "";
        position: absolute;
        display: block;
        width: 100%;
        height: 100%;
        background: #2e2e2e;
    }

    label .hamburger:before {
        top: -10px;
    }

    label .hamburger:after {
        bottom: -10px;
    }

label input {
    display: none;
}

    label input:checked + .mmenu {
        border-radius: 0;
    }

        label input:checked + .mmenu .hamburger {
            -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
        }

            label input:checked + .mmenu .hamburger:after {
                -webkit-transform: rotate(90deg);
                transform: rotate(90deg);
                bottom: 0;
            }

            label input:checked + .mmenu .hamburger:before {
                -webkit-transform: rotate(90deg);
                transform: rotate(90deg);
                top: 0;
            }

        label input:checked + .mmenu + ul {
            opacity: 1;
            visibility: visible; /* Add this line */
        }

label ul {
    z-index: 200;
    position: absolute;
    right: 0; /* This makes it appear on the RIGHT */
    top: 115px; /* 0 aligns it to the top */
    opacity: 0;
    -webkit-transition: .25s 0s ease-in-out;
    transition: .25s 0s ease-in-out;
    list-style-type: none;
    background-color: white;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    border-radius: 10px;
    padding: 20px;
    height: 50vh; /* This makes it full screen in height */
    width: fit-content; /* Adjust width as per your preference */
    visibility: hidden;
}

label a {
    margin-bottom: 2em;
    padding: 1rem;
    border-radius: 5px;
    display: block;
    color: #2e2e2e;
    text-decoration: none;
    transition: background-color 0.3s, color 0.3s;
    text-indent: 0px;
    padding: 1rem;
}

    label a:hover {
        color: white;
        background-color: #000000;
    }



.confirmation-message {
    padding: 15px;
    margin-top: 20px;
    border-radius: 5px;
    font-family: Arial, sans-serif;
    font-size: 16px;
    text-align: center;
}

.success-message {
    background-color: #d4edda; /* Light green background */
    border: 1px solid #c3e6cb; /* Green border */
    color: #155724; /* Dark green text */
}

.error-message {
    background-color: #f8d7da; /* Light red background */
    border: 1px solid #f5c6cb; /* Red border */
    color: #721c24; /* Dark red text */
}

/* CONTACT FORM FROM OLD SITE - DUMP*/

.tsc_form_contact_light {
    margin: auto;
    width: 90%;
    text-align: left;
}

    .tsc_form_contact_light .form-input {
        display: block;
        width: 95%;
        height: 24px;
        padding: 6px 10px;
        margin-bottom: 20px;
        /*font: 14px Calibri, Helvetica, Arial, sans-serif;*/
        color: #333;
        background: #fff;
        border: 1px solid #ccc;
        outline: none;
        -moz-border-radius: 8px;
        -webkit-border-radius: 8px;
        border-radius: 8px;
        -moz-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.5);
        -webkit-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.5);
        box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.5);
        -moz-background-clip: padding;
        -webkit-background-clip: padding-box;
        background-clip: padding-box;
        -moz-transition: all 0.4s ease-in-out;
        -webkit-transition: all 0.4s ease-in-out;
        -o-transition: all 0.4s ease-in-out;
        -ms-transition: all 0.4s ease-in-out;
        transition: all 0.4s ease-in-out;
        behavior: url(PIE.htc);
    }

    .tsc_form_contact_light .form-input2 {
        width: 95%;
        height: 24px;
        padding: 6px 10px;
        margin-bottom: 20px;
        /*font: 14px Calibri, Helvetica, Arial, sans-serif;*/
        color: #333;
        background: #fff;
        border: 1px solid #ccc;
        outline: none;
        -moz-border-radius: 8px;
        -webkit-border-radius: 8px;
        border-radius: 8px;
        -moz-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.5);
        -webkit-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.5);
        box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.5);
        -moz-background-clip: padding;
        -webkit-background-clip: padding-box;
        background-clip: padding-box;
        -moz-transition: all 0.4s ease-in-out;
        -webkit-transition: all 0.4s ease-in-out;
        -o-transition: all 0.4s ease-in-out;
        -ms-transition: all 0.4s ease-in-out;
        transition: all 0.4s ease-in-out;
        behavior: url(PIE.htc);
    }

    .tsc_form_contact_light textarea.form-input {
        width: 95%;
        height: 200px;
        overflow: auto;
    }

    .tsc_form_contact_light .form-input:focus {
        border: 1px solid #7fbbf9;
        -moz-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #7fbbf9;
        -webkit-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #7fbbf9;
        box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #7fbbf9;
    }

    .tsc_form_contact_light .form-input:-moz-ui-invalid {
        border: 1px solid #e00;
        -moz-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #e00;
        -webkit-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #e00;
        box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #e00;
    }

    .tsc_form_contact_light .form-input.invalid {
        border: 1px solid #e00;
        -moz-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #e00;
        -webkit-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #e00;
        box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #e00;
    }

    .tsc_form_contact_light .form-input2:focus {
        border: 5px solid #46F648;
        -moz-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #7fbbf9;
        -webkit-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #7fbbf9;
        box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #7fbbf9;
    }

    .tsc_form_contact_light .form-input2:-moz-ui-invalid {
        border: 1px solid #e00;
        -moz-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #e00;
        -webkit-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #e00;
        box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #e00;
    }

    .tsc_form_contact_light .form-input2.invalid {
        border: 1px solid #e00;
        -moz-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #e00;
        -webkit-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #e00;
        box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.3), 0 0 3px #e00;
    }

    .tsc_form_contact_light.nolabel ::-webkit-input-placeholder {
        color: #888;
    }

    .tsc_form_contact_light.nolabel :-moz-placeholder {
        color: #888;
    }

    .tsc_form_contact_light .form-btn {
        padding: 0 15px;
        height: 30px;
        /*font: bold 12px Calibri, Helvetica, Arial, sans-serif;*/
        text-align: center;
        color: #fff;
        text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
        cursor: pointer;
        border: 1px solid #1972c4;
        outline: none;
        position: relative;
        background-color: #1d83e2;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#77b5ee), to(#1972c4)); /* Saf4+, Chrome */
        background-image: -webkit-linear-gradient(top, #77b5ee, #1972c4); /* Chrome 10+, Saf5.1+, iOS 5+ */
        background-image: -moz-linear-gradient(top, #77b5ee, #1972c4); /* FF3.6 */
        background-image: -ms-linear-gradient(top, #77b5ee, #1972c4); /* IE10 */
        background-image: -o-linear-gradient(top, #77b5ee, #1972c4); /* Opera 11.10+ */
        background-image: linear-gradient(top, #77b5ee, #1972c4);
        -pie-background: linear-gradient(top, #77b5ee, #1972c4); /* IE6-IE9 */
        -moz-border-radius: 16px;
        -webkit-border-radius: 16px;
        border-radius: 16px;
        -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.5);
        -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.5);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.5);
        -moz-background-clip: padding;
        -webkit-background-clip: padding-box;
        background-clip: padding-box;
        behavior: url(PIE.htc);
    }

        .tsc_form_contact_light .form-btn:active {
            border: 1px solid #77b5ee;
            background-color: #1972c4;
            background-image: -webkit-gradient(linear, left top, left bottom, from(#1972c4), to(#77b5ee)); /* Saf4+, Chrome */
            background-image: -webkit-linear-gradient(top, #1972c4, #77b5ee); /* Chrome 10+, Saf5.1+, iOS 5+ */
            background-image: -moz-linear-gradient(top, #1972c4, #77b5ee); /* FF3.6 */
            background-image: -ms-linear-gradient(top, #1972c4, #77b5ee); /* IE10 */
            background-image: -o-linear-gradient(top, #1972c4, #77b5ee); /* Opera 11.10+ */
            background-image: linear-gradient(top, #1972c4, #77b5ee);
            -pie-background: linear-gradient(top, #1972c4, #77b5ee); /* IE6-IE9 */
            -moz-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.5), 0 1px 0 rgba(255, 255, 255, 0.5);
            -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.5), 0 1px 0 rgba(255, 255, 255, 0.5);
            box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.5), 0 1px 0 rgba(255, 255, 255, 0.5);
        }

    .tsc_form_contact_light input[type=submit]::-moz-focus-inner {
        border: 0;
        padding: 0;
    }

    .tsc_form_contact_light.frame {
        padding: 20px;
        background-color: #ccc;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#ededed), to(#b4b4b4)); /* Saf4+, Chrome */
        background-image: -webkit-linear-gradient(top, #f6f6f6, #d2d1d0); /* Chrome 10+, Saf5.1+, iOS 5+ */
        background-image: -moz-linear-gradient(top, #f6f6f6, #d2d1d0); /* FF3.6 */
        background-image: -ms-linear-gradient(top, #f6f6f6, #d2d1d0); /* IE10 */
        background-image: -o-linear-gradient(top, #f6f6f6, #d2d1d0); /* Opera 11.10+ */
        background-image: linear-gradient(top, #f6f6f6, #d2d1d0);
        -pie-background: linear-gradient(top, #f6f6f6, #d2d1d0); /* IE6-IE9 */
        -moz-border-radius: 8px;
        -webkit-border-radius: 8px;
        border-radius: 8px;
        -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5), inset 0 0 1px rgba(255, 255, 255, 0.5);
        -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5), inset 0 0 1px rgba(255, 255, 255, 0.5);
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5), inset 0 0 1px rgba(255, 255, 255, 0.5);
        behavior: URL(PIE.htc);
    }

    .tsc_form_contact_light.tbar {
        padding: 0 20px 20px 20px;
        background-color: #eee;
        background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#d6d6d6)); /* Saf4+, Chrome */
        background-image: -webkit-linear-gradient(top, #f6f6f6, #d6d6d6); /* Chrome 10+, Saf5.1+, iOS 5+ */
        background-image: -moz-linear-gradient(top, #f6f6f6, #d6d6d6); /* FF3.6 */
        background-image: -ms-linear-gradient(top, #f6f6f6, #d6d6d6); /* IE10 */
        background-image: -o-linear-gradient(top, #f6f6f6, #d6d6d6); /* Opera 11.10+ */
        background-image: linear-gradient(top, #f6f6f6, #d6d6d6);
        -pie-background: linear-gradient(top, #f6f6f6, #d6d6d6); /* IE6-IE9 */
        behavior: URL(PIE.htc);
    }

        .tsc_form_contact_light.tbar h3 {
            font: normal 18px/1 Calibri, Helvetica, Arial, sans-serif;
            color: #333;
            text-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
            padding: 20px;
            margin: 0 -20px 20px -20px;
            background-color: #c9c9c9;
            background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#c9c9c9)); /* Saf4+, Chrome */
            background-image: -webkit-linear-gradient(top, #f6f6f6, #c9c9c9); /* Chrome 10+, Saf5.1+, iOS 5+ */
            background-image: -moz-linear-gradient(top, #f6f6f6, #c9c9c9); /* FF3.6 */
            background-image: -ms-linear-gradient(top, #f6f6f6, #c9c9c9); /* IE10 */
            background-image: -o-linear-gradient(top, #f6f6f6, #c9c9c9); /* Opera 11.10+ */
            background-image: linear-gradient(top, #f6f6f6, #c9c9c9);
            -pie-background: linear-gradient(top, #f6f6f6, #c9c9c9); /* IE6-IE9 */
            -moz-border-radius: 8px 8px 0 0;
            -webkit-border-radius: 8px 8px 0 0;
            border-radius: 8px 8px 0 0;
            -moz-border-radius: 8px 8px 0 0;
            -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.5);
            -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.5);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 1px 1px rgba(0, 0, 0, 0.5);
            behavior: url(PIE.htc);
        }


/**LightBox Modal*/

.row > .column {
    margin: auto;
    padding: 1.5rem;
}

.row:after {
    content: "";
    display: table;
    clear: both;
}

/* Create two equal columns that float next to each other */
.column {
    float: left;
    width: 50%;
}

/* Stack columns vertically on screens smaller than 768px */
@media screen and (max-width: 768px) {
    .column {
        width: 100%;
        float: none;
    }
}


/* The Modal (background) */
.modal {
    display: none;
    position: fixed;
    z-index: 1;
    padding-top: 100px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: black;
}

/* Modal Content */
.modal-content {
    position: relative;
    background-color: #fefefe;
    margin: auto;
    padding: 0;
    width: 90%;
    max-width: 1200px;
}

/* The Close Button */
.close {
    color: white;
    position: absolute;
    top: 10px;
    right: 25px;
    font-size: 35px;
    font-weight: bold;
}

    .close:hover,
    .close:focus {

        color: #999;
        text-decoration: none;
        cursor: pointer;
    }

/* Hide the slides by default */
.mySlides {
    display: none;
}

/* Next & previous buttons */
.prev,
.next {
    cursor: pointer;
    position: absolute;
    top: auto;
    width: auto;
    padding: 16px;
    margin-top: -50px;
    color: white;
    font-weight: bold;
    font-size: 20px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;
    -webkit-user-select: none;
}

/* Position the "next button" to the right */
.next {
    right: 0;
    border-radius: 3px 0 0 3px;
}

    /* On hover, add a black background color with a little bit see-through */
    .prev:hover,
    .next:hover {
        background-color: rgba(0, 0, 0, 0.8);
    }

/* Number text (1/3 etc) */
.numbertext {
    color: #f2f2f2;
    font-size: 12px;
    padding: 8px 12px;
    position: absolute;
    top: 0;
}

/* Caption text */
.caption-container {
    text-align: center;
    background-color: black;
    padding: 2px 16px;
    color: white;
}

img.demo {
    opacity: 0.6;
}

.active,
.demo:hover {
    opacity: 1;
}

img.hover-shadow {
    transition: 0.3s;
    cursor: pointer;
}

.hover-shadow:hover {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}



.rounded-icon-box {
    display: flex;
    margin-left: 50px;
    margin-right: 50px;
    align-items: center;
    padding: 10px 15px;
    border-radius: 50px;
    width: fit-content;
    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1);
    font-weight: bold;
    gap: 10px; /* Adds spacing between elements */
    line-height: 23px;
    font-size: 1.25rem;
    font-weight: 500;
    max-width: 30rem;
}
    .rounded-icon-box p {
        margin: 0;
        font-size: 1.25rem; /* Adjust font size as needed */
        font-weight: 400; /* You can adjust the weight based on your design */
        line-height: 1.25; /* Optional: improve line spacing */
    }

    .rounded-icon-box img {
        width: 100px;
        height: 100px;
        border-radius: 50%;
        object-fit: cover;
    }

/* Reduce size on smaller screens */
@media (max-width: 480px) {
    .rounded-icon-box img {
        width: 60px;
        height: 60px;
    }
}

/* Success variant */
.success {
    background: linear-gradient(145deg, #388e3c, #81c784); /* Darker green to a softer green */
    color: white;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
}

    .success i {
        font-size: 20px;
        color: #2e7d32; /* A slightly darker green for better contrast */
    }

/* Error variant */
.error {
    background: linear-gradient(145deg, #b71c1c, #e57373); /* Darker red to a softer red */
    color: white;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
}

    .error i {
        font-size: 20px;
        color: #c62828; /* A slightly darker red */
    }





.custom-list {
    width: min(100rem, 90%);
    margin-inline: auto;
    display: flex;
    gap: 2rem;
    list-style: none;
    counter-reset: custom-cardnr;
    justify-content: center;
}

/* Default: All items in a single row */
.custom-item {
    --custom-frontColor: #dbfbff;
    --custom-width: 20em;
    --custom-inlineP: 0.5rem;
    --custom-borderR: 4rem;
    --custom-arrowW: 2rem;
    --custom-arrowH: 1.5rem;
    counter-increment: custom-cardnr;
    width: calc(var(--custom-width) - var(--custom-inlineP) * 2);
    display: grid;
    grid-template:
        "custom-icon" var(--custom-borderR)
        "custom-title"
        "custom-descr" 1fr;
    margin-inline: var(--custom-inlineP);
    margin-bottom: calc(var(--custom-borderR));
    position: relative;
}

/* Tablet View: 2 items per row */
@media (max-width: 1100px) {
    .custom-list {
        display: grid; /* Change to grid layout */
        grid-template-columns: repeat(2, 1fr); /* 2 items per row */
        gap: 2rem;
    }

    .custom-item {
        width: auto; /* Let the grid control the item size */
    }
}

/* Mobile View: 1 item per row */
@media (max-width: 700px) {
    .custom-list {
        display: grid;
        grid-template-columns: 1fr; /* 1 item per row */
    }

    .custom-item {
        width: 100%; /* Ensures the item takes full width */
    }
}

.custom-item .custom-icon,
.custom-item .custom-title,
.custom-item .custom-descr {
    background: var(--custom-frontColor);
    padding-inline: 1rem;
    padding-bottom: 1rem;
}

.custom-item .custom-icon,
.custom-item .custom-title {
    color: var(--custom-accent-color);
    text-align: center;
    padding-bottom: 0.5rem;
}

.custom-item .custom-title,
.custom-item .custom-descr {
    filter: drop-shadow(0.125rem 0.125rem 0.075rem rgba(0, 0, 0, 0.25));
}

.custom-item .custom-icon {
    grid-area: custom-icon;
    font-size: 2rem;
    display: grid;
    place-items: center;
    border-radius: var(--custom-borderR) 0 0 0;
    position: relative;
}

.custom-item .custom-title {
    grid-area: custom-title;
    font-size: 1.1rem;
    font-weight: bold;
    text-align: left;
}

.custom-item .custom-descr {
    width: 100%; /* Expands the description fully */
    text-align: left;
    word-break: normal;
    white-space: normal; /* Prevents unnecessary line breaks */
}

    .custom-item .custom-descr::before {
        content: "";
        width: var(--custom-arrowW);
        height: var(--custom-arrowH);
        position: absolute;
        right: 1.5rem;
        top: 100%;
        background: inherit;
        clip-path: polygon(0 0, 100% 0, 50% 100%);
    }

.custom-item::after {
    content: counter(custom-cardnr, decimal-leading-zero);
    position: absolute;
    z-index: -1;
    left: calc(var(--custom-inlineP) * -1);
    right: calc(var(--custom-inlineP) * -1);
    top: var(--custom-borderR);
    bottom: calc(var(--custom-borderR) * -1);
    display: flex;
    align-items: flex-end;
    background: var(--custom-accent-color);
    background-image: linear-gradient(160deg, rgba(255, 255, 255, 0.25), transparent 25% 75%, rgba(0, 0, 0, 0.25));
    border-radius: 0 0 var(--custom-borderR) 0;
    --custom-pad: 1rem;
    padding: var(--custom-pad);
    font-size: calc(var(--custom-borderR) - var(--custom-pad) * 2);
    color: white;
}

.custom-item::before {
    content: "";
    position: absolute;
    height: var(--custom-borderR);
    top: calc(100% + var(--custom-borderR) - 2px);
    left: calc(var(--custom-inlineP) * -1);
    right: calc(var(--custom-inlineP) * -1);
    border-radius: 0 var(--custom-borderR) 0 0;
    background-image: linear-gradient(var(--custom-accent-color), transparent 60%);
    opacity: 0.5;
    filter: blur(2px);
}

.custom-shape-divider-bottom-1742586674 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg);
}

    .custom-shape-divider-bottom-1742586674 svg {
        position: relative;
        display: block;
        width: calc(100% + 1.3px);
        height: 72px;
    }

    .custom-shape-divider-bottom-1742586674 .shape-fill {
        fill: #FFFFFF;
    }

/* Apply styles when the textarea is focused */

#cf-details:focus {
    border: 5px solid #46F648; /* Change border color */
    box-shadow: 0 0 8px rgba(220, 17, 17, 0.6); /* Add a glow effect */
    background: #fffbea; /* Light background change */
}

#cf-fullName:focus {
    border: 5px solid #46F648; /* Change border color */
    box-shadow: 0 0 8px rgba(220, 17, 17, 0.6); /* Add a glow effect */
    background: #fffbea; /* Light background change */
}

#cf-email:focus {
    border: 5px solid #46F648; /* Change border color */
    box-shadow: 0 0 8px rgba(220, 17, 17, 0.6); /* Add a glow effect */
    background: #fffbea; /* Light background change */
}

#cf-phone:focus {
    border: 5px solid #46F648; /* Change border color */
    box-shadow: 0 0 8px rgba(220, 17, 17, 0.6); /* Add a glow effect */
    background: #fffbea; /* Light background change */
}

#cf-company:focus {
    border: 5px solid #46F648; /* Change border color */
    box-shadow: 0 0 8px rgba(220, 17, 17, 0.6); /* Add a glow effect */
    background: #fffbea; /* Light background change */
}

.custom-shape-divider-top-1742869656 {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    z-index: 1; /* Ensure the mask is above the section content */
}