:root {
    /* Colors */
    --sds-global-color-palette-neutral-3: #080808;
    --sds-global-color-palette-neutral-19: #313131;
    --sds-global-color-palette-neutral-35: #595959;
    --sds-global-color-palette-neutral-41: #686868;
    --sds-global-color-palette-neutral-58: #949494;
    --sds-global-color-palette-neutral-84: #d6d6d6;
    --sds-global-color-palette-neutral-92: #ebebeb;
    --sds-global-color-palette-neutral-96: #f4f4f4;
    --sds-global-color-palette-neutral-100: #ffffff;
    --sds-global-color-palette-blue-13: #002443;
    --sds-global-color-palette-blue-29: #002a95;
    --sds-global-color-palette-blue-36: #0057b8;
    --sds-global-color-palette-blue-45: #1371d5;
    --sds-global-color-palette-blue-72: #8cc5ff;
    --sds-global-color-palette-blue-87: #c5e2f9;
    --sds-global-color-palette-blue-94: #e1f0ff;
    --sds-global-color-palette-green-26: #008746;
    --sds-global-color-palette-teal-30: #009998;
    --sds-global-color-palette-teal-54: #54c0c0;
    --sds-global-color-palette-purple-25: #670081;
    --sds-global-color-palette-purple-63: #c268d9;
    --sds-global-color-palette-red-45: #e4002b;
    --sds-global-color-palette-yellow-64: #ffc845;

    /* Spacing */
    --sds-global-dimension-space-0: 0px;
    --sds-global-dimension-space-25: 2px;
    --sds-global-dimension-space-50: 4px;
    --sds-global-dimension-space-100: 8px;
    --sds-global-dimension-space-150: 12px;
    --sds-global-dimension-space-200: 16px;
    --sds-global-dimension-space-300: 24px;
    --sds-global-dimension-space-400: 32px;
    --sds-global-dimension-space-600: 48px;

    /* Border radius */
    --sds-global-shape-borderRadius-0: 0px;
    --sds-global-shape-borderRadius-50: 4px;
    --sds-global-shape-borderRadius-100: 8px;
    --sds-global-shape-borderRadius-200: 16px;
    --sds-global-shape-borderRadius-400: 32px;

    /* Font Families */
    --sds-global-typography-fontFamily-mayoClinicSerif: 'Mayo Clinic Serif', 'mayo-serif', 'Georgia', 'Times New Roman', serif;
    --sds-global-typography-fontFamily-mayoClinicSans: 'Mayo Clinic Sans', 'mayo-sans', 'Arial', 'Helvetica Neue', sans-serif;

    /* Font Weight */
    --sds-global-typography-fontWeight-400: 400;
    --sds-global-typography-fontWeight-700: 700;

    /* Font sizing */
    --sds-global-typography-fontSize-300: 3rem; /* 48px */
    --sds-global-typography-fontSize-250: 2.5rem; /* 40px */
    --sds-global-typography-fontSize-200: 2rem; /* 32px */
    --sds-global-typography-fontSize-188: 1.875rem; /* 30px */
    --sds-global-typography-fontSize-175: 1.75rem; /* 28px */
    --sds-global-typography-fontSize-150: 1.5rem; /* 24px */
    --sds-global-typography-fontSize-125: 1.25rem; /* 20px */
    --sds-global-typography-fontSize-100: 1rem; /* 16px */

    /* Line Height */
    --sds-global-typography-lineHeight-300: 3rem; /* 48px */ 
    --sds-global-typography-lineHeight-275: 2.75rem; /* 44px */ 
    --sds-global-typography-lineHeight-250: 2.5rem; /* 40px */ 
    --sds-global-typography-lineHeight-225: 2.25rem; /* 36px */ 
    --sds-global-typography-lineHeight-200: 2rem; /* 32px */ 
    --sds-global-typography-lineHeight-175: 1.75rem; /* 28px */ 
    --sds-global-typography-lineHeight-150: 1.5rem; /* 24px */ 
    --sds-global-typography-lineHeight-125: 1.25rem; /* 20px */ 
    --sds-global-typography-lineHeight-100: 1rem; /* 16px */ 

    /* Paragraph spacing */
    --sds-global-typography-paragraphSpacing-125: 20px;
    --sds-global-typography-paragraphSpacing-100: 16px;
    --sds-global-typography-paragraphSpacing-75: 12px;

    /* Borders */
	--sds-global-shape-border-radius-0: 0px;
	--sds-global-shape-border-radius-50: 4px;
	--sds-global-shape-border-radius-100: 8px;
	--sds-global-shape-border-radius-200: 16px;
	--sds-global-shape-border-radius-400: 32px;

    /* 
     *
     * Semantic
     *
     */

    /* Color: */

    /* Backgrounds (non-interactive) */
    --sds-semantic-color-surface-background-primary: var(--sds-global-color-palette-neutral-100);
    --sds-semantic-color-surface-background-secondary: var(--sds-global-color-palette-neutral-96);
    --sds-semantic-color-surface-background-tertiary: var(--sds-global-color-palette-blue-94);

    /* Backgrounds (interactive) */
    --sds-semantic-color-action-background-primary-default: var(--sds-global-color-palette-blue-36);
    --sds-semantic-color-action-background-primary-hover: var(--sds-global-color-palette-blue-45);
    --sds-semantic-color-action-background-primary-active: var(--sds-global-color-palette-blue-29);

    /* Backgrounds (feedback) */
    --sds-semantic-color-feedback-background-error: var(--sds-global-color-palette-red-45);
    --sds-semantic-color-feedback-background-warning: var(--sds-global-color-palette-yellow-64);
    --sds-semantic-color-feedback-background-success: var(--sds-global-color-palette-green-26);
    --sds-semantic-color-feedback-background-info: var(--sds-global-color-palette-blue-36);

    /* Borders */
    --sds-semantic-color-border-primary: var(--sds-global-color-palette-neutral-3);
    --sds-semantic-color-border-secondary: var(--sds-global-color-palette-neutral-58);
    --sds-semantic-color-border-tertiary: var(--sds-global-color-palette-neutral-84);
    --sds-semantic-color-border-active: var(--sds-global-color-palette-blue-36);
    --sds-semantic-color-border-focus: var(--sds-global-color-palette-blue-36);

    /* Borders (feedback) */
	--sds-semantic-color-border-error: var(--sds-global-color-palette-red-45);
	--sds-semantic-color-border-success: var(--sds-global-color-palette-green-26);
	--sds-semantic-color-border-warning: var(--sds-global-color-palette-yellow-64);
	--sds-semantic-color-border-info: var(--sds-global-color-palette-blue-36);

    /* Text (general) */
    --sds-semantic-color-body-text-primary: var(--sds-global-color-palette-neutral-3);
    --sds-semantic-color-body-text-secondary: var(--sds-global-color-palette-neutral-41);
    --sds-semantic-color-caption-text: var(--sds-global-color-palette-neutral-35);
    --sds-semantic-color-title-text-primary: var(--sds-global-color-palette-neutral-3);

    /* Text (interactive) */
    --sds-semantic-color-action-text-primary-default: var(--sds-global-color-palette-blue-36);
    --sds-semantic-color-action-text-primary-hover: var(--sds-global-color-palette-blue-45);
    --sds-semantic-color-action-text-primary-active: var(--sds-global-color-palette-blue-29);
    --sds-semantic-color-action-text-primary-visited: var(--sds-global-color-palette-purple-25);

    /* Font Styles */
	--sds-semantic-typography-title-primary-1: 700 1.25rem/1.5rem var(--sds-global-typography-fontFamily-mayoClinicSerif);
    --sds-semantic-typography-title-primary-2: 700 1.5rem/2rem var(--sds-global-typography-fontFamily-mayoClinicSerif);
    --sds-semantic-typography-title-primary-3: 700 1.75rem/2.25rem var(--sds-global-typography-fontFamily-mayoClinicSerif);
    --sds-semantic-typography-title-primary-4: 700 2rem/2.25rem var(--sds-global-typography-fontFamily-mayoClinicSerif);
    --sds-semantic-typography-title-primary-5: 700 2.5rem/2.75rem var(--sds-global-typography-fontFamily-mayoClinicSerif);
    --sds-semantic-typography-title-primary-6: 700 3rem/3rem var(--sds-global-typography-fontFamily-mayoClinicSerif);
    --sds-semantic-typography-title-secondary-1: 700 1.25rem/1.5rem var(--sds-global-typography-fontFamily-mayoClinicSans);
    --sds-semantic-typography-title-secondary-2: 700 1.5rem/2rem var(--sds-global-typography-fontFamily-mayoClinicSans);
    --sds-semantic-typography-title-secondary-3: 700 1.875rem/2.25rem var(--sds-global-typography-fontFamily-mayoClinicSans);
    --sds-semantic-typography-body-large: 400 1.5rem/2rem var(--sds-global-typography-fontFamily-mayoClinicSans);
    --sds-semantic-typography-body-medium: 400 1.25rem/1.75rem var(--sds-global-typography-fontFamily-mayoClinicSans);
    --sds-semantic-typography-body-small: 400 1rem/1.5rem var(--sds-global-typography-fontFamily-mayoClinicSans);
}

