
.apply-section,
.newsletter-section {
	overflow: hidden !important;
}



@media (max-width: 1460px) {
	.benefits-carousel, .news-carousel, .awards-carousel {
		margin-left: 0;
		margin-right: 0;
	}
}


@media (max-width: 1360px) {

	.apply-button.apply-fixed {
	  right: 50px;
	}
	
	.apply-content .layout-6040-row .contact-row {
		gap: 10px;
	}
	.contact-label {
		min-width: 110px;
		font-size: 20px;
	}
	.contact-value { 
		font-size: 20px;
	}
}



/* Responsive adjustments */
@media (max-width: 1024px) {
    .section-content {
        flex-direction: column;
    }

    .benefit-card {
        width: calc(50% - 15px);
    }

    .alumni-card.featured {
        width: 100%;
    }

    .location-content {
        flex-direction: column;
    }

    .location-images {
        margin-bottom: 30px;
    }

    .apply-image {
        max-width: 75%;
    } 

    .footer-content {
        flex-direction: column;
        gap: 40px;
    }
	
	.main-nav {
		display: none;
	}
	
	.logo-nonsticky {
		display: none;
	}
	.logo-sticky { 
		display: block;
		width: 50px;
		height: 50px;
		position: relative;
		top: 8px;
		object-fit: contain;
	}
	
	.et_pb_row {
		width: 100%;
	}
	
	/*.prolog-section {
		padding-top: 100px;
	}*/
	.prolog-section .section-text { 
		max-width: 100%;
	}
	.prolog-section .quick-links {  
        /*flex-direction: column-reverse; */
	}
	.prolog-section .prolog-section-video { 
		margin-bottom: 30px;
		margin-top: 30px;
	}
	.study-section .button-group {  
		width: 100%;
	}
	.benefits-carousel, .news-carousel, .awards-carousel {
		margin-left: 0;
		margin-right: 0;
	}
	.apply-title {
		font-size: 50px; 
		font-weight: 700;
	}
	.featured-image {
		height: 440px;
	}
	.news-cards-grid .news-card {
        flex: 1 1 calc(33.333% - 20px);
    }
	
	.newsletter-form .yellow-button.big {
		min-width: 320px;
	}
	
	.apply-content .layout-6040-row .left-60 {
		    width: 47%;
			max-width: 460px;
	}
	
	.apply-content .layout-6040-row .left-60 img {
		width: 100%;
	}
	
	.apply-content .layout-6040-row .right-40 {
		width: 50%;
	}
	.apply-content .layout-6040-row .contact-row {
		gap: 10px;
	}
	
	.layout-6040-column .right-40 {
		min-width: 0;
	}
	
	
	.grid-2x4 {
		grid-template-columns: repeat(3, 1fr);
		/*grid-template-rows: repeat(2, 1fr);*/
		grid-auto-rows: auto;
	}

	.grid-3x4 {
		grid-template-columns: repeat(3, 1fr);
		/*grid-template-rows: repeat(3, 1fr);*/
		grid-auto-rows: auto;
	}

	.grid-4x4 {
		grid-template-columns: repeat(3, 1fr);
		/*grid-template-rows: repeat(4, 1fr);*/
		grid-auto-rows: auto;
	}
	
	
	/* Remove right border from last column */
	.grid-2x4 .grid-cell:nth-child(4n)::after,
	.grid-3x4 .grid-cell:nth-child(4n)::after,
	.grid-4x4 .grid-cell:nth-child(4n)::after {
		display: block;
	}

	/* Remove bottom border from last row */
	.grid-2x4 .grid-cell:nth-last-child(-n+4)::before,
	.grid-3x4 .grid-cell:nth-last-child(-n+4)::before,
	.grid-4x4 .grid-cell:nth-last-child(-n+4)::before {
		display: block;
	}
	
	/* Remove right border from last column */
	.grid-2x4 .grid-cell:nth-child(3n)::after,
	.grid-3x4 .grid-cell:nth-child(3n)::after,
	.grid-4x4 .grid-cell:nth-child(3n)::after {
		display: none;
	}

	/* Remove bottom border from last row */
	.grid-2x4 .grid-cell:nth-last-child(-n+3)::before,
	.grid-3x4 .grid-cell:nth-last-child(-n+3)::before,
	.grid-4x4 .grid-cell:nth-last-child(-n+3)::before {
		display: none;
	}
	
	.prolog-section .apply-button { 
		top: -130px;
		right: 2%;
		transform: scale(0.8);
	}
} 

