﻿/** 【控件样式库】**/

/****************************************************************
 *
 *	iKidsActiveTitle: 动态磁贴
 *
 ***************************************************************/
.activetitlebox{position:relative;display:inline-block;display:-moz-inline-stack;*display:inline;zoom:1;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;}
.activetitlecount_0,.activetitlecount{position:absolute;left:0px;top:0px;width:100%;height:45px;padding-top:10px;}
.activetitlecount {
    text-align: right;
    font-size: 1.3rem;
    font-weight: bold;
    color: white;
    background-image: url(/iKidsIcons/bgApp.png);
    background-repeat: no-repeat;
    background-position: right -4600px;
}
.activetitlecountnum{display:inline-block;display:-moz-inline-stack;*display:inline;zoom:1;width:44px;height:28px;text-align:center;}

.activesubject,.activesubjectm{position:absolute;left:0px;width:auto;text-align:left;font-size:1.2rem;padding:5px;}
.activesubject{top:123px;}
.activesubjectm{top:113px;}

.activetitlesubject{display:inline-block;display:-moz-inline-stack;*display:inline;zoom:1;font-weight:bold;font-size:1.4rem;}

.activeGroupBack, .activetitleGoBR, .activetitleBackTL, .activetitleGoTR {
    background-image: url(/iKidsIcons/bgGo.png);
    background-repeat: no-repeat;
}
.activetitleGoTR{background-position:right 0px;}
.activeGroupBack{background-position:0px -395px;}
.activetitleGoBR{background-position:right 123px;}
.activetitleBackTL{background-position:left -400px;}


/****************************************************************
 *
 *	CardMenu/Content: 卡片菜单及内容
 *
 ***************************************************************/
.menu{width:100%;margin-top:5px;max-height:40px;}
.menufocus, .menuunfocus, .menufocusr, .menufirst, .menulast, .menulastr {
    padding: 0px 3px 0px 3px;
    max-height: 40px;
    text-align: center;
    white-space: nowrap;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    overflow: hidden;
    vertical-align: middle;
    cursor: pointer;
    background-image: url(/iKidsIcons/menuCard.png);
    background-repeat: no-repeat;
}
.menufocus{background-position:0px -80px;font-weight:bold;font-size:1.1rem;border-right:solid gray 1px;}
.menuunfocus{background-position:0px -40px;font-weight:normal;font-size:1rem;border-right:solid gray 1px;}
.menufocusr{background-position:0px 0px;font-size:1rem;border-right:solid gray 1px;}
.menufirst{width:10px;background-position:0px -160px;}
.menulast{width:20px;background-position:0px -160px;}
.menulastr{width:20px;background-position:0px -120px;}

.cardmenucontent{
    width: auto;
    height: auto;
    overflow: visible;
    border: solid #E9ECEF 1px;
    border-top: none;
    background-color: white;
    position: relative;
    text-align: left;
}

