// // Modals // -------------------------------------------------- // .modal-open - body class for killing the scroll // .modal - container to scroll within // .dialog - positioning shell for the actual modal // .content - actual modal w/ bg and corners and shit // Kill the scroll on the body .modal-open { overflow: hidden; .modal { overflow-x: hidden; overflow-y: auto; } } // Container that the modal scrolls within .modal { display: none; overflow: hidden; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: $zindex-modal; -webkit-overflow-scrolling: touch; outline: 0; // When fading in the modal, animate it to slide down &.fade .dialog { @include translate3d(0, -25%, 0); @include transition-transform(0.3s ease-out); } &.in .dialog { @include translate3d(0, 0, 0); } } // Modal background .modal-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: $zindex-modal-background; background-color: $modal-backdrop-background; // Fade for backdrop &.fade { @include opacity(0); &.in { @include opacity($modal-backdrop-opacity); } } } .modal { // Shell div to position the modal with bottom padding .dialog { position: relative; width: auto; margin: 10px; } // Actual modal .content { position: relative; background-color: $modal-content-background; border: 1px solid $modal-content-fallback-border-color; //old browsers fallback (ie8 etc) border: 1px solid $modal-content-border-color; border-radius: $border-radius; @include box-shadow(0 3px 9px rgba(0,0,0,.5)); background-clip: padding-box; // Remove focus outline from opened modal outline: 0; } // Modal header // Top section of the modal w/ title and dismiss .header { padding: $modal-title-padding; border-bottom: 1px solid $modal-header-border-color; min-height: ($modal-title-padding + $modal-title-line-height); // Close icon .close { margin-top: -2px; } // Title text within header h1, h2, h3, h4, h5, h6 { margin: 0; line-height: $modal-title-line-height; } } // Modal body // Where all modal content resides (sibling of .header and .footer) .body { position: relative; padding: $modal-inner-padding; } // Footer (for actions) .footer { padding: $modal-inner-padding; text-align: right; // right align buttons border-top: 1px solid $modal-footer-border-color; @include clearfix(); // clear it in case folks use .pull-* classes on buttons // Properly space out buttons .button + .button { margin-left: 5px; margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs } // but override that for button groups .buttons .button + .button { margin-left: -1px; } // and override it for block buttons as well .button.block + .button.block { margin-left: 0; } } } // Measure scrollbar width for padding body during modal show/hide .modal-scrollbar-measure { position: absolute; top: -9999px; width: 50px; height: 50px; overflow: scroll; } // Scale up the modal @media (min-width: $screen-sm-min) { // Automatically set modal's width for larger viewports .modal{ .dialog { width: $modal-medium; margin: 30px auto; } .content { @include box-shadow(0 5px 15px rgba(0,0,0,.5)); } } // Modal sizes .modal .small { width: $modal-small; } } @media (min-width: $screen-md-min) { .modal .large { width: $modal-large; } }