/*
    Title: Bootstrap CSS Addon Library
    Author: Stephan Riedl
*/

/* View Heights */
.vh-10 { min-height:10vh; }
.vh-20 { min-height:20vh; }
.vh-30 { min-height:30vh; }
.vh-40 { min-height:40vh; }
.vh-50 { min-height:50vh; }
.vh-60 { min-height:60vh; }
.vh-70 { min-height:70vh; }
.vh-80 { min-height:80vh; }
.vh-85 { min-height:85vh; }
.vh-90 { min-height:90vh; }
.vh-95 { min-height:95vh; }
.vh-100 { min-height:100vh; }
@media(max-width:576px) {
	.vh-reset-mobile { height:inherit !important; }
}

/* Bootstrap Exentions */
.lh-xs { line-height:0.9 !important; }
.container-padded {
	width:100%;
	margin-left:auto;
	margin-right:auto;
	padding-left:0;
	padding-right:0;
}


/* Bootstrap Font Size Classes with Responsive Breakpoints */
/* Erweitert um fs-xs, fs-md, fs-lg */

/* Extra Small (xs) - Default */
.fs-1 { font-size: calc(1.375rem + 1.5vw) !important; }
.fs-2 { font-size: calc(1.325rem + 0.9vw) !important; }
.fs-3 { font-size: calc(1.3rem + 0.6vw) !important; }
.fs-4 { font-size: calc(1.275rem + 0.3vw) !important; }
.fs-5 { font-size: 1.25rem !important; }
.fs-6 { font-size: 1rem !important; }

/* New Size-Classes */
.fs-xs { font-size: 0.75rem !important; }    /* 12px */
.fs-sm { font-size: 0.875rem !important; }   /* 14px */
.fs-md { font-size: 1rem !important; }       /* 16px - Standard */
.fs-lg { font-size: 1.125rem !important; }   /* 18px */
.fs-xl { font-size: 1.25rem !important; }    /* 20px */
.fs-xxl { font-size: 1.5rem !important; }    /* 24px */


/* Clamp Size-Classes */
/*.fs-1   { font-size: clamp(2rem, 1.25rem + 2vw, 3rem) !important; }
.fs-2   { font-size: clamp(1.75rem, 1.15rem + 1.5vw, 2.5rem) !important; }
.fs-3   { font-size: clamp(1.5rem, 1rem + 1.2vw, 2rem) !important; }
.fs-4   { font-size: clamp(1.25rem, 0.9rem + 1vw, 1.75rem) !important; }
.fs-5   { font-size: clamp(1.125rem, 0.85rem + 0.5vw, 1.5rem) !important; }
.fs-6   { font-size: clamp(1rem, 0.75rem + 0.3vw, 1.25rem) !important; }

.fs-xs   { font-size: clamp(0.75rem, 0.65rem + 0.2vw, 0.875rem) !important; }
.fs-sm   { font-size: clamp(0.875rem, 0.75rem + 0.2vw, 1rem) !important; }
.fs-md   { font-size: clamp(1rem, 0.9rem + 0.2vw, 1.125rem) !important; }
.fs-lg   { font-size: clamp(1.125rem, 1rem + 0.3vw, 1.25rem) !important; }
.fs-xl   { font-size: clamp(1.25rem, 1.1rem + 0.4vw, 1.5rem) !important; }
.fs-xxl  { font-size: clamp(1.5rem, 1.25rem + 0.6vw, 2rem) !important; }

.display-1 { font-size: clamp(2.75rem, 1.5rem + 3vw, 4.75rem) !important; }
.display-2 { font-size: clamp(2.5rem, 1.35rem + 2.5vw, 4.25rem) !important; }
.display-3 { font-size: clamp(2.25rem, 1.2rem + 2vw, 3.75rem) !important; }
.display-4 { font-size: clamp(2rem, 1.05rem + 1.5vw, 3.25rem) !important; }
.display-5 { font-size: clamp(1.75rem, 0.9rem + 1vw, 2.75rem) !important; }
.display-6 { font-size: clamp(1.5rem, 0.8rem + 0.8vw, 2.25rem) !important; }*/