/* 菜单项应该在一行显示，并且可以左右滑动选择 */
@media (max-width: 767.98px) {
    .nav-tabs {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .nav-tabs .nav-item {flex-shrink: 0;}
    .nav-tabs .nav-link {white-space: nowrap;}
}





/****************************************************************
 *
 *	buttons: 各种按钮
 *
 ***************************************************************/
/* 3D input button */
.but{border-width:1px;cursor:pointer;border-radius:10px;height:30px;min-width:30px;}
.ok{background-color:#528BCB;color:white;border-radius:10px;height:30px;min-width:30px;}

/* 2D 按钮 */
.butqsearch, .butadd, .butaddon,
.butdel, .butdelon, .butverify, .butverifyon, .butadds, .butaddson, .butjias, .butjians, .butdels, .butdelson {
    display: inline-block;
    display: -moz-inline-stack;
    *display: inline;
    zoom: 1;
    cursor: pointer;
    text-align: center;
    height: 25px;
    padding: 2px;
    line-height: 25px;
    color: #333333;
    background-image: url(/iKidsIcons/butMore.png);
    background-repeat: no-repeat;
    font-size: 1rem;
    white-space: nowrap;
}
.butqsearch{background-position:-240px 0px;width:40px;}
.butadd{background-position:-480px 0px;width:25px;}
.butaddon{background-position:-505px 0px;width:25px;}
.butdel{background-position:-530px 0px;width:25px;}
.butdelon{background-position:-555px 0px;width:25px;}
.butverify{background-position:-632px 0px;width:25px}
.butverifyon{background-position:-657px 0px;width:25px}
.butdels{background-position:-680px 0px;width:25px;}
.butdelson{background-position:-705px 0px;width:25px;}
.butadds{background-position:-730px 0px;width:25px;}
.butaddson{background-position:-755px 0px;width:25px;}
.butjias{background-position:-830px 0px;width:28px;}
.butjians{background-position:-855px 0px;width:28px;}


/* Float Image*/
.floatimg{cursor:pointer;max-height:360px;max-width:240px;}


/* 自定义导航菜单样式 */
.navbar.activeunderline {
    padding: 0.5rem 1rem; /* 调整导航栏内边距 */
}

.navbar-nav.activeunderline {
    display: flex; /* 使用Flexbox布局 */
    flex-wrap: nowrap; /* 禁止换行 */
    overflow-x: auto; /* 超出宽度时显示水平滚动 */
    -webkit-overflow-scrolling: touch; /* 优化移动端滑动体验 */
    scrollbar-width: none; /* Firefox */
}

/* 隐藏滚动条（可选） */
.navbar-nav.activeunderline::-webkit-scrollbar {
    display: none;
}

.nav-item.activeunderline {
    position: relative;
    flex: 0 0 auto; /* 防止Flex子项收缩 */
    margin: 0.5rem; /* 调整菜单项间距 */
}

.nav-link.activeunderline {
    position: relative;
    display: inline-block;
    padding: 0.5rem 0; /* 调整内边距以适应触摸操作 */
    transition: color 0.3s ease; /* 平滑的颜色过渡 */
    white-space: nowrap; /* 防止文字换行 */
}

.nav-link.activeunderline:hover, .nav-item.activeunderline.active .nav-link {
    color: #9AC55C; /* 悬停或激活时文字颜色为绿色 */
    font-weight: bold;
}

.underline {
    cursor:pointer;
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 4px;
    background-color: #9AC55C; /* 绿色 */
    transition: width 0.3s ease, left 0.3s ease;
}

.nav-item.activeunderline.active .underline {
    width: 100%;
    left: 0;
}

.div-hover:hover {
    background-color: #f8f9fa; /* 浅灰色，与 Bootstrap 的 bg-light 一致 */
    cursor: pointer; /* 鼠标移上去时显示手型 */
}

.text-ellipsis {
    white-space: nowrap; /* 禁止换行 */
    overflow: hidden; /* 超出隐藏 */
    text-overflow: ellipsis;
}

.vertical-text {
    writing-mode: vertical-lr; /* 从右向左竖排 */
    text-orientation: upright; /* 保持文字正立 */
    white-space: nowrap; /* 禁止换行 */
    text-align: center; /* 水平居中 */
}


/* 
    滑动输入功能，直接输入版本

*/
.slider-container {
    max-width: 300px;
    width: 100%;
    margin: 20px 0;
}

.slider-track {
    width: 100%;
    height: 6px;
    background: #ddd;
    border-radius: 3px;
    position: relative;
    cursor: pointer;
}

.slider-thumb {
    width: 16px;
    height: 16px;
    background: #4CAF50;
    border-radius: 50%;
    position: absolute;
    top: -5px;
    left: 0;
    cursor: grab;
}

.slider-values {
    display: flex;
    justify-content: space-between;
    margin-top: 5px;
    font-size: 14px;
}

.current-value {
    font-weight: bold;
}


/**
    滑动输入功能，自定义版本
*/
.slider-container-z {
    width: 320px;
    padding: 30px 10px;
    margin-top: 20px;
    margin-bottom: 30px;
}

.slider-title-z {
    margin-bottom: 10px;
    font-weight: bold;
}

.slider-track-z {
    width: 300px;
    height: 4px;
    background: #ddd;
    position: relative;
    border-radius: 2px;
}

.slider-progress-z {
    height: 100%;
    background: #4CAF50;
    position: absolute;
    left: 0;
    width: 0;
    border-radius: 2px;
}

.slider-thumb-z {
    width: 20px;
    height: 20px;
    background: #4CAF50;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-50%, -50%);
    cursor: pointer;
    z-index: 2;
}

.slider-thumb-z.unselected {
    background: #ccc;
}

.slider-point-z {
    width: 8px;
    height: 8px;
    background: #999;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.slider-value-z {
    position: absolute;
    top: 15px;
    transform: translateX(-50%);
    font-size: 12px;
    color: #666;
    white-space: nowrap;
}

.slider-value-title-z {
    position: absolute;
    top: -30px;
    transform: translateX(-50%);
    font-size: 12px;
    color: #666;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.current-value-z {
    margin-top: 5px;
    font-size: 14px;
}

.current-value-z .value-display {
    color: #4CAF50;
    font-weight: bold;
}

.current-value-z .unselected {
    color: #999;
    font-style: italic;
}


/* ******************************************
    电子相册
   ****************************************** */
.page-container {
    position: relative;
    width: 100%;
    height: calc(100vh - 51.04px - 26px);
    overflow: hidden;
}

.page {
    width: 100%;
    height: calc(100vh - 51.04px - 26px); /* calc(100vh - 51.04px); 100% 视口高度减去 51.04px */
    position: absolute;
    transition: transform 0.5s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    padding: 20px;
    box-sizing: border-box;
}

.nav-arrows {
    position: fixed;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1000;
    display: none;
}

.arrow {
    width: 40px;
    height: 40px;
    background-color: #FFB6C1; /* 浅糖果粉色背景 */
    color: #FF1493; /* 深粉色文字 */
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 10px 0;
    cursor: pointer;
    transition: all 0.3s;
    box-shadow: 0 2px 5px rgba(255, 105, 180, 0.3); /* 添加粉色阴影 */
    border: 2px solid #FF69B4; /* 粉色边框 */
}

.arrow:hover {
    background-color: #FF69B4; /* 悬停时变为更鲜艳的粉色 */
    color: white; /* 悬停时文字变白 */
    transform: scale(1.1); /* 悬停时轻微放大 */
    box-shadow: 0 3px 8px rgba(255, 105, 180, 0.5); /* 悬停时阴影加深 */
}

@media (min-width: 992px) {
    .nav-arrows {
        display: block;
    }
}


/* 全局设置所有 Font Awesome 图标的固定宽度 */
.fas, .far, .fab, .fal { /* 覆盖所有样式类型的 Font Awesome 图标 */
    display: inline-block; /* 确保宽度设置生效 */
    width: 1.2857142857em; /* 这是 fa-fw 类的默认宽度值 */
    text-align: center; /* 图标在固定宽度内居中 */
}





/* 图片轮播器类 控件样式, js代码：iKidsScriptWeb.js */
.image-rotation-container {
    width: 100%;
    margin: 20px 0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.rotation-header {
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid #f0f0f0;
}

    .rotation-header h4 {
        color: #333;
        margin: 0;
        font-weight: 600;
    }

.carousel-container {
    position: relative;
    width: 100%;
    height: 700px;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.carousel-slides {
    display: flex;
    transition: transform 0.5s ease-in-out;
    height: 100%;
}

.carousel-slide {
    min-width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f8f9fa;
}

.carousel-image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    padding: 10px;
}

.carousel-controls {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
    padding: 0 15px;
    z-index: 10;
}

.carousel-btn {
    width: 40px;
    height: 40px;
    background-color: rgba(0, 0, 0, 0.6);
    color: white;
    border: none;
    border-radius: 50%;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s;
}

    .carousel-btn:hover {
        background-color: rgba(0, 0, 0, 0.8);
    }

.carousel-indicators {
    position: absolute;
    bottom: 15px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 8px;
    z-index: 10;
}

.carousel-indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.5);
    border: none;
    cursor: pointer;
    transition: background-color 0.3s;
}

    .carousel-indicator.active {
        background-color: #007bff;
    }

.image-info {
    position: absolute;
    bottom: 40px;
    left: 0;
    right: 0;
    text-align: center;
    color: white;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
    padding: 20px 10px 40px 10px;
    font-size: 14px;
}

.image-title {
    font-weight: 600;
    margin-bottom: 5px;
    font-size: 16px;
}

.image-counter {
    color: rgba(255, 255, 255, 0.8);
}

.auto-play-speed {
    width: 100px;
    padding: 3px 8px;
    font-size: 14px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.thumbnail-container {
    margin-top: 15px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    max-height: 80px;
    overflow-y: auto;
}

.thumbnail-item {
    width: 60px;
    height: 40px;
    object-fit: cover;
    border-radius: 4px;
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.3s, transform 0.3s;
    border: 2px solid transparent;
}

    .thumbnail-item:hover {
        opacity: 0.9;
        transform: scale(1.05);
    }

    .thumbnail-item.active {
        opacity: 1;
        border-color: #007bff;
    }

.empty-state {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 300px;
    color: #999;
    font-size: 16px;
    text-align: center;
    background-color: #f9f9f9;
    border-radius: 8px;
    border: 2px dashed #ddd;
}


/* 用于图片上传 */
.photo-thumbnail {
    position: relative;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    overflow: hidden;
    aspect-ratio: 1/1;
    transition: transform 0.2s;
}

    .photo-thumbnail:hover {
        transform: scale(1.02);
        box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    }

    .photo-thumbnail img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.photo-remove {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 24px;
    height: 24px;
    background: rgba(255,0,0,0.8);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 14px;
    opacity: 0;
    transition: opacity 0.2s;
}

.photo-thumbnail:hover .photo-remove {
    opacity: 1;
}

.upload-placeholder {
    border: 2px dashed #adb5bd;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8f9fa;
    cursor: pointer;
    transition: border-color 0.2s;
}

    .upload-placeholder:hover {
        border-color: #0d6efd;
    }

    .upload-placeholder i {
        font-size: 2rem;
        color: #6c757d;
    }



/* 安全巡检：智能任务墙  */
.task-card {
    transition: transform 0.3s, box-shadow 0.3s;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px;
    overflow: hidden;
    height: 100%;
}

    .task-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important;
    }

.task-header {
    border-bottom: none;
    padding: 20px 20px 15px;
    border-radius: 12px 12px 0 0;
}

.task-count {
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1;
}

.task-icon {
    width: 60px;
    height: 60px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.task-list {
    height: 400px;
    overflow-y: auto;
    padding-right: 5px;
}

.task-item {
    border-left: 4px solid transparent;
    transition: all 0.2s;
    margin-bottom: 10px;
    border-radius: 8px;
}

    .task-item:hover {
        background-color: rgba(0,0,0,0.02);
    }

.priority-high {
    border-left-color: var(--danger-color);
}

.priority-medium {
    border-left-color: var(--warning-color);
}

.priority-low {
    border-left-color: var(--info-color);
}

.task-time {
    font-size: 0.8rem;
    color: #6c757d;
}

.task-area {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    background-color: #e9ecef;
    color: #495057;
}

.action-btn {
    padding: 4px 12px;
    font-size: 0.85rem;
    border-radius: 20px;
}

.empty-state {
    text-align: center;
    padding: 30px 20px;
    color: #6c757d;
}

    .empty-state i {
        font-size: 3rem;
        margin-bottom: 15px;
        opacity: 0.3;
    }

/* 自定义滚动条 */
.task-list::-webkit-scrollbar {
    width: 6px;
}

.task-list::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.task-list::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 3px;
}

    .task-list::-webkit-scrollbar-thumb:hover {
        background: #a8a8a8;
    }

