:root {
	--white: #ffffff;
	--white-rgb: 255, 255, 255;
	--black: #000000;
	--black-rgb: 0, 0, 0;
	
    --gray-100: #F8F8F8;
    --gray-100-rgb: 248, 248, 248;
    --gray-150: #F4F4F4;
    --gray-150-rgb: 244, 244, 244;
    --gray-200: #ECECEC;
    --gray-200-rgb: 236, 236, 236;
    --gray-300: #D7D7D7;
    --gray-300-rgb: 215, 215, 215;
    --gray-400: #818181;
	--gray-400-rgb: 129, 129, 129;
	--gray-500: #454545;
    --gray-500-rgb: 69, 69, 69;
    --gray-600: #1F1F1F;
    --gray-600-rgb: 31, 31, 31;
    --gray-700: #141414;
    --gray-700-rgb: 20, 20, 20;
    
    --primary-50: #E7F3F2;
    --primary-50-rgb: 231, 243, 242;
    --primary-100: #CFEFEC;
    --primary-100-rgb: 207, 239, 236;
    --primary-200: #A2E8E1;
    --primary-200-rgb: 162, 232, 225;
    --primary-300: #81D8D0;
    --primary-300-rgb: 129, 216, 208;
    --primary-400: #4CC9BE;
    --primary-400-rgb: 76, 201, 190;
    --primary-500: #12615A;
    --primary-500-rgb: 18, 97, 90;
    
    --success: #1DC9A1;
    --success-rgb: 29, 201, 161;
    --success-light: #EDFDF9;
    --success-light-rgb: 237, 253, 249;
    --danger: #FF2D2D;
    --danger-rgb: 255, 45, 45;
    --warning: #FFC107;
    --warning-rgb: 255, 193, 7;
    --warning-light: #FFFBEE;
    --warning-light-rgb: 255, 251, 238;
    --info: #17A2B8;
    --info-rgb: 23, 162, 184;
    --info-light: #EDFCFF;
    --info-light-rgb: 237, 252, 255;
    
    --sp4: 4px;
    --sp8: 8px;
    --sp12: 12px;
    --sp16: 16px;
    --sp20: 20px;
    --sp24: 24px;
    --sp28: 28px;
    --sp32: 32px;
    --sp40: 40px;
    --sp48: 48px;
    --sp56: 56px;
    --sp60: 60px;
    --sp72: 72px;
    --sp80: 80px;
    --sp84: 84px;
    --sp96: 96px;
    --sp120: 120px;

    --text-h1: 48px;
    --text-h2: 48px;
    --text-h3: 28px;
    --text-h4: 24px;
    --text-body: 18px;
    --text-button-1: 18px;
    --text-button-2: 18px;
    --text-button-3: 16px;
    --text-small-1: 16px;
    --text-small-2: 16px;
    --text-extra-small-1: 14px;
    --text-extra-small-2: 14px;
    --text-badge: 14px;
    --text-advantage: 72px;
    
    --transition-1: ease-out 300ms;
    --shadow: 0px 4px 20px 0px #00000014;
	--shadow-200: 0px 1px 4px 0px #0C0C0D0D, 0px 1px 4px 0px #0C0C0D1A;
	--shadow-500: 0px 4px 4px -4px #0C0C0D0D, 0px 16px 16px -8px #0C0C0D1A;
	
	--header-height: 80px;
	--modal-width: 576px;
	
	--bg-opacity: 1;
}

:focus {
    box-shadow: none !important;
    outline: 0 !important;
}

html, body {
	min-height: 100vh;
	margin: 0;
	padding: 0;
    display: flex;
    flex-direction: column;
}
body {
    font-family: Montserrat;
    font-weight: 400;
    font-size: var(--text-body);
    line-height: 150%;
    color: var(--black);
    background-color: var(--gray-200);
}
.page_content {
	flex-grow: 1;
}

p:last-child {
	margin-bottom: 0;
}

a {
	text-decoration: none !important;
	color: var(--primary-500);
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
	margin: 0;
}
h1, .h1 {
    font-family: Geologica;
    font-weight: 900;
    font-size: var(--text-h1);
    line-height: 120%;
    text-transform: uppercase;
}
h2, .h2 {
    font-family: Geologica;
    font-weight: 900;
    font-size: var(--text-h2);
    line-height: 120%;
    text-transform: uppercase;
}
h3, .h3 {
    font-family: Geologica;
    font-weight: 500;
    font-size: var(--text-h3);
    line-height: 130%;
}
h4, .h4 {
    font-family: Geologica;
    font-weight: 400;
    font-size: var(--text-h4);
    line-height: 140%;
    text-transform: uppercase;
}




