/* General styles */

/* Import boxes.css */
@import url('boxes.css'); 

/* Import tables.css */
@import url('tables.css');

/* Import rainbows.css */
@import url('rainbows.css');

/* Import testimonials css */
@import url('testimonials.css');

body, html {
    margin: 0;
    padding: 0;
    font-family: "Roboto", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
	background: #deebf7;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Lora', serif;
}

/* Responsive text styles */
.responsive-text {
    white-space: nowrap; /* Prevent line breaks on large screens */
}

.break-small, .break-medium {
    display: none; /* Hide breaks on large screens */
}

@media (max-width: 1030px) {
    .break-medium {
        display: inline; /* Show breaks on medium screens */
    }
}

@media (max-width: 560px) {
    .break-small {
        display: inline; /* Show breaks on small screens */
    }
}

.not-mobile {
    display: block; /* Default display for larger screens */
}

@media (max-width: 480px) {
    .not-mobile {
        display: none; /* Hide on smaller screens */
    }
}

.not-tablet {
    display: block; /* Default display for larger screens */
}

@media (max-width: 780px) {
    .not-tablet {
        display: none; /* Hide on smaller screens */
    }
}

.container {
    width: 90%;
    margin: 0 auto;
	max-width: 1000px;
}



button {
    display: inline-block;
    min-height: 38px;
    padding: 10px 30px;
    color: rgb(255, 255, 255);
    text-align: center;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: .1rem;
    text-transform: uppercase;
    text-decoration: none;
    background-color:#2c8beb;
    border-radius: 8px;
    border: 1px solid white;
    cursor: pointer;
    box-sizing: border-box;
    white-space: normal !important;
    max-width: 100%;
    word-break: break-word;
}
button:hover {
    background-color: #ffffff;
    color: #005bb5;
}



/* HEADER */
/* ################################################# */

header {
    position: sticky;
	top:0;
    background: #ffffff;
    color: white;
    z-index: 1000;
}

.header-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 0;
    max-width: 1000px; /* Restrict to 1000px */
    margin: 0 auto; /* Center the container */
    width: 100%; /* Ensure it takes full width */
}
	@media (max-width: 550px) {
		.header-container {
			background-color: #dcf3ff;
			flex-direction: column;
			padding: 6px 0 5px 0;
		}
		
	}

.logo {
    width: 200px;
	margin: 0 20px;;
}

.header-container .provider {
    text-decoration: none;
    color: rgb(70, 70, 70);
    font-size: 28px;
    font-weight: 500;
}

header nav {
    display: flex;
    align-items: center;
}
	@media (max-width: 550px) {
		header nav {
			margin-top:10px;
			padding: 5px 0 0 0;
			border-top: 1px solid silver
		}
	}

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

header nav .nav-links li {
    margin: 0 0.5rem;
	/*border: 1px solid silver;*/
	padding: 5px 10px;
	border-radius: 5px;
}

header nav .nav-links a {
    text-decoration: none;
    color: rgb(0, 0, 0);
}

header nav .nav-links i {
    text-decoration: none;
    color: rgb(104, 104, 104);
}

header .hamburger {
    display: none;
    flex-direction: column;
    cursor: pointer;
}

header .hamburger div {
    width: 25px;
    height: 3px;
    background: rgb(0, 0, 0);
    margin: 3px;
}





/* HERO SECTION */
/* #################################################*/

.hero-section {
    background: linear-gradient(135deg, #8e54c6, #70c6ac);
    color: white;
    text-align: center;
    padding: 1rem 0 9rem 0;
}

.hero-section h1, .provider-hero-section h1 {
	font-size: 3.5rem;
	font-weight: 300;
	margin-top:1em;
}

.hero-section h2 {
	margin-bottom: 3rem;
	font-weight: 200;
	
}

.short-bottom {
    padding-bottom: 5rem;
}

@media (max-width: 550px) {
	
    .hero-section {
		padding: 4rem 0 12rem 0;
	}
	.hero-section h1, .provider-hero-section h1 {
		font-size: 2.8rem;
		margin-bottom: 1rem;
		font-weight: 300;
		margin-top:0;
		padding-top:1em;
		line-height: 1.1em;
	}
	.hero-section h2 {
		font-family: "Roboto", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
		font-size: 1.3rem;
		margin-bottom: 1rem;
		font-weight: 300;
		line-height: 1.2em;
		padding-bottom: 30px !important;
	}
	.hero-button {
		padding-bottom:0;
	}
}
@media (max-width: 740px) {
	.hero-section {
		padding: 1rem 0 8rem 0;
	}
    .short-bottom {
        padding-bottom: 3rem;
    }
}


/* HERO SECTION MENU */
/* #################################################*/

/* General Container */
.nav-container {
    text-align: center;
    position: relative;
}

/* Gradient Heading */
.nav-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 6px;
    opacity: 0.5;
}

