
/* Side menu */
.side-menu {
    position: fixed;
    top: 0;
    right: -100%;
    width: 40%;
    height: 100%;
    background-color: #231f20;
    color: white;
    z-index: 1001;
    transition: right 0.5s ease;
    overflow-y: auto;
	max-width: 600px;
	min-width: 500px;
}

.side-menu.active {
    right: 0;
}


/* Close button styling */
#close-menu-button {
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;

	background-color: white;
	color: #231f20;
	border: none;
	font-size: 34px;
	font-weight: 300;

	padding: 6px;
	width: auto;
	height: 100%;
	border-radius: 50%;
	aspect-ratio: 1 / 1;
	width: 32px;
	max-height: 32px;
}



/* Side menu content */
.side-menu-content {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    padding: 0rem 4rem;
    width: 100%;
    margin-left: auto;
	margin-bottom: 0;
	position: relative;
	min-height: calc(100vh - 120px);
}

.side-menu-content .menu-wrapper {
	margin-bottom: 150px;
}


.side-menu .action-buttons,
.side-menu.active .action-buttons {
    color: #fff !important;
}

.menu-section {
    margin-bottom: 0px;
    width: 100%;
}

.menu-title {
    font-size: 30px;
    font-weight: bold;
	line-height: 39px;
	color: #ffffff;
    margin-bottom: 0;
	display: block;
}

.menu-title.menu-sp-top {
	margin-top: 39px;
}


.menu-items {
    display: none;
    flex-direction: column;
    align-items: flex-end;
	overflow: hidden;
	margin-top: 10px;
	margin-bottom: 30px;
}
.menu-section.active .menu-items {
    display: flex;
}
.menu-title {
    cursor: pointer;
    position: relative;
}

/* Plus/minus toggle only for parents with children */
.has-children .menu-title::after {
    content: '';
	position: absolute;
	right: -27px;
	top: -1px;
	font-size: 30px;
	color: white;
	font-weight: 300;
}

/* Toggle to minus when section is open */
.menu-section.active .menu-title::after {
    content: '';
}

/* Remove pointer icon for non-expandable menu titles */
.no-children .menu-title {
    cursor: pointer;
    padding-right: 0;
}

.no-children .menu-title::after {
    content: none;
}


.side-menu-content .menu-item {
    margin-bottom: 0;
    color: white;
    text-decoration: none;
	font-size: 16px;
	line-height: 26px;
}

.side-menu-content .menu-title,
.side-menu-content .menu-item {
	transition: color 0.3s ease;
}

.side-menu-content .menu-title:hover,
.side-menu-content .menu-title:active,
.side-menu-content .menu-item:hover,
.side-menu-content .menu-item:active {
    text-decoration: none;
	color: #fff373;
	opacity: 1;
}
.side-menu-content .menu-title.cta-item:hover,
.side-menu-content .menu-title.cta-item:active {
	color: #a21c49;
}


.cta-item {
    color: #fff373;
    font-weight: bold;
}

/* Search bar */
.search-container {
  margin-top: 2rem;
  width: calc( 100% - 68px);
  position: absolute;
  bottom: 0;
  left: 34px;
  background: #231f20;
  padding: 30px;
}

input.search-bar {
    width: 100%;
    padding: 12px 16px;
    border-radius: 9999px;
    border: 1px solid white;
    background-color: transparent;
    color: white;
    font-size: 22px;
    padding-right: 52px;
}

input.search-bar:active,
input.search-bar:focus {
    border: 1px solid rgba(255,255,255,0.7);
	color: #fff;
}

input.search-bar:active,
input.search-bar:focus {
    outline: none;
}

.search-icon {
    position: absolute;
    right: 16px;
    transform: translateY(-50%);
    top: 50%;
    width: 32px;
    height: 32px;
	background-color: transparent;
	border: 0px;
	cursor: pointer;
}

.search-wrapper {
    position: relative;
}



/** sperate **/
nav .accordion-header:hover,
nav .accordion-header:active,
nav .accordion-header:hover > .accordion-title,
nav .accordion-header:active > .accordion-title,
.info-link:hover,
.info-link:active {
	color: #fff373;
	opacity: 1;
}

.info-link:hover::after,
.info-link:active::after {
	filter: brightness(0) saturate(100%) invert(75%) sepia(76%) saturate(363%) hue-rotate(357deg) brightness(102%) contrast(101%);
}


/** Studiengang **/

.featured-section-text-image.featured-no-image .hero-text,
.featured-section-text-image.featured-no-image .left-60 {
	max-width: 880px;
	width: 880px;
}

.featured-section-text-image.featured-no-image .hero-text h1,
.featured-section-text-image.featured-no-image .hero-text .h1 {
	font-size: 60px;
	line-height: 1.2;
}

.featured-section-text-image.featured-no-image .apply-button {
	bottom: 80px;
}

.featured-section-text-image .hero-text h1,
.featured-section-text-image .hero-text .h1 {
	font-size: 45px;
	line-height: 1.3;
	font-weight: 300;
	margin-bottom: 40px;
}
.featured-section-text-image .hero-text h1 b,
.featured-section-text-image .hero-text .h1 b {
	font-weight: bold;
}


.featured-section-text-image .hero-text {
  max-width: 660px;
  margin-right: 0px;
}


.featured-section-text-image .featured-image img {
	max-height: 680px;
}

