/*
Theme Name: Groeier Huisstijlhandboek
Text Domain: Groeier Huisstijlhandboek
Version: 1.0
Description: Groeier Huisstijlhandboek
Tags: groeier, komverder
Author: Jarmo Roos
Author URI: https://www.groeier.nl
*/

/* Main styles */
body {
	margin: 20px;	
}
h1, h2, h3 {
	margin: 0px;
	font-family: sofia-pro, sans-serif !important;
    font-weight: 700 !important;
    font-style: normal;
}
h2 {
    font-size: 2em;
}
p, li, a {
	margin: 0px;
	font-family: sofia-pro, sans-serif;
    font-weight: 400 !important;
    font-style: normal;
}

/* Only desktop screen */
#only_desktop {
	width: 100%;
	height: 100vh;
	position: fixed;
	z-index: 99999;
	top: 0px;
	left: 0px;
	background: white;
}
#only_desktop .info {
	text-align: center;
	position: absolute;
	top: 50%;
  	left: 50%;
  	transform: translate(-50%, -50%);
}
#only_desktop .info img {
	max-width: 100px;
    margin-bottom: 35px;
    animation-name: floating;
    animation-duration: 3s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
}

/* Error screen */
#error {
    width: 100%;
	height: 100vh;
	position: fixed;
	z-index: 99999;
	top: 0px;
    left: 0px;
    background-color: white;
}
#error .info {
	text-align: center;
	position: absolute;
	top: 50%;
  	left: 50%;
    transform: translate(-50%, -50%);
    max-width: 350px;
}
#error .info img {
    animation-name: floating;
    animation-duration: 3s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
	max-width: 100px;
	margin-bottom: 35px;
}
@keyframes floating {
    0% { transform: translate(0,  0px); }
    50%  { transform: translate(0, 15px); }
    100%   { transform: translate(0, -0px); }   
}
#error .info h3 {
    margin-bottom: 35px;
}
#error .info a {
    color: black;
    font-weight: 700 !important;
}

/* Sidebar nav */
.menu-overlay {
    display: none;
    position: fixed;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    z-index: 5;
    background-color: rgba(255, 255, 255, 0.5);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}
body.menu-active .menu-overlay {
    display: block; 
}
#sidebar_nav {
    position: fixed;
    top: 20px;
    left: -600px;
    bottom: 20px;
    z-index: 10;
    border-radius: 8px;
    width: 475px;
    min-width: 285px;
    padding: 35px;
    height: calc(100vh - 110px);
    -webkit-transition: all 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
    transition: all 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
#sidebar_nav.enabled {
    left: -545px;
}
body.menu-active #sidebar_nav {
    left: 20px;
    -webkit-transition: all 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
    transition: all 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
#sidebar_nav .menu-button {
    position: absolute;
    top: 45%;
    right: -105px;
    transform: translate(0%, -50%);
    width: 85px;
    height: 25px;
    padding: 10px;
    text-align: right;
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
#sidebar_nav .menu-button p {
    font-size: 16px;
}
body.menu-active #sidebar_nav .menu-button p {
    display: none;
}
body.menu-active #sidebar_nav .menu-button {
    border: 0px !important;
    width: 30px;
    right: -50px;
}
#sidebar_nav .menu-button span {
    font-size: 20px;
    position: absolute;
    right: 15px;
    top: 8px;
}
#sidebar_nav .menu-button i.left {
    display: none;
}
body.menu-active #sidebar_nav i.left {
    display: block;
}
body.menu-active #sidebar_nav i.right {
    display: none;
}
#sidebar_nav .menu-button:hover {
    cursor: pointer;
}
#sidebar_nav .menu {
    margin-top: 50px;
}
#sidebar_nav .directory {
    margin-top: 35px;
    position: relative;
}
#sidebar_nav .directory .label:hover {
    cursor: pointer;
}
#sidebar_nav .directory .menu-items {
   display: none;
}
#sidebar_nav .directory.open .menu-items {
    display: block;
}
#sidebar_nav h3 {
    padding-bottom: 10px;
    font-size: 24px;
    border-bottom: 1px solid rgba(255, 255, 255, .2);
}
#sidebar_nav .directory span.icon-header {
    position: absolute;
    right: 0px;
    top: -2px;
}
#sidebar_nav .directory.open span.icon-header {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
}
#sidebar_nav .directory span.icon-header i {
    font-size: 26px;
}
#sidebar_nav .item a {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    padding: 10px 0px 10px 0px;
    font-size: 18px;
    text-decoration: none;
    color: black;
    border-bottom: 1px solid rgba(255, 255, 255, .2);
}
#sidebar_nav .item a:hover {
    border-bottom: 1px solid rgba(255, 255, 255, .2);
}
#sidebar_nav .item span.subdirectory {
    font-weight: 700 !important;
}
#sidebar_nav .item p {
    padding-left: 15px;
}
#sidebar_nav .item span.icon {
    -webkit-transition: all 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
    transition: all 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
    position: absolute;
    right: 0px;
    top: 10px;
}
#sidebar_nav .item a:hover span.icon {
    right: 10px;
    -webkit-transition: all 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
    transition: all 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
