/*
Theme Name: Ultragenyx
Theme URI: https://ultragenyx.com
Author: Ultragenyx
Author URI: https://ultragenyx.com
Version: 1.0.0
Tested up to: 6.2
Requires PHP: 7.4
Description: Theme build for Ultragenyx Swiss website.
License: GNU General Public License v2 or later
Text Domain: ultragenyx
Tags:

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.
*/

.service-link,
.service_link{
	color: #bb16a3;
	text-decoration: underline;
}

a.ext_link {
    text-decoration: underline;
    color: #bb16a3;
}

a[href^="mailto:"]{
	color:#bb16a3;
}

.ulgx-ch-zIndex{
	z-index: 1;
}
.current-menu-item a {
    color: #bb16a3 !important;
}

.hide-text a{
	visibility:hidden;
}

.hide-text a::before {
    content: "\f015";
    visibility: visible;
    font-family: "fontawesome";
    float: right;
}

.nav-header .nav-wrapper{
	padding-bottom: 12px;
    padding-top: 12px;
    border-bottom: 1px solid #bebebe;
}

.nav-main .nav-logo__wrap .nav-logo > img{
	max-width: 100% !important;
}

.page-id-319 p,
.page-id-305 p,
.page-id-284 p,
.page-id-272 p,
.page-id-257 p,
.page-id-216 p {
	margin-bottom: 15px;
}
.privacy-list{
	list-style: unset;
    padding-left: 30px;
}
.page-id-319 .privacy__list,
.page-id-305 .privacy__list,
.page-id-284 .privacy__list,
.page-id-272 .privacy__list,
.page-id-257 .privacy__list,
.page-id-216 .privacy__list{
	list-style: disc;
	padding-left: 2rem;
}
.policy-table tbody,
.policy-table td, 
.policy-table tfoot,
.policy-table th,
.policy-table thead,
.policy-table tr {
    border-color: inherit;
    border-style: solid;
    border: 1px solid gray;
    padding: 10px;
}
/* contact page css */
.hero {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.hero img {
	width: 100%;
	display: block;
}

.hero h1 {
	position: absolute;
	top: 50%;
	left: 40px;
	transform: translateY(-50%);
	color: #fff;
	height: 55px;
	margin: 0;
	padding: 10px 90px;
	font-size: 44px;
}

/* Content Section */
.content {
	display: flex;
	justify-content: space-between;
	padding: 40px 0px;  /* more space left & right */
	gap: 40px;
}

.content .address,
.content .about {
	flex: 1;
}

.content h3 {
	margin-top: 0;
	font-size: 20px;
	color: black;
}

.content p {
	line-height: 1.6;
	font-size: 14px;
}

.content a {
	color: #BB16A3;
	text-decoration: none;
}
.home-texture-section {
	padding-bottom: 30px;
	padding-top: 30px;
}
.country-menu{
	height: 65vh;
    overflow-y: auto;
    width: 250px;
	right: 0;	
	left: unset !important;
}

.country-selected span {
	display:none !important;
}
.country-selected::after{
	margin-left: 5px;
}
.country-menu li a{
	justify-content:space-between;
}
.country-menu li a img{
	order:1;
}
.country-menu li a span{
	order:0;
	text-transform: uppercase;
}
.country-selector:hover .country-selected::after {
	-webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
	transition: all 0.4s ease-in-out 0s;
}
.country-selector:hover .country-menu{
	overflow-y: scroll;
}
.nav-main .country-menu .active-language span {
	color: #bb16a3 !important;
}

.country-menu li.active-language a.active {
    color: #bb16a3;
    font-weight: 500;
}
.error404 .error-head__lg {
  font-size: 30px;
  line-height: 48px;
  margin-bottom: 20px;
}

.section-pt-pb-60{
	padding-top:60px;
	padding-bottom:60px;
}
.roman_numbering-list{
	list-style: lower-roman !important;
}
/* page banner */
.page-banner {
  width: 100%;
  height: 240px;
  display: flex;
  position: relative;
  align-items: center;
  background: linear-gradient(to right, #7136b1 50%, #80b44e 50%);
}
@media (max-width: 991px) {
  .page-banner {
    height: 49.4vw;
  }
}
.page-banner .background-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (min-width: 992px) {
  .page-banner .background-bg {
    background-position: calc(50% + 130px) center;
    background-size: auto 100%;
  }
}
@media (min-width: 992px) {
  .page-banner.banner-fullwidth .background-bg {
    background-position: calc(50% + 160px) center;
  }
}
.page-banner * {
  color: #fff;
}
.page-banner h1 {
  max-width: 73%;
  margin-bottom: 0;
	font-size: 48px;
    font-weight: 300;
    line-height: 55px;
}
@media (max-width: 991px) {
  .page-banner h1 {
    font-size: 36px;
    line-height: 42px;
    max-width: 45%;
  }
}
@media (max-width: 767px) {
  .page-banner h1 {
    font-size: 30px;
    line-height: 36px;
  }
}
.page-banner.banner-left-align .offset-lg-2a {
  max-width: 100%;
  flex: 0 0 100%;
  margin-left: 0;
}


/* Tablet styles (768px - 1024px) */
@media screen and (max-width: 1024px) {
	.content {
		padding: 40px 60px;
		gap: 30px;
	}
	.hero h1 {
		left: 30px;
		padding: 10px 60px;		
	}
}

@media screen and (max-width: 768px) {
	.page-id-272 .page-banner .background-bg.d-lg-none, 
	.page-id-305 .page-banner .background-bg.d-lg-none, 
	.page-id-81 .page-banner .background-bg.d-lg-none,
	.page-id-257 .page-banner .background-bg.d-lg-none,
    .page-id-319 .page-banner .background-bg.d-lg-none,
    .page-id-76 .page-banner .background-bg.d-lg-none {
        background-image: url(/ch/wp-content/uploads/2025/09/Header_mobile_404-1.png) !important;
    }
	.page-id-14 .home-banner-section .content_wrap,
	.page-id-78 .home-banner-section .content_wrap{
		width:50%;
	}
	.page-id-14 .home-banner-section .content_wrap .sub-head,
	.page-id-78 .home-banner-section .content_wrap .sub-head{
		font-size: 20px;
		line-height: 26px;
		font-weight: 200;
		margin-top: 20px;
	}
	.page-banner .ulgx-ch-zIndex p,
	.page-banner .ulgx-ch-zIndex h1 {
		color:#000;
	}
	
	.page-banner {
		height: 58vw;
	}
	.home-banner-section .bg-container{
		background-image: url("/ch/wp-content/uploads/2025/09/home-hero-mob-1.png") !important;
    	background-size: cover;
    	background-repeat: no-repeat;
	}
	.country-menu li a{
		justify-content:start;
	}
	.country-menu li a img{
		order:0;
	}
	.nav-main .country-menu .active-language span{
		color:#FFF !important;
		font-weight: 600;
 		text-decoration: underline;
	}
	
	.country-menu li a span{
		order:1;
		font-size: 14px;
        font-weight: 300;
	}
	.nav-main .country-menu li a{
		color:#FFFFFF;
	}
	.nav-main .country-menu li{
		padding: 5px 0px;
	}
	.nav-main .country-selector{
		padding-top: 10px;
		margin-top: 10px;
		border-top: 1px solid #fff;
		padding-bottom: 10px;
		width: 100%;
	}
	.nav-main .country-menu .active-language a.active {
		color: #FFF;
        text-decoration: underline;
        font-weight: 600;
        text-transform: uppercase;
	}
	
	.nav-main .country-menu{
		background: transparent;
    	border: unset;
		width:100%;
	}
	.nav-list__wrap{
		overflow: auto;
		height: 80vh;
	}
	.hero h1 {
		left: 20px;
		padding: 8px 40px;
		font-size: 24px;
	}
	.content {
		flex-direction: column;
		padding: 30px 30px;
		gap: 30px;
	}
	footer img {
		height: 45px;
		width: auto;
	}
	footer .footer-container .copy-year{
		display:block;
	}
	footer .footer-container{
		text-align: center;
	}
	footer .footer-content p br{
		display:none;
	}
	.hide-text a{
		visibility:visible;
	}
	.nav-main .current-menu-item a {
		color: #fff !important;
		text-decoration: underline;
	}
	.hide-text a::before{
		float: left;
		display:none;
	}
	.footer{
		padding: 30px 0px;
	}
	.nav-main .nav-list__wrap .country-selected::after{
		content: "" !important;
        margin-top: -2px;
        background-position: left -12px;
	}
	.nav-main .country-selected span{
		display: block !important;
        color: #FFF;
        text-transform: uppercase;
        font-size: 14px;
        font-weight: 300;
	}
	.page-banner .ulgx-ch-zIndex p {
        font-size: 14px;
		max-width: 40%;
    }
	.page-banner .ulgx-ch-zIndex h1 {
        font-size: 20px;
        line-height: 27px;
        font-weight: 500;
		max-width: 38%;
    }
	
	.menu-item:not(.open) > a::after {
		transform: translateY(-50%) rotate(0deg) !important;
		transition: transform 0.3s ease;
	}

	.menu-item:has(.open) > a::after {
		transform: translateY(-50%) rotate(180deg) !important;
	}

	.country-selector:has(.open) > .country-selected::after {
		transform: translateY(-50%) rotate(0deg) !important;
	}
	
	.country-selector:not(.open) > .country-selected::after {
	   transform: translateY(-50%) rotate(0deg) !important;
	}
	
	.country-selector:not(.open) .country-menu{
		display:none !important;
	}

}

/* Mobile styles (480px and below) */
@media screen and (max-width: 480px) {
	.hero h1 {
		left: 15px;
		padding: 5px 20px;
		height: auto;
		font-size: 20px;
	}

	.content {
		padding: 20px 20px;
		gap: 25px;
	}

	.content h3 {
		font-size: 18px;
	}

	.content p {
		font-size: 13px;
	}
	.page-banner .banner-inner-content p {
        font-size: 14px;
		max-width: 40%;
    }
	.page-banner .banner-inner-content h1 {
        font-size: 20px;
        line-height: 27px;
        font-weight: 500;
		max-width: 38%;
    }
}

/* nav menu css */

#menu-primary-menu .menu-item .sub-menu {
    visibility: hidden;
    opacity: 0;
    z-index: -1;
    position: absolute;
    background-color: #fff;
    padding: 0;
    margin: 0;
    min-width: 225px;
}

#menu-primary-menu .menu-item .sub-menu li > a {
    display: inline-block;
    padding: 16px 16px 0px 5px;
    color: #757575;
}
#menu-primary-menu .sub-menu .menu-item{
	margin-bottom:unset;
}

