.templatebuilder_PLUG_element_maincontainer_MainContainer {
    font-family: sans-serif;
    box-sizing: border-box;
    font-size: 1em;
    color: #909090;
    cursor: auto;
}

html {
    height: 100%;
}

/*
Portal pages often insert extra elements which can produce unnecessary gaps. To avoid this, we hide empty elements without CSS classes.
This means every empty element that should be visible must have a CSS class.
*/
.templatebuilder_PLUG_element_maincontainer_MainContainer > :not([class]):empty {
    display: none;
}

/*
All elements without a set width in row-oriented containers need to grow to fill available space.

Class naming conventions:
- .ContentDirectionRow-* classes are added to containers with row content orientation in templatebuilder_PLUG_element_container_Base
- .ElementHasWidthAuto classes are added to elements without a set width in templatebuilder_element_Base
- .templatebuilder_PLUG_element_dropzone_DropZone selectors ensure proper behavior for elements inside drop zones
*/

@media (min-width: 992px) {
    .ContentDirectionRow-desktop.HorizontalAlignStretch-desktop > *,
    .ContentDirectionRow-desktop.HorizontalAlignStretch-desktop > .templatebuilder_PLUG_element_dropzone_DropZone > * {
        flex-grow: 1;
    }

    .ContentDirectionRow-desktop.VerticalAlignStretch-desktop > *,
    .ContentDirectionRow-desktop.VerticalAlignStretch-desktop > .templatebuilder_PLUG_element_dropzone_DropZone > * {
        align-self: stretch;
    }

    .ContentDirectionColumn-desktop.VerticalAlignStretch-desktop > *,
    .ContentDirectionColumn-desktop.VerticalAlignStretch-desktop > .templatebuilder_PLUG_element_dropzone_DropZone > * {
        flex-grow: 1;
    }

    .ContentDirectionColumn-desktop.HorizontalAlignStretch-desktop > *,
    .ContentDirectionColumn-desktop.HorizontalAlignStretch-desktop > .templatebuilder_PLUG_element_dropzone_DropZone > * {
        align-self: stretch;
    }

    .ContentDirectionRow-desktop.HorizontalAlignStretch-desktop > .ElementHasntWidthAuto-desktop,
    .ContentDirectionRow-desktop.HorizontalAlignStretch-desktop > .templatebuilder_PLUG_element_dropzone_DropZone > .ElementHasntWidthAuto-desktop{
        flex-grow: 0;
    }

    .ContentDirectionRow-desktop.VerticalAlignStretch-desktop > .ElementHasntHeightAuto-desktop,
    .ContentDirectionRow-desktop.VerticalAlignStretch-desktop > .templatebuilder_PLUG_element_dropzone_DropZone > .ElementHasntHeightAuto-desktop {
        align-self: auto;
    }

    .ContentDirectionColumn-desktop.VerticalAlignStretch-desktop > .ElementHasntHeightAuto-desktop,
    .ContentDirectionColumn-desktop.VerticalAlignStretch-desktop > .templatebuilder_PLUG_element_dropzone_DropZone > .ElementHasntHeightAuto-desktop {
        flex-grow: 0;
    }

    .ContentDirectionColumn-desktop.HorizontalAlignStretch-desktop > .ElementHasntWidthAuto-desktop,
    .ContentDirectionColumn-desktop.HorizontalAlignStretch-desktop > .templatebuilder_PLUG_element_dropzone_DropZone > .ElementHasntWidthAuto-desktop {
        align-self: auto;
    }

    .ContentDirectionRow-desktop > .ElementHasHeightFull-desktop,
    .ContentDirectionRow-desktop > .templatebuilder_PLUG_element_dropzone_DropZone > .ElementHasHeightFull-desktop {
        /* We need !important because builder-generated rules use element IDs (higher specificity) with user-set values */
        height: auto !important;
        align-self: stretch;
    }
}