#sidebar_nav .logout_link {
    font-size: 20px;
    text-decoration: none;
    position: absolute;
    bottom: 35px;
    left: 35px;
}

/* Manual */
#manual {
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

/* Sidebar left */
#sidebar_menu {
	min-height: calc(100vh - 20px);
    width: 25%;
    margin-right: 75px;
}
#sidebar_menu .sidebar {
    display: flex;
	flex-direction: column;
    justify-content: space-between;
    min-width: 285px;
    width: 100%;
    height: calc(100vh - 135px);
    padding: 35px;
    border-radius: 8px;
    position: relative;
}
#sidebar_menu a.admin_link {
    position: absolute;
    top: 35px;
    right: 35px;
    font-weight: 700 !important;
    text-decoration: none;
    font-size: 18px;
}
#sidebar_menu img.logo {
	max-width: 100px;
	margin-bottom: 20px;
}
#sidebar_menu .sidebar-next-prev {
    margin-top: 30px;
    display: flex;
	flex-direction: row;
	justify-content: flex-start;
}
#sidebar_menu .sidebar-next-prev a { 
    font-weight: 700 !important;
    font-size: 18px;
    margin-right: 20px;
    text-decoration: none;
}

/* Items */
.content {
	width: 70%;
	padding: 35px;
	border-radius: 8px;
}

/* Login screen */
#sidebar_login {
    display: flex;
	flex-direction: column;
	justify-content: space-between;
    width: 75%;
    height: calc(100vh - 110px);
    padding: 35px;
    border-radius: 8px;
    position: relative;
    background-color: black;
}
#sidebar_login h1 {
    font-size: 46px;
    color: white;
    text-align: right;
}
#sidebar_login h2 {
    font-size: 42px;
    line-height: 46px;
    color: white;
}
.loginform {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.loginform p.loginlabel {
    font-size: 26px;
    margin-bottom: 20px;
}
.loginform p.error {
    color: red;
    margin-bottom: 20px;
}
.loginform .input {
    font-family: sofia-pro, sans-serif;
    font-weight: 400 !important;
    font-style: normal;
    width: 250px;
    font-size: 18px;
    padding: 12px 15px 12px 15px;
    margin-bottom: 10px;
    border-radius: 8px;
    border: 1px solid lightgray;
}
.loginform .login-remember {
    margin-top: 10px;
}
.loginform #wp-submit {
    font-family: sofia-pro, sans-serif;
    font-weight: 700 !important;
    font-style: normal;
    font-size: 18px;
    margin-top: 25px;
    width: 200px;
    background-color: black;
    color: white;
    border: 0px;
    padding: 12px 20px 12px 20px;
    border-radius: 50px;
}
.loginform #wp-submit:hover {
    cursor: pointer;
}
.loginform a.lost-password {
    margin-top: 35px;
    color: black;
}

