/* Cross-Browser Compatibility Fixes */

/* IE Compatibility */
.ie-fix {
    zoom: 1; /* Trigger hasLayout in IE */
}

/* Flexbox Fallbacks */
.flex-container {
    display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box;         /* OLD - Firefox 19- */
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -webkit-flex;     /* NEW - Chrome */
    display: flex;             /* NEW, Spec - Opera 12.1, Firefox 20+ */
}

.flex-center {
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

/* Border-radius fallbacks */
.rounded {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

/* Box-sizing fallbacks */
.border-box {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/* Transform fallbacks */
.transform-scale {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
}

/* Transition fallbacks */
.transition {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

/* Input placeholder styling */
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    color: #999;
    opacity: 1;
}
::-moz-placeholder { /* Firefox 19+ */
    color: #999;
    opacity: 1;
}
:-ms-input-placeholder { /* IE 10+ */
    color: #999;
    opacity: 1;
}
:-moz-placeholder { /* Firefox 18- */
    color: #999;
    opacity: 1;
}

/* Clear floats */
.clearfix:after {
    content: "";
    display: table;
    clear: both;
}

/* IE8 and below fixes */
.lt-ie9 input[type="email"],
.lt-ie9 input[type="number"],
.lt-ie9 input[type="tel"] {
    /* Fallback for HTML5 input types */
    border: 1px solid #ccc;
    padding: 15px;
}

/* Microsoft Edge specific fixes */
@supports (-ms-ime-align: auto) {
    .submit.action-button {
        -ms-touch-action: manipulation;
        touch-action: manipulation;
        cursor: pointer;
        pointer-events: auto;
    }
    
    .submit.action-button:disabled {
        opacity: 0.6;
        cursor: not-allowed;
        pointer-events: none;
    }
}

/* Edge Legacy fixes */
@supports (-ms-accelerator: true) {
    .submit.action-button {
        border: 0 none;
        background: #27AE60;
        color: white;
        cursor: pointer;
    }
}

/* Media query fallbacks for older browsers */
@media screen and (max-width: 768px) {
    .banner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    
    #msform {
        width: 95%;
        margin: 20px auto;
    }
    
    #msform fieldset {
        width: 95%;
        margin: 0 2.5%;
    }
}

/* Print styles */
@media print {
    .no-print {
        display: none !important;
    }
}