/**
 * affritdav-js-common-widget.css
 * jQuery UI ウィジェットの AffritDAV 向け拡張
 */

/* jQuery UI の AffritDAV 向けスタイル調整 */

.ui-widget,
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
  font-family: sans-serif !important;
}

.ui-dialog {
  font-size: 100%;
}

.ui-dialog-title {
  background: transparent no-repeat 0 50%;
  padding-left: 24px;
}

.ui-corner-all {
  border-radius: 2px;
}

.ui-widget-overlay {
  background: #000;
  opacity: 0.3;
  filter: alpha(opacity=30);
}

.ui-widget-content {
  background: none #FCFDFD;
}

/* ヘッダ部分 */

.widgetHeader {
  position: relative;
  font-size: 100%;
  margin: 0 18px;
  padding: 0;
}

.widgetHeaderTable {
  width: 100%;
  margin: 0.5em 0 0 0;
  border-top: 1px solid #BBB;
  border-bottom: 1px solid #BBB;
  padding: 0;
}

.widgetHeaderTable th {
  text-align: left;
  font-size: 90%;
  background: #F3F5F7;
  border: none;
  padding: 0.5em 0.3em 0.6em;
}

th.widgetNodeIndicator {
  width: 1.5556em;
}

th.widgetNodeName {
  width: auto;
}

th.widgetNodeStatus {
  width: 5em;
}

th.widgetNodeSize {
  width: 4em;
  padding-right: 0.6em;
}

/* コンテンツ部分 */

/*
 * .widgetContent は jQuery UI の .ui-dialog-content クラスなどと重複して指定
 * されるため、!important 指定が必要。
 */
.widgetContent {
  font-size: 100% !important;
  margin: 0 2px 0 18px !important; /* スクロールバーの分を考慮 */
  padding: 0.2em 0 0.1em !important;
  box-sizing: border-box !important;
  overflow-y: scroll !important;
}

.widgetNodeList {
  table-layout: fixed;
  background: transparent;
  width: 100%;
  border: none;
  padding: 0;
}

.widgetNodeList td {
  background: transparent;
  border: none;
  padding: 0.2em 0.3em 0.3em;
}

td.widgetNodeIndicator {
  width: 1.4em;
  background-repeat: no-repeat;
  background-position: center center;
}

table.opened tr.queued td.widgetNodeIndicator,
table.select tr.queued td.widgetNodeIndicator,
table.ready tr.queued td.widgetNodeIndicator {
  cursor: pointer;
  background-image: url(icons/c/16x16/bullet_toggle_minus.png);
}

tr.queued td.widgetNodeIndicator {
  background-image: url(icons/c/16x16/bullet_white.png);
}

tr.started td.widgetNodeIndicator {
  background-image: url(icons/c/16x16/bullet_green.png);
}

tr.done td.widgetNodeIndicator {
  background-image: url(icons/c/16x16/accept.png);
}

tr.partlyDone td.widgetNodeIndicator {
  background-image: url(icons/c/16x16/error.png);
}

tr.aborted td.widgetNodeIndicator {
  background-image: url(icons/c/16x16/delete.png);
}

tr.uncertain td.widgetNodeIndicator {
  background-image: url(icons/c/16x16/exclamation.png);
}

tr.failed td.widgetNodeIndicator {
  background-image: url(icons/c/16x16/exclamation.png);
}

tr.skipped td.widgetNodeIndicator {
  background-image: url(icons/c/16x16/accept.png);
  filter: grayscale(100%);
}

tr.hasSkipped td.widgetNodeIndicator {
  background-image: url(icons/c/16x16/accept.png);
  filter: grayscale(100%);
}

tr.notchanged td.widgetNodeIndicator {
  background-image: url(icons/c/16x16/bullet_black.png);
}

tr.locked td.widgetNodeIndicator {
  background-image: url(icons/f/lock.png);
}

td.widgetNodeName {
  width: auto;
}