/* Lost password */
#wp_pass_reset .text,
#saveresetpwdfrm .text {
    margin-top: 25px;
    font-family: sofia-pro, sans-serif;
    font-weight: 400 !important;
    font-style: normal;
    width: 100% !important;
    max-width: 350px;
    font-size: 18px;
    padding: 12px 15px 12px 15px;
    margin-bottom: 10px;
    border-radius: 8px;
    border: 1px solid lightgray;
}
#wp_pass_reset #submitbtn,
#saveresetpwdfrm #savesubmitbtn {
    display: block;
    font-family: sofia-pro, sans-serif;
    font-weight: 700 !important;
    font-style: normal;
    font-size: 18px;
    margin-top: 25px;
    background-color: black;
    color: white;
    border: 0px;
    padding: 12px 20px 12px 20px;
    border-radius: 50px;
}
#wp_pass_reset #submitbtn:hover,
#saveresetpwdfrm #savesubmitbtn:hover {
    cursor: pointer;
}
.loginform .error p {
    color: red;
}
.loginform .success p {
    color: green;
}
.loginform .error a,
.loginform .success a {
    display: block;
    max-width: 75px;
    font-family: sofia-pro, sans-serif;
    font-weight: 700 !important;
    font-style: normal;
    font-size: 18px;
    margin-top: 25px;
    background-color: black;
    color: white;
    border: 0px;
    padding: 12px 20px 12px 20px;
    border-radius: 50px;
    text-decoration: none;
}


/* Admin screen */
#admin_navigation .grid {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
}
#admin_navigation .grid .column {
    width: 48%;
    margin-right: 2%;
    margin-bottom: 25px;
}
#admin_navigation .grid .column a {
    text-decoration: none;
    font-weight: 700 !important;
    color: black;
}
#admin_navigation .grid .column .background {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    padding: 35px;
}
#admin_navigation .grid .column img {
    height: 100px;
    object-fit: contain;
}
#admin_navigation .grid .column .info {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    padding: 10px 0px 10px 0px;
}
#admin_navigation .grid .column p {
    font-weight: 700 !important;
    color: black;
    font-size: 14px;
}

/* Preloader relation */
#preloader {
	width: 100%;
	height: 100vh;
	position: fixed;
	z-index: 99999;
	top: 0px;
	left: 0px;
}
#preloader .info {
	text-align: center;
	position: absolute;
	top: 50%;
  	left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
#preloader .info img {
    max-width: 150px;
}
#preloader .info svg {
    max-width: 75px;
    margin-top: 35px;
}

/* Navigation screen relation */
#navigation_screen h1.greeting {
    margin-bottom: 35px;
}
#navigation_screen .grid {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
}
#navigation_screen .grid .column {
    width: 45%;
    margin-right: 5%;
    margin-bottom: 25px;
}
#navigation_screen .grid .column h2 {
	font-size: 20px;
    padding: 0px 0px 15px 0px;
    margin: 15px 0px 5px 0px;
    border-bottom: 1px solid lightgray;
}
#navigation_screen .grid .column .item a {
    font-size: 16px;
    color: black;
    text-decoration: none;
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    padding: 10px 0px 10px 0px;
    border-bottom: 1px solid white;
}
#navigation_screen .grid .column .item a:hover {
    border-bottom: 1px solid lightgray;
}
#navigation_screen .grid .column .item span.subdirectory {
    font-family: sofia-pro, sans-serif;
    font-weight: 700 !important;
    font-style: normal;
}
#navigation_screen .grid .column .item p {
    padding-left: 15px;
}
#navigation_screen .grid .column .item a:hover span.icon {
    right: 10px;
    -webkit-transition: all 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
    transition: all 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
#navigation_screen .grid .column .item span.icon {
    position: absolute;
    top: 6px;
    right: 0px;
    font-weight: bold;
    font-size: 20px;
    -webkit-transition: all 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
    transition: all 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

