@charset "UTF-8";
/*
Theme Name: Genomics-1
Author: Jason Foley
Description: A lightweight Custom SWPG Theme created for genomics.
Version: 1.0.0


*/
        html {
            scroll-behavior: smooth;
        }

        /* Shared styles for body, headings, list items, and paragraphs */
        body, h1, h2, h3, h4, h5, h6, li, p {
            font-family: 'Roboto', sans-serif;
            color: #787575;
            word-wrap: break-word; /* Ensures text wraps properly */
            overflow-wrap: break-word; /* Ensures long text breaks to fit within the container */
        }

        /* Specific styles for h1 */
        h1 {
            font-family: 'Roboto', sans-serif; /* Overrides the default Roboto font */
            font-weight: 400; /* 'regular' is not a valid value; use 400 for normal weight */
        }

        /* Specific styles for h2 */
        h2 {
            color: #787575 !important;
            display: flex;
            justify-content: center; /* Centers text horizontally */
            align-items: center; /* Centers text vertically */
        }

        p {
            font-size: 16px;
        }

        a {
            text-decoration: underline rgba(255, 255, 255, 0);
            transition: text-decoration-color 240ms;
            color: #50A5F3;
            transition: color .2s, text-underline-offset .2s, text-decoration-color .2s;
            text-underline-offset: .2em;
            text-decoration: underline;
            text-decoration-thickness: .1em;
            -webkit-text-decoration-color: #50A5F3;
            text-decoration-color: #50A5F3;
        }
        a:hover{
            transition: color .2s, text-underline-offset .2s, text-decoration-color .2s;
            text-underline-offset: .3em;
        }

      /* Ensure the navbar container uses flexbox layout */
        .menu-container {
            display: flex;
            flex-wrap: inherit; /* Prevent wrapping of logo and menu */
            align-items: center;
            justify-content: space-between; /* Space out logo and menu */
        }

    
        /* Align the navigation menu to the right with a slight left margin */
        .navbar-nav {
            margin-left: auto;
            margin-right: 0; /* Adjust this value to move the menu items slightly to the left */
        }

        /* Add margin to the search box container to move it to the left */
        .ms-3 {
            /* Add spacing to the search form */
            margin-left: 30px; /* Adjust the spacing as needed */
            margin-right: 70px; /* Adjust this value to move the search box to the left */
        }             /* Ensure the container has a relative position for absolute positioning to work */

        .navbar .container {
            position: relative; /* Establish a positioning context for the logo */
        }

        /* Logo container for absolute positioning */
        .logo-container {
            position: absolute;
            margin-right: 1rem; /* Adjust as needed */
            max-width: 150px; /* Adjust as needed for your design */
            left: 5%;  /* Move the logo to the left */
            top: 50%; /* Vertically center the logo */
            transform: translateY(-50%); /* Adjust vertical alignment */
            z-index: 10; /* Make sure the logo is above other elements if needed */
        }

        /* Logo styling */
        #logo {
            max-height: 50px; /* Adjust the logo size as needed */
            width: auto;
        }

        .logo-container a img {
            max-width: 100%; /* Ensures the logo doesn't overflow */
            height: auto; /* Maintains aspect ratio */
        }

        @media (max-width: 576px) { /* Adjust for mobile screens */
            .logo-container {
                max-width: 120px; /* Smaller width for mobile */
            }
        }

        /* Style for the navbar brand text (optional adjustments) */
        .navbar-brand {
            margin-left: 100px; /* Adjust the left margin to give space for the logo */
        }

        /* Ensure text in main menu links is black */
        .navbar-light .navbar-nav .nav-link {
            color: #787575; /* Set the text color to black */
        }

        /* Change text color for navbar brand */
        .navbar-light .navbar-brand {
            color: #787575; /* Set the brand text to black */
            font-size: 24px;
        }

        /* Optionally, if you want the hover text color to be black as well */
        .navbar-light .navbar-nav .nav-link:hover {
            color: #50A5F3; /* Set text color on hover to black */
        }

        .navbar-nav .nav-link:hover {
            color: #50A5F3 !important;
            text-decoration: underline;
        }

        .outlined-icon {
            color: transparent;
            -webkit-text-stroke: 1.5px #007bff; /* Creates an outline effect */
        }


        /* Hero Section Styling */
        .hero-section {
            width: 100%;
            height: 40vh;
            position: relative;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            color: white;
        }
        
        .hero-video {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: -1;
        }

        .hero-content {
            position: relative;
            color: #ffffff;
            z-index: 2;
            background: rgba(0, 0, 0, 0.6);
            padding: 20px;
            border-radius: 10px;
        }

        .hero-content h1 {
            color: #ffffff;
        }

        .hero-content p {
            color: #ffffff; /* Change to the desired color for the paragraph */
        }

        .our-focus-title {
            font-size: 32px; /* Adjust the font size as needed */
            color: #787575; /* Change the text color */
            text-align: center; /* Center align the text */
            margin-top: 20px; /* Add top margin */
            margin-bottom: 20px; /* Add bottom margin */
        }

        .focus-section {
            background: #f1f1f1;
            padding: 60px 0;
            text-align: center;
        }

        .who-we-are {
            background: #ffffff;
            padding: 60px 0;
            text-align: center;
            object-fit: cover;
            filter: brightness(80%);
        }
        /* Container Styling */
        .container {
          width: 100%;
          max-width: 1200px; /* Set a maximum width for larger screens */
          margin: 0 auto; /* Centers the container */
          padding-left: 15px; /* Adds padding on the left */
          padding-right: 15px; /* Adds padding on the right */
        }

        @media (max-width: 928px) {
          .container {
            padding-left: 10px; /* Reduces padding for smaller screens */
            padding-right: 10px; /* Reduces padding for smaller screens */
          }
        }

        .service-link {
          text-decoration: none;
          display: block;
          width: 100%; 
          height: 100%; 
        }

        .sec-icon {
          position: relative;
          display: inline-block;
          padding: 0;
          margin: 0 auto;
        }

        .sec-icon::before {
          content: "";
          position: absolute;
          height: 1px;
          left: -70px;
          margin-top: -5.5px;
          top: 60%;
          background: #333333;
          width: 50px;
        }

        .sec-icon::after {
          content: "";
          position: absolute;
          height: 1px;
          right: -70px;
          margin-top: -5.5px;
          top: 60%;
          background: #333;
          width: 50px;
        }

        .services-sec {
          background-color: #f5f5f5;
        }

        .services-sec span {
          color: #48a9c5;
        }

        .services-sec .col {
          padding: 0.5em 1em; /* Adjusted padding for better spacing */
          text-align: center;
        }

        .services-sec .service-card {
          width: 100%;
          margin: auto;
          max-width: 100%;
          height: 300px;
          padding: 2em 1.5em;
          border-radius: 5px;
          box-shadow: 10px 10px 5px -4px rgba(189,182,189,1);
          cursor: pointer;
          transition: 1.8s;
          position: relative;
          z-index: 2;
          overflow: hidden;
          background: #fff;
          
        }

        .services-sec .service-card h3 {
            color: #787575;
        }
        .services-sec .service-card p {
            color: #787575;
        }

        .services-sec .service-card::after {
          content: "";
          width: 100%;
          height: 100%;
          background: #50A5F3;
          position: absolute;
          left: 0%;
          top: -98%;
          z-index: -2;
          transition: all 0.8s cubic-bezier(0.77, -0.04, 0, 0.99);
        }

        .services-sec h3 {
          font-size: 20px;
          text-transform: capitalize;
          font-weight: 600;
          color: #1f194c;
          margin: 1em 0;
          z-index: 3;
        }

        .services-sec p {
          color: #575a7b;
          font-size: 15px;
          line-height: 1.6;
          letter-spacing: 0.03em;
          z-index: 3;
        }

        .services-sec .icon-wrapper {
          background-color: #2c7bfe;
          position: relative;
          margin: auto;
          font-size: 20px;
          height: 3.0em;
          width: 3.0em;
          color: #ffffff;
          border-radius: 50%;
          display: grid;
          place-items: center;
          transition: 0.5s;
          z-index: 3;
        }

        .services-sec .service-card:hover:after {
          top: 0%;
          background: #114374;
        }

        .service-card .icon-wrapper {
          background-color: #ffffff;
          color: #114374;
        }

        .services-sec .service-card:hover .icon-wrapper {
          color: #114374;
        }

        .services-sec .service-card:hover h3 {
          color: #ffffff;
        }

        .services-sec .service-card:hover p {
          color: #f0f0f0;
        }

        /* SERVICES CARD ENDED */

        /* Ensure proper spacing between cards */
        .row-cols-md-4 .col {
          margin-bottom: 1.5em; /* Adds spacing between rows of cards */
        }

        .row.justify-content-center {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-wrap: nowrap;
        }
        /* Style for all buttons generated by Gutenberg editor */
        .wp-block-button__link {
            background-color: #50a5f3 !important; /* Default button color */
            color: #ffffff !important; /* Text color */
            text-decoration: none !important; /* Remove underline */
            padding: 10px 20px !important; /* Adjust padding */
            border-radius: 5px !important; /* Round the corners */
            display: inline-block !important; /* Ensure button-like appearance */
            transition: background-color 0.3s ease !important; /* Smooth hover transition */
        }

        /* Hover effect */
        .wp-block-button__link:hover {
            background-color: #114374 !important; /* Hover button color */
        }

        @media(max-width:576px){
          .wp-block-button__link{
            width: fit-content !important;
            word-break: keep-all !important;
            text-wrap: auto;
          }
}

             /* Centering the entire row */
        .row.justify-content-center {
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .additional-resources {
            background: #f1f1f1;
            text-align: center; /* Centers the text */
            padding: 60px 0;
        }

        .additional-resources h2 {
            text-align: center; /* Ensures H2 is centered */
            margin-bottom: 20px;
        }

        /* Change Read More button color to white */
        .btn-outline-primary {
            color: #ffffff; /* White text */
            border-color: #ffffff; /* White border */
        }

        .btn-outline-primary:hover, 
        .btn-outline-primary:focus, 
        .btn-outline-primary:active {
            background-color: #ffffff; /* White background on hover */
            color: #000000; /* Black text for contrast */
            border-color: #ffffff; /* White border */
        }

        /* Styling for the Mission and Goals section title */
        .mission-title {
            font-size: 28px; /* Adjust the font size as needed */
            font-family: 'Roboto', sans-serif;
            color: #ffffff; /* Change the text color to white */
            margin-bottom: 20px; /* Add bottom margin */
            
        }

        /* Styling for the paragraphs in the Mission and Goals section */
        .mission-paragraph {
            font-size: 16px; /* Adjust the font size as needed */
            font-family: 'Roboto', sans-serif;
            color: #ffffff; /* Change the text color to a lighter shade */
            line-height: 1.6; /* Adjust line height for better readability */
            margin-bottom: 15px; /* Add bottom margin */
        }

        /* Additional styling for strong text inside paragraphs */
        .mission-paragraph strong {
            color: #ffffff; /* Change the color of the strong text to white */
            font-family: 'Roboto', sans-serif;
        }

        .additional-resources-title {
            font-size: 32px; /* Adjust the font size as needed */
            color: #787575; /* Change the text color */
            text-align: center; /* Center align the text */
            margin-top: 20px; /* Add top margin */
            margin-bottom: 20px; /* Add bottom margin */
        }

       /* Ensures all cards have the same dimension and align top */
        .resource-card {
            display: flex;
            flex-direction: column;
            justify-content: flex-start; /* Align content to the top */
            align-items: center;
            text-align: center;
            padding: 20px;
            background: #fff;
            border-radius: 15px; /* Increased border-radius for smoother edges */
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            height: 375px; /* Fixed height for all cards */
            gap: 10px;
            overflow: hidden; /* Ensures no content spills outside the rounded corners */
        }

        .resource-card p {
            font-size: 15px;
            color: #787575;
        }

        /* Ensure icon spacing */
        .resource-card i {
            margin-bottom: 15px; /* Space below the icon */
            color: #114374; /* Adjust color if needed */
            font-size: 40px;
        }

        /* Optional: Adjust button alignment and spacing */
        .resource-card a {
            margin-top: auto; /* Push button to the bottom */
            text-align: center;
        }

        /* Pop-up effect with shadow on hover */
        .resource-card {
            transition: transform 0.3s ease-out, box-shadow 0.3s ease-out;
        }

        .resource-card:hover {
            transform: translateY(-10px); /* Moves the card up slightly */
            box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2); /* Adds a smooth shadow */
        }

        /* If the card has an image or background, make sure it follows the rounded edges */
        .resource-card img, 
        .resource-card .card-content {
            border-radius: 15px; /* Ensures internal content also respects the rounded corners */
        }


        @keyframes fadeUp {
        from {
            opacity: 0;
            transform: translateY(30px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

        .focus-item {
            opacity: 0; /* Initially hidden */
            transform: translateY(30px);
            animation: fadeUp 1s ease-out forwards; /* 1s animation */
            padding: 10px; /* Reduce padding */
            margin: 0; /* Remove excess margins */
        }

        /* Staggered delays for smooth appearance */
        .focus-item:nth-child(1) {
            animation-delay: 0.2s;
        }

        .focus-item:nth-child(2) {
            animation-delay: 0.4s;
        }

        .focus-item:nth-child(3) {
            animation-delay: 0.6s;
        }

        .focus-item:nth-child(4) {
            animation-delay: 0.8s;
        }


        /* Reduce spacing between focus items */
        .focus-section .row {
            gap: 30px; /* Adjusts the spacing between the cards */
            margin: 0 auto; /* Ensures proper centering */
        }

        /* Adjust column width for better spacing */
        .focus-section .col-md-3 {
            flex: 0 0 calc(11% - 10px); /* Maintain equal width for four items per row, subtracting the gap */
            max-width: calc(11% - 10px);
            padding: 5px; /* Reduce padding */
        }

        .nav-menu {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
        }

        .nav-menu li {
            margin: 0 10px;
        }

        .nav-menu a {
            text-decoration: none;
            color: #114374;
        }

        /* Increase font size and add spacing to navbar items */
        .navbar-nav .nav-item .nav-link {
            font-size: 18px; /* Adjust the font size as needed */
            margin-right: 20px; /* Add spacing between menu items */
        }

        /* Remove the margin from the last menu item */
        .navbar-nav .nav-item:last-child .nav-link {
            margin-right: 0;
        }

        

        /* Enable dropdown menu on hover */
        @media (min-width: 992px) { /* Only for large screens */
            .navbar-nav .dropdown:hover .dropdown-menu {
                display: block;
                margin-top: 0; /* Ensures proper alignment */
            }
        }

        /* Prevent flickering */
        /* Positioning the dropdown menu */
        .dropdown-menu {
            display: none;
            position: absolute;
            background-color: #ffffff; /* Match navbar */
            border-radius: 5px;
            z-index: 1050; /* Ensure dropdown is above the navbar and other content */
            width: 300px; /* Increase the width of the dropdown menu */
            padding: 5px 0; /* Reduce top and bottom padding */
        }

        .dropdown-item {
            padding: 5px 10px; /* Reduce padding for less space between items */
            margin: 2px 0; /* Reduce margin for closer spacing */
            font-size: 14px; /* Optional: Adjust text size */
        }

        /* Show the dropdown when hovering or clicking the parent element */
        .dropdown:hover .dropdown-menu {
            display: block;
        }

        /* Optional: Add some padding for better spacing */
        .dropdown-menu > li {
             padding: 0px 0px; /* Decrease the space between the menu items */
        }

        /* Optional: Adjust the position to move the dropdown to the right */
        .dropdown-menu {
            left: 0;
            top: 100%; /* Align dropdown below the menu item */
        }

        /* Style dropdown links */
        .dropdown-menu a {
            color: black;
            padding: 10px 15px;
            display: block;
        }

        .dropdown-menu a:hover {
            background-color: rgba(255, 255, 255, 0.1);
        }

        .search-form {
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 20px 0;
        }

        .search-input {
            padding: 10px;
            border: 1px solid #ccc;
            border-radius: 5px 0 0 5px;
            width: 200px; /* Adjust width as needed */
            height: 45px;
            outline: none;
            box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2); /* Add inner shadow */
        }

        .search-input:focus {
            border-color: #0073aa; /* Change focus border color as needed */
            box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.4); /* Adjust inner shadow on focus */
        }

        .search-button {
            padding: 10px 20px;
            border: 1px solid #50A5F3; /* Match border color with focus state */
            background-color: #50A5F3; /* Change background color as needed */
            color: white;
            border-radius: 0 5px 5px 0;
            cursor: pointer;
            transition: background-color 0.3s, border-color 0.3s;
        }

        .search-button:hover {
          background-color: #114374; /* Change hover background color as needed */
          border-color: #114374; /* Change hover border color as needed */
        }


        /* Technologies Section Container Styling */
        .technologies-container {
          width: 100%;
          max-width: 1200px; /* Set a maximum width for larger screens */
          margin: 0 auto; /* Centers the container */
          padding-left: 15px; /* Adds padding on the left */
          padding-right: 15px; /* Adds padding on the right */
        }

        @media (max-width: 768px) {
          .technologies-container {
            padding-left: 10px; /* Reduces padding for smaller screens */
            padding-right: 10px; /* Reduces padding for smaller screens */
          }
        }

        .technology-link {
          text-decoration: none;
          display: block;
          width: 100%; 
          height: 100%; 
        }

        .technologies-sec {
          background-color: #f1f1f1;
        }

        .technologies-sec span {
          color: #50A5F3;
        }

        .technologies-sec .col {
          padding: 0.5em 1em; /* Adjusted padding for better spacing */
          text-align: center;
        }

        .technology-card {
          width: 100%; /* Allow the card to take up the entire column's width */
          width: 280px; 
          height: 300px;
          padding: 2em 1.5em;
          margin: auto;
          border-radius: 5px;
          box-shadow: 10px 10px 5px -4px rgba(189,182,189,1);
          cursor: pointer;
          transition: 0.5s;
          position: relative;
          z-index: 2;
          overflow: hidden;
          background: #fff;
        }

        .technologies-sec .technology-card::after {
          content: "";
          width: 100%;
          height: 100%;
          background: #50A5F3;
          position: absolute;
          left: 0%;
          top: -98%;
          z-index: -2;
          transition: all 0.6s cubic-bezier(0.77, -0.04, 0, 0.99);
        }

        .technologies-sec h3 {
          font-size: 20px;
          font-weight: 600;
          color: #787575; /* Change the text color */
          margin: 1em 0;
          z-index: 3;
        }

        .technologies-sec p {
          color: #787575; /* Change the text color */
          font-size: 15px;
          line-height: 1.6;
          letter-spacing: 0.03em;
          z-index: 3;
        }

        .technologies-sec .icon-wrapper {
          background-color: #114374;
          position: relative;
          margin: auto;
          font-size: 20px;
          height: 3.0em;
          width: 3.0em;
          color: #ffffff;
          border-radius: 50%;
          display: grid;
          place-items: center;
          transition: 0.5s;
          z-index: 3;
        }

        .technologies-sec .technology-card:hover::after {
          top: 0%;
          background: #114374;
        }

        .technology-card .icon-wrapper {
          background-color: #ffffff;
          color: #114374;
        }

        .technologies-sec .technology-card:hover .icon-wrapper {
          color: #114374;
        }

        .technologies-sec .technology-card:hover h3 {
          color: #ffffff;
        }

        .technologies-sec .technology-card:hover p {
          color: #f0f0f0;
        }

        /* Ensure proper spacing between cards */
        .row-cols-md-4 .col {
          margin-bottom: 1.5em; /* Adds spacing between rows of cards */
        }

        .team-container { 
          width: 100%;
          max-width: 1400px; /* Adjust this value based on your design needs */
          margin: 0 auto; /* Centers the container */
          padding: 20px; /* Adds some spacing inside the container */
        }

        .name {
          font-size: 20px;
        }

        .contact-row {
          display: flex;
          flex-wrap: wrap;
          justify-content: center; /* Centers the cards horizontally */
          align-items: center; /* Centers the cards vertically */
          gap: 40px;
        }

        .service-row {
          display: flex;
          flex-wrap: wrap;
          justify-content: center; /* Centers the cards horizontally */
          align-items: center; /* Centers the cards vertically */
        }
        .row.mt-5.mt-md-4.row-cols-1.row-cols-sm-2.row-cols-md-4 {
          align-items: center;
          justify-content: center;          
        }

        .our-team {
          padding: 30px 0 40px;
          margin-bottom: 30px;
          margin-right: 15px;
          background-color: #fff;
          text-align: center;
          overflow: hidden;
          position: relative;
          flex: 1 1 auto; /* Allows flex items to grow and shrink as needed */
          height: 397.98px;
          min-width: 220px; /* Minimum width for the cards */
          max-width: 400px; /* Maximum width for the cards */
          display: flex;
          flex-direction: column;
          justify-content: center; /* Ensures the content is centered */
          align-items: center;
          transition: background-color 0.3s ease-in-out;
          word-wrap: break-word; /* Ensures text wraps properly */
          overflow-wrap: break-word; /* Ensures long text breaks to fit within the container */
          box-shadow: 10px 10px 5px -4px rgba(189,182,189,1);
          border-radius: 15px;
        }

        .our-team:hover {
          background-color: #114374; /* Full card hover color */
        }

        .our-team:hover .name,
        .our-team:hover .title, 
        .our-team:hover .email-link {
          color: white; /* Change text color on hover */
        }

        .our-team .team-content {
          flex-grow: 1; /* Expands the content to fill space */
        }

        .our-team .picture {
          display: inline-block;
          height: 130px;
          width: 130px;
          margin-bottom: 50px;
          z-index: 1;
          position: relative;
        }

        .our-team .picture::before {
          content: "";
          width: 100%;
          height: 0;
          border-radius: 50%;
          background-color: #114374;
          position: absolute;
          bottom: 135%;
          right: 0;
          left: 0;
          opacity: 0.9;
          transform: scale(3);
          transition: all 0.3s linear 0s;
        }

        .our-team:hover .picture::before {
          height: 100%;
        }

        .our-team .picture::after {
          content: "";
          width: 100%;
          height: 100%;
          border-radius: 50%;
          background-color: #114374;
          position: absolute;
          top: 0;
          left: 0;
          z-index: -1;
        }

        .our-team .picture img {
          width: 100%;
          height: auto;
          border-radius: 50%;
          transform: scale(1);
          transition: all 0.9s ease 0s;
        }

        .our-team:hover .picture img {
          box-shadow: 0 0 0 14px #f7f5ec;
          transform: scale(0.7);
        }

        .our-team .title {
          display: block;
          font-size: 14px;
          color: #4e5052;
          transition: color 0.3s ease-in-out;
          white-space: wrap;
          word-wrap: break-word; /* Ensures text wraps properly */
          overflow-wrap: break-word; /* Ensures long text breaks to fit within the container */
        }

        .email-link {
          color: #50A5F3; /* Blue color */
          font-weight: bold;
          text-decoration: none; /* Removes underline */
        }

        .email-link:hover {
          text-decoration: underline; /* Adds underline on hover */
        }

        footer.footer.footer-simple {
          background-color: #fff !important;
          display: flex;
          justify-content: center; /* Center content horizontally */
          align-items: center;     /* Center content vertically */
        }

        .footer {
          text-align: center;
        }

        /* OSTR Banner */
#ostr_banner {
    position: relative;
    background-color: #124374;
}
#ostr_banner > div {
    padding: 6px 15px 6px 15px;
    margin: 0 auto;
    text-align: left;
    width: 90%;
    max-width: 1232px;
    text-align: center !important;
}
#ostr_link {
    text-decoration: none;
    color: #bcdfff;
    font-weight: 400;
    font-size: 16px;
    padding: 0.15rem;
}