div.widgetNodeNameContainer {
  height: 1.3em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

#advancedUploaderContent span.dirToggle {
  display: inline-block;
  width: 18px;
  height: 20px;
  margin-right: 2px;
  background: transparent url(icons/c/16x16/bullet_arrow_right.png) no-repeat right 50%;
  vertical-align: sub;
}

#advancedUploaderContent span.dirToggle:hover {
  cursor: pointer;
}

#advancedUploaderContent span.dirToggle.isOpened {
  background-image: url(icons/c/16x16/bullet_arrow_down.png);
}

#advancedUploaderContent span.dirToggleSpacer {
  display: inline-block;
  width: 18px;
  height: 20px;
  margin-right: 2px;
  background: none;
  vertical-align: sub;
}

td.widgetNodeStatus {
  text-align: right;
  font-size: 90%;
  width: 5em;
}

td.widgetNodeSize {
  text-align: right;
  font-size: 90%;
  width: 4em;
  padding-right: 0.6em;
}

/* コントロール部分 */

.widgetControl {
  position: relative;
  font-size: 100%;
  height: 2em;
  margin: 0 18px;
  border-top: 1px solid #BBB;
  padding: 0.5em 0;
}

.widgetControl table {
  text-align: left;
  width: 100%;
  margin: 0;
  border: none;
  padding: 0;
}

.widgetControl th,
.widgetControl td {
  vertical-align: middle;
}

.widgetControl button {
  font-size: 90%;
}

.widgetPanel {
  float: left;
}

.widgetStatusMessage {
  font-size: 90%;
  margin-right: 0.4em;
  background: transparent no-repeat left center;
}

.widgetStatusMessage.done {
  background-image: url(icons/c/16x16/accept.png);
  padding-left: 20px;
}

.widgetStatusMessage.hasSkipped {
  background-image: url(icons/c/16x16/accept.png);
  filter: grayscale(100%);
  padding-left: 20px;
}

.widgetStatusMessage.partlyDone {
  background-image: url(icons/c/16x16/error.png);
  padding-left: 20px;
}

.widgetStatusMessage.failed {
  background-image: url(icons/c/16x16/exclamation.png);
  padding-left: 20px;
}

#uploaderControl td:first-child {
  position: relative;
}

.widgetProgressArea {
  position: absolute;
  top: 0;
  right: 0;
  width: 12em;
  height: 1.5em;
}

.widgetProgressBar {
  width: 100%;
  height: 100%;
}

.widgetProgressCounts {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 70%;
  white-space: nowrap;
  pointer-events: none;
}

.widgetTotalProgress {
  font-size: 90%;
  width: 5em;
  text-align: right;
  white-space: nowrap;
  padding: 0.2em 0.3em 0.3em;
}

.widgetTotalSize {
  font-size: 90%;
  width: 4em;
  text-align: right;
  white-space: nowrap;
  padding: 0.2em 0.6em 0.3em 0.3em;
}
/**
 * affritdav-js-error.css
 * エラー画面のスタイル
 */

/* ログイン要求 */

div.actionDialog.loginRequired .actionDialogHeader {
  padding-left: 32px;
}

div.actionDialog.loginRequired {
  border-color: #99A;
}

div.actionDialog.loginRequired .actionDialogHeader {
  color: #444;
  background: #F3F5F7 url(icons/f/lock.png) no-repeat 12px 50%;
  border-color: #99A;
}

div.actionDialog.loginRequired .actionDialogHeader h2 {
  padding: 0.6em 1em 0.6em 0;
}

/* error404 類似 */

div.actionDialog.timeout,
div.actionDialog.abort {
  border-color: #CC9;
}

div.actionDialog.timeout .actionDialogHeader,
div.actionDialog.abort .actionDialogHeader {
  color: #333;
  background-color: #FCFCCC;
  background-image: url(icons/c/32x32/error.png);
  border-color: #CC9;
}

/* error500 類似 */

div.actionDialog.unknown .actionDialogHeader {
  background-image: url(icons/c/32x32/exclamation.png);
}
/**
 * affritdav-js-auth.css
 * 認証ウィジェット
 */

span.authLoginTitle {
  background-image: url(icons/f/lock.png);
}