/* Subdirectories */
.top-level-item .subdirectory {
    width: 100%;
    margin: 20px 0px 20px 0px;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}
.top-level-item .subdirectory .grid {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;
}
.top-level-item .subdirectory .content h2 {
    margin-bottom: 20px;
}
.top-level-item .subdirectory .grid .column {
    margin-bottom: 25px;
}
.top-level-item .subdirectory .grid.column-one .column {
    width: 50%;
    margin-right: 0px;
}
.top-level-item .subdirectory .grid.column-two .column {
    width: 48%;
    margin-right: 2%;
}
.top-level-item .subdirectory .grid.column-three .column {
    width: 48%;
    margin-right: 2%;
}
.top-level-item .subdirectory .grid .column .image {
    position: relative;
}
.top-level-item .subdirectory .grid .column img {
    width: 100%;
    border-radius: 8px;
    border: 1px solid lightgray;
}
.top-level-item .subdirectory .grid .column img.type {
    border: 0px;
    max-width: 35px;
    position: absolute;
    right: 15px;
    bottom: 20px;
}
.top-level-item .subdirectory .grid .column .info {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
}
.top-level-item .subdirectory .grid .column .info a {
    text-decoration: none;
    color: black;
    font-weight: 700 !important;
}

/* Kleuren */
.top-level-item .subdirectory .colors {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;
    margin-bottom: 35px;
}
.top-level-item .subdirectory .colors .column {
    margin-right: 2%;
    width: 48%;
}
.top-level-item .subdirectory .colors .color {
    width: 100%;
    height: 250px;
}
.top-level-item .subdirectory .colors .colorcode {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.top-level-item .subdirectory .colors .colorcode p {
    font-weight: 700 !important;
}
.top-level-item .subdirectory .colors .colorcode p:hover {
    cursor: pointer;
}
.notifyjs-bootstrap-success {
    font-family: sofia-pro, sans-serif;
    font-weight: 700 !important;
    font-style: normal;
}

/* Fonts */
.showcase-fonts {
    padding: 35px;
    border: 1px solid lightgray;
    border-radius: 8px;
}
.showcase-fonts .font {
    margin-bottom: 35px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
}
.showcase-fonts .font .title {
    width: 20%;
    margin-right: 2%;
}
.showcase-fonts .font .title p {
    font-size: 32px;
}
.showcase-fonts .font .line {
    width: 15%;
    margin-right: 2%;
    border-bottom: 1px solid black;
}
.showcase-fonts .font .font-content {
    width: 59%;
    margin-right: 2%;
}

.showcase-families {
    margin-top: 50px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;
}
.showcase-families .family {
    width: 45%;
    margin-right: 5%;
    margin-bottom: 35px;
}
.showcase-families .family p.title {
    font-size: 32px;
}
.showcase-families .family p.family-content {
    font-size: 26px;
}

@media screen and (min-width: 1024px) {
	/* Only desktop screen */
	#only_desktop {
		display: none;
    }
}

@media screen and (min-width: 1300px) {
    /* Admin screen */
    #admin_navigation .grid .column {
        width: 31%;
    }
    /* Navigation screen relation */
    #navigation_screen .grid .column {
        width: 28%;
    }

    /* Subdirectories */
    .top-level-item .subdirectory .grid.column-one .column {
        width: 28%;
    }
    .top-level-item .subdirectory .grid.column-two .column {
        width: 31%;
        margin-right: 2%;
    }
    .top-level-item .subdirectory .grid.column-three .column {
        width: 31%;
        margin-right: 2%;
    }

    /* Kleuren */
    .top-level-item .subdirectory .colors .column {
        margin-right: 2%;
        width: 29%;
    }
}

@media screen and (min-width: 1600px) {
    /* Admin screen */
    #admin_navigation .grid .column .background {
        min-height: 175px;
    }
    #admin_navigation .grid .column p {
        font-size: 18px;
    }

    /* Kleuren */
    .top-level-item .subdirectory .colors .column {
        width: 19%;
    }
}