.color-white {
    color: var(--white);
}
.color-black {
    color: var(--black);
}
.color-gray-100 {
    color: var(--gray-100);
}
.color-gray-150 {
    color: var(--gray-150);
}
.color-gray-200 {
    color: var(--gray-200);
}
.color-gray-300 {
    color: var(--gray-300);
}
.color-gray-400 {
    color: var(--gray-400);
}
.color-gray-500 {
    color: var(--gray-500);
}
.color-gray-600 {
    color: var(--gray-600);
}
.color-gray-700 {
    color: var(--gray-700);
}
.color-primary-50 {
    color: var(--primary-50);
}
.color-primary-100 {
    color: var(--primary-100);
}
.color-primary-200 {
    color: var(--primary-200);
}
.color-primary-300 {
    color: var(--primary-300);
}
.color-primary-400 {
    color: var(--primary-400);
}
.color-primary-500 {
    color: var(--primary-500);
}
.color-success {
    color: var(--success);
}
.color-success-light {
    color: var(--success-light);
}
.color-danger {
    color: var(--danger);
}
.color-warning {
    color: var(--warning);
}
.color-warning-light {
    color: var(--warning-light);
}
.color-info {
    color: var(--info);
}
.color-info-light {
    color: var(--info-light);
}


.bg-white {
    background-color: rgba(var(--white-rgb), var(--bg-opacity)) !important;
}
.bg-black {
    background-color: rgba(var(--black-rgb), var(--bg-opacity)) !important;
}
.bg-gray-100 {
    background-color: rgba(var(--gray-100-rgb), var(--bg-opacity)) !important;
}
.bg-gray-150 {
    background-color: rgba(var(--gray-150-rgb), var(--bg-opacity)) !important;
}
.bg-gray-200 {
    background-color: rgba(var(--gray-200-rgb), var(--bg-opacity)) !important;
}
.bg-gray-300 {
    background-color: rgba(var(--gray-300-rgb), var(--bg-opacity)) !important;
}
.bg-gray-400 {
    background-color: rgba(var(--gray-400-rgb), var(--bg-opacity)) !important;
}
.bg-gray-500 {
    background-color: rgba(var(--gray-500-rgb), var(--bg-opacity)) !important;
}
.bg-gray-600 {
    background-color: rgba(var(--gray-600-rgb), var(--bg-opacity)) !important;
}
.bg-gray-700 {
    background-color: rgba(var(--gray-700-rgb), var(--bg-opacity)) !important;
}
.bg-primary-50 {
    background-color: rgba(var(--primary-50-rgb), var(--bg-opacity)) !important;
}
.bg-primary-100 {
    background-color: rgba(var(--primary-100-rgb), var(--bg-opacity)) !important;
}
.bg-primary-200 {
    background-color: rgba(var(--primary-200-rgb), var(--bg-opacity)) !important;
}
.bg-primary-300 {
    background-color: rgba(var(--primary-300-rgb), var(--bg-opacity)) !important;
}
.bg-primary-400 {
    background-color: rgba(var(--primary-400-rgb), var(--bg-opacity)) !important;
}
.bg-primary-500 {
    background-color: rgba(var(--primary-500-rgb), var(--bg-opacity)) !important;
}
.bg-success {
    background-color: rgba(var(--success-rgb), var(--bg-opacity)) !important;
}
.bg-success-light {
    background-color: rgba(var(--success-light-rgb), var(--bg-opacity)) !important;
}
.bg-danger {
    background-color: rgba(var(--danger-rgb), var(--bg-opacity)) !important;
}
.bg-warning {
    background-color: rgba(var(--warning-rgb), var(--bg-opacity)) !important;
}
.bg-warning-light {
    background-color: rgba(var(--warning-light-rgb), var(--bg-opacity)) !important;
}
.bg-info {
    background-color: rgba(var(--info-rgb), var(--bg-opacity)) !important;
}
.bg-info-light {
    background-color: rgba(var(--info-light-rgb), var(--bg-opacity)) !important;
}

.bg-opacity-75 {
    --bg-opacity: 0.75;
}
.bg-opacity-50 {
    --bg-opacity: 0.5;
}
.bg-opacity-25 {
    --bg-opacity: 0.25;
}