span.authLogoutTitle {
  background-image: url(icons/f/lock_open.png);
}

div#authContent {
  overflow-y: auto !important;
}

div#authContent p {
  font-size: 90%;
  margin: 1em 0;
}

div#authControl {
  text-align: right;
}

div#authControl button {
  font-size: 90%;
}
/**
 * affritdav-js-locationbar.css
 * 現在位置 (パンくずリスト) の js 向けスタイル
 */

/* マウスオーバーエフェクトなど */

#locationBar.crumbHover a.dirLink,
#locationBar.crumbPressed a.dirLink {
  border-radius: 2px 0 0 2px;
}

#locationBar.crumbHover span.dirSlash,
#locationBar.crumbPressed span.dirSlash {
  background-image: url(icons/s2/arrow_state_blue_right.png);
  border-radius: 0 2px 2px 0;
}

#locationBar span.unitHover a.dirLink,
#locationBar span.unitPressed a.dirLink {
  background-color: #FCFCFC;
  border-color: #AAA;
}

#locationBar span.unitHover span.dirSlash {
  background-color: #F3F5F7;
  border-color: #AAA;
}

#locationBar span.unitHover span.slashHover,
#locationBar span.unitPressed span.dirSlash {
  cursor: pointer;
  background-color: #EAECEE;
  border-color: #AAA;
}

#locationBar span.unitPressed span.dirSlash {
  background-image: url(icons/s2/arrow_state_blue_expanded.png) !important;
}

/* サブディレクトリ表示 */

#subdirs {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 70;
  min-width: 12em;
  max-width: 24em;
  overflow: hidden;
  background: #FFF;
  border: 1px solid #AAA;
  padding: 1px;
  box-shadow: 0.1em 0.2em 1.3em -0.4em #000;
}

#subdirs li.subdirsLoading {
  color: #666;
  background: #FFF url(icons/ajax-loader.gif) no-repeat 8px 50%;
  padding: 0.2em 16px 0.2em 28px;
}

#subdirs li.subdirsEmpty {
  color: #666;
  background: #FFF url(icons/c/16x16/error.png) no-repeat 8px 50%;
  padding: 0.2em 16px 0.2em 28px;
}

#subdirs li.subdirsLoadError {
  background: #FCECEC url(icons/c/16x16/exclamation.png) no-repeat 8px 50%;
  padding: 0.2em 16px 0.2em 28px;
}

#subdirs li a {
  display: block;
  height: 1.3em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-decoration: none;
  color: #333;
  background-position: 8px 50%;
  padding: 0.2em 16px 0.2em 28px;
}

#subdirs li a:hover {
  background-color: #EAECEE;
}

#subdirsOverlay {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 50;
  background: #FFF;
  opacity: 0;
  filter: alpha(opacity=0);
}
/**
 * affritdav-js-creator.css
 * ディレクトリ作成時の js 向けスタイル
 */

tr.newlyCreatedDirectory {
  background-color: #CCFCCC;
}

tr.createDirectoryInputRow td.nodeName {
  padding-top: 0.15em;
  padding-bottom: 0.11em;
}

div.createDirectoryInputContainer {
  padding-left: 17px;
  background: transparent url(icons/c/16x16/folder_add.png) no-repeat left center;
}
/**
 * affritdav-js-uploader.css
 * アップロード用ウィジェットのスタイル
 */

span.uploaderTitle {
  background-image: url(icons/s2/arrow_large_up.png);
}

p.uploaderSwitch,
p.uploaderNote {
  color: #666;
  font-size: 90%;
}

input#standardUploaderSelectedFile {
  font-size: 90%;
}

/**
 * アップローダのヘッダ部
 */

div#uploaderOverwrite {
  text-align: right;
  font-size: 90%;
  padding: 0.2em 0 0.3em;
}

select#uploaderOverwriteMode,
label#uploaderOverwriteLabel {
  cursor: pointer;
}

select#uploaderOverwriteMode {
  margin-left: 0.4em;
  font-size: 90%;
}

