﻿/********************************************** 
partbutton-1.3
**********************************************/

/* partButton */
.partButton {
    position: relative;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
    max-width: 100%;
    vertical-align: top;
    text-decoration: none; /* underline reset for A element */
    cursor: pointer; /* when a SPAN element is used */
    outline:0; /* outline will be handled with box-shadow or another effect on focus */
    line-height: 1.3em;
}

    /* label */
    .buttonLabel {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
		position: relative;
        z-index: 10;
    }

    /* icon */
    .buttonIcon {
		position: relative;
        z-index: 10;
    }

        .buttonIcon svg {
			height: 16px;  
            max-width: 16px;
            display: block;
        }

    /* icon and label margin */
    .buttonIcon + .buttonLabel, .buttonLabel + .buttonIcon {
        margin-left: 6px;
    }

    /* default */
    .partButton.default {
        font-family: 'Raleway';
        font-size: 16px;
        font-weight: 600;
        height: 36px;
        border-radius: 3px;
        padding: 0px 15px;
        background-color: #89C539;
        color: #fff;
        transition: background-color .3s ease /* hover + focus */, box-shadow .15s ease-in-out /* :focus */, transform 0.15s ease /* active */;
    }

        .partButton.default svg {
            fill: #fff;
        }

        /* hover */
		@media (hover: hover) {
			.partButton.default:not([disabled]):hover, .partButton.default:not([disabled]):focus {
                background-color: #333449;
			}

            .partButton.default:hover svg {
                fill: #fff;
            }
		}	

		/* focus */
		.partButton.default:not([disabled]):focus {
            box-shadow: 0 0 0 0.2rem rgb(0,0,0,0.15);
		}
   
    /* underline */
    .partButton.underline {
        font-size: 16px;
        font-weight: 700;
        color: #333449;
        border-bottom:solid 3px #333449;
        transition: border-color .3s ease /* hover + focus */, transform .15s ease-in-out /* active */;
    }

        /* hover & focus */
        @media (hover: hover) {
            .partButton.underline:hover, .partButton.underline:not([disabled]):focus {
                border-color: #000;
            }
        }
        
    /* outline */
    .partButton.outline {
        font-size: 16px;
        font-weight: 700;
        height:42px;
        border-radius: 3px;
		padding: 0px 15px;
        color: #333449;
        border:solid 2px #333449;
        transition: border-color .3s ease /* hover + focus */, box-shadow .15s ease-in-out /* :focus */, transform .15s ease-in-out /* active */;
    }

        /* hover */
		@media (hover: hover) {
			.partButton.outline:hover, .partButton.outline:focus {
                color: #000;
				border-color: #000;
			}
		}
        
        /* focus */
		.partButton.outline:not([disabled]):focus {
            box-shadow: 0 0 0 0.2rem rgb(0,0,0,0.15);
		}

    /* outline */
    .partButton.outline.white {
      	padding: 0px 15px;
        color: #fff;
        border:solid 2px #fff;
        transition: background-color .3s ease /* hover + focus */, box-shadow .15s ease-in-out /* :focus */, transform .15s ease-in-out /* active */;
    }

        /* hover */
		@media (hover: hover) {
			.partButton.outline.white:hover, .partButton.outline.white:focus {
                background-color: #fff;
                color: #333449;
			}
		}
        
        /* focus */
		.partButton.outline.white:not([disabled]):focus {
            box-shadow: 0 0 0 0.2rem rgb(0,0,0,0.15);
		}

	/* enable mobile hover effect */
    @media (hover: none) {      
        .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;
        }
    }

    /* logic states */
        .partButton.selected {
        
        }
    
        /* disabled */
        .partButton.disabled {
            opacity: 0.3;
            cursor: not-allowed;
        }

        /* loading */
        .partButton.loading {
            cursor: wait;
        }

        .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;}}