@media (max-width: 768px) {
    #info-button {
        width: auto;
        font-size: 0;
        gap: 0.25rem;
    }

    #info-button::before {
        content: "INFOS FÜR ";
        font-size: 14px;
    }

    nav .accordion-title {
        font-size: 20px;
		padding-bottom: 0;
    }
	
	.info-link {
		font-size: 20px;
	}

    .right-box { 
        width: 100%;
    }
    .info-dropdown .accordion-content {
       /* display: grid; */
        grid-template-columns: 1fr;
        gap: 0.25rem 4rem;
    }

    .accordion-content {
        margin: 0 1rem;
    }

    .button-group {
        width: 100%;
    }

    /* 60/40 Layout wird untereinander gestapelt */
    .layout-6040-row {
        flex-direction: column;
    }

    .left-60,
    .right-40 {
        width: 100%;
    }

    /* 50/50 Layout wird auch untereinander gestapelt */
    .layout-5050 {
        flex-direction: column;
    }

    .left-50,
    .right-50 {
        width: 100%;
        margin-top: 20px;
        /* Kleineren Versatz auf mobilen Geräten */
    }



	
	.apply-content .layout-6040-row .left-60,
	.apply-content .layout-6040-row .right-40 {
		width: 100%;
		max-width: 100%;
	}

    .side-menu-content {
        width: 100%;
    }

    .main-nav,
    #accessibility-button,
    #language-button {
        display: none;
    }

    .logo {
        display: flex;
        align-items: self-start;
    }

    .action-buttons {
        gap: 10px;
        margin-left: auto;
    }

    .dropdown-button,
    .menu-button {
        display: block;
        cursor: pointer;
        font-weight: bold;
        text-transform: uppercase;
        position: relative;
    }

    .dropdown-button .chevron {
        display: inline-block;
        margin-left: 5px;
    }

    .dropdown-button {
        font-size: 0;
    }

    .dropdown-button::before {
        content: 'INFOS FÜR';
        font-size: 12px;
        margin-right: 5px;
        display: inline-block;
        vertical-align: middle;
    }

    .dropdown-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    .dropdown-buttons {
        flex-wrap: wrap;
    }

    .featured-section .apply-button {
        position: absolute;
        top: 80%;
        right: 5px;
		scale: 0.75;
    }
	
    .apply-button.apply-fixed {
		scale: 0.7;
		bottom: -20px;
		right: 30px;
    }

    .filter-buttons {
        gap: 5px;
        margin-bottom: 10px;
        flex-direction: column;
    }

    .benefit-card {
        width: 100%;
    }

    .bottom-content {
      /*  margin-top: 50px; */
        flex-direction: column-reverse;
        align-items: flex-start;
		gap: 40px;
    }

    .right-box {
        flex-direction: column;
        gap: 45px;
    }

    .right-box .text-box {
        align-self: start;
        width: 80%;
		max-width: 230px;
    }

    .right-box .yellow-button {
        align-content: flex-end;
        align-self: end;
    }

    .alumni-footer {
        flex-direction: column;
    }

    .location-footer {
        flex-direction: column;
        gap: 30px;
    }

    .location-note {
        text-align: left;
		width: 100%;
    }
	
	.location-section .bottom-content .link-box,
	.financing-section .bottom-content .link-box {
		align-self: end;
	}

    .location-images {
        flex-direction: column;
        align-items: center;
		margin: 20px auto 10px;
    }

    .news-header {
        flex-direction: column;
    }

    .news-section .carousel.arrow {
        display: none !important;
    }

    .news-section .slider-controls {
        display: flex;
    }

    .news-footer {
        flex-direction: column;
        gap: 20px;
        align-items: flex-start;
    }

    .apply-header {
        flex-direction: column;
        align-items: center;
    }

    .apply-section .apply-button {
        position: absolute;
        top: -24px;
        right: 15px;
    }

    .apply-section .left-60 img {
        top: 10%;
        max-width: 75%;
    }

    .apply-section .right-40 {
        margin-top: 0;
    }

    .apply-section .apply-info {
		margin-left: 0;
        margin-top: 40px;
    }
	.apply-info, .apply-info p {
		font-size: 18px; 
	}
	.contact-row { 
		gap: 50px;
	}
	.contact-details {
		margin-bottom: 70px;
	}
    .apply-section .apply-info h3,
    .apply-section .apply-info .h3 {
        margin-bottom: 0.5em;
    }

	.newsletter-form .yellow-button.big { 
		min-width: 100%;
	}
	.newsletter-input { 
		padding: 20px 0 !important;
	}
    .apply-title {
        font-size: 24px;
    }

    .faq-link {
        flex-direction: column;
        gap: 15px;
        align-items: flex-start;
    }

    .newsletter-form {
        flex-direction: column;
    }

    .newsletter-button {
        width: 100%;
        justify-content: center;
    }

    .footer-content-right {
        flex-direction: row;
        gap: 20px;
    }

    .footer-links {
        flex-direction: column;
        gap: 30px;
    }

    .footer-links-column:first-child {
        display: none;
    }

    .grid-container {
        padding: 0 !important;
        gap: 0 !important;
    }

    /* Reset layout to one column */
    .grid-2x2,
    .grid-2x3,
    .grid-2x4,
    .grid-3x3,
    .grid-3x4,
    .grid-4x4 {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto !important;
    }

    /* Hide right border */
    .grid-cell::after {
        display: none !important;
    }

    /* Re-enable all bottom borders by default */
    .grid-cell::before {
        display: block !important;
        width: 100% !important;
    }

    /* Only remove bottom border from the very last cell */
    .grid-cell:last-child::before {
        display: none !important;
    }
	
	.featured-image {
        height: 380px;
    }
	.featured-image img {
		/*width: 100% !important;*/
		height: 380px;
		
	}
    .slide-img-wrap { 
		height: 380px; 
	}
    .layout-6040-column .right-40 {
        margin-left: 0 !important;
        margin-top: 0 !important;
        padding-top: 0; 
    }
	.news-cards-grid .news-card {
        flex: 1 1 calc(50% - 20px);
    }
	
	.hero-text {
		width: 100%;
		margin-right: 0;
		margin-top: 45px;
		margin-bottom: 25px;
		min-width: 0;
	}
	
	.hero-content { 
		justify-content: center;
	}
	

	.info-dropdown .logo img {
		max-width: 120px;
	}
	.featured-section .quick-links {
		display: none;
	}

	.featured-section-text-image.featured-section .layout-6040-row {
		max-height: none;
		min-height: 0;
	}
	
	.featured-section.featured-section-text-image .layout-6040-row .hero-text {
		padding-bottom: 0px;
	}
	
	.featured-section .left-60 {
		margin-top: 0px;
	  margin-bottom: 40px;
	}
	.featured-section .right-40 {
		margin-bottom: 20px;
	}
	
	.layout-6040-column .right-40 {
		min-width: 0;
	}
	
	.content-section .section-text {
		margin-bottom: 20px;
	}
	
	.layout-6040-column .right-40 .video-container {
		margin-top: 0;
	}
	#content-section .video-container {
		margin-bottom: 20px;
	}
	.accordion-section .accordion-content {
	  padding-bottom: 10px;
	  padding-top: 10px;
	  margin: 0 20px;
	}
	
	.accordion-section .accordion-content .columns .left-60,
	.accordion-section .accordion-content .columns .right-40 {
		width: 100%;
	}
	
	.accordion-section .accordion-content .columns .layout-6040-column {
		flex-direction: column;
	}
	
	.accordion-section .accordion-content .columns {
		padding: 20px 0 30px 0;
	}

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

	.accordion-section .accordion-content .columns + .columns {
	  padding-top: 40px;
	}
	
	.featured-section-text-image.featured-no-image .hero-text, .featured-section-text-image.featured-no-image .left-60 {
		width: 100%;
	}
	
	.social-media-section {
		padding-bottom: 40px;
	}
	
	.social-media-section .social-icons {
		margin-top: 20px;
	}
	

  .dropdown-menu{
    max-height: 50vh;
    min-width: 70vw;          /* avoid super-narrow lists on phones */
    right: 0;
    left: auto;               /* keep aligned to button edge */
  }
  .dropdown-menu span a{ padding: 14px 20px; }

}