.heading-text {
    color: #fff;
    font-size: 1.0em;
    font-weight: 300;
    margin: 0 10px;
    text-transform: uppercase;
    letter-spacing: 6px;
}

.gradient-line-left {
    flex: 1;
    height: 2px;
    background: linear-gradient(
        to left,
        rgb(255, 255, 255),  /* Fully opaque near the word */
        rgba(210, 116, 228, 0.5), /* Semi-transparent farther away */
        rgba(242, 227, 200, 0)   /* Fully transparent at the edge */
    );
    border: none;
}

.gradient-line-right {
    flex: 1;
    height: 2px;
    background: linear-gradient(
        to right,
        rgb(255, 255, 255),  /* Fully opaque near the word */
        rgba(245, 161, 161, 0.5), /* Semi-transparent farther away */
        rgba(242, 227, 200, 0)   /* Fully transparent at the edge */
    );
    border: none;
}

.gradient-line-left-dark {
    flex: 1;
    height: 2px;
    background: linear-gradient(to left, rgb(134, 3, 134, 0.7), rgb(255, 0, 0, 0.5), rgb(219, 143, 0, 0));
    border: none;
}

.gradient-line-right-dark {
    flex: 1;
    height: 2px;
    background: linear-gradient(to right, rgb(128, 0, 128, 0.7), rgb(252, 6, 6, 0.5), rgb(219, 143, 0, 0));
    border: none;
}




/* Nav Bar */
.nav2 {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 20px;
    visibility: visible;
    position: relative;
}

.nav2 a {
    color: #fff;
    text-decoration: none;
    padding: 10px 10px;
    font-size: 1.2em;
    font-weight: 300;
    margin: 0 10px;
    position: relative;
}

.nav2 a::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, rgb(239, 186, 239, 0.2), rgb(245, 161, 161), rgb(242, 227, 200, 0.2));
    bottom: 0;
    left: 0;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.5s;
}

.nav2 a:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}

/* Active page styles */
.nav2 a.active-page::before {
    transform: scaleX(1);
    transform-origin: left;
}

/* Hamburger Menu */
.hamburger-menu {
    display: none;
    background: none;
    border: none;
    font-size: 1.5em;
    color: #fff;
    cursor: pointer;
    margin-bottom: 20px;
}

.hamburger-menu .menu-label {
    font-size: 1em;
    text-transform: uppercase;
    margin-left: 10px;
    letter-spacing: 1px;
}

/* Ensure background is none for active and visited states */
.hamburger-menu:active,
.hamburger-menu:visited,
.hamburger-menu:focus,
.hamburger-menu:hover {
    background: none;
    outline: none; /* Remove outline if unnecessary */
    box-shadow: none; /* Remove any box shadow */
    color: white;
}

/* Mobile Styles */
@media (max-width: 800px) {
    .nav2 {
        flex-direction: column;
        align-items: center;
        display: none; /* Hidden by default */
    }

    .nav2.active {
        display: flex; /* Show on toggle */
    }

    .hamburger-menu {
        display: inline-block;
        margin-bottom: 0;
        opacity: 0.7;
    }

    .nav-heading {
        display: none;
    }
}


/* HERO BUTTON */
/* #################################################*/

.hero-button {
    display: flex;
    justify-content: space-around;
    margin-top: 2rem;
    gap: 20px;
    flex-wrap: wrap;
}

/* COLUMNS /*
/* #################################################*/



.column-container {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
	flex-basis: 100%; /* Ensure full width */
    flex-grow: 1;
}