html, body {font-size: 16px;line-height: var(--sds-global-typography-lineHeight-150);}

/* Typography */
body {
    --ch-text-color: var(--sds-semantic-color-body-text-primary);
}
.sds-title-primary-6, h1, .h1 { font-size: var(--sds-global-typography-fontSize-300); /* 48px */ line-height: var(--sds-global-typography-lineHeight-300); /* 48px */ font-weight: var(--sds-global-typography-fontWeight-700); /* bold */ font-family: var(--sds-global-typography-fontFamily-mayoClinicSerif); margin-top:0px; }
.sds-title-primary-5, h2, .h2 { font-size: var(--sds-global-typography-fontSize-250); /* 40px */ line-height: var(--sds-global-typography-lineHeight-275); /* 44px */ font-weight: var(--sds-global-typography-fontWeight-700); /* bold */ font-family: var(--sds-global-typography-fontFamily-mayoClinicSerif); margin-top:0px; }
.sds-title-primary-4, h3, .h3 { font-size: var(--sds-global-typography-fontSize-200); /* 32px */ line-height: var(--sds-global-typography-lineHeight-225); /* 36px */ font-weight: var(--sds-global-typography-fontWeight-700); /* bold */ font-family: var(--sds-global-typography-fontFamily-mayoClinicSerif); margin-top:0px; }
.sds-title-primary-3, h4, .h4 { font-size: var(--sds-global-typography-fontSize-175); /* 28px */ line-height: var(--sds-global-typography-lineHeight-225); /* 36px */ font-weight: var(--sds-global-typography-fontWeight-700); /* bold */ font-family: var(--sds-global-typography-fontFamily-mayoClinicSerif); margin-top:0px; }
.sds-title-primary-2, h5, .h5 { font-size: var(--sds-global-typography-fontSize-150); /* 24px */ line-height: var(--sds-global-typography-lineHeight-200); /* 32px */ font-weight: var(--sds-global-typography-fontWeight-700); /* bold */ font-family: var(--sds-global-typography-fontFamily-mayoClinicSerif); margin-top:0px; }
.sds-title-primary-1, h6, .h6 { font-size: var(--sds-global-typography-fontSize-125); /* 20px */ line-height: var(--sds-global-typography-lineHeight-150); /* 24px */ font-weight: var(--sds-global-typography-fontWeight-700); /* bold */ font-family: var(--sds-global-typography-fontFamily-mayoClinicSerif); margin-top:0px; }