@media (max-width: 600px) {

	h2, .h2 {
		font-size: 18px;
		letter-spacing: 0;
		margin-bottom: 14px;
	}
	
	p {
		font-size: 15px;
	}
	
	.accordion-text li {
	  font-size: 15px;
	  margin-bottom: 0;
	}
	
	.quick-links a {
		font-size: 15px;
		line-height: 22px;
	}
	
	.section-label {
		font-size: 15px;
		margin-bottom: 20px;
	}
	
	.section-subheadline {
		font-size: 16px;
	}

	.hero-text h1,
	.hero-text .h1 {
		font-size: 22px;
		letter-spacing: 1%;
		line-height: 28px;
	}
	
	.image-overlay {
		padding: 20px;
	}
	
	.image-overlay-text {
		padding-bottom: 40px;
	}
	
	.image-overlay h2,
	.image-overlay .h2 {
		font-size: 15px;
		line-height: 1.3;
	}
	
	.image-overlay p,
	.slider-count {
		font-size: 13px;
	}

	.yellow-button {
		font-size: 14px;
	}
	
	.button-group .big,
	.button-group .btn-outline-black,
	.newsletter-input,
	.yellow-button.big {
		font-size: 15px;
		line-height: 20px;
		letter-spacing: 1%;
	}
	
	.benefit-card,
	.awards-card,
	.news-card {
		min-width: 100px;
	}
	
	.benefit-card p {
		font-size: 15px;
		max-width: 100%;
	}
	
	.apply-info, .apply-info p {
		font-size: 15px;
	}
	
	.newsletter-text {
		font-size: 15px;
	}
	.footer-logo p,
	.footer-address p{
		font-size: 15px;
	}
	
	.footer-copyright {
		display: none;
	}
	
	.footer-links-column a {
		font-size: 15px;
		line-height: 1.6;
	}
	
	.label-line {
		width: 25px;
		height: 1px;
		margin-bottom: 5px;
	}
	
	.section-text {
	  margin-bottom: 40px;
	}
	
	.arrow-link {
		padding-left: 16px;
	}
	
	section {
		padding: 50px 0 50px;
	}
	
	.prolog-section {
		padding-bottom: 5px;
	}
	
	.section-subheadline {
		padding-bottom: 15px;
	}
	
	.study-section .button-group {
	  margin-top: 65px;
	  margin-bottom: 85px;
	}
	
	.button-group .btn-outline-black,
	.button-group .big {
		padding: 14px 1.5em;
	}
	
	section.benefits-section {
		padding: 30px 0 30px;
	}
	section.awards-section {
		padding: 40px 0 40px;
	}
	
	.benefit-icon {
		margin-bottom: 20px;
	}
	
	.alumni-section .carousel-container {
		  margin-top: 30px;
		  padding-bottom: 15px;
	}
	
	.alumni-section .bottom-content {
		margin-top: 50px;
	}
	
	.location-note {
        font-size: 10px;
    }
	
	.location-section .bottom-content {
		margin-top: 40px;
	}
	
	.awards-carousel {
		margin-top: 20px;
	}
	
	.awards-card img {
		margin-bottom: 10px;
	}
	
	.news-section .btn:not(.yellow-button) {
		font-size: 12px;
		padding: 6px 14px;
		margin-bottom: 4px;
	}
	
	.news-category-select {
		margin-top: 25px;
	}
	
	.news-card-text {
		margin-bottom: 14px;
		font-size: 14px;
	}
	.news-card-title,
	.publikationen-list-title {
		font-size: 14px;
	}
	
	.news-carousel {
		margin-bottom: 0;
	}
	
	.news-section .bottom-content {
		margin-top: 55px;
	}
	
	.apply-header {
		margin-bottom: 50px;
	}
	
	.apply-section .left-60 img {
		max-width: 65%;
	}
	
	.apply-section .apply-info {
		margin-left: auto;
		margin-top: 45px;
		/*max-width: 260px;*/
	}
	
	.contact-details {
		margin-top: 30px;
		margin-bottom: 50px;
		gap: 0px;
		font-size: 15px;
	}
	
	.contact-row {
		gap: 15px;
	}
	
	.contact-label {
		width: 75px; 
        font-size: 15px;
    }
	
	.contact-value {
        font-size: 15px;
    }
	
	.newsletter-content h2,
	.newsletter-content .h2 {
		margin-bottom: 5px;
	}
	
	.newsletter-text {
		margin-bottom: 30px;
	}
	
	.newsletter-input {
		padding: 15px 0 !important;
	}
	
	.newsletter-form .yellow-button.big {
		padding: 15px 1.5em;
	}
	
	.newsletter-form {
		gap: 10px;
	}
	
	section.newsletter-section {
		padding-bottom: 30px;
	}
	
	.site-footer {
		padding-top: 20px;
		padding-bottom: 30px;
	}
	
	#info-button::before {
		font-size: 12px;
	}
	
	.featured-section-text-image .hero-text h1,
	.featured-section-text-image.featured-no-image .hero-text h1,
	.featured-section-text-image .hero-text .h1,
	.featured-section-text-image.featured-no-image .hero-text .h1 {
		font-size: 24px;
		margin-bottom: 10px;
	}
	.featured-section .left-60 {
		margin-top: 0;
		margin-bottom: 0;
	}
	
	.featured-section-text-image .hero-text {
		margin-top: 20px;
		margin-bottom: 35px;
	}
	.featured-section-text-image.featured-no-image .hero-text {
		margin-top: 20px;
		margin-bottom: 65px;
	}
	
	.featured-section-text-image.featured-section .layout-6040-row.featured-text-only {
		min-height: 280px;
	}
	
	.featured-section-text-image.featured-no-image .apply-button {
		top: 65%;
	}
	
	.featured-section .left-60 {
		margin-top: 0px;
	  margin-bottom: 30px;
	}
	
	.info-grid-section .grid-cell-content p.grid-title {
		font-size: 15px;
		margin-top: 0;
		padding-bottom: 0;
	}
	
	.info-grid-section .grid-cell-content p, .info-grid-section .grid-cell-content ul, .info-grid-section .grid-cell-content li {
		font-size: 14px;
		line-height: 1.4;
	}
	
	.info-grid-section .icon {
		margin-bottom: 0;
	}
	
	.info-grid-section .icon img {
		width: 46px;
		height: 46px;
	}
	
	.info-grid-section .grid-container {
		margin-top: -10px;
	}
	
	.info-grid-section .grid-cell {
		padding-bottom: 10px;
		padding-top: 10px;
	}
	
	.info-grid-section .bottom-content {
		margin-top: 60px;
	}
	
	
	.content-section .section-text {
		margin-bottom: 0px;
	}
	
	.accordion-section .accordion-title {
		font-size: 15px;
	}
	.accordion-section .accordion-header {
	  padding: 10px 0 9px;
	}
	
	.accordion-section .info-container {
	  margin-top: 45px;
	}
	
	
	.accordion-section .accordion-content .columns {
		padding: 10px 0 25px 0;
	}

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

	.accordion-section .accordion-content .columns + .columns {
	  padding-top: 35px;
	}
	
	.accordion-section .bottom-content {
		margin-top: 70px;
	}
	
	.financing-section .right-40 {
		margin-top: 15px;
	}
	
	.social-media-section .social-icons {
		gap: 10px;
	}
	
	.news-listing-carousel {
		margin-top: 15px;
		margin-bottom: 55px;
	}
	
	.apply-section .apply-button { 
        top: -2%;
        right: auto;
        transform: scale(0.7);
        transform-origin: top left;
        left: 62%;
    }
} 



@media (max-width: 480px) {

    .side-menu,
    .side-menu-content {
        width: 100%;
    }

	.news-cards-grid .news-card {
        flex: 1 1 100%;
    }
}