.column-container .column {
    position: relative;
	flex: 1;
    min-width: 325px;
    background: rgba(255, 255, 255, 0.5);
    text-align: center;
	border-radius: 10px;
	/*box-shadow: 5px 5px 35px rgba(0, 0, 0, 0.3);*/
}
@media (max-width: 550px) {
    .column-container .column {
        border-radius: 0;
        background-color: transparent !important;
    }
}
	

.column-image-header {
    width: 100%;
    height: 325px; /* Adjust this value based on the desired height of the background image */
    overflow: hidden;
    position: relative;
    margin-bottom: 1rem; /* Space below the image */
	border-radius: 10px 10px 0 0;
}

.column-image-header img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensure the image covers the container while maintaining aspect ratio */
}

.column-image-footer {
    width: 100%;
    height: 200px; /* Adjust height as needed */
    position: absolute; /* Ensure it doesn't take space in the layout */
    bottom: 0; /* Position at the bottom of the column */
    left: 0;
    right: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
	border-radius: 0 0 10px 10px;
}
@media (max-width: 550px) {
    .column-image-header {
        border-radius: 0;
    }
    .column-image-footer {
        background-image: none !important;
    }
}


/* COLUMN with OVERFLOWING HEADER */
/* #################################################*/

.img-overflow {
    width: 100%;
    min-height: 300px; /* Adjust this value based on the desired height of the background image */
    overflow: visible;
    position: relative;
    margin-bottom: 1rem; /* Space below the image */
	border-radius: 10px 10px 0 0;
}

.overflowing-image {
    position: absolute !important; /* Allows positioning relative to the container */
    top: -150px !important; /* Adjust this value based on the desired vertical position */
	left:0;
	overflow:visible !important; 
	z-index: 1;
	object-fit:scale-down  !important;

}


.overflowing-image-text {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    top: -130px;
    color: white;
    opacity: 0.8;
    font-size: 1.3em;
}

.overflowing-image-text::before,
.overflowing-image-text::after {
    content: "";
    flex: 1;
    border-bottom: 1px solid white;
    opacity: 0.5;
    margin: 0 10px; /* space between text and lines */
}

.overflowing-image-text-2 {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    top: -40px;
    color: rgb(30, 30, 30);
    opacity: 0.8;
    font-size: 1.3em;
}

.overflowing-image-text-2::before,
.overflowing-image-text-2::after {
    content: "";
    flex: 1;
    border-bottom: 1px solid rgb(28, 28, 28);
    opacity: 0.5;
    margin: 0 10px; /* space between text and lines */
}


@media (max-width: 768px) {
    .overflowing-image {
      top: -50px;
    }
  
    /* ONLY if the image is inside a column that is NOT the first-column */
    .column.header-column:not(.first-column) .overflowing-image {
      top: -140px !important;
    }

    .column.header-column:not(.first-column) .overflowing-image-text {
        top: -100px;
        color: black;
    }

    .column.header-column:not(.first-column) .overflowing-image-text::before,
    .column.header-column:not(.first-column) .overflowing-image-text::after {
        border-color: black;
    }
  }

/* QUICK COLUMNS */
/* #################################################*/

.two-col {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem; /* space between icon & text */
  }
  .two-col .icon {
    flex: 0 0 auto; /* width = content */
  }
  .two-col .content {
    flex: 1;        /* fill remaining */
  }

  @media (max-width: 600px) {
  .two-col {
    flex-direction: column;
    align-items: center;    /* center children horizontally */
    text-align: center;      /* center text inside .content */
  }
  .two-col .icon {
    margin-bottom: 0.5rem;
  }
}


/* BUY NOW BUTTONS */
/* #################################################*/
.buy-now-button-homepage {
    display: flex; justify-content: center;
}
@media (max-width: 720px) {
	.buy-now-button-homepage {
			position: relative;
            top: 50px;		
	}
}

/* SECTION MAIN */
/* #################################################*/

.section-main {
	max-width: 1000px;
	margin: 0 auto;
}
	
.section-main .column-container {
	gap: 30px;
	margin: 0 auto;
	padding: 2rem 0;
}
@media (max-width: 1000px) {
	.section-main .column-container {
			padding: 2rem 30px;	
			gap: 30px;		
	}
}
@media (max-width: 720px) {
	.section-main .column-container {
			padding: 0 0;	
			gap: 0;		
	}
}