#menu-primary-menu > li:hover .sub-menu {
    display: block;
    visibility: visible;
    opacity: 1;
    z-index: 1;
}
#menu-primary-menu .menu-item .sub-menu li
 {
    list-style-type: none;
}

#menu-primary-menu .menu-item .sub-menu li:last-child > a {
   padding-bottom: 16px ;
}
#menu-primary-menu .menu-item .sub-menu li > a:hover {
    color: #bb16a3;
    display:block;
}

@media only screen and (max-width: 991px) {
	#menu-primary-menu .menu-item .sub-menu {
		position: unset;
		display: none;
		background-color: transparent;
		padding-top: 10px;
	}
	#menu-primary-menu .menu-item .sub-menu li > a {
		color: #ffffff;
		padding: 0;
		padding-left: 20px;
	}
	#menu-primary-menu .menu-item .sub-menu li:last-child {
		padding-bottom: 0;
	}
	#menu-primary-menu .menu-item .sub-menu li:last-child > a {
	   padding-bottom: 0 ;
	}
}

@media only screen and (min-width: 992px) {
	#menu-primary-menu .menu-item .sub-menu {
		box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
		padding:0 10px;
		margin:2px 0 0 0;
	}
}

#menu-primary-menu .menu-item .sub-menu:hover{
	display:block;
}