@media (max-width: 991.98px) and (min-width: 575.99px) {
    .ContentDirectionRow-tablet.HorizontalAlignStretch-tablet > *,
    .ContentDirectionRow-tablet.HorizontalAlignStretch-tablet > .templatebuilder_PLUG_element_dropzone_DropZone > * {
        flex-grow: 1;
    }

    .ContentDirectionRow-tablet.VerticalAlignStretch-tablet > *,
    .ContentDirectionRow-tablet.VerticalAlignStretch-tablet > .templatebuilder_PLUG_element_dropzone_DropZone > * {
        align-self: stretch;
    }

    .ContentDirectionColumn-tablet.VerticalAlignStretch-tablet > *,
    .ContentDirectionColumn-tablet.VerticalAlignStretch-tablet > .templatebuilder_PLUG_element_dropzone_DropZone > * {
        flex-grow: 1;
    }

    .ContentDirectionColumn-tablet.HorizontalAlignStretch-tablet > *,
    .ContentDirectionColumn-tablet.HorizontalAlignStretch-tablet > .templatebuilder_PLUG_element_dropzone_DropZone > * {
        align-self: stretch;
    }

    .ContentDirectionRow-tablet.HorizontalAlignStretch-tablet > .ElementHasntWidthAuto-tablet,
    .ContentDirectionRow-tablet.HorizontalAlignStretch-tablet > .templatebuilder_PLUG_element_dropzone_DropZone > .ElementHasntWidthAuto-tablet {
        flex-grow: 0;
    }

    .ContentDirectionRow-tablet.VerticalAlignStretch-tablet > .ElementHasntHeightAuto-tablet,
    .ContentDirectionRow-tablet.VerticalAlignStretch-tablet > .templatebuilder_PLUG_element_dropzone_DropZone > .ElementHasntHeightAuto-tablet {
        align-self: auto;
    }

    .ContentDirectionColumn-tablet.VerticalAlignStretch-tablet > .ElementHasntHeightAuto-tablet,
    .ContentDirectionColumn-tablet.VerticalAlignStretch-tablet > .templatebuilder_PLUG_element_dropzone_DropZone > .ElementHasntHeightAuto-tablet {
        flex-grow: 0;
    }

    .ContentDirectionColumn-tablet.HorizontalAlignStretch-tablet > .ElementHasntWidthAuto-tablet,
    .ContentDirectionColumn-tablet.HorizontalAlignStretch-tablet > .templatebuilder_PLUG_element_dropzone_DropZone > .ElementHasntWidthAuto-tablet {
        align-self: auto;
    }

    .ContentDirectionRow-tablet > .ElementHasHeightFull-tablet,
    .ContentDirectionRow-tablet > .templatebuilder_PLUG_element_dropzone_DropZone > .ElementHasHeightFull-tablet {
        /* We need !important because builder-generated rules use element IDs (higher specificity) with user-set values */
        height: auto !important;
        align-self: stretch;
    }
}