/* Small (sm) - 576px and up */
@media (min-width: 576px) {
	.fs-sm-1 { font-size: calc(1.375rem + 1.5vw) !important; }
	.fs-sm-2 { font-size: calc(1.325rem + 0.9vw) !important; }
	.fs-sm-3 { font-size: calc(1.3rem + 0.6vw) !important; }
	.fs-sm-4 { font-size: calc(1.275rem + 0.3vw) !important; }
	.fs-sm-5 { font-size: 1.25rem !important; }
	.fs-sm-6 { font-size: 1rem !important; }

	.fs-sm-xs { font-size: 0.75rem !important; }
	.fs-sm-sm { font-size: 0.875rem !important; }
	.fs-sm-md { font-size: 1rem !important; }
	.fs-sm-lg { font-size: 1.125rem !important; }
	.fs-sm-xl { font-size: 1.25rem !important; }
	.fs-sm-xxl { font-size: 1.5rem !important; }

	.display-sm-1 { font-size: clamp(2.5rem, 1.75rem + 3.5vw, 5rem) !important; }
	.display-sm-2 { font-size: clamp(2.25rem, 1.6rem + 3.0vw, 4.5rem) !important; }
	.display-sm-3 { font-size: clamp(2rem, 1.45rem + 2.5vw, 4rem) !important; }
	.display-sm-4 { font-size: clamp(1.75rem, 1.3rem + 2.0vw, 3.5rem) !important; }
	.display-sm-5 { font-size: clamp(1.5rem, 1.15rem + 1.5vw, 3rem) !important; }
	.display-sm-6 { font-size: clamp(1.25rem, 1.0rem + 1.2vw, 2.5rem) !important; }

	.w-sm-25 { width: 25% !important; }
	.h-sm-25 { height: 25% !important; }
	.w-sm-50 { width: 50% !important; }
	.h-sm-50 { height: 50% !important; }
	.w-sm-75 { width: 75% !important; }
	.h-sm-75 { height: 75% !important; }
	.w-sm-100 { width: 100% !important; }
	.h-sm-100 { height: 100% !important; }
	.w-sm-auto { width: auto !important; }
	.h-sm-auto { height: auto !important; }
}

/* Medium (md) - 768px and up */
@media (min-width: 768px) {
	.fs-md-1 { font-size: calc(1.375rem + 1.5vw) !important; }
	.fs-md-2 { font-size: calc(1.325rem + 0.9vw) !important; }
	.fs-md-3 { font-size: calc(1.3rem + 0.6vw) !important; }
	.fs-md-4 { font-size: calc(1.275rem + 0.3vw) !important; }
	.fs-md-5 { font-size: 1.25rem !important; }
	.fs-md-6 { font-size: 1rem !important; }

	.fs-md-xs { font-size: 0.75rem !important; }
	.fs-md-sm { font-size: 0.875rem !important; }
	.fs-md-md { font-size: 1rem !important; }
	.fs-md-lg { font-size: 1.125rem !important; }
	.fs-md-xl { font-size: 1.25rem !important; }
	.fs-md-xxl { font-size: 1.5rem !important; }

	.display-md-1 { font-size: clamp(2.5rem, 1.75rem + 3.5vw, 5rem) !important; }
	.display-md-2 { font-size: clamp(2.25rem, 1.6rem + 3.0vw, 4.5rem) !important; }
	.display-md-3 { font-size: clamp(2rem, 1.45rem + 2.5vw, 4rem) !important; }
	.display-md-4 { font-size: clamp(1.75rem, 1.3rem + 2.0vw, 3.5rem) !important; }
	.display-md-5 { font-size: clamp(1.5rem, 1.15rem + 1.5vw, 3rem) !important; }
	.display-md-6 { font-size: clamp(1.25rem, 1.0rem + 1.2vw, 2.5rem) !important; }

	.w-md-25 { width: 25% !important; }
	.h-md-25 { height: 25% !important; }
	.w-md-50 { width: 50% !important; }
	.h-md-50 { height: 50% !important; }
	.w-md-75 { width: 75% !important; }
	.h-md-75 { height: 75% !important; }
	.w-md-100 { width: 100% !important; }
	.h-md-100 { height: 100% !important; }
	.w-md-auto { width: auto !important; }
	.h-md-auto { height: auto !important; }
}

