* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

@keyframes floatClouds {
    0% {
        background-position: center bottom, center top;
    }
    50% {
        background-position: center bottom, calc(50% + 50px) top;
    }
    100% {
        background-position: center bottom, center top;
    }
}

body {
    min-height: 100vh;
    background-color: #3A6EA5;
    background-image: url('/pictures/Bliss2.png'), url('/pictures/Clouds.png');
    background-repeat: no-repeat, no-repeat;
    background-position: center bottom, center top;
    background-size: 100% auto, 106% auto;
    font-family: Tahoma, Verdana, Arial, sans-serif;
    font-size: 13px;
    color: #000000;
    padding: 10px;

    /* Applied animation */
    animation: floatClouds 10s ease-in-out infinite;
}

@media screen and (max-width: 1200px) {
    body {
        background-image: url('/pictures/Bliss.png');
        background-position: center bottom;
        background-size: 100% auto;
        animation: none; /* Disables animation when clouds are removed */
    }
}

@media screen and (max-width: 900px) {
    body {
        background-size: 900px auto;
        background-image: url('/pictures/Bliss2.png');
        animation: none;
    }
}

/* Outer Window Box */
.window {
    max-width: 1100px;
    margin: 0 auto;
    background-color: #ECE9D8;
    border: 3px solid #0055EA;
    -webkit-border-top-left-radius: 8px;
    -webkit-border-top-right-radius: 8px;
    -moz-border-radius-topleft: 8px;
    -moz-border-radius-topright: 8px;
    -moz-border-top-left-radius: 8px;
    -moz-border-top-right-radius: 8px;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    box-shadow: 4px 4px 15px rgba(0, 0, 0, 0.4);
    overflow: hidden;
}