.border-white {
    border-color: var(--white) !important;
}
.border-black {
    border-color: var(--black) !important;
}
.border-gray-100 {
    border-color: var(--gray-100) !important;
}
.border-gray-150 {
    border-color: var(--gray-150) !important;
}
.border-gray-200 {
    border-color: var(--gray-200) !important;
}
.border-gray-300 {
    border-color: var(--gray-300) !important;
}
.border-gray-400 {
    border-color: var(--gray-400) !important;
}
.border-gray-500 {
    border-color: var(--gray-500) !important;
}
.border-gray-600 {
    border-color: var(--gray-600) !important;
}
.border-gray-700 {
    border-color: var(--gray-700) !important;
}
.border-primary-50 {
    border-color: var(--primary-50) !important;
}
.border-primary-100 {
    border-color: var(--primary-100) !important;
}
.border-primary-200 {
    border-color: var(--primary-200) !important;
}
.border-primary-300 {
    border-color: var(--primary-300) !important;
}
.border-primary-400 {
    border-color: var(--primary-400) !important;
}
.border-primary-500 {
    border-color: var(--primary-500) !important;
}
.border-success {
    border-color: var(--success) !important;
}
.border-success-light {
    border-color: var(--success-light) !important;
}
.border-danger {
    border-color: var(--danger) !important;
}
.border-warning {
    border-color: var(--warning) !important;
}
.border-warning-light {
    border-color: var(--warning-light) !important;
}
.border-info {
    border-color: var(--info) !important;
}
.border-info-light {
    border-color: var(--info-light) !important;
}


.border-dashed {
	border-style: dashed;
}
.border-dotted {
	border-style: dotted;
}


.p8 {
	padding: var(--sp8) !important;
}
.pt8 {
	padding-top: var(--sp8) !important;
}
.pb8 {
	padding-bottom: var(--sp8) !important;
}
.ps8 {
	padding-left: var(--sp8) !important;
}
.pe8 {
	padding-right: var(--sp8) !important;
}

.p16 {
    padding: var(--sp16) !important;
}
.pt16 {
    padding-top: var(--sp16) !important;
}
.pb16 {
    padding-bottom: var(--sp16) !important;
}
.ps16 {
	padding-left: var(--sp16) !important;
}
.pe16 {
	padding-right: var(--sp16) !important;
}

.p24 {
    padding: var(--sp24) !important;
}
.pt24 {
    padding-top: var(--sp24) !important;
}
.pb24 {
    padding-bottom: var(--sp24) !important;
}
.ps24 {
    padding-left: var(--sp24) !important;
}
.pe24 {
    padding-right: var(--sp24) !important;
}

.ps32 {
    padding-left: var(--sp32) !important;
}
.pe32 {
    padding-right: var(--sp32) !important;
}
.pb32 {
    padding-bottom: var(--sp32) !important;
}

.pt40 {
    padding-top: var(--sp40) !important;
}

.p48 {
    padding: var(--sp48) !important;
}
.pt48 {
    padding-top: var(--sp48) !important;
}
.pb48 {
    padding-bottom: var(--sp48) !important;
}
.ps48 {
    padding-left: var(--sp48) !important;
}
.pe48 {
    padding-right: var(--sp48) !important;
}

.pt60 {
    padding-top: var(--sp60) !important;
}
.pb60 {
    padding-bottom: var(--sp60) !important;
}

.pt80 {
    padding-top: var(--sp80) !important;
}

.pb96 {
    padding-bottom: var(--sp96) !important;
}

.pt120 {
    padding-top: var(--sp120) !important;
}
.pb120 {
    padding-bottom: var(--sp120) !important;
}


.gap4 {
    gap: var(--sp4);
}
.gap8 {
    gap: var(--sp8);
}
.gap16 {
    gap: var(--sp16);
}
.gap24 {
    gap: var(--sp24);
}
.gap32 {
    gap: var(--sp32);
}
.gap40 {
    gap: var(--sp40);
}
.gap48 {
    gap: var(--sp48);
}

.gap8f {
    gap: 8px;
}
.gap16f {
    gap: 16px;
}

.row4 {
	--bs-gutter-x: var(--sp4);
	--bs-gutter-y: var(--sp4);
}
.row8 {
	--bs-gutter-x: var(--sp8);
	--bs-gutter-y: var(--sp8);
}
.row24 {
	--bs-gutter-x: var(--sp24);
	--bs-gutter-y: var(--sp24);
}
.row48 {
	--bs-gutter-x: var(--sp48);
	--bs-gutter-y: var(--sp48);
}