.shop-button {
	position: relative;
	top: -50px;
}
@media (max-width: 720px) {
	.shop-button {
			top: -30px;	
	}
}

.header-column .column-content {
	padding-top: 0;
	position: relative;
	top: -100px;
}

.column-content {
	position: relative;
	padding: 2rem;
	font-size: 1.2em;
	font-weight: 300;
	line-height: 1.5em;;

}

.column-content h3 {
	margin: 0 0 2rem 0;
	font-size: 1.4em;
	font-weight: 400;
}
.column-content p {
	margin: 0 0 4rem 0;
	text-align: left;
}
.column-content p:last-child {
    margin-bottom: 0;
}
.column-content p strong {
    font-weight: 400;
}

.column-content ul, .column-content ol {
	padding-left: 20px;
	text-align: left;
}
.column-content li {
	margin: 0 0 1rem 0;
}



/* HOW IT WORKS */
/* #################################################*/

.section-how-it-works {
	color: rgb(0, 0, 0);
	text-align: center;
	padding: 1em 0 4rem 0;
}

.section-how-it-works .column-container {
	max-width: 1000px;
	gap: 30px;
	margin: 0 auto;
	padding: 2rem 30px;
}

.section-how-it-works .column {
	min-width: 300px;
}

@media (max-width: 740px) {
	.section-how-it-works .column-container {
			padding: 0 0;
			gap: 0;			
	}
	.section-how-it-works {
		padding: 0 0;			
	}
}

#how-it-works::before {
    content: "";
    display: block;
    height: 100px; /* Adjust this value based on your sticky header height */
    margin-top: -100px; /* Adjust this value based on your sticky header height */
    visibility: hidden;
}
@media (max-width: 550px) {
    #how-it-works::before {
		height: 180px; /* Adjust this value based on your sticky header height */
		margin-top: -180px; /* Adjust this value based on your sticky header height */
	}
}

.section-how-it-works h2 {
	font-size: 2.4rem;
	margin-bottom: 1rem;
    margin-top: 0;
	font-weight: 400;
	color: rgb(72, 82, 119);
}
.section-how-it-works h2 i {
	color: rgb(179, 192, 255);
}

.section-how-it-works h3 {
	font-size: 1.4rem;
	margin-bottom: 1rem;
    margin-top:0;
	font-weight: 400;
	color: rgb(72, 82, 119);
}

.section-how-it-works h4 {
	font-size: 1.6rem;
    color:rgb(33, 33, 95);
    margin-top: 0;
	font-weight: 400;
}

@media (max-width: 550px) {
	
	
	.section-how-it-works h2 {
		font-weight: 300;
		line-height: 1.2em;
		padding: 30px 30px !important;
        font-size: 2em;
	}

    .section-how-it-works h3 {
		font-family: "Roboto", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
		font-size: 1.3rem;
		margin: 1rem 2rem;
		font-weight: 300;
		line-height: 1.2em;
		padding-bottom: 30px !important;
        text-align: center;
	}

    .section-how-it-works h4 {
		font-size: 1.8rem;
        color:rgb(33, 33, 95);
		margin: 1rem 2rem;
		font-weight: 300;
		line-height: 1.2em;
		padding-bottom: 30px !important;
        text-align: center;
	}

}

.section-how-it-works p {
	font-size: 1.2rem;
	margin-bottom: 1rem;
	font-weight: 300;
	color: black;
}




/* FIND THE RIGHT TEST */
/* #################################################*/

.category-list {
    max-width: 1000px;
    margin: auto;
	margin-top: 40px;
}

.category-list .category-header {
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    margin: 40px 0 20px 0;
}

.category-list .category-icon {
    width: 30px;
}
.category-list h3 {
    display: inline;
    font-size: 1.6rem;
    font-weight: 400;
    vertical-align: super;
}

