/*
Theme Name: ThreeDEasy
Author: ydangle studios
Author URI: https://ydangleapps.com
Description: A beautifully crafted WordPress theme which showcases 3D assets.
Requires at least: 6.1
Tested up to: 6.1
Requires PHP: 7.4
Version: 1.6x
Text Domain: threedeasy
*/

/* Ensure all elements inherit the styles */
* {
    font-family: inherit;
}

/* Vars */
html {
    --threedeasy-background-color: #212121;
    --threedeasy-text-color: #FFF;
    --threedeasy-accent-color: #006F86;
    --threedeasy-accent-color-2: #006F86;
}

/* Default style for all pages */
html, body {
    margin: 0px;
    padding: 0px;
    color: var(--threedeasy-text-color);
    background-color: var(--threedeasy-background-color);
    font-family: 'Comfortaa', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    line-height: 1.5;
    overflow-x: hidden;
}

/* Fix for WP not setting the admin height if not an admin */
/* See: https://stackoverflow.com/a/71243050/1008736 */
body:not(.admin-bar) {
    --wp-admin--admin-bar--height: 0px;
}

/* Bounding scroll indicator */
#threedeasy-scroll-indicator {
    position: absolute; 
    bottom: 0px; 
    left: 0px; 
    width: 100%; 
    z-index: 1; 
    text-align: center; 
    opacity: 0.5; 
    transition: opacity 0.5s; 
}
@keyframes threedeasy-scroll-indicator-bounce {
    0% { transform: translateY(0px); }
    10% { transform: translateY(4px); }
    20% { transform: translateY(0px); }
    100% { transform: translateY(0px); }
}
#threedeasy-scroll-indicator > div {
    font-size: 13px;
}
#threedeasy-scroll-indicator > img {
    width: 10px; 
    height: 10px; 
    margin: 10px; 
    animation: threedeasy-scroll-indicator-bounce 5s infinite;
}

/* Header bar */
.threedeasy.menubar {
    display: flex;
    align-items: center;
    font-size: 14px;
    width: 100%;
    height: 88px;
    /* background-color: var(--threedeasy-background-color); */
}

/* Header bar on the home page */
.home .threedeasy.menubar {
    position: fixed;
    top: var(--wp-admin--admin-bar--height);
    left: 0px;
    z-index: 10;
}

/* Site logo in the header bar */
.threedeasy.menubar a.custom-logo-link {
    line-height: 0px;
}
.threedeasy.menubar img.custom-logo {
    padding: 0px 4px 0px 16px;
    width: auto;
    height: 44px;
}
.threedeasy.menubar a.site-title {
    color: var(--threedeasy-text-color);
    text-decoration: none;
}

/** Top-right menubar content */
.threedeasy.menubar > ul {
    padding: 0px 20px 0px 0px;
}

.threedeasy.menubar > ul > li {
    list-style-type: none;
    display: inline-block;
    padding: 10px 20px;
}

.threedeasy.menubar > ul > li > a {
    color: var(--threedeasy-text-color);
    text-decoration: none;
}

.threedeasy.menubar > ul > li:last-of-type {
    background-color: var(--threedeasy-accent-color);
    border-radius: 22px;
    margin-left: 10px;
    padding: 10px 30px;
}

/** Front page scrolling modifier */
html.home {
    scroll-snap-type: y mandatory;
}

/** Front page hero area */
.threedeasy.hero-content {
    position: relative;
    width: 100vw;
    height: calc(100vh - var(--wp-admin--admin-bar--height));
    overflow: hidden;
    scroll-snap-align: start;
}

/** Front page hero area background image */
.threedeasy.hero-content > .background-image {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0.5;
    object-fit: cover;
}

