/* Buttons */

.buttonPrimary,
.buttonSecondary {
    user-select: none;
    pointer-events: all;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: var(--button-hover-transition);
    isolation: isolate;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 1;
    box-sizing: border-box;
}
.buttonPrimary {
    color: var(--button-primary-text);
    background-color: var(--button-primary-bg);
    border: solid 1px var(--button-primary-border);
    border-radius: var(--button-primary-border-radius);
}
.buttonSecondary {
    border: solid 1px var(--button-secondary-border);
    border-radius: var(--button-secondary-border-radius);
    background-color: var(--button-secondary-bg);
    padding: 10px 20px;
    color: var(--button-secondary-text);
}

body.hasHover .buttonPrimary:hover,
body.hasHover .buttonSecondary:hover {
    box-shadow: var(--button-hover-shadow);
    background-color: var(--button-primary-hover-bg);
    color: var(--button-primary-hover-text);
}
body.hasHover .buttonSecondary:hover {
    background-color: var(--button-secondary-hover-bg);
    color: var(--button-secondary-hover-text);
}

body.hasHover .buttonPrimary:hover i {
    color: var(--button-primary-hover-text);
}

body.hasHover .buttonSecondary:hover,
body.hasHover .buttonSecondary:hover i {
    color: var(--button-secondary-hover-text);
}

.buttonCta {
    border-radius: var(--button-cta-border-radius);
    background-color: var(--button-secondary-bg);
}

body .buttonControl {
    width: 40px;
    height: 40px;
    border-width: 1px;
    border-style: solid;
    border-radius: var(--button-control-border-radius);
    background-color: var(--button-control-bg);
    color: var(--button-control-text);
    border-color: var(--button-control-border);
}
.fancybox__nav .f-button.buttonControl:before,
.buttonControl::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    mask-size: 70%;
    mask-repeat: no-repeat;
    mask-position: center;
    background-color: var(--button-control-text);
}

body.hasHover .buttonControl:hover {
    background-color: var(--button-control-hover-bg);
}
body.hasHover .buttonControl:hover::before {
    background-color: var(--button-control-hover-text);
}

.buttonPrimary.buttonWithText {
    text-transform: uppercase;
    padding: 15px 30px;
}
.buttonWithText img {
    width: 24px;
    height: 24px;
    vertical-align: middle;
    margin: -10px 10px -10px -10px;
}

.buttonSecondary,
.buttonWithText {
    width: auto;
    height: auto;
    font-size: 1rem;
    display: inline-block;
    line-height: 1;
    text-decoration: none;
}

.buttonPrimary i {
    color: var(--button-primary-text);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.5em;
    line-height: normal;
    font-weight: 100;
    padding: 0;
    margin: 0;
    z-index: 1;
    pointer-events: none;
}

.buttonSecondary i {
    color: var(--button-secondary-text);
    position: relative;
    top: 0;
    left: 0;
    transform: none;
    vertical-align: middle;
    font-size: 13px;
    line-height: 1em;
}

button[disabled],
.buttonControl[disabled],
.buttonDisabled {
    pointer-events: none;
    opacity: 0.3;
}

/* Control Buttons with Icons */
.homeButton::before {
    mask-image: var(--iconHome);
}

.buttonControl[title="Close"]::before,
.closeButton::before,
.helpScreenClose::before,
.menuCloseButton::before {
    mask-image: var(--iconClose);
}

.f-button.is-prev::before,
.prevButton::before {
    mask-image: var(--iconPrev);
}

.f-button.is-next::before,
.nextButton::before {
    mask-image: var(--iconNext);
}

.fullscreenButtonEnter::before {
    mask-image: var(--iconFullscreen);
}

.fullscreenButtonExit::before {
    mask-image: var(--iconFullscreenExit);
}

.menuOpenButton::before {
    mask-image: var(--iconMenu);
}

.backButton::before {
    mask-image: var(--iconBack);
}