.text-button-1 {
    font-family: Geologica;
    font-weight: 600;
    font-size: var(--text-button-1);
    line-height: 100%;
}
.text-button-2 {
    font-family: Geologica;
    font-weight: 600;
    font-size: var(--text-button-2);
    line-height: 100%;
    text-transform: uppercase;
}
.text-button-3 {
    font-family: Geologica;
    font-weight: 500;
    font-size: var(--text-button-3);
    line-height: 100%;
}
.text-small-1 {
	font-family: Montserrat;
	font-weight: 400;
	font-size: var(--text-small-1);
	line-height: 160%;
}
.text-small-2 {
	font-family: Montserrat;
	font-weight: 700;
	font-size: var(--text-small-2);
	line-height: 160%;
}
.text-extra-small-1 {
	font-family: Montserrat;
	font-weight: 400;
	font-size: var(--text-extra-small-1);
	line-height: 170%;
}
.text-extra-small-2 {
	font-family: Montserrat;
	font-weight: 500;
	font-size: var(--text-extra-small-2);
	line-height: 170%;
}
.text-badge {
	font-family: Montserrat;
	font-weight: 500;
	font-size: var(--text-badge);
	line-height: 100%;
}
.text-advantage {
	font-family: Bahnschrift;
	font-weight: 700;
	font-size: var(--text-advantage);
	line-height: 100%;
	font-stretch: 87.5%;
}




.button {
    width: max-content;
    padding: 16px var(--sp32);
    display: flex;
    text-wrap: nowrap;
    justify-content: center;
    align-items: center;
    transition: var(--transition-1);
    border: 1px solid transparent;
    gap: var(--sp8);
}
form .button {
	height: 54px;
}
.button-primary {
    background-color: var(--primary-300);
    color: var(--primary-500);
}
.button-primary:hover {
    background-color: var(--primary-400);
}
.button-primary:disabled {
    opacity: 0.25;
}
.button-primary:active {
    opacity: 0.25;
}

.button-primary-light {
    background-color: var(--primary-50);
    color: var(--primary-500);
}
.button-primary-light:hover {
    background-color: var(--primary-100);
}

.button-no-background {
    color: var(--primary-500);
    background-color: transparent;
}
.button-no-background:hover {
    background-color: var(--gray-100);
}

.button-background {
    background-color: var(--gray-100);
    color: var(--gray-400);
}

.button-accordeon {
    color: var(--gray-400);
    justify-content: space-between;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}
.button-accordeon:hover {
    color: var(--black);
}

.button-secondary-white {
    background-color: transparent;
    color: var(--white);
    border: 1px solid var(--white);
}
.button-secondary-white:hover {
    color: var(--gray-400);
    border: 1px solid var(--gray-400);
}

.button-dark {
    background-color: var(--black);
    color: var(--white);
}
.button-dark:hover {
    background-color: var(--gray-500);
}

.button.arrow-right::after {
	font-family: bootstrap-icons !important;
	content: '\F138' !important;
	font-weight: normal;
}
.button.arrow-left::before {
	font-family: bootstrap-icons !important;
	content: '\F12F' !important;
	font-weight: normal;
}

.button-header-1,
.button-header-2 {
	height: 24px;
	display: flex;
	gap: 8px;
	color: var(--black);
	align-items: center;
	text-wrap: nowrap;
	transition: var(--transition-1);
}
.button-header-1:hover,
.button-header-2:hover {
	color: var(--gray-400);
}

.button-menu-1 {
	padding: 2px 0;
	display: flex;
	gap: 10px;
	color: var(--black);
	align-items: baseline;
	justify-content: left;
	/*text-wrap: auto;*/
	transition: var(--transition-1);
	position: relative;
	max-width: 100%;
}

.button-footer-1,
.button-footer-2 {
	display: flex;
	padding: 0;
	gap: 10px;
	color: var(--white);
	align-items: center;
	transition: var(--transition-1);
}
.button-footer-1:hover,
.button-footer-2:hover {
	color: var(--gray-400);
}


.link-large {
	display: flex;
	width: fit-content;
	flex-direcrion: row;
	gap: var(--sp8);
	padding: var(--sp8) 0;
	position: relative;
}




.fh {
    display: flex;
    flex-direction: row;
}
.fv {
    display: flex;
    flex-direction: column;
}



.shadow {
	box-shadow: var(--shadow);
}
.shadow-200 {
	box-shadow: var(--shadow-200);
}