@media (min-width: 992px) {
	.fs-lg-1 { font-size: calc(1.375rem + 1.5vw) !important; }
	.fs-lg-2 { font-size: calc(1.325rem + 0.9vw) !important; }
	.fs-lg-3 { font-size: calc(1.3rem + 0.6vw) !important; }
	.fs-lg-4 { font-size: calc(1.275rem + 0.3vw) !important; }
	.fs-lg-5 { font-size: 1.25rem !important; }
	.fs-lg-6 { font-size: 1rem !important; }
	
	/* New sizes for lg */
	.fs-lg-xs { font-size: 0.75rem !important; }
	.fs-lg-sm { font-size: 0.875rem !important; }
	.fs-lg-md { font-size: 1rem !important; }
	.fs-lg-lg { font-size: 1.125rem !important; }
	.fs-lg-xl { font-size: 1.25rem !important; }
	.fs-lg-xxl { font-size: 1.5rem !important; }

	.display-lg-1 { font-size: clamp(2.5rem, 1.75rem + 3.5vw, 5rem) !important; }
	.display-lg-2 { font-size: clamp(2.25rem, 1.6rem + 3.0vw, 4.5rem) !important; }
	.display-lg-3 { font-size: clamp(2rem, 1.45rem + 2.5vw, 4rem) !important; }
	.display-lg-4 { font-size: clamp(1.75rem, 1.3rem + 2.0vw, 3.5rem) !important; }
	.display-lg-5 { font-size: clamp(1.5rem, 1.15rem + 1.5vw, 3rem) !important; }
	.display-lg-6 { font-size: clamp(1.25rem, 1.0rem + 1.2vw, 2.5rem) !important; }

	.w-lg-25 { width: 25% !important; }
	.h-lg-25 { height: 25% !important; }
	.w-lg-50 { width: 50% !important; }
	.h-lg-50 { height: 50% !important; }
	.w-lg-75 { width: 75% !important; }
	.h-lg-75 { height: 75% !important; }
	.w-lg-100 { width: 100% !important; }
	.h-lg-100 { height: 100% !important; }
	.w-lg-auto { width: auto !important; }
	.h-lg-auto { height: auto !important; }
}

@media (min-width: 1200px) {
	.fs-xl-1 { font-size: calc(1.375rem + 1.5vw) !important; }
	.fs-xl-2 { font-size: calc(1.325rem + 0.9vw) !important; }
	.fs-xl-3 { font-size: calc(1.3rem + 0.6vw) !important; }
	.fs-xl-4 { font-size: calc(1.275rem + 0.3vw) !important; }
	.fs-xl-5 { font-size: 1.25rem !important; }
	.fs-xl-6 { font-size: 1rem !important; }
	
	/* New sizes for xl */
	.fs-xl-xs { font-size: 0.75rem !important; }
	.fs-xl-sm { font-size: 0.875rem !important; }
	.fs-xl-md { font-size: 1rem !important; }
	.fs-xl-lg { font-size: 1.125rem !important; }
	.fs-xl-xl { font-size: 1.25rem !important; }
	.fs-xl-xxl { font-size: 1.5rem !important; }

	.display-xl-1 { font-size: clamp(2.5rem, 1.75rem + 3.5vw, 5rem) !important; }
	.display-xl-2 { font-size: clamp(2.25rem, 1.6rem + 3.0vw, 4.5rem) !important; }
	.display-xl-3 { font-size: clamp(2rem, 1.45rem + 2.5vw, 4rem) !important; }
	.display-xl-4 { font-size: clamp(1.75rem, 1.3rem + 2.0vw, 3.5rem) !important; }
	.display-xl-5 { font-size: clamp(1.5rem, 1.15rem + 1.5vw, 3rem) !important; }
	.display-xl-6 { font-size: clamp(1.25rem, 1.0rem + 1.2vw, 2.5rem) !important; }

	.w-xl-25 { width: 25% !important; }
	.h-xl-25 { height: 25% !important; }
	.w-xl-50 { width: 50% !important; }
	.h-xl-50 { height: 50% !important; }
	.w-xl-75 { width: 75% !important; }
	.h-xl-75 { height: 75% !important; }
	.w-xl-100 { width: 100% !important; }
	.h-xl-100 { height: 100% !important; }
	.w-xl-auto { width: auto !important; }
	.h-xl-auto { height: auto !important; }
}