/* Top Header Bar */
.window-header {
    background-color: #0033AA;
    background: -webkit-linear-gradient(top, #2266EE 0%, #0033AA 100%);
    background: linear-gradient(to bottom, #2266EE 0%, #0033AA 100%);
    color: #FFFFFF;
    padding: 6px 12px;
    font-weight: bold;
    font-size: 14px;
    overflow: hidden;
    zoom: 1;
}

.window-header span {
    float: left;
    display: inline-block;
    max-width: 75%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 20px;
}

/* Integrated Header Jump Button (Mobile Only) */
.jump-btn {
    float: right;
    background-color: #ECE9D8;
    color: #000000;
    padding: 2px 8px;
    text-decoration: none;
    font-weight: bold;
    font-size: 11px;
    border: 1px solid #000000;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    line-height: normal;
}

.jump-btn:hover,
.jump-btn:focus,
.jump-btn:active {
    background-color: #FFFFFF;
    color: #000000;
}

/* Hides the jump button on PC/long-screen devices */
@media screen and (min-width: 600px), screen and (min-height: 600px) {
    .jump-btn {
        display: none !important;
    }
}

/* Main Container Layout
   Use a real HTML table so the two-column layout is reliable in old IE.
*/
.container {
    width: 100%;
    border-collapse: separate;
    border-spacing: 15px;
}

/* Right Sidebar (Task Pane) */
.sidebar {
    width: 240px;
    vertical-align: top;
    position: relative;
    background-color: #6375D6;
    padding: 15px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
}

/* Main Content Area */
.main-content {
    vertical-align: top;
    background-color: #FFFFFF;
    padding: 15px;
    border: 1px solid #919B9C;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
}

/* Sidebar Card */
.sidebar-card {
    background-color: #D6DFF7;
    border: 1px solid #215DC6;
    margin-bottom: 12px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    overflow: hidden;
}

.sidebar-card-title {
    background-color: #215DC6;
    background: -webkit-linear-gradient(left, #215DC6, #6375D6);
    background: linear-gradient(to right, #215DC6, #6375D6);
    color: #FFFFFF;
    font-weight: bold;
    padding: 6px 10px;
}

.sidebar-card-body {
    padding: 10px;
}

.sidebar-card-body ul {
    list-style: none;
}

.sidebar-card-body li {
    margin-bottom: 8px;
}

/* Links */
a {
    color: #0000FF;
    text-decoration: underline;
}

a:hover,
a:focus,
a:active {
    color: #FF0000;
}

/* Main Content Section Box */
.content-box {
    background-color: #F8F9FA;
    border: 1px solid #D6DFF7;
    padding: 12px;
    margin-bottom: 15px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}

.content-box h2 {
    font-size: 14px;
    color: #003399;
    margin-bottom: 8px;
    border-bottom: 1px solid #D6DFF7;
    padding-bottom: 4px;
}

.content-box ul {
    padding-left: 20px;
    margin-top: 5px;
    margin-bottom: 5px;
}

.content-box li {
    margin-bottom: 4px;
}

/* Retro Style Button */
.btn {
    display: inline-block;
    background-color: #ECE9D8;
    color: #000000;
    padding: 6px 14px;
    text-decoration: none;
    font-weight: bold;
    border: 2px solid #003399;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

.btn:hover,
.btn:focus,
.btn:active {
    background-color: #F0EDE0;
    color: #0000FF;
}

/* Footer */
.window-footer {
    padding: 4px 4px;
    background-color: #ECE9D8;
    border-top: 1px solid #D6DFF7;
    font-size: 11px;
}

/* Mobile Rules */
@media screen and (max-width: 800px) {
    .container {
        display: block;
        width: auto;
        margin: 15px;
        border-spacing: 0;
    }

    .container tbody,
    .container tr,
    .container td {
        display: block;
        width: auto;
    }

    .hide-on-mobile {
        display: none !important;
    }

    .main-content,
    .sidebar {
        position: relative;
    }

    .main-content {
        margin-bottom: 15px;
    }
}

@-webkit-keyframes splashPulse {
    0% {
        -webkit-transform: rotate(-18deg) scale(1);
    }
    100% {
        -webkit-transform: rotate(-18deg) scale(1.12);
    }
}

@keyframes splashPulse {
    0% {
        transform: rotate(-18deg) scale(1);
    }
    100% {
        transform: rotate(-18deg) scale(1.12);
    }
}

.splash-text {
    display: inline-block;
    color: #F5EE00;
    text-shadow: 1px 1px 0px #000000, 1px 1px 2px rgba(0, 0, 0, 0.7);
    font-weight: bold;
    font-size: 14px;
    text-decoration: none;
    -webkit-animation: splashPulse 0.4s infinite alternate ease-in-out;
    animation: splashPulse 0.4s infinite alternate ease-in-out;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

a.splash-text:visited,
a.splash-text:hover,
a.splash-text:active,
a.splash-text:focus {
    color: #F5EE00 !important;
}

/* ==========================================
   FILE EXPLORER LAYOUT
   ========================================== */

.explorer {
    background-color: #FFFFFF;
    min-height: 450px;
}

.address-bar {
    background-color: #ECE9D8;
    border-bottom: 1px solid #919B9C;
    padding: 6px 8px;
    white-space: nowrap;
    font-size: 12px;
}

.address-bar label {
    font-weight: bold;
    color: #444444;
    vertical-align: middle;
    margin-left: 4px;
    margin-right: 4px;
}

.address-input {
    display: inline-block;
    vertical-align: middle;
    background-color: #FFFFFF;
    border: 1px solid #7F9DB9;
    padding: 3px 6px;
    font-family: Tahoma, sans-serif;
    font-size: 12px;
    color: #000000;
    width: 60%;
}

.nav-btn {
    display: inline-block;
    vertical-align: middle;
    background-color: #ECE9D8;
    border: 1px solid #003399;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    padding: 2px 6px;
    font-size: 11px;
    font-weight: bold;
    cursor: pointer;
    text-decoration: none;
    color: #000000;
}

.nav-btn img {
    width: 16px;
    height: 16px;
    vertical-align: middle;
}

.nav-btn:hover,
.nav-btn:focus,
.nav-btn:active {
    background-color: #FFFFFF;
    color: #000000;
}

.nav-btn:disabled {
    cursor: default;
}

.folder-grid {
    padding: 15px;
    overflow: hidden;
    zoom: 1;
}

.folder-item {
    width: 100px;
    text-align: center;
    text-decoration: none;
    color: #000000;
    padding: 8px 4px;
    border: 1px solid transparent;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    cursor: pointer;
    background: none;
    display: block;
    float: left;
    margin: 8px;
}

.folder-item:hover,
.folder-item:focus,
.folder-item:active {
    background-color: #E0E0E0;
    color: #000000;
    border: 1px solid #B0B0B0;
}

.folder-item img {
    width: 48px;
    height: 48px;
    display: block;
    margin: 0 auto 6px auto;
}

.folder-item span {
    font-size: 12px;
    display: block;
    word-wrap: break-word;
    color: #000000;
}

.file-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.file-table tr {
    border-bottom: 1px solid #E3E5DA;
}

.file-table tr.even {
    background-color: #F8F9FA;
}

.file-table td {
    padding: 8px 10px;
    vertical-align: middle;
}

/* Avoid :last-child for IE8-era compatibility. */
.file-table .file-action {
    width: 94px;
    padding-left: 4px;
    padding-right: 4px;
    white-space: nowrap;
}

.file-action .btn {
    float: right;
}

/* Keep download controls consistently aligned to the right. */
.file-action {
    text-align: right;
}

/* Downloads explorer: folders and files share the same list. */
.file-name {
    vertical-align: middle;
    white-space: normal;
    word-wrap: break-word;
    line-height: 24px;
}

.file-icon {
    width: 24px;
    height: 24px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px;
}

/* ==========================================
   MEDIA GALLERY
   Percentage/float layout for broad old-browser compatibility.
   ========================================== */

.media-grid {
    padding: 10px;
    overflow: hidden;
    zoom: 1;
}

.media-card {
    display: block;
    float: left;
    width: 28%;
    margin: 1%;
    padding: 4px;
    background-color: #F8F9FA;
    border: 1px solid #D6DFF7;
    color: #000000;
    text-decoration: none;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    overflow: hidden;
    text-align: center;
    zoom: 1;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.media-card:hover,
.media-card:focus,
.media-card:active {
    background-color: #FFFFFF;
    border: 1px solid #7F9DB9;
    color: #000000;
}

.media-preview {
    width: 100%;
    height: 150px;
    margin: 0 auto 8px auto;
    background-color: #EDEEF2;
    border: 1px solid #C5C8D0;
    text-align: center;
    overflow: hidden;
    line-height: 148px;
}

.media-preview img {
    max-width: 100%;
    max-height: 148px;
    width: auto;
    height: auto;
    border: 0;
    vertical-align: middle;
}

/* Keep folder icons centered and fully visible rather than using a fixed offset. */
.media-folder-preview img {
    width: 48px;
    height: 48px;
    max-width: none;
    max-height: none;
    vertical-align: middle;
}

.media-name {
    display: block;
    font-size: 12px;
    font-weight: bold;
    line-height: 16px;
    word-wrap: break-word;
    color: #000000;
    min-height: 16px;
}

/* Optional note for maintainers; not displayed in the gallery. */
/* .media-meta {
    display: block;
    margin-top: 3px;
    font-size: 10px;
    color: #666666;
} */

/* 2 cards per row on phone-sized screens. */
@media screen and (max-width: 649px) {
    .media-card {
        width: 42%;
        margin: 2%;
    }

    .media-preview {
        height: 120px;
        line-height: 118px;
    }

    .media-preview img {
        max-height: 118px;
    }
}

/* 1 card per row on very narrow screens. */
@media screen and (max-width: 359px) {
    .media-card {
        width: 88%;
        margin: 2%;
    }

    .media-preview {
        height: 135px;
        line-height: 133px;
    }

    .media-preview img {
        max-height: 133px;
    }
}

/* Downloads page free-download badge. */
.freedownloads-badge {
    position: absolute;
    right: 8px;
    bottom: 8px;
}