.category-list .grid-container {
    display: flex;
    gap: 0px;
    margin-left: 40px;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.category-list .grid-item {
    background-color: #e5f1ff;
    padding: 10px;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: 5px;
    color: #555663;
}
.category-list .grid-item::before {
    content: "\f00c"; /* FontAwesome checkmark */
    font-family: "Font Awesome 5 Free"; /* Ensure this matches your FontAwesome version */
    font-weight: 900; /* Use solid icons */
    margin-right: 10px; /* Space between icon and text */
    font-size: 1em; /* Adjust icon size */
    color: #28a745; /* Icon color (green) */
}

.category-list .grid-item:hover {
    background-color: #d6e9c6;
}

.category-list a  {
    text-decoration: none;
    color: #555663;
}

/* Compounds Search Bar */
.search-container {
    position: relative;
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
    width: 100%;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    padding: 0 10px;
}


#search-input {
    width: 90%;
    max-width: 600px;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 1em;

}

#search-input:focus {
  border-color: purple;      /* or any color */
  outline: none;             /* disable default focus ring */
}

/* Autocomplete dropdown */
.autocomplete-list {
    position: absolute;
    top: 100%;
    width: 90%;
    max-width: 600px;
    overflow-y: auto;
    border: 1px solid #ccc;
    border-radius: 0 0 10px 10px;
    background: white;
    /*z-index: 1000;*/
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
}

.autocomplete-list:empty {
    border: none;
}


.autocomplete-list li {
    padding: 10px;
    cursor: pointer;

}

.autocomplete-list li:hover {
    background-color: #f0f0f0;
}

/* Highlighted grid item */
.grid-item {
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    text-align: center;
    margin: 5px;
}

.grid-item.highlight {
    border-color: #007bff;
    background-color: #bfffab;
}


/* Category Pages */
/* #################################################*/

.category-list-smaller .grid-container {   
    margin-left: 0px;   
    justify-content: center;
}

.category-list-smaller .grid-item {
    padding: 5px 10px 5px 5px;
    font-size:16px;
    line-height: 1em;
}
.category-list-smaller .grid-item::before {
    margin-right: 3px; /* Space between icon and text */    
}

.breadcrumb {
    font-size: 14px;
    color: #666;
    margin-top: 20px;
}
@media screen and (max-width: 1000px) {
    .breadcrumb {
        margin-left: 20px;
    }
    
}

.breadcrumb a {
    color: #0073e6;
    text-decoration: none;
    font-weight: 400;
}

.breadcrumb a:hover {
    text-decoration: underline;
}

.breadcrumb span {
    font-weight: bold;
    color: #333;
}

.shopify-buy {
    display: flex;
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically if needed */
    flex-direction: column; /* Stack elements vertically */
    text-align: center; /* Ensure text aligns */
    width: 100%; /* Ensure it spans the available space */
}

.shopify-buy-frame {
    max-width: 100%;
    display: flex;
    justify-content: center;
}

#product-component-1719701934449 {
    display: flex;
    justify-content: center;
}






/* BUY SECTION */
/* #################################################*/

.buy-section {
	color: white;
	text-align: center;
	padding: 4rem 0;
}

.buy-section h2 {
    font-size: 2.4rem;
    margin-bottom: 3rem;
    font-weight: 400;
    color: rgb(72, 82, 119);
}
.buy-section h2 i {
	color: rgb(72, 82, 119);
}

.buy-section .column-container {
    display: flex;
    justify-content: center; /* Center the columns horizontally */
    align-items: center; /* Center the columns vertically (if needed) */
    margin: 0 auto; /* Center the column-container within the buy-section */
    max-width: 1000px; /* Ensure the container does not exceed this width */
    flex-wrap: wrap; /* Wrap columns if needed */
}

.buy-section .column {
    background-color: transparent;
    box-shadow: none;
    flex: 1;
    min-width: 300px; /* Adjust as needed to ensure columns are not too narrow */
    margin: 10px; /* Add some space around the columns */
    max-width: 45%; /* Adjust to ensure columns don't exceed container width */
    display: flex;
    flex-direction: column;
    justify-content: center; /* Center the content vertically */
    align-items: center; /* Center the content horizontally */
    text-align: center; /* Ensure text is centered */
}

@media (max-width: 768px) {
    .buy-section .column-container {
        flex-direction: column; /* Stack columns vertically on smaller screens */
    }

    .buy-section .column {
        max-width: 100%;
    }
}


/* PROVIDER SECTIONS */
/* #################################################*/

