@import url('https://fonts.googleapis.com/css2?family=Russo+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Harmattan:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap');

.clear {
	clear: both;
	min-height: 1px;
	width: 100%;
}
* {
    max-width: 100%;
    transition: all 300ms;
}

/* LOADER */

#loader_wrapper {
    background: #fff;
    /* border: 1px solid #1e75cc; */
    border: 1px solid #F8F5EE;
    /* border-radius: 15px; */
    margin: 20px 0;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 19;
}
#loader_wrapper p.message {
    /* color: #1e75cc; */
    color: #d8b62b;
    font-weight: 700;
    margin: 2px 0;
    text-align: center;
    width: 100%;
}
#loader {
    background: #eee;
    /* border-bottom-right-radius: 15px; */
    /* border-bottom-left-radius: 15px; */
    height: 30px;
    position: relative;
    width: 100%;
}
#progress {
    /* background: #8ed16a; */
    /* background: #1e75cc; */
    background: #d8b62b;
    /* border-bottom-right-radius: 15px;
    border-bottom-left-radius: 15px; */
    color: #fff;
    font-weight: 600;
    height: 100%;
    line-height: 28px;
    text-align: center;
    width: 0;
}

/* MENU */

.nav-item a {
	background: #555;
	border-radius: 5px;
	color: #fff !important;
    font-family: 'Harmattan', sans-serif;
    font-size: 18px;
    font-weight: 700;
	margin-right: 10px;
	padding: 3px 15px !important;
    text-transform: uppercase;
}
.nav-item a i {
    margin-right: 5px;
    vertical-align: middle;
}
.nav-item a:hover {
    opacity: 0.8;
}
.nav-item a.logout {
	background: #d90000;
}
.delete_link * {
    color: #d90000 !important;
}
.alert.danger {
    background: #d90000;
    color: #fff;
}

.navbar-brand span {
    font-family: 'Playfair Display', serif;
    font-size: 20px;
    text-transform: uppercase;
}
#navbarNav {
    float: right;
}
.navbar-expand-lg .navbar-nav {
	flex-direction: row;
	justify-content: flex-end;
	width: 100%;
}

/* TYPOGRAPHY */

h1 {
    color: #111;
    font-family: 'Playfair Display', serif;
    font-size: 40px;
    margin: 0 0 20px;
    text-align: center;
}
h2 {
    color: #111;
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 400;
}
h2 b {
    color: #000;
    font-weight: 400;
}

/* LAYOUT */

.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
	max-width: 1680px;
}

#wrapper {
    padding-top: 40px;
}
#logo {
    display: block;
    margin: 0 auto 40px;
    max-height: 300px;
}

/* CONTENT */

.content {
    background: #fff;
    color: #111;
    padding: 40px;
    min-height: 100vh;
}

#breadcrumb {
    background: #000;
    border-radius: 0px;
    display: block;
    margin-bottom: 20px;
    padding: 3px 15px;
}
#breadcrumb a {
    color: #fff;
    display: inline-block;
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 400;
    margin-right: 8px;
    text-transform: capitalize;
    text-decoration: none;
}
#breadcrumb a:hover {
    font-weight: 600;
}
#breadcrumb a::after {
    color: #8edbff;
    content: "/";
    display: inline-block;
    padding-left: 8px;
}

a.btn_action {
    background: green;
    border-radius: 0px;
    color: #fff;
    padding: 5px 20px;
    text-decoration: none;
}

#items_wrapper {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-around;
    max-width: 100%;
    width: 100% !important;
}

/* FOLDER COVERS */

#cover_desktop, #cover_mobile {
    align-items: center;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
    width: 100%;
}
#cover_desktop {
    /* min-height: 480px; */   
}
#cover_mobile {
    display: none;
}
#cover_desktop h1, #cover_mobile h1 {
    /* background: rgba(0,0,0,.5); */
    /* padding: 30px; */
    /* border-radius: 15px; */

    color: #fff;
    font-size: 52px;
}
#cover_mobile h1 {
    font-size: 30px;
    word-spacing: 100vw; 
}

@media all and (max-width: 600px) {
    #cover_desktop {
        display: none;
    }
    #cover_mobile {
        display: flex;
    }
}