table#uploaderHeaderTable {
  margin-top: 0;
}

/**
 * アップローダのコンテンツ部
 */

div#advancedUploaderInitializing {
  text-align: center;
  padding-top: 8em;
}

div#advancedUploaderInitializing span.uploaderInitializing {
  background: #FFF url(icons/ajax-loader.gif) no-repeat 8px 50%;
  padding-left: 28px;
}

tr#advancedUploaderDefaultContent td {
  width: 100%;
  text-align: center;
  padding-top: 6em;
}

div#advancedUploaderInitializing p,
div#standardUploaderContent p {
  margin: 1em 0;
}

tr#advancedUploaderDefaultContent p {
  margin: 1em 0 0.5em;
}

tr#advancedUploaderDefaultContent p.uploaderNote {
  margin: 0.5em 0 2em;
}

/**
 * ドロップゾーンのオーバーレイ
 */

div#uploadDropZoneOverlay {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: none;
  z-index: 1000000;
}

div#uploadDropZoneOverlay.uploadDropZoneActive {
  display: block;
}

div#uploadDropZoneOverlay.uploadDropZoneActive::before {
  content: "";
  position: fixed;
  top: 4px;
  right: 4px;
  bottom: 4px;
  left: 4px;
  pointer-events: none;
  z-index: 0;
  border: 4px dashed #999;
  border-radius: 12px;
  box-sizing: border-box;
  transition: background-color 80ms linear, border-color 80ms linear;
}

div#uploadDropZoneOverlay.uploadDropZoneAllowed::before {
  background: rgba(51, 204, 102, 0.15);
}

div#uploadDropZoneOverlay.uploadDropZoneDenied::before {
  background: rgba(238, 85, 68, 0.15);
  border-color: #F33;
}

div#uploadDropZoneOverlay.uploadDropZoneBlocked::before {
  background: rgba(0, 0, 0, 0.4);
  border-color: #000;
}

div#uploadDropZoneOverlay .uploadDropZoneOverlayInner {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  display: flex;
  align-items: center;
  padding: 12px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 6px;
  color: #333;
  font-size: 90%;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}

div#uploadDropZoneOverlay .uploadDropZoneOverlayIcon {
  width: 16px;
  height: 16px;
}

div#uploadDropZoneOverlay.uploadDropZoneAllowed .uploadDropZoneOverlayIcon {
  background: transparent url(icons/t/16x16/actions/go-up.png) no-repeat 50% 50%;
}

div#uploadDropZoneOverlay.uploadDropZoneDenied .uploadDropZoneOverlayIcon {
  background: transparent url(icons/c/16x16/delete.png) no-repeat 50% 50%;
}

div#uploadDropZoneOverlay.uploadDropZoneBlocked .uploadDropZoneOverlayIcon {
  background: transparent url(icons/c/16x16/error.png) no-repeat 50% 50%;
}

div#uploadDropZoneOverlay .uploadDropZoneOverlayMessage {
  margin-left: 4px;
}

/**
 * アップローダのディレクトリ開閉トグルの右クリックメニュー
 */

#uploaderDirMenu {
  display: none;
  position: absolute;
  z-index: 1000050;
  min-width: 12em;
  max-width: 24em;
  overflow: hidden;
  background: #FFF;
  border: 1px solid #AAA;
  padding: 1px;
  box-shadow: 0.1em 0.2em 1.3em -0.4em #000;
  font-size: 90%;
}

#uploaderDirMenu li a {
  display: block;
  height: 1.3em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-decoration: none;
  color: #333;
  padding: 0.2em 16px 0.2em 12px;
}

#uploaderDirMenu li a:hover {
  background-color: #EAECEE;
}

#uploaderDirMenuOverlay {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000040;
}
/**
 * affritdav.downloader.css
 * ダウンロード用ウィジェットのスタイル
 */

/* ウィジェットのタイトル */

span.downloaderTitle {
  background-image: url(icons/s2/download.png);
}

/* ウィジェットのヘッダ部 */

div#downloaderEncoding {
  text-align: right;
  font-size: 90%;
  padding: 0.2em 0 0.3em;
}