@media (max-width: 575.98px) {
    .ContentDirectionRow-mobile.HorizontalAlignStretch-mobile > *,
    .ContentDirectionRow-mobile.HorizontalAlignStretch-mobile > .templatebuilder_PLUG_element_dropzone_DropZone > * {
        flex-grow: 1;
    }

    .ContentDirectionRow-mobile.VerticalAlignStretch-mobile > *,
    .ContentDirectionRow-mobile.VerticalAlignStretch-mobile > .templatebuilder_PLUG_element_dropzone_DropZone > * {
        align-self: stretch;
    }

    .ContentDirectionColumn-mobile.VerticalAlignStretch-mobile > *,
    .ContentDirectionColumn-mobile.VerticalAlignStretch-mobile > .templatebuilder_PLUG_element_dropzone_DropZone > * {
        flex-grow: 1;
    }

    .ContentDirectionColumn-mobile.HorizontalAlignStretch-mobile > *,
    .ContentDirectionColumn-mobile.HorizontalAlignStretch-mobile > .templatebuilder_PLUG_element_dropzone_DropZone > * {
        align-self: stretch;
    }

    .ContentDirectionRow-mobile.HorizontalAlignStretch-mobile > .ElementHasntWidthAuto-mobile,
    .ContentDirectionRow-mobile.HorizontalAlignStretch-mobile > .templatebuilder_PLUG_element_dropzone_DropZone > .ElementHasntWidthAuto-mobile {
        flex-grow: 0;
    }

    .ContentDirectionRow-mobile.VerticalAlignStretch-mobile > .ElementHasntHeightAuto-mobile,
    .ContentDirectionRow-mobile.VerticalAlignStretch-mobile > .templatebuilder_PLUG_element_dropzone_DropZone > .ElementHasntHeightAuto-mobile {
        align-self: auto;
    }

    .ContentDirectionColumn-mobile.VerticalAlignStretch-mobile > .ElementHasntHeightAuto-mobile,
    .ContentDirectionColumn-mobile.VerticalAlignStretch-mobile > .templatebuilder_PLUG_element_dropzone_DropZone > .ElementHasntHeightAuto-mobile {
        flex-grow: 0;
    }

    .ContentDirectionColumn-mobile.HorizontalAlignStretch-mobile > .ElementHasntWidthAuto-mobile,
    .ContentDirectionColumn-mobile.HorizontalAlignStretch-mobile > .templatebuilder_PLUG_element_dropzone_DropZone > .ElementHasntWidthAuto-mobile {
        align-self: auto;
    }

    .ContentDirectionRow-mobile > .ElementHasHeightFull-mobile,
    .ContentDirectionRow-mobile > .templatebuilder_PLUG_element_dropzone_DropZone > .ElementHasHeightFull-mobile {
        /* We need !important because builder-generated rules use element IDs (higher specificity) with user-set values */
        height: auto !important;
        align-self: stretch;
    }
}

.templatebuilder_PLUG_element_static_Image img {
    border: 0;
    -ms-interpolation-mode: bicubic;
}

.templatebuilder_PLUG_element_static_Image svg:not(:root) {
    overflow: hidden;
}

.templatebuilder_PLUG_element_static_Image_PictureElement {
    display: flex;
}

.templatebuilder_PLUG_element_static_Image_PictureElement,
.templatebuilder_PLUG_element_static_Image_Img {
    width: 100%;
    height: 100%;
}

.templatebuilder_PLUG_element_static_Image_Img {
    align-self: flex-start;
    object-fit: contain;
}

.templatebuilder_PLUG_element_static_Image.autoWidth,
.templatebuilder_PLUG_element_static_Image.autoWidth .templatebuilder_PLUG_element_static_Image_PictureElement,
.templatebuilder_PLUG_element_static_Image.autoWidth .templatebuilder_PLUG_element_static_Image_Img {
    width: fit-content;
}

.templatebuilder_PLUG_element_static_Image.autoHeight,
.templatebuilder_PLUG_element_static_Image.autoHeight .templatebuilder_PLUG_element_static_Image_PictureElement,
.templatebuilder_PLUG_element_static_Image.autoHeight .templatebuilder_PLUG_element_static_Image_Img {
    height: fit-content;
}

.templatebuilder_PLUG_element_static_Image_BoldLabel .templatebuilder_element_editor_GridFieldLabel {
    font-weight: bold;
}