/** Front page hero area content */
.threedeasy.hero-content > .hero-block {
    position: absolute;
    top: 220px;
    left: calc(50% - 350px);
    width: 700px;
    z-index: 2;
    line-height: 1.5;
    text-align: center;
    text-shadow: 0px 0px 8px black;
    font-weight: bold;
}
.threedeasy.hero-content > .hero-block > .title {
    font-size: 36px;
    padding-top: 10px;
    padding-bottom: 30px;
}
.threedeasy.hero-content > .hero-block > .text {
    font-size: 20px;
    color: rgba(255, 255, 255, 0.7);
    padding-bottom: 10px;
}

/** Front page hero menu */
.threedeasy.hero-content > ul {
    position: absolute;
    bottom: 150px;
    left: 0px;
    width: 100%;
    z-index: 2;
    text-align: center;
    /* display: flex; */
    /* justify-content: center; */
}
.threedeasy.hero-content > ul > li {
    list-style-type: none;
    display: inline-block;
    padding: 10px 20px;
}
.threedeasy.hero-content > ul > li > a {
    font-size: 14px;
    color: var(--threedeasy-text-color);
    text-decoration: none;
    text-shadow: 0px 0px 4px #000;
}
.threedeasy.hero-content > ul > li:first-of-type {
    background-color: var(--threedeasy-accent-color);
    border-radius: 22px;
    margin-left: 10px;
    padding: 10px 30px;
    box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.2);
}
.threedeasy.hero-content > ul > li:first-of-type > a {
    text-shadow: none;
}