table#downloaderHeaderTable {
  margin-top: 0;
}

/* ウィジェットのコントロール部 */

span#downloaderStatusMessage.started {
  background: url(icons/ajax-loader.gif) no-repeat 8px 50%;
  padding-left: 28px;
}

td#downloaderControlButtons {
  text-align: right;
  white-space: nowrap;
}
/**
 * affritdav-js-renamer.css
 * リネーム処理用のインタフェース
 */

/* 単独リネーム処理用入力欄 */

td.renaming {
  padding-top: 0.07em;
  padding-bottom: 0.19em;
}

td.renaming .directory,
td.renaming .file {
  padding-left: 17px;
}

tr.renamed {
  background-color: #CCFCCC;
}

/* リネーム用ウィジェット特有の設定 */

span.renamerTitle {
  background-image: url(icons/c/16x16/pencil.png);
}

#renamerSetting {
  font-size: 90%;
  padding: 0.4em 0 0.4em 2.5em;
}

#renamerSetting th {
  background: none;
  text-align: left;
  border: none;
  padding-right: 0.4em;
}

#renamerSetting span:hover,
#renamerSetting input[type=radio]:hover {
  cursor: pointer;
}

#renamerExtToThis {
  width: 5em;
}

#renamerNodeListHeader {
  margin: 0;
}

.renamerNewName {
  width: 48% !important;
}

.renamerNotChanged {
  color: #999;
  font-size: 90%;
}

#renamerControl .widgetStatusMessage.noneChanged {
  background-image: url(icons/f/information.png);
  padding-left: 20px;
}
/**
 * affritdav-js-mover.css
 * 移動処理用のインタフェース
 */

/* 移動ボタンのアイコン (JS 無しで使っていなかった) */

.button.withIcon.move {
  background-image: url(icons/t/16x16/actions/edit-copy.png);
}

/* 移動用ウィジェットの設定 */

span.moverTitle {
  background-image: url(icons/t/16x16/actions/edit-copy.png);
}

#moverSetting {
  font-size: 90%;
  padding: 0.4em 0 0.4em 0.4em;
}

#moverSettingTable {
  table-layout: fixed;
  width: 100%;
}

#moverSettingTable th {
  width: 9.5em;
  text-align: left;
}

#moverSrcDir {
  height: 1.3em;
  overflow: hidden;
}

.moverDstDirNotSelected {
  color: #999;
  background: none;
  padding-left: 0;
}

.moverDstDirSelected {
  background: transparent url(icons/c/16x16/bullet_go.png) no-repeat 0 50%;
  padding-left: 20px;
}

#moverDstDir {
  height: 1.3em;
}

#moverNodeListHeader {
  margin: 0;
}

/* フォルダツリーと移動対象の 2 ペイン設定 */

.moverWidgetContentWrapper {
  position: relative !important;
  font-size: 100% !important;
  margin: 0 2px 0 18px !important; /* スクロールバーの分を考慮 */
  padding: 0 !important;
  overflow-y: hidden !important;
}

.moverWidgetContentLeftPane {
  position: absolute;
  left: 0;
  top: 0;
  width: 18em;
  height: 100%;
  overflow-y: scroll;
}

.moverWidgetContentRightPane {
  margin: 0 0 0 18em;
  height: 100%;
  overflow-y: scroll;
}

th.moverDstDirTree {
  width: 18.4em;
  padding-left: 1.4em;
}

/* 移動先選択用ディレクトリツリー */

#moverDirTree {
  padding-left: 0;
}

#moverDirTree ul {
  padding-left: 12px;
}

#moverDirTree .loading {
  font-size: 90%;
  color: #666;
  background: transparent url(icons/ajax-loader.gif) no-repeat 8px 50%;
  padding: 0.2em 16px 0.2em 28px;
}

#moverDirTree .dirWrapper {
  white-space: nowrap;
  padding-top: 1px;
}

#moverDirTree .dirToggle {
  display: inline-block;
  width: 18px;
  height: 20px;
  background: transparent url(icons/c/16x16/bullet_arrow_right.png) no-repeat right 50%;
  vertical-align: sub;
}