@media only screen and (min-width: 992px) {
	#menu-primary-menu #menu-item-326 > a::after,
	#menu-primary-menu #menu-item-324 > a::after {
		background-image: url('/ch/wp-content/uploads/2025/09/arrow-btm.png');
		top: calc(50% + 3px);
	}
}

#menu-primary-menu .menu-item-326:hover > a::after,
#menu-primary-menu .menu-item-324:hover > a::after {
	transform: translatey(-50%) rotate(180deg);
}

#menu-primary-menu #menu-item-326 > a::after,
#menu-primary-menu #menu-item-324 > a::after {
	content: "";
    background-image: url(/ch/wp-content/uploads/2025/09/arrow-btm.png);
    width: 9px;
    height: 6px;
    margin-top: -3px;
    right: 0;
    display: inline-block;
    background-size: 100%;
    transition: all 0.4s ease-in-out 0s;
	margin-left: 5px;
}
@media screen and (max-width: 768px) {
	 #menu-primary-menu #menu-item-326 > a::after,
    #menu-primary-menu #menu-item-324 > a::after {
        content: "" !important;
        margin-top: -2px;
        background-position: left -12px;
    }
}

#menu-primary-menu #menu-item-324 a{
	position: relative;
}
.privacy__title{
	font-size: 38px;
    line-height: 48px;
    font-weight: 300;	
}

#ot-sdk-btn,
#ot-sdk-cookie-policy{
	display:none;
}

/* Extra small mobile (320px and below) */
@media screen and (max-width: 320px) {
	.hero h1 {
		left: 10px;
		padding: 5px 15px;
		font-size: 18px;
	}
	.content {
		padding: 15px 15px;
	}
	.content h3 {
		font-size: 16px;
	}
	.content p {
		font-size: 12px;
	}
}