.sds-title-secondary-3 { font-size: var(--sds-global-typography-fontSize-188); /* 30px */ line-height: var(--sds-global-typography-lineHeight-225); /* 36px */ font-weight: var(--sds-global-typography-fontWeight-700); /* bold */ font-family: var(--sds-global-typography-fontFamily-mayoClinicSans); }
.sds-title-secondary-2 { font-size: var(--sds-global-typography-fontSize-150); /* 24px */ line-height: var(--sds-global-typography-lineHeight-200); /* 32px */ font-weight: var(--sds-global-typography-fontWeight-700); /* bold */ font-family: var(--sds-global-typography-fontFamily-mayoClinicSans); }
.sds-title-secondary-1 { font-size: var(--sds-global-typography-fontSize-125); /* 20px */ line-height: var(--sds-global-typography-lineHeight-150); /* 24px */ font-weight: var(--sds-global-typography-fontWeight-700); /* bold */ font-family: var(--sds-global-typography-fontFamily-mayoClinicSans); }

.sds-text-body-large, .has-large-font-size
    { font-size: var(--sds-global-typography-fontSize-150); /* 24px */ line-height: var(--sds-global-typography-lineHeight-200); /* 32px */ font-weight: var(--sds-global-typography-fontWeight-400); /* regular */ font-family: var(--sds-global-typography-fontFamily-mayoClinicSans); /*margin-bottom: var(--sds-global-typography-paragraphSpacing-125); /* 20px */ }