@supports (-webkit-hyphens:none){
    .templatebuilder_PLUG_element_static_Image_PictureElement {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .templatebuilder_PLUG_element_static_Image.autoWidth,
    .templatebuilder_PLUG_element_static_Image.autoWidth .templatebuilder_PLUG_element_static_Image_PictureElement,
    .templatebuilder_PLUG_element_static_Image.autoWidth .templatebuilder_PLUG_element_static_Image_Img {
        width: auto;
    }

    .templatebuilder_PLUG_element_static_Image.autoHeight,
    .templatebuilder_PLUG_element_static_Image.autoHeight .templatebuilder_PLUG_element_static_Image_PictureElement,
    .templatebuilder_PLUG_element_static_Image.autoHeight .templatebuilder_PLUG_element_static_Image_Img {
        height: auto;
    }
}

.portal_theme_builder_element_PortalImage_Img {
    width: 100%;
    height: 100%;
}
.portal_theme_builder_element_PortalVideo_Image {
    width: inherit;
    height: inherit;
    max-width: inherit;
    min-width: inherit;
    max-height: inherit;
    min-height: inherit;
    background-color: var(--tin-neutral300);
}

.DefaultPortalVideo {
    height: 100%;
}

.portal_theme_builder_element_PortalVideo_IframeWithAutoWidth .portal_theme_builder_element_PortalVideo_Image {
    width: auto;
}

.portal_theme_builder_element_PortalVideo_IframeWithFullWidth .DefaultPortalVideo,
.portal_theme_builder_element_PortalVideo_IframeWithFullWidth .portal_theme_builder_element_PortalVideo_Image {
    width: 100%;
}

.portal_theme_builder_element_PortalVideo_IframeWithFixedWidth .DefaultPortalVideo,
.portal_theme_builder_element_PortalVideo_IframeWithFixedWidth .portal_theme_builder_element_PortalVideo_Image {
    width: 100%;
}

.templatebuilder_PLUG_element_container_Carousel {
    --items-per-slide: 3;
    --animation-duration: 0.6;
    --grid-gap: 10px;
    --primary-color: var(--tin-primary500);
    --secondary-color: #ffffff;
    --size: 20px;
    transition: opacity 0.2s ease-in;
}

.templatebuilder_PLUG_element_container_Carousel_Hidden {
    opacity: 0;
}

.uicore_layout_Grid_rowGapXL:has(.templatebuilder_PLUG_element_container_Carousel_ProgressStyle) {
    grid-row-gap: unset;
}

.uicore_layout_Grid_rowGapXL:has(.templatebuilder_PLUG_element_container_Carousel_ProgressStyle) > .templatebuilder_element_editor_GridFieldItem {
    margin-bottom: 1rem;
}

.templatebuilder_PLUG_element_container_Carousel_Container {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.templatebuilder_PLUG_element_container_Carousel_UpperHalf {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-grow: 1;
    overflow: hidden;
}

.templatebuilder_PLUG_element_container_Carousel_LowerHalf {
    display: flex;
    justify-content: center;
    align-items: center;
}

.templatebuilder_PLUG_element_container_Carousel_PreviousButtonWrapper,
.templatebuilder_PLUG_element_container_Carousel_NextButtonWrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    background-color: transparent;
    border-color: transparent;
    user-select: none;
    cursor: pointer;
    outline: none;
}

.templatebuilder_PLUG_element_container_Carousel_PreviousButton::after,
.templatebuilder_PLUG_element_container_Carousel_NextButton::after {
    mask-size: 55%;
    aspect-ratio: 1;
}

.templatebuilder_PLUG_element_container_Carousel_PreviousButton::after,
.templatebuilder_PLUG_element_container_Carousel_NextButton::after,
.templatebuilder_PLUG_element_container_Carousel_ProgressButtons::after,
.templatebuilder_PLUG_element_container_Carousel_AutoplayButton::after {
    content: " ";
    mask-position: center center;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    display: block;
}

.templatebuilder_PLUG_element_container_Carousel_ProgressButtons[class*="templatebuilder_PLUG_element_container_Carousel_dot-"] {
    background: var(--secondary-color);
    border-radius: 50%;
    width: min-content;
    height: min-content;
}
.templatebuilder_PLUG_element_container_Carousel_ProgressButtons[class*="templatebuilder_PLUG_element_container_Carousel_dot-"],
.templatebuilder_PLUG_element_container_Carousel_ProgressButtons[class*="templatebuilder_PLUG_element_container_Carousel_number-"] {
    cursor: pointer;
}

.templatebuilder_PLUG_element_container_Carousel_ProgressButtons[class*="templatebuilder_PLUG_element_container_Carousel_dot-"]::after {
    width: var(--size);
    height: var(--size);
    background-color: var(--primary-color);
    mask-size: contain;
}
.templatebuilder_PLUG_element_container_Carousel_ProgressButtons[class*="templatebuilder_PLUG_element_container_Carousel_counter-"]::after {
    content: "";
}

.templatebuilder_PLUG_element_container_Carousel_ProgressButtons[class*="templatebuilder_PLUG_element_container_Carousel_number-"]::after {
    content: attr(data-progress-slide);
}

.templatebuilder_PLUG_element_container_Carousel_ProgressButtons[class*="templatebuilder_PLUG_element_container_Carousel_number-"] {
    display: flex;
    align-items: center;
    font-size: calc(var(--size) * 0.5);
    padding: 0.3em 0.6em;
    border-radius: 4px;
    border: 2px solid var(--primary-color);
    color: var(--primary-color);
    background-color: var(--secondary-color);
}
.templatebuilder_PLUG_element_container_Carousel_ProgressButtons.templatebuilder_PLUG_element_container_Carousel_number-selected {
    color: var(--secondary-color);
    background-color: var(--primary-color);
}

.templatebuilder_PLUG_element_container_Carousel_ProgressButtonsWrapper {
    display: flex;
    margin: 20px 0.5rem 0;
}

.templatebuilder_PLUG_element_container_Carousel_ProgressButtons {
    display: flex;
    user-select: none;
    color: var(--primary-color);
    border: none;
    padding: 0;
}

.templatebuilder_PLUG_element_container_Carousel_CarouselContent {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    overflow: hidden;
}

.templatebuilder_PLUG_element_container_Carousel_CarouselContent:empty {
    place-content: center;
}

.templatebuilder_PLUG_element_container_Carousel_Slide {
    position: relative;
    display: flex;
    height: 100%;
    flex: 0 0 calc(100% - var(--grid-gap));
    width: calc(100% - var(--grid-gap));
    gap: var(--grid-gap);
    padding: 0 calc(var(--grid-gap) / 2);
    transition: transform calc(1s * var(--animation-duration)) ease-in-out;
}

.templatebuilder_PLUG_element_container_Carousel_Slide > .templatebuilder_element_Base,
.templatebuilder_PLUG_element_container_Carousel_Slide > [id^="Divider"] {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc((100% + var(--grid-gap)) / var(--items-per-slide) - var(--grid-gap));
    max-width: calc((100% + var(--grid-gap)) / var(--items-per-slide) - var(--grid-gap));
    box-sizing: border-box;
    overflow: hidden;
}

.templatebuilder_PLUG_element_container_Carousel .disabled-item {
    opacity: 0.5;
    pointer-events: none;
}

.templatebuilder_PLUG_element_container_Carousel_PreviousButton.templatebuilder_PLUG_element_container_Carousel_Icon-arrow::after {
    mask-image: url('../cssImages/templatebuilder/elements/carousel/prevNextButtons/prev-arrow.svg');
    -webkit-mask-image: url('../cssImages/templatebuilder/elements/carousel/prevNextButtons/prev-arrow.svg');
}

.templatebuilder_PLUG_element_container_Carousel_PreviousButton.templatebuilder_PLUG_element_container_Carousel_Icon-caret::after {
    mask-image: url('../cssImages/templatebuilder/elements/carousel/prevNextButtons/prev-caret.svg');
    -webkit-mask-image: url('../cssImages/templatebuilder/elements/carousel/prevNextButtons/prev-caret.svg');
}

.templatebuilder_PLUG_element_container_Carousel_PreviousButton.templatebuilder_PLUG_element_container_Carousel_Icon-triangle::after {
    mask-image: url('../cssImages/templatebuilder/elements/carousel/prevNextButtons/prev-triangle.svg');
    -webkit-mask-image: url('../cssImages/templatebuilder/elements/carousel/prevNextButtons/prev-triangle.svg');
}

.templatebuilder_PLUG_element_container_Carousel_NextButton.templatebuilder_PLUG_element_container_Carousel_Icon-arrow::after {
    mask-image: url('../cssImages/templatebuilder/elements/carousel/prevNextButtons/next-arrow.svg');
    -webkit-mask-image: url('../cssImages/templatebuilder/elements/carousel/prevNextButtons/next-arrow.svg');
}

.templatebuilder_PLUG_element_container_Carousel_NextButton.templatebuilder_PLUG_element_container_Carousel_Icon-caret::after {
    mask-image: url('../cssImages/templatebuilder/elements/carousel/prevNextButtons/next-caret.svg');
    -webkit-mask-image: url('../cssImages/templatebuilder/elements/carousel/prevNextButtons/next-caret.svg');
}

.templatebuilder_PLUG_element_container_Carousel_NextButton.templatebuilder_PLUG_element_container_Carousel_Icon-triangle::after {
    mask-image: url('../cssImages/templatebuilder/elements/carousel/prevNextButtons/next-triangle.svg');
    -webkit-mask-image: url('../cssImages/templatebuilder/elements/carousel/prevNextButtons/next-triangle.svg');
}

.templatebuilder_PLUG_element_container_Carousel_ProgressButtons.templatebuilder_PLUG_element_container_Carousel_dot-more::after {
    mask-image: url('../cssImages/templatebuilder/elements/carousel/progressButtons/dot-more.svg');
    -webkit-mask-image: url('../cssImages/templatebuilder/elements/carousel/progressButtons/dot-more.svg');
}

.templatebuilder_PLUG_element_container_Carousel_ProgressButtons.templatebuilder_PLUG_element_container_Carousel_dot-repose::after {
    mask-image: url('../cssImages/templatebuilder/elements/carousel/progressButtons/dot-repose.svg');
    -webkit-mask-image: url('../cssImages/templatebuilder/elements/carousel/progressButtons/dot-repose.svg');
}

.templatebuilder_PLUG_element_container_Carousel_ProgressButtons.templatebuilder_PLUG_element_container_Carousel_dot-selected::after {
    mask-image: url('../cssImages/templatebuilder/elements/carousel/progressButtons/dot-selected.svg');
    -webkit-mask-image: url('../cssImages/templatebuilder/elements/carousel/progressButtons/dot-selected.svg');
}

.templatebuilder_PLUG_element_container_Carousel_AutoplayButton::after {
    mask-image: url('../cssImages/templatebuilder/elements/carousel/pause.svg');
    -webkit-mask-image: url('../cssImages/templatebuilder/elements/carousel/pause.svg');
}

.templatebuilder_PLUG_element_container_Carousel_PreviousButtonWrapper:focus-visible .templatebuilder_PLUG_element_container_Carousel_Icon-arrow,
.templatebuilder_PLUG_element_container_Carousel_NextButtonWrapper:focus-visible .templatebuilder_PLUG_element_container_Carousel_Icon-arrow {
    outline-style: auto;
}

.templatebuilder_PLUG_element_static_SocialMedia_Nav {
    display: inline-block;
}

.templatebuilder_PLUG_element_static_SocialMedia_SocialLinksList {
    list-style-type: none;
    margin: 0;
    padding-inline-start: 0px;
}

.templatebuilder_PLUG_element_static_SocialMedia_LinkItem {
    background-repeat: no-repeat;
    width: 24px;
    height: 24px;
    text-indent: -3000px;
    display: inline-block;
}