.folder, .file {
    align-content: center;
	align-items: center;
    /* background-image: url('/img/pattern.png'); */
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: cover;
	border-radius: 0px;
	border-top-left-radius: 0px;
    box-shadow: 2px 2px 5px 2px #F8F5EE inset;
	color: #fff;
	display: flex;
    font-family: 'Playfair Display', serif;
    font-weight: 700;
	height: 200px;
    flex-wrap: wrap;
	float: left;
	font-size: 32px;
	justify-content: center;
	margin: 0 0 20px 0;
	padding: 20px;
	position: relative;
	text-align: center;
    text-decoration: none;
	width: calc(33.33% - 20px);
}
.folder {
    background-color: #fff;
    /* background: #ddd; */
}
.folder a.push, .file a.push {
    color: #fff;
    text-decoration: none;
}
.folder a.push i, .file a.push i {
    display: inline-block;
    margin-right: 5px;
}
.file {
    /* background: #edac4b; */
    background-color: #fff;
    max-width: 100%;
}
/* .folder::before {
	bottom: -10px;
	color: #fff;
	content: "\f07b";
	font-family: 'FontAwesome';
	font-size: 60px;
	opacity: 0.5;
	position: absolute;
	right: 20px;
	z-index: 10;
} */
.folder::before {
    background-image: url('/img/photo-book.png');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
	bottom: 10px;
	content: "";
    filter: invert(100%);
    height: 60px;
	opacity: 1;
	position: absolute;
	right: 12px;
    width: 60px;
	z-index: 10;
}
.file::before {
	bottom: 0px;
	color: #fff;
	content: "\f019";
	font-family: 'FontAwesome';
	font-size: 60px;
	opacity: 0.5;
	position: absolute;
	right: 20px;
	z-index: 10;
}
.file.foto::before {
    content: "\f03e";
}
.file.video::before {
    content: "\f008";
}
.folder:hover, .file:hover {
	opacity: 0.8;
	color: #fff;
}
.folder span, .file span {
    display: block;
    line-height: 28px;
    width: 100%;
    word-wrap: break-word;
}
.file span.filesize {
    font-size: 20px;
    margin-top: 10px;
}
.folder .btn_group, .file .btn_group {
    bottom: 10px;
    left: 10px;
    position: absolute;
    z-index: 10;
}
.folder .btn_group a.action_btn, .file .btn_group a.action_btn {
    background: #111;
    border-radius: 0px;
    color: #fff;
    display: inline-block;
    font-size: 18px;
    font-weight: 700;
    /* margin-right: 2px; */
    padding: 3px 10px;
    text-decoration: none;
    /* text-transform: uppercase; */
}
.folder a.action_btn i, .file a.action_btn i {
    margin: 0;
}
.folder a.action_btn i + span, .file a.action_btn i + span {
    display: inline-block;
    margin-left: 5px;
    width: auto;
}
.file.foto .btn_group a.action_btn.play_video {
    display: none !important;
}
.file.video .btn_group a.action_btn.show_image {
    display: none !important;
}

/* FILE FOTO THUMB */