#moverDirTree .dirToggle:hover {
  cursor: pointer;
}

#moverDirTree .dirToggle.cannotOpen {
  background: none;
}

#moverDirTree .dirToggle.cannotOpen:hover {
  cursor: auto;
}

#moverDirTree .dirToggle.isOpened {
  background-image: url(icons/c/16x16/bullet_arrow_down.png);
}

#moverDirTree .dirToggle.noSubDirs {
  background: none;
}

#moverDirTree .dirToggle.noSubDirs:hover {
  cursor: auto;
}

#moverDirTree .dirSelect {
  display: inline-block;
  color: #333;
  background: transparent url(icons/c/16x16/folder_add.png) no-repeat 2px center;
  border: 1px solid #FFF;
  border-radius: 2px;
  padding: 2px 2px 2px 20px;
}

#moverDirTree .dirSelect:hover {
  cursor: pointer;
  background-color: #F3F5F7;
  border-color: #AAA;
}

#moverDirTree .dirSelect.cannotSelect {
  color: #999;
  background-image: url(icons/c/16x16/folder_delete.png);
}

#moverDirTree .dirSelect.cannotSelect:hover {
  cursor: auto;
  background-color: transparent;
  border-color: #FFF;
}

#moverDirTree .dirSelect.isSelected {
  background-color: #E1E5E9;
  border-color: #999;
}
/**
 * affritdav-js-deleter.css
 */

.deleterTitle {
  background-image: url(icons/c/16x16/cross.png);
}
/**
 * affritdav-js-nodelist.css
 * ノード一覧の装飾 (js 向け)
 */

/* チェックした行のスタイル */

tr.isChecked {
  background-color: #FFC;
}

tr.isChecked .file {
  border-color: #FFC;
}

/* 一括チェックボックス */

/* .nodeListHeaderLink と合わせる */
span.bulkCheckWrapper {
  display: block;
  text-align: center;
  text-decoration: none;
  color: #248;
  border: 1px solid #F3F5F7;
  border-width: 0 1px;
  padding: 0.6em 0.5em;
}

/* a.nodeListHeaderLink:hover と合わせる */
span.bulkCheckWrapper:hover {
  border-color: #B7B9BB !important;
  background-color: #EAECEE !important;
}




/*
tr.cursor th.nodeCheck span.bulkCheckWrapper,
tr.cursor td.nodeCheck {
  background-image: url(icons/tag-red-right-small.png);
  background-repeat: no-repeat;
  background-position: 20% 50%;
}

tr.cursor {
  background-color: #FCFCFC;
}

tr.cursor.isChecked {
  background-color: #FCFCCC;
}

tr.cursor.isChecked .file {
  border-color: #FCFCCC;
}

body.jsEnabled th.nodeCheck,
body.jsEnabled td.nodeCheck,
body.jsEnabled th.nodeCheck input,
body.jsEnabled td.nodeCheck input {
  cursor: pointer;
}
*/

/**
 * 検索式の入力行
 */

/*
tr.checkFoundInputRow td.nodeName {
  padding-top: 0;
  padding-bottom: 0;
}

div.checkFoundInputContainer {
  padding-left: 17px;
  background: transparent url(icons/c/16x16/magnifier.png) no-repeat left center;
}
*/
/**
 * affritdav-js-workaround.css
 * ブラウザの挙動の差異を吸収するための対処 (js 向け)
 */

@supports (scrollbar-gutter: stable) {
  .widgetContent {
    scrollbar-gutter: stable;
  }

  .moverWidgetContentLeftPane,
  .moverWidgetContentRightPane {
    scrollbar-gutter: stable;
  }
}

@supports (-moz-appearance: none) {
  .widgetContent {
    padding-right: 16px !important; /* Firefox のスクロールバー幅を確保 */
  }

  .moverWidgetContentLeftPane,
  .moverWidgetContentRightPane {
    padding-right: 16px;
    box-sizing: border-box;
  }
}