/** Front page content block */
.threedeasy.home-highlight-block {
    position: relative;
    width: 100vw;
    height: calc(100vh - var(--wp-admin--admin-bar--height));
    overflow: hidden;
    scroll-snap-align: start;
}
.threedeasy.home-highlight-block > .backlight {
    position: absolute;
    left: 20%;
    top: 50px;
    width: 100%;
    height: calc(100% - 100px);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
	display: none;
   /** background-image: url('http://test.ydangleapps.com/wp-content/uploads/2023/06/blue-light-1.png'); */
}
.threedeasy.home-highlight-block > .info-block {
    position: absolute;
    left: 15%;
    top: 50px;
    width: calc(40% - 100px);
    height: calc(100% - 100px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.threedeasy.home-highlight-block > .info-block > .title {
    font-size: 36px;
    padding-top: 10px;
    padding-bottom: 30px;
}
.threedeasy.home-highlight-block > .info-block > .text {
    font-size: 20px;
    color: rgba(255, 255, 255, 0.7);
    padding-bottom: 10px;
}
.threedeasy.home-highlight-block > .info-block > ul {
    margin-left: -10px;
    padding: 10px 0px 0px 0px;
}
.threedeasy.home-highlight-block > .info-block  > ul > li {
    list-style-type: none;
    display: inline-block;
    padding: 10px 20px;
}
.threedeasy.home-highlight-block > .info-block > ul > li > a {
    font-size: 14px;
    color: var(--threedeasy-text-color);
    text-decoration: none;
}
.threedeasy.home-highlight-block > .info-block > ul > li:first-of-type {
    background-color: var(--threedeasy-accent-color);
    border-radius: 22px;
    margin-left: 10px;
    padding: 10px 30px;
}
.threedeasy.home-highlight-block > .highlight-image {
    position: absolute;
    left: calc(40%);
    top: 25%;
    width: 60%;
    height: 60%;
    object-fit: contain;
}

/** Home page body content */
.threedeasy.home-content-block {
    scroll-snap-align: start;
    margin: 40px 0px 40px 0px;
    left: 15%;
    right: 15%;
    width: 70%;
    position: relative;
}

/** Page title */
.threedeasy.page-title {
    padding: 40px 60px;
    font-size: 40px;
    -ms-word-wrap: break-word;
    word-wrap: break-word;
}

/** Page content */
.threedeasy.page-container {
    position: relative;
    /** margin: 0px 30px 20px 30px; */
    font-size: 16px;
    line-height: 1.6;
	/** background-image: url('http://test.ydangleapps.com/wp-content/uploads/2023/06/Website-Banner-ydangle.png'); */
	background-repeat: no-repeat;
	background-size: cover;
	/**background-position: top; */
}
.threedeasy.page-container > .page-inner-title {
    padding: 40px 30px;
    margin: 0px auto;
    display: block;
    width: calc(100% - 300px);
    max-width: 3000px;
    font-size: 40px;
    -ms-word-wrap: break-word;
    word-wrap: break-word;
}
.threedeasy.page-content {
    margin: 0px auto;
    display: block;
    width: calc(100% - 300px);
    max-width: 3000px;
    padding: 5px 40px 20px 35px;
    /* padding: 20px 40px; */
    /* background-color: rgba(0, 0, 0, 0.4);
    border-radius: 30px; */

}
.threedeasy.page-content .wp-block-image img {
    border-radius: 8px;
}
.threedeasy.page-sidebar {
    float: right;
    width: 420px;
    padding: 20px 40px;
    background-color: rgba(240, 240, 240, 0.1);
    border-radius: 30px;
}
.threedeasy.page-sidebar > li {
    list-style: none;
}

/** Footer section at the bottom of every page */
.threedeasy.footer-section {
    text-align: center;
    padding: 40px 20px;
    font-size: 11px;
    opacity: 0.5;
}
.threedeasy.footer-section > .social-buttons {
	display: flex;
}
.threedeasy.footer-section > .social-buttons > .social-button {
    display: inline-block;
    width: 32px;
    height: 32px;
    background-size: 24px 24px;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.8;
}
.threedeasy.footer-section > .social-buttons > .social-button:hover {
    opacity: 1.0;
}

/** Archive list */
.threedeasy.post-list {
    margin: 0px 50px;
    text-align: center;
}
.threedeasy.post-list > .item {
    display: inline-block;
    width: 320px;
    height: 300px;
    margin: 10px;
    overflow: hidden;
    position: relative;
}
.threedeasy.post-list .item .image-container {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 240px;
    background-color: rgba(255, 255, 255, 0.1);
    background-size: cover;
    background-position: center;
    border-radius: 8px;
}
.threedeasy.post-list .item .title {
    position: absolute;
    top: 250px;
    left: 0px;
    width: 100%;
    font-size: 13px;
    color: var(--threedeasy-text-color);
    opacity: 0.75;
}
nav > .nav-links {
    text-align: center;
    color: #888;
}

/** Common elements */

a:link {
    color: var(--threedeasy-accent-color);
    text-decoration: none;
}
div > a:visited {
    color: var(--threedeasy-accent-color-2);
} 

h2 > a {
	color: #FFF
}

hr {
    border-width: 0px !important;
    background-color: rgba(240, 240, 240, 0.1);
    height: 1px;
}
figcaption {
    font-size: 12px;
    text-align: center;
    opacity: 0.75;
    line-height: 1.5;
}

.separator-menu {
	flex: 1 1 1px;
} 

.wp-block-columns {
	left: 22.5%;
    position: relative;
    width: 80%;
}


element.style {
}
.wp-block-gallery.has-nested-images.is-cropped img {
	padding: 20px;
}

.wp-block-gallery.has-nested-images {
		--wp--style--unstable-gallery-gap: var(--wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em) ) );
    	gap: var(--wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap,  0.5em) ) );
}

.wpforms-field-container {
	color: #efefef !important;
}

.wpforms-field-label {
	color: #efefef !important;
}

.wpforms-field-sublabel {
	color: #efefef !important;
}

.wpforms-field {
	width: 100% !important;
    min-width: 200px !important;
	max-width: 100% !important;
}

.wpforms-container-full input {
	 background-color: #efefef !important;
	width: 100% !important;
}

.wpforms-container-full {
	left: 20% !important;
    position: relative !important;
}

.wpforms-form textarea {
	background-color: #efefef !important;
	width: 60% !important;
}