.file.foto.thumb {
    cursor: pointer;
}
.file.foto.thumb:hover {
	opacity: 1;
	color: #fff;
}
.file.foto.thumb::before {
    display: none;
}
.file.foto.thumb {
    display: block;
    background-position: center center; 
    background-repeat: no-repeat;
    background-size: 100%;
    overflow: clip;
    padding: 0;
    transition: background-size 0.5s ease !important;
}
.file.foto.thumb .btn_group {
    background: rgba(0,0,0,.7);
    bottom: -35px;
    display: flex;
    flex-wrap: nowrap;
    font-size: 18px;
    height: 35px;
    /* justify-content: space-between; */
    left: 0;
    padding: 0;
    width: 100%;
    z-index: 10;
}
.file.foto.thumb:hover {
    background-size: 120%;
}
.file.foto.thumb .btn_group.fixed {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 999999 !important;
}
.file.foto.thumb:hover .btn_group {
    bottom: 0;
}
.file.foto.thumb .btn_group a.action_btn {
    background: transparent;
    border-right: 1px solid #000;
	flex-grow: 1;
    font-size: 18px;
	font-weight: 200;
	height: 35px;
	line-height: 24px;
	padding: 5px 10px 0;
    position: relative;
}
.file.foto.thumb .btn_group a.action_btn:hover {
    background: #F8F5EE;
    color: #111;
}
.file.foto.thumb > a {
    display: block;
    height: 100%;
    width: 100%;
}
.file.foto.thumb.on .btn_group a.action_btn.set_favorite {
    background: #d90000;
}
/* .file.foto.thumb.on .btn_group a.action_btn.set_favorite::after {
	background: #fff;
	content: "";
	display: block;
	height: 75px;
	left: 50%;
	position: absolute;
	top: -19px;
	transform: rotate(65deg);
	width: 1px;
	z-index: 10;
} */
.file.foto.thumb p.comment {
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 5px;
	color: #333;
	display: none;
	font-family: Arial;
	font-size: 12px;
	line-height: 1.2;
	max-width: 85%;
	padding: 5px 8px;
	position: absolute;
	right: 10px;
	top: 10px;
	z-index: 50;
}
.file.foto.thumb p.comment:hover {
    background: #fcd874;
}
.file.foto.thumb.commented p.comment {
    display: block;
}

/* FILE FOTO THUMB FAVORITE */

.file.foto.thumb.on {
    /* border: 10px solid #fcd874; */
    /* border-radius: 12px; */
}
.file.foto.thumb.on > a {
    background: rgba(255,255,255,.6);
    position: relative;
}
.file.foto.thumb.on > a::before,
.file.foto.thumb.on > a::after {
    background: #fcd874;
	content: "";
	display: block;
	height: 50px;
	position: absolute;
    transform: rotate(45deg);
	width: 50px;
	z-index: 10;
}
.file.foto.thumb.on > a::before {
	top: -25px;
	left: -25px;
	box-shadow: 1px 1px 5px #777;
}
.file.foto.thumb.on > a::after {
	bottom: -25px;
	right: -25px;
	box-shadow: -1px -1px 5px #777;
}
.file.foto.thumb.on .btn_group a.action_btn {
    /* background: #fcd874 !important; */
    /* color: #111 !important; */
    /* font-size: 18px !important; */
}
.file.foto.thumb.on .btn_group a.action_btn:nth-of-type(1) {
    /* border-top-right-radius: 12px !important; */
}
.file.foto.thumb.on .btn_group a.action_btn:nth-of-type(1) i {
    /* margin: 6px 4px 0 -4px !important; */
}
.file.foto.thumb.on .btn_group a.action_btn:nth-of-type(2) {
    /* border-top-left-radius: 12px !important; */
}
.file.foto.thumb.on .btn_group a.action_btn:nth-of-type(2) i {
    /* margin: 6px -4px 0 4px !important; */
}

/* INFO LIGHTBOX */

#lightbox_info {
	background: rgba(0,0,0,.5);
	color: #fff;
	display: none;
	height: 35px;
	left: 0;
	line-height: 35px;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 999999 !important;
}
#lightbox_info.visible {
    display: block;
}
#lightbox_info .row {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    margin: 0;
    padding: 0;
}
#lightbox_info .row .col {
    flex-grow: 1;
    text-align: center;
}
#lightbox_info .row .col.close {
    line-height: 35px;
    padding: 0;
}
#close_lightbox_link {
	background: #fff;
	display: block;
	height: 35px;
	font-size: 20px;
	color: #555;
}
#lightbox_info .row .col.notes {
	font-style: italic;
	background: rgba(0,0,0,.5);
	line-height: 1.2;
	padding: 8px 12px;
    position: relative;
}
#lightbox_info .row .col.notes::before {
	color: #aaa;
	content: "\f303";
	font-family: 'FontAwesome';
	font-size: 12px;
	left: 10px;
	position: absolute;
	top: 10px;
	z-index: 10;
}

/* TASTI LATERALI ALBUM FOTOGRAFICO */