.sds-text-body-medium, .has-medium-font-size, .wp-block-buttons a.wp-block-button__link 
    { font-size: var(--sds-global-typography-fontSize-125); /* 20px */ line-height: var(--sds-global-typography-lineHeight-175); /* 28px */ font-weight: var(--sds-global-typography-fontWeight-400); /* regular */ font-family: var(--sds-global-typography-fontFamily-mayoClinicSans); /*margin-bottom: var(--sds-global-typography-paragraphSpacing-75); /* 12px */ }
.sds-text-body-small, .has-small-font-size
    { font-size: var(--sds-global-typography-fontSize-100); /* 16px */ line-height: var(--sds-global-typography-lineHeight-150); /* 24px */ font-weight: var(--sds-global-typography-fontWeight-400); /* regular */ font-family: var(--sds-global-typography-fontFamily-mayoClinicSans); /*margin-bottom: var(--sds-global-typography-paragraphSpacing-75); /* 12px */ }

/* Wordpress overrides */
:root {
    --wp--preset--font-size--large:  var(--sds-global-typography-fontSize-150);
    --wp--preset--font-size--medium: var(--sds-global-typography-fontSize-125);
    --wp--preset--font-size--small:  var(--sds-global-typography-fontSize-100);
}

/* forms and CF7 */
label {font-size: var(--sds-global-typography-fontSize-125); line-height: var(--sds-global-typography-lineHeight-175); font-weight: bold; width: 100%; margin:0;}
input[type="text"], input[type="password"], input[type="tel"], input[type="email"], textarea, select {width:100%; margin-top:8px; font-weight:normal; padding: 8px 16px; font-size: var(--sds-global-typography-fontSize-125); line-height: var(--sds-global-typography-lineHeight-175); border-radius: 4px; min-height:48px; border: 1px solid #000; transition: none;}

.wpcf7-form p {margin-bottom:32px;}
span.wpcf7-checkbox {display: flex; flex-direction: column; margin-top:16px; gap:16px;}
.wpcf7-list-item { display: block; margin: 0;}
.wpcf7-list-item-label {font-weight: normal;}
.wpcf7-list-item label {display: flex; align-items: center;}

.wpcf7-form-control-wrap {position: relative; display:block;}
.wpcf7-select {-webkit-appearance: none; -moz-appearance: none; appearance: none; background: transparent;}
.wpcf7-form-control-wrap:has(select):after {content: ""; right: 16px; top: 11px; width: 24px; height: 24px; position: absolute; z-index: -1; background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 19.4141L1.29297 8.70703L2.70703 7.29297L12 16.5859L21.293 7.29297L22.707 8.70703L12 19.4141Z' fill='%23080808'/%3E%3C/svg%3E");}

.wpcf7-submit, .btn {padding: 10px var(--sds-global-dimension-space-400); border-width: 1px; border-radius:100px; font-size: var(--sds-global-typography-fontSize-125); line-height: var(--sds-global-typography-lineHeight-175); }
.wpcf7-submit, .btn-primary {color: #fff; background: var(--sds-semantic-color-action-background-primary-default); border-color: #0057b8;}
.wpcf7-submit:hover, .btn-primary:hover {background: var(--sds-semantic-color-action-background-primary-hover);}
.wpcf7-submit:focus, .wpcf7-submit:active, .btn-primary:focus, .btn-primary:active {background: var(--sds-semantic-color-action-background-primary-active);}
.wpcf7-not-valid-tip {font-size: var(--sds-global-typography-fontSize-100); line-height: var(--sds-global-typography-lineHeight-150); margin-top: 8px; color: var(-sds-semantic-color-feedback-background-error); }

input[type="checkbox"] { box-sizing: border-box; min-width: 24px; min-height: 24px; max-width: 24px; max-height: 24px; width: 24px; height: 24px; margin: 2px 0px 0px; padding: 0px; border: 1px solid var(--sds-semantic-color-border-primary); appearance: none; background-color: transparent; outline: none; border-radius: var(--sds-global-shape-border-radius-50); margin-inline-end: var(--sds-global-dimension-space-150); transition: opacity 0.2s ease-in-out; }
input.wpcf7-not-valid {border-color: var(--sds-semantic-color-border-error); box-shadow: inset 0 0 0 1px var(--sds-semantic-color-border-error);}
input[type="checkbox"]:checked { background-color:rgb(8,8,8); background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns%3D%22http%3A//www.w3.org/2000/svg%22 viewBox%3D%220 0 16 16%22%3E%3Cpolygon points%3D%226 13.414 1.293 8.707 2.707 7.293 6 10.586 13.293 3.293 14.707 4.707 6 13.414%22 fill%3D%22white%22/%3E%3C/svg%3E"); background-size: 16px 16px; background-repeat: no-repeat; background-position: center center; }

input:focus, input:active, textarea:focus, textarea:active, select:focus, select:active { outline: 2px dashed var(--sds-global-color-palette-blue-36); outline-offset: 2px; -webkit-box-shadow: inset 0 0 0 1px var(--sds-global-color-palette-blue-36); box-shadow: inset 0 0 0 1px var(--sds-global-color-palette-blue-36); border: 1px solid var(--sds-global-color-palette-blue-36) !important; }
input[type="checkbox"]:focus, input[type="checkbox"]:active { outline: 2px dashed var(--sds-global-color-palette-blue-36); outline-offset: 2px; -webkit-box-shadow: none !important; box-shadow: none !important; border: 1px solid var(--sds-semantic-color-border-primary) !important; }

input[type="radio"] { box-sizing: border-box; min-width: 24px; min-height: 24px; max-width: 24px; max-height: 24px; width: 24px; height: 24px; margin: 2px 0px 0px; padding: 0px; margin-inline-end: var(--sds-global-dimension-space-150); border: 1px solid var(--sds-semantic-color-border-primary); border-radius: 50%; appearance: none; background-color: rgb(255, 255, 255); outline: none; }

.wpcf7-response-output, .alert { border: 2px solid var(--border-color, var(--sds-semantic-color-border-primary)) !important; border-radius: var(--sds-global-shape-border-radius-100); padding: var(--sds-global-dimension-space-200) !important; background: #fff; color: var(--ch-text-color) !important; }
.alert-danger {--border-color: var(--sds-semantic-color-border-error);}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {--border-color: var(--sds-semantic-color-border-warning);}
.wpcf7 form.sent .wpcf7-response-output {--border-color: var(--sds-semantic-color-border-success);}

.alert h4 {font-weight: var(--sds-global-typography-fontWeight-700); font-size: var(--sds-global-typography-fontSize-125); line-height: var(--sds-global-typography-lineHeight-125); font-family: var(--sds-global-typography-fontFamily-mayoClinicSans);}