.form-control {
	border-radius: 0;
	background-color: var(--white);
	border: 1px solid var(--gray-300);
	padding-left: var(--sp16) !important;
	padding-right: var(--sp16) !important;
	gap: var(--sp8);
	height: 54px !important;
	min-height: auto !important;
}
.form-control::placeholder {
	color: var(--gray-400) !important;
}
.form-control:hover,
.form-control:focus {
	border: 1px solid var(--primary-300);
}
.form-control:not(:placeholder-shown) {
	border: 1px solid var(--gray-300);
}
.form-control.is-invalid {
	border: 1px solid var(--danger);
}
.form-floating > label {
	color: var(--gray-400);
}
.form-floating > .form-control:not(:placeholder-shown) ~ label::after {
	background-color: transparent;
}


.form-check-input {
	width: 16px;
	height: 16px;
	background-color: var(--white);
	border: 1px solid var(--gray-300);
	opacity: 1 !important;
	filter: none !important;
	margin: auto;
}
.form-check-input[type="checkbox"] {
	border-radius: 0;
}
.form-check-input[type="radio"] {
	border-radius: 50%;
}
.form-check-input:hover {
	border-color: var(--primary-400);
}
.form-check-input:focus {
	border-color: var(--primary-400);
	box-shadow: none;
}
.form-check-input:checked {
	background-color: var(--primary-400);
	border-color: var(--primary-400);
}
/*.form-check-input:checked[type="checkbox"] {
	--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}*/
.form-check-input:checked[type="radio"] {
	--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%234CC9BE'/%3e%3c/svg%3e");
	background-color: var(--white);
}
.form-check-input:disabled {
	pointer-events: none;
	background-color: var(--gray-300);
	border-color: var(--gray-200);
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
	cursor: default;
	color: var(--grey-300);
}


.visibility-collapse {
	visibility: collapse !important;
}


@media (max-width: 1919px) {
    :root {
        --sp48: 36px;
        --sp56: 24px;
        --sp60: 40px;
        --sp120: 80px;
    
	    --text-h1: 36px;
	    --text-h2: 36px;
	    --text-h3: 22px;
	    --text-h4: 20px;
	    --text-body: 16px;
	    --text-button-1: 16px;
	    --text-button-2: 16px;
	    --text-button-3: 14px;
	    --text-small-1: 14px;
	    --text-small-2: 14px;
	    --text-extra-small-1: 12px;
	    --text-extra-small-2: 12px;
	    --text-badge: 12px;
	    --text-advantage: 54px;

		--header-height: 80px;
		--modal-width: 432px;
    }
}

@media (max-width: 1439px) {
    :root {
        --sp16: 8px;
        --sp24: 16px;
        --sp48: 32px;
        --sp56: 16px;
        --sp60: 32px;
        --sp120: 64px;
    
	    --text-h1: 32px;
	    --text-h2: 32px;
	    --text-h3: 20px;
	    --text-h4: 18px;
	    --text-body: 14px;
	    --text-button-1: 14px;
	    --text-button-2: 14px;
	    --text-button-3: 12px;
	    --text-small-1: 12px;
	    --text-small-2: 12px;
	    --text-extra-small-1: 10px;
	    --text-extra-small-2: 10px;
	    --text-badge: 10px;
	    --text-advantage: 48px;

		--header-height: 64px;
		--modal-width: 384px;
    }
}

@media (max-width: 1279px) {
    :root {
        --sp32: 24px;
        --sp40: 28px;
        --sp48: 20px;
        --sp60: 28px;
        --sp120: 56px;
    
	    --text-h1: 28px;
	    --text-h2: 28px;
	    --text-h3: 18px;
	    --text-h4: 16px;
	    --text-body: 14px;
	    --text-button-1: 14px;
	    --text-button-2: 14px;
	    --text-button-3: 12px;
	    --text-small-1: 12px;
	    --text-small-2: 12px;
	    --text-extra-small-1: 10px;
	    --text-extra-small-2: 10px;
	    --text-badge: 10px;
	    --text-advantage: 72px;

		--header-height: 64px;
		--modal-width: 100%;
    }
}

@media (max-width: 767px) {
    :root {
        --sp32: 16px;
        --sp40: 24px;
        --sp48: 16px;
        --sp60: 24px;
        --sp120: 48px;
    
	    --text-h1: 26px;
	    --text-h2: 26px;
	    --text-h3: 18px;
	    --text-h4: 16px;
	    --text-body: 14px;
	    --text-button-1: 14px;
	    --text-button-2: 14px;
	    --text-button-3: 12px;
	    --text-small-1: 12px;
	    --text-small-2: 12px;
	    --text-extra-small-1: 10px;
	    --text-extra-small-2: 10px;
	    --text-badge: 10px;
	    --text-advantage: 72px;

		--header-height: 64px;
		--modal-width: 100%;
    }
    
    .button {
    	width: auto;
    }
}