.side_btn p.mobile:not(.first) {
    display: none;
}
#back_up p {
    display: block !important;
}
.side_btn.hidden {
    left: -100px !important;
}
#fave_count, #back_up, #link_album, #send_whatsapp {
    background: #fcd874;
    border-bottom-right-radius: 20px;
    border-top-right-radius: 20px;
    box-shadow: 1px 1px 5px #aaa;
    color: #111;
    font-size: 14px;
    left: 0;
    min-width: 85px;
    padding: 12px;
    position: fixed;
    text-align: center;
    top: 45%;
    z-index: 20;
}
#fave_count {
    cursor: pointer;
}
#fave_count:hover {
    background: #fac121;
}
#fave_count.selected {
    background: green;
    color: #fff;
}
#fave_count.selected span {
    background: #52C769;
}
#fave_count p, #back_up p, #link_album p, #send_whatsapp p {
    font-family: 'Playfair Display', serif;
    font-size: 12px;
    line-height: 15px;
    margin: 0;
}
#fave_count span, #back_up span, #link_album span, #send_whatsapp span {
    background: #d8b62b;
    border-radius: 50%;
    color: #fff;
    display: block;
    font-size: 20px;
    font-weight: 600;
    height: 30px;
    line-height: 26px;
    margin: 0 auto 3px;
    width: 30px;
}

#back_up, #link_album, #send_whatsapp {
    background: #cecece;
    cursor: pointer;
    top: calc(45% + 100px);
}
#back_up:hover, #link_album:hover {
    background: #eee;
}
#back_up span, #link_album span, #send_whatsapp span {
    background: #555;
}

#link_album {
    top: calc(45% - 100px);
}
#fave_count i, #link_album i {
    font-size: 15px;
}

#send_whatsapp {
    background: #52C769;
    top: calc(45% - 200px);
}
#send_whatsapp:hover {
    background: #7fdb90;
}
#send_whatsapp span {
    background: transparent;
}
#send_whatsapp i {
    color: #fff;
    font-size: 28px;
}
#send_whatsapp p {
    color: #fff;
}

table.list_table {
    margin-top: 40px;
    width: 100%;
    /* table-layout: fixed; */
}
/* table.list_table tr:hover {
    background: #f6f6f6;
} */
table.list_table th {
    background: #000;
    border-radius: 0px;
    border-right: 10px solid #fff;
    color: #fff;
    padding: 5px 10px;
}
table.list_table td {
    border-bottom: 1px solid #ddd;
    padding: 5px 10px;
}
table.list_table td.action {
    font-size: 20px;
}
table.list_table td.action i {
    color: #111;
    margin-left: 5px;
}
form input[type=text],
form input[type=password],
form input[type=email],
form input[type=number],
form select {
    background: #f0f0f0;
    border: 0;
    padding: 5px 12px;
    width: 100%;
}
form input[type=number] {
    width: 150px;
}
form button {
    border: 0;
    background: green;
    color: #fff;
    margin-top: 40px;
    padding: 10px 30px;
}
form label {
    cursor: pointer;
    display: block;
}
form span.minitip {
    font-size: 14px;
    font-style: italic;
}

/* ADMIN */

td.group_name {
    background: #333;
    color: #fff;
    font-weight: 600;
    border-top: 20px solid #fff;
    text-transform: uppercase;
}
td.icon i {
	background: #eee;
	display: inline-block;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	text-align: center;
	line-height: 38px;
	font-size: 20px;
	box-shadow: 1px 1px #ccc;
}
#fave_list_table h2 {
    cursor: pointer;
}
#fave_list_table ul.faves_list {
    display: none;
    margin: 0 0 0 15px;
    padding: 0;
}
#fave_list_table ul.faves_list li {
    /* float: left; */
    /* margin-right: 22px; */
    /* text-indent: 0; */
}

a.favorites_download_link {
	background: #333;
	border-radius: 50%;
	color: #fff;
	display: inline-block;
	height: 40px;
	line-height: 18px;
	padding: 10px;
	text-align: center;
	width: 40px;
}

/* OVERRIDE */