@media (min-width: 1401px) {
	.fs-xxl-1 { font-size: calc(1.475rem + 1.7vw) !important; }
	.fs-xxl-2 { font-size: calc(1.425rem + 1.1vw) !important; }
	.fs-xxl-3 { font-size: calc(1.4rem + 0.8vw) !important; }
	.fs-xxl-4 { font-size: calc(1.375rem + 0.5vw) !important; }
	.fs-xxl-5 { font-size: 1.375rem !important; }
	.fs-xxl-6 { font-size: 1.125rem !important; }

	/* New sizes for xxl */
	.fs-xxl-xs { font-size: 0.875rem !important; }   /* 14px */
	.fs-xxl-sm { font-size: 1rem !important; }       /* 16px */
	.fs-xxl-md { font-size: 1.125rem !important; }   /* 18px */
	.fs-xxl-lg { font-size: 1.25rem !important; }    /* 20px */
	.fs-xxl-xl { font-size: 1.5rem !important; }     /* 24px */
	.fs-xxl-xxl { font-size: 1.75rem !important; }   /* 28px */

	.display-xxl-1 { font-size: 5rem !important; }
	.display-xxl-2 { font-size: 4.5rem !important; }
	.display-xxl-3 { font-size: 4rem !important; }
	.display-xxl-4 { font-size: 3.5rem !important; }
	.display-xxl-5 { font-size: 3rem !important; }
	.display-xxl-6 { font-size: 2.5rem !important; }

	.w-xxl-25 { width: 25% !important; }
	.h-xxl-25 { height: 25% !important; }
	.w-xxl-50 { width: 50% !important; }
	.h-xxl-50 { height: 50% !important; }
	.w-xxl-75 { width: 75% !important; }
	.h-xxl-75 { height: 75% !important; }
	.w-xxl-100 { width: 100% !important; }
	.h-xxl-100 { height: 100% !important; }
	.w-xxl-auto { width: auto !important; }
	.h-xxl-auto { height: auto !important; }
}

@media (max-width: 1399.98px) {
	.container-padded {
		padding-left:0;
		padding-right:0;
	}
}

@media (min-width: 1400px) {
	.container-padded {
		padding-left:0;
		padding-right:0;
	}
}

@media (min-width: 1401px) {
	.fs-xxl-1 { font-size: calc(1.375rem + 1.5vw) !important; }
	.fs-xxl-2 { font-size: calc(1.325rem + 0.9vw) !important; }
	.fs-xxl-3 { font-size: calc(1.3rem + 0.6vw) !important; }
	.fs-xxl-4 { font-size: calc(1.275rem + 0.3vw) !important; }
	.fs-xxl-5 { font-size: 1.25rem !important; }
	.fs-xxl-6 { font-size: 1rem !important; }
	
	/* New sizes for xxl */
	.fs-xxl-xs { font-size: 0.75rem !important; }
	.fs-xxl-sm { font-size: 0.875rem !important; }
	.fs-xxl-md { font-size: 1rem !important; }
	.fs-xxl-lg { font-size: 1.125rem !important; }
	.fs-xxl-xl { font-size: 1.25rem !important; }
	.fs-xxl-xxl { font-size: 1.5rem !important; }

	.w-xxl-25 { width: 25% !important; }
	.h-xxl-25 { height: 25% !important; }
	.w-xxl-50 { width: 50% !important; }
	.h-xxl-50 { height: 50% !important; }
	.w-xxl-75 { width: 75% !important; }
	.h-xxl-75 { height: 75% !important; }
	.w-xxl-100 { width: 100% !important; }
	.h-xxl-100 { height: 100% !important; }
	.w-xxl-auto { width: auto !important; }
	.h-xxl-auto { height: auto !important; }
}

@media (min-width: 1920px) {
	.container-padded {
		padding-left:4rem;
		padding-right:4rem;
	}
}