.wpforms-container-full button {
	background-color: #006f86 !important;
}

/** Mobile responsive */
@media (max-width: 782px) {

    /** Disable snap scrolling since WordPress's menubar acts weird on mobile */
    html.home {
        scroll-snap-type: none;
    }

    /** Prevent menubar from floating */
    .home .threedeasy.menubar {
        position: absolute;
    }

    /** Homepage hero block, smaller text */
    .threedeasy.hero-content > .hero-block {
        top: 120px;
        left: 20px;
        width: calc(100% - 40px);
    }
    .threedeasy.hero-content > .hero-block > .title {
        font-size: 24px;
        padding-top: 10px;
        padding-bottom: 20px;
    }
    .threedeasy.hero-content > .hero-block > .text {
        font-size: 16px;
        padding-bottom: 10px;
    }

    /** Hero block no menu */
    .threedeasy.hero-content > ul {
        display: none;
    }

    /** Highlight area remove the image and make text smaller. Also don't fill the whole screen. */
    .threedeasy.home-highlight-block {
        height: initial;
        margin: 30px 0px;
    }
    .threedeasy.home-highlight-block > .backlight {
        display: none;
    }
    .threedeasy.home-highlight-block > .info-block {
        position: relative;
        left: 20px;
        top: 0px;
        width: calc(100% - 40px);
        height: auto;
        display: flex;
        flex-direction: column;
        justify-content: center;
        text-align: center;
    }
    .threedeasy.home-highlight-block > .info-block > .title {
        font-size: 24px;
        padding-top: 20px;
        padding-bottom: 10px;
    }
    .threedeasy.home-highlight-block > .info-block > .text {
        font-size: 14px;
        padding-bottom: 20px;
    }
    .threedeasy.home-highlight-block > .highlight-image {
        display: none;
    }

    /** Home page content block */
    .threedeasy.home-content-block {
        margin: 40px 0px 40px 0px;
        text-align: center;
		 left: 7.5%; 
    	 right: 7.5%; 
    	 width: 85%;
    }

    /** Remove site name from menubar */
    .threedeasy.menubar a.site-title {
        display: none;
    }

    /** Less padding around page content */
    .threedeasy.page-title {
        padding: 30px 20px;
        font-size: 24px;
    }
    .threedeasy.page-container {
        margin: 0px 10px 20px 10px;
    }
    .threedeasy.page-container > .page-inner-title {
        padding: 20px 10px;
        margin: 0px;
        font-size: 24px;
		width: calc(100% - 100px);
    }
    .threedeasy.page-content {
        width: 100%;
        padding: 5px 10px 20px 10px;
    }

    /** Archive post list */
    .threedeasy.post-list {
        margin: 0px 10px;
    }
    .threedeasy.post-list > .item {
        display: inline-block;
        width: 280px;
        height: 300px;
        margin: 0px 10px 10px 10px;
        overflow: hidden;
        position: relative;
    }
	
	h2 > a {
		color: #FFF
	}
	
	.threedeasy.footer-section {
		text-align: center;
		padding: 0px;
		font-size: 11px;
		opacity: 0.5;
	}
	
	.separator-menu {
		flex: 0.4 0.5 0.4px;
	} 
	
	.wp-block-columns {
		left: 5%;
    	position: relative;
	}
	
	.wp-block-image {
		width: 95%;
	}
	
	.wp-block-gallery.wp-block-gallery-1  {
		--wp--style--unstable-gallery-gap: var(--wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap,) ) ) !important;
    	gap: var(--wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, ) ) )!important;
	}
	
	.wp-block-gallery.has-nested-images.is-cropped img {
		padding: 5px;
	}
	
	.wpforms-container-full {
		left: 0% !important;
		right: 2.5% !important;
		width: 90% !important;
    	position: relative !important;
	}
	
	.wpforms-form textarea {
		background-color: #efefef !important;
		width: 100% !important;
	}

}