.provider-logo {
    max-width: 100%;   /* Ensures the image won't be larger than its container */
    height: auto;      /* Maintains the aspect ratio */
    display: block;    /* Removes the inline block space */
    max-height: 40px;  /* Ensures the logo shrinks to fit the container's height if necessary */
}
@media (max-width: 800px) {
    .provider-logo {
        max-width: 300px;
    }
}

.provider-hero-section {
    background: linear-gradient(135deg, #8fffba, #8b6bff);
    color: white;
    text-align: center;
    padding: 4rem 0 8rem 0;
}

.section-provider-custom {
    display: flex;
    justify-content: center;
	color: rgb(0, 0, 0);
	padding: 1em 0 4rem 0;
    border: 1px solid rgb(255, 255, 255);
    background-color: white;
}

.provider-custom {
    max-width: 1000px;
    gap: 30px;
    padding: 2rem 0;
}

@media (max-width: 1000px) {
    .section-provider-custom {
        padding: 20px;
    }
    .provider-custom {
        padding: 20px;
    }
}



/* Science and About us */
/* #################################################*/

.aboutus-bio {
	margin: 40px 0;
}

.aboutus-bio .elementor-image-box-wrapper {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 20px;
	flex-wrap: nowrap;
}

.aboutus-bio figure {
	margin: 0;
	width: 250px;
	flex-shrink: 0;
}

.aboutus-bio img {
	width: 100%;
	height: auto;
	border-radius: 8px;
	display: block;
}

.aboutus-bio .elementor-image-box-content {
	flex: 1;
	min-width: 0;
	align-self: flex-start; /* force top alignment with image */
}


.aboutus-bio h3.elementor-image-box-title {
	font-size: 1.9em;
	font-weight: bold;
	margin-bottom: 10px;
    margin-top:0;
}

.aboutus-bio p.elementor-image-box-description {
	font-size: 0.9em;
	line-height: 1.6;
	color: #333;
}

/* Stack on small screens */
@media (max-width: 768px) {

    .aboutus-bio {
        margin: 40px 30px;
    }
	.aboutus-bio .elementor-image-box-wrapper {
		flex-direction: column;
		align-items: center;
		text-align: left;
	}

    .aboutus-bio h3.elementor-image-box-title {
       text-align: center;
    }

	.aboutus-bio figure {
		width: 60%;
		max-width: 300px;
	}

	.aboutus-bio .elementor-image-box-content {
		width: 100%;
	}
}






/* POPOVERS*/

/* Darken background */
#overlay {
    position: fixed; /* Stay in place */
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.7); /* Black background with transparency */
    z-index: 2000; /* Sit on top */
    display: flex; /* Flex to center */
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
}

/* Popover content */
#confirmation-popup {
    display: flex;
    justify-content: center; /* Center horizontally */
    align-items: stretch;   
    background: rgb(224, 245, 255);
    padding: 40px;
    border-radius: 10px;
    z-index: 1000; /* Sit on top of the overlay */
    max-width: 500px;
    width: 80%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    flex-wrap: wrap;
	flex-direction: column;
	position: relative;
}

#confirmation-popup form {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-direction: column;
}

/* Close Button */
.close-popup {
    position: absolute;
    top: 4px;
    right: -20px;
    background: none;
    border: none;
    font-size: 24px;
    font-weight: bold;
    color: #333;
    cursor: pointer;
    outline: none;
    z-index: 1; /* Ensure it is above other content */
}

.close-popup-button {
    background-color: transparent;
    border: 0; 
    color: black;
    margin-top:20px;
}


/* Full-page on mobile */
@media (max-width: 768px) {
    #confirmation-popup {
        height: 100%;
        max-width: none;
        max-height: none;
        border-radius: 0;
        flex-direction: column;
    }

	.close-popup {
		top: 50px;
		right: -15px;
	}
}



/* Utilities */
@media (max-width: 550px) {
    .no-mobile-padding {
        padding: 0 !important;
    }
    .no-mobile-margin {
        margin: 0 !important;
    }
    .text-center {
        text-align: center !important;
    }
    .text-left {
        text-align: left !important;
    }
    .text-right {
        text-align: right !important;
    }
    
}

.center-content {
    display: flex;
    justify-content: center;
    align-items: center;
}