.colorpicker-element .add-on i, .colorpicker-element .input-group-addon i {
	border: 1px solid #aaa;
	height: 36px;
	width: 36px;
	vertical-align: middle;
}
.colorpicker.colorpicker-2x {
    width: 272px;
}
.colorpicker-2x .colorpicker-saturation {
    width: 200px;
    height: 200px;
}
.colorpicker-2x .colorpicker-hue {
    width: 30px;
    height: 200px;
}
.colorpicker-2x .colorpicker-alpha {
    width: 15px;
    height: 200px;
    background-repeat: no-repeat;
    background-size: cover !important;
}
.colorpicker-2x .colorpicker-alpha,
.colorpicker-2x .colorpicker-preview {
    background-size: 20px 20px;
    background-position: 0 0, 10px 10px;
}
.colorpicker-2x .colorpicker-preview,
.colorpicker-2x .colorpicker-preview div {
    height: 30px;
    font-size: 16px;
    line-height: 160%;
}
.colorpicker-saturation .colorpicker-guide {
    height: 10px;
    width: 10px;
    border-radius: 0px;
    margin: -5px 0 0 -5px;
}

.chocolat-wrapper {
    z-index: 100 !important;
}
.chocolat-overlay.chocolat-visible {
	opacity: 0.95 !important;
}

#swipebox-slider .slide {
    position: relative;
}

div:where(.swal2-container) {
	z-index: 9999999 !important;
}

#swipebox-overlay {
	background: rgb(246,246,243) !important;
}
#swipebox-top-bar {
    display: none !important;
}

#swipebox-bottom-bar {
    /* display: none !important; */
}

/* RESPONSIVE */

@media all and (max-width: 1920px) {
    .folder::before {
        bottom: 2px;
        font-size: 40px;
        right: 15px;
    }
}
@media all and (max-width: 1024px) {
    .content {
        padding-left: 10px !important;
    }
}
@media all and (max-width: 768px) {
    .content {
        padding: 40px 0;
    }
    /* #items_wrapper {
        width: 100%;
    } */
}
@media all and (max-width: 480px) {
    .content {
        padding-left: 5px !important;
    }
    #items_wrapper .file.foto.thumb {
        margin: 0 0 5px !important;
    }
    #fave_count, #back_up, #link_album, #send_whatsapp {
        min-width: 65px;
        padding: 8px 0;
        top: 80%;
    }
    #link_album {
        top: calc(80% - 70px);
    }
    #back_up {
        top: calc(80% + 70px);
    }
    #send_whatsapp {
        top: calc(80% - 140px);
    }
    #lightbox_info .row {
        display: block !important;
    }
    #lightbox_info .row .col.starred {
        display: block !important;
        min-height: 10px !important;
        width: 50px !important;
        float: left !important;
    }
    #lightbox_info .row .col.counter {
        display: block !important;
        float: left !important;
        width: calc(100% - 100px) !important;
    }
    #lightbox_info .row .col.close {
        display: block !important;
        float: left !important;
        width: 50px !important;
    }
    /* ALBUM SIDE BTN */
    .side_btn p { display: none; }
    .side_btn p.mobile { display: block !important; }

    .navbar-expand-lg .navbar-nav {
        width: 100%;
        display: block;
    }
    .nav-item {
        width: 160px;
        float: left;
        margin-bottom: 5px;
    }

    table.list_table {
        margin-top: -10px;
    }
    table.list_table tr:first-of-type {
        display: none;
    }
    table.list_table tr {
        display: block;
        border-bottom: 1px solid #333;
        margin-bottom: 8px;
        padding-bottom: 8px;
    }
    table.list_table td {
        border: 0;
        padding: 2px 10px;
        display: block;
        width: 100%;
        padding: 0;
        margin: 0;
        text-align: center;
    }
    table.list_table td::before {
        content: attr(data-label);
        display: inline-block;
        font-weight: 600;
        margin-right: 5px;
    }
    table.list_table td.action {
        padding: 5px 10px;
    }
    table.list_table td.action a {
        display: inline-block;
        margin: 0 2px;
        background: #ddd;
        padding: 0 10px;
        border-radius: 50%;
        height: 40px;
        width: 40px;
        text-align: center;
        line-height: 36px;
    }
    table.list_table td.action a i {
        margin: 0 !important;
    }
}