.featured-section-text-image.featured-section .layout-6040-row {
	/*max-height: 680px;*/
	min-height: 680px;
}

.featured-section-text-image.featured-section .layout-6040-row.featured-text-only {
	max-height: 680px;
	min-height: 480px;
}

.featured-section .featured-text-only .left-60 {
  margin-top: 100px;
  margin-bottom: 100px;
}

.featured-section.featured-section-text-image {
	padding-top: 70px;
}

.featured-section.featured-section-text-image .layout-6040-row .hero-text {
	padding-bottom: 200px;
}



.content-section .bottom-content {
	margin-top: 50px;
}

.financing-section .bottom-content {
	margin-top: 40px;
}



.info-grid-section .grid-cell-content p,
.info-grid-section .grid-cell-content ul,
.info-grid-section .grid-cell-content li  {
	font-size: 13px;
	line-height: 1.3;
	padding-left: 6px;
}

.info-grid-section .grid-cell-content p {
	margin-bottom: 4px;
}

.info-grid-section .grid-cell-content p.grid-title {
	font-weight: bold;
	font-size: 18px;
	line-height: 1.3;
	margin-top: 12px;
  padding-bottom: 10px;
}

.info-grid-section .grid-cell-content ul {
	list-style-position: outside;
	padding-bottom: 1em;
	margin-bottom: 4px;
}

.info-grid-section .grid-cell-content li{
	margin-bottom: 0;
}


.info-grid-section .grid-cell-content p:nth-last-child(2),
.info-grid-section .grid-cell-content p:last-child,
.info-grid-section .grid-cell-content ul:nth-last-child(2),
.info-grid-section .grid-cell-content ul:last-child {
	/*margin-bottom: 0;
	padding-bottom: 0;*/
}


.info-grid-section .icon img {
	width: 56px;
	height: 56px;
	object-fit: contain;
}

.info-grid-section .icon {
	width: 56px;
	min-width: 56px;
}



.info-grid-section .grid-container {
	padding: 0;
	margin-top: 90px;
}

.info-grid-section .grid-cell {
    padding-left: 0;
	padding-bottom: 30px;
}

.info-grid-section .bottom-content {
	margin-top: 110px
}



.accordion-section .info-container {
	margin-top: 55px;
}

.accordion-section .info-container.info-container-no-title {
	margin-top: 0px;
}

.accordion-section .info-section:first-child {
  border-top: 1px solid rgba(35,30,35,0.3);
}

.accordion-section .info-section {
	border-bottom: 1px solid rgba(35,30,35,0.3);
}


.accordion-section .accordion-icon {
	opacity: 0.3;
	width: 26px;
	height: 26px;
}

.accordion-section .accordion-title {
	font-size: 18px;
	letter-spacing: 2%;
	line-height: 1.2;
	font-weight: bold;
	transition: opacity 0.3s ease;
}

.accordion-section .info-section:hover .accordion-title,
.accordion-section .info-section:active .accordion-title {
	opacity: 0.4;
}

 
.accordion-section .accordion-header {
	padding: 17px 0 16px;
}


.accordion-section .bottom-content {
	  margin-top: 90px;
}


.accordion-section .accordion-content .columns {
	padding: 20px 0 60px 0;
}

.accordion-section .accordion-content .columns:last-child {
	padding-bottom: 30px;
}

.accordion-section .accordion-content .columns + .columns {
  border-top: 1px solid rgba(35,30,35,0.1);
  padding-top: 70px;
}



.accordion-section .accordion-content .columns .left-60 {
	width: 50%;
}

.accordion-section .accordion-content .columns .right-40 {
	width: 40%;
	min-width: 0;
}

.accordion-section .accordion-content .columns .layout-6040-column {
	  flex-direction: row;
}

.accordion-section .accordion-content .columns p > b {
	font-weight:bold;
}

.accordion-section .accordion-content .columns .img-subline,
.accordion-section .accordion-content .columns p > small {
	font-size: 13px;
	line-height: 1.3;
}

.accordion-section .accordion-content .columns .img-subline {
	margin-top: 10px;
	display: inline-block;
}


.accordion-section .accordion-content {
  padding-bottom: 30px;
  padding-top: 30px;
  margin: 0 110px;
}



.news-listing-carousel {
	margin-top: 25px;
	margin-bottom: 65px;
}

.news-listing-section .layout-6040-column .right-40.news-categories {
	width: auto;
	text-align: right;
	margin-top: -15px;
}


.news-section.news-listing-section .layout-6040-column {
  margin-bottom: 35px;

}

.lang-switch a {
	opacity: 1;
	height: 32px;
    width: 32px;
    transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, opacity 0.3s ease;
}
#side-menu .lang-switch a,
.info-dropdown .lang-switch a {
	color: #ffffff;
	border-color: #ffffff;
}

#side-menu .lang-switch a:hover,
.lang-switch a:hover {
	color: #a21c49;
	border-color: #a21c49;
	opacity: 1;
}

.vc_row[data-vc-full-width]:has(.apply-button) {
  overflow: visible;
  z-index: 1;
}


@media (max-width: 480px) {
	
	.side-menu {
	  max-width: 100%;
	  min-width: 100%;
	}
	
	.side-menu-content {
	  padding: 0 20px;
	}
	
	.search-container {
	  width: 100%;
	  bottom: 0;
	  left: 0;
	  padding: 20px;
	}
}