﻿/********************************************** 
partbutton-1.1
**********************************************/

/* partButtonContentContainer */
.partButtonContentContainer 						{display: flex; flex-wrap: wrap; padding-bottom: 15px;}
.partButtonContentContainer .partButton 			{margin-right: 15px; margin-bottom: 15px;}
.partButtonContentContainer .partButton:last-child 	{margin-right: 0px;}

/* partButton */
.partButton {
    font-family: inherit;
    background-color: transparent;
    position: relative;
    text-decoration: none;
    cursor: pointer;
    outline: 0;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
    border: none;
    max-width: 100%;
    vertical-align: top;
    font-size:inherit;
}

    /* label */
    .buttonLabel {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        z-index: 1;
        line-height: 1.3em;
    }

    /* icon */
    .buttonIcon {
        z-index: 1;
    }

    .buttonIcon + .buttonLabel {
        margin-left: 6px;
    }

    .buttonLabel + .buttonIcon {
        margin-left: 6px;
    }

    .buttonIcon svg {
        fill: #fff;
        display: block; /* iOS align verical bug fix */
        height: 14px;
        max-width: 14px;
    }

    /* primary button */
    .partButton, .formV2 .partButton {
        height: 36px;
        padding: 0px 15px;
        padding-bottom: 2px;
        font-size: 18px;
        font-weight: 700;
        background-color: #00a895;
        text-transform: uppercase;
        color: #fff;
        margin-bottom: 30px;
        transition: box-shadow .15s ease-in-out /* :focus */, transform .15s /* active & selected */; 
    }

    /* underline */
    .partButton.underline {
        padding:0;
        height:auto;
        padding-bottom: 4px;
        background-color: transparent;
        border-bottom: solid 2px #00a895;
        color: #00a895;
        transition: border-color 0.3s ease, color 0.3s ease;
        text-transform: none;
        font-size: 16px;
    }

    .partButton.underline:after {
        display: none;
    }

    .partButton.underline:hover {
        border-color: #F39200;
        color: #F39200;
    }

    /* outline */
    .partButton.outline {
        background-color: transparent;
        border: solid 2px #00a895;
        color: #00a895;
        transition: background-color 0.3s ease;
        text-transform: none;
    }

    .partButton.outline:after {
        display: none;
    }

    .partButton.outline:hover {
        background-color: #00a895;
        color: #fff;
    }

    /* naked */
    .partButton.naked {
        padding:1px;
        height:auto;
        background-color: transparent;
        color: #000;
        transition: color 0.3s ease;
        text-transform: none;
        font-size: 14px;
        margin-bottom: 0;
        font-weight: 600;
    }

    .partButton.naked .buttonIcon + .buttonLabel {
        margin-left: 4px;
    } 

    .partButton.naked .buttonIcon svg {
        fill: #000;
        height: 14px;
        max-width: 14px;
    }

    .partButton.naked:after {
        display: none;
    }

    .partButton.naked:hover {
        text-decoration: underline;
    }

    /* hover */
    @media screen and (min-width: 1025px) {
       
        /* fundemental */
        .partButton:after {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;
            transition: background-color .3s ease-in-out;
        }

        /* default */
        .partButton:hover:after {
            background-color:#F39200;
        }
    }

    /* responsive / mobile */
    @media screen and (max-width: 1024px) {
        .partButton {
            font-size: 14px;
            padding-left: 12px; padding-right: 12px;
        }
        
        /* enable mobile hover effect */
        .partButton:before {
            content: '';
            display: block;
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            pointer-events: none;
            background-image: radial-gradient(circle, #fff 10%, transparent 10.01%);
            background-repeat: no-repeat;
            background-position: 50%;
            transform: scale(10, 10);
            opacity: 0;
            transition: transform .5s, opacity 1s;
        }
        
        .partButton:active:before {
            transform: scale(0, 0);
            opacity: .3;
            transition: 0s;
        }
    }

    /* focus */
    .partButton:focus {
        box-shadow: 0 0 0 0.2rem rgba(0,0,0,.1);
    }

    /* active */
    .partButton:active {
        transform: translateY(2px);
    }

    /* logic states */
    
        /* selected */
        .partButton.selected {
            transform: scale(1.05);
        }

        /* disabled */
        .partButton.disabled {
            opacity: 0.6;
            -webkit-filter: grayscale(1);
            filter: grayscale(1);
            cursor: not-allowed;
        }

        .partButton.disabled:after, .partButton.disabled:before {
            display: none;
        }

        .partButton.disabled:active {
            transform: none;
        }

        /* loading */
        .partButton.loading {
            pointer-events: none;
        }

        .partButton.loading:after {
            animation-delay: 1.5s;
            animation: loadingBar 1s infinite;
            background: rgba(0, 0, 0, 0.3);
            content: '';
            display: block;
            height: 5px;
            left: 0;
            padding: 0;
            position: absolute;
            top: 0;
            width: 1rem;
        }

        @keyframes loadingBar {0% {left: 0; width: 0; } 50% {left: 0; width: 100%; } 100% {left: 100%; width: 0;}}