/*
Theme Name: Phương Vũ
Text Domain: phuongvu
Version: 1.0
Requires at least: 4.7
Requires PHP: 5.2.4
Description: Đây là theme được thiết kế riêng cho website Công ty Thép Phương Vũ
Tags: 
Author: Thịnh Trần Art
Author URI: https://thinhtran.art
Theme URI: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------

	0. 	CSS Reset
	1. 	Document Setup
	2. 	Element Base
	3. 	Helper Classes
	4. 	Site Header
	5. 	Menu Modal
	6. 	Search Modal
	7. 	Page Templates
		a. 	Template: Cover Template
		c. 	Template: Full Width
	8.  Post: Archive
	9.  Post: Single
	10. Blocks
	11. Entry Content
	12. Comments
	13. Site Pagination
	14. Error 404
	15. Widgets
	16. Site Footer
	17. Media Queries

----------------------------------------------------------------------------- */


/* -------------------------------------------------------------------------- */

/*	0. CSS Reset
/* -------------------------------------------------------------------------- */
html,
body {
	border: none;
	margin: 0;
	padding: 0;
	display: flex;
    flex-direction: column;
    min-height: 100vh;
}
html{font-size:10px;}
body{
	margin:0;
	font-family: 'Jura', sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
address,
big,
cite,
code,
em,
font,
img,
small,
strike,
sub,
sup,
li,
ol,
ul,
fieldset,
form,
label,
legend,
button,
table,
caption,
tr,
th,
td {
	border: none;
	font-size: inherit;
	line-height: inherit;
	margin: 0;
	padding: 0;
	text-align: inherit;
}

blockquote::before,
blockquote::after {
	content: "";
}

.padding1rem{padding: 1rem;}

.header-navigation-desktop{display: none;}

.container{
	width: 100%;
	margin: auto;
	padding: 0 1rem;
	box-sizing: border-box;
}
.container-fluid{
	width: 100%;
	margin: auto;
	box-sizing: border-box;
}
.aligncenter{
    margin: auto;
}

#site-header{
	width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ED1D25;
    z-index: 999;
}

.header-logo{
    height: 46px;
    width: 80%;
    background-image: url("images/logo-bg-s-main.png");
    background-repeat: repeat-x;
    background-size: cover;
    z-index: 2;
    position: relative;
}
	.header-logo::after{
		content: "";
	    display: inline-block;
	    width: 30px;
	    height: 46px;
	    background-image: url(images/logo-bg-s-after.png);
	    background-repeat: no-repeat;
	    background-size: cover;
	    position: absolute;
	    right: -30px;
		}

	.logo{
		display: inline-block;
	    width: 174px;
	    height: 38px;
	    background-image: url(images/logo.png);
	    text-indent: -9999px;
	    background-size: cover;
	    margin: 5px 20px;
	}

.header-navigation-wrapper{
    width: 100%;
    height: 46px;
    z-index: 1;
    margin-top: -46px;
    position: relative;
}

#site-header .icon{
	color: white;
	position: absolute;
	right: 10px;
	top: 10px;
	font-size: 20px;
	z-index: 2;
}

#menu-main-menu{
	background-color: rgba(237,29,37, 0.9);
    padding: 15px 20px;
    margin-top: 46px;
    position: absolute;
    width: -webkit-fill-available;
    display: none;
}
	
	#menu-main-menu li{
		list-style: none;
	}

	#menu-main-menu li a{
		color: white;
		text-decoration: none;
		text-transform: uppercase;
		font-size: 1.6rem;
		font-weight: 300;
		padding: 15px 3px;
		display: table-cell;
		cursor: pointer;
	}

	#menu-main-menu .menu-item-has-children > a:after{
		content: " ↓";
	}

	#menu-main-menu li a:hover,
	#menu-main-menu .current-menu-item > a,
	#menu-main-menu .current_page_item > a,
	#menu-main-menu .current-page-ancestor > a,
	#menu-main-menu .current-menu-ancestor > a,
	#menu-main-menu .current-menu-parent > a,
	#menu-main-menu .current-page-parent > a{
		border-bottom: solid 2px white;
		font-weight: 700;
	}
		#menu-main-menu li a:hover{
			transition: all ease 0.5s;
		}

	#menu-main-menu li ul{
		margin-left:20px;
		padding: 0;
	}

	#menu-main-menu li li a{
		text-transform: none;
		padding: 10px;
	}


#site-footer{}
	.ft-sec-1{display: none;}
	.ft-sec-2{background: #ED1D25;}
		.ft-sec-2 .container{
			display: flex;
			flex-direction: column;
			padding: 0.5rem 0;
			color: white;
			text-align: center;
		}
		.ft-sec-2 .copyright,
		.ft-sec-2 .ft-contact{
			padding: 0.5rem;
			font-size: 1.2rem;
		}
		.ft-sec-2 .ft-contact i{
			font-size: 1.8rem;
		}
		.ft-sec-2 .ft-contact a{
			font-size: 1.8rem;
			color: white;
			text-decoration: none;
		}
	.return-to-top{
		padding: 1.5rem 1rem;
		text-align: center;
		color: #4B4B4B;
		text-transform: uppercase;
		font-size: 1rem;
	}
		.return-to-top button{
			background: transparent!important;
			cursor: pointer;
		}
		.return-to-top i{
			display: block;
			font-size: 2rem;
			color: #4B4B4B;
			padding-bottom: 0.5rem;
		}

#site-content{
	flex: 1;
	font-size: 1.4rem;
	color: #4B4B4B;
	line-height: 1.5;
}

.serif{font-family: 'Literata', serif;}

/* Company Greeting */
.company-greeting{
	padding-top: 2rem;
	padding-bottom: 2rem;
}
.company-greeting .photo img{
	width: 100%;
	height: auto;
}
.company-greeting .greeting-title{
	font-family: 500;
	font-size: 2.4rem;
	color: #4B4B4B;
	padding: 1rem 0;
}
.company-greeting .greeting-content{
	padding: 0 1rem;
	text-align: justify;
}

/* Product module */
.products-module{
	background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom center;
    background-attachment: fixed;
    background-color: #343434;
    padding: 2rem 0;
}
.red{color: #ED1D25;}
.bold{font-weight: 700;}
.module-title{
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center;
	padding: 2rem 0;
}
.sub-module-title{
	font-size: 2.4rem;
	font-weight: 700;
	text-align: left;
	padding: 2rem 0 1rem 0;
}

	.products-listing{
	    list-style: none;
	}
	.products-listing li{
		padding: 1rem 0;
	}
	.products-listing .product-photo{
		border-radius: 1.5rem 1.5rem 0 0;
		overflow: hidden;
	}
	.products-listing .product-photo img{
		display: block;
		transition: transform 1s;
	}
		.products-listing .product-photo img:hover{
			transform: scale(1.2);
		}
	.products-listing .product-name-cont{
		background: white;
		padding: 1rem 2rem;
		border-radius: 0 0 1.5rem 1.5rem;
	}
		.products-listing li:hover > .product-name-cont{
			transition: background-color 0.7s linear;
		}
		.products-listing .product-name{
			font-size: 1.6rem;
			font-weight: 700;
			text-transform: uppercase;
			text-decoration: none;
			border-bottom: 1px solid transparent;    
            transition: all .5s ease-in;
		}
			.products-listing .product-name:hover{
				border-bottom: 1px solid white;
			}
		.products-listing .product-capacity{
			font-size: 1.4rem;
		}

/** Page quote **/
.page-quote{
	overflow: hidden;
}
.page-quote img{
	width: 100%;
    height: auto;
    z-index: 1;
    display: block;
    transition: transform 1s;
}
.page-quote img:hover{
	transform: scale(1.2);
}
.page-quote .quote-content{
	background: rgba(237,29,37, 0.9);
    color: white;
    padding: 2rem;
    text-align: center;
    font-size: 1.4rem;
    z-index: 2;
    margin: -4rem 1rem 1rem 1rem;
    position: relative;
}

/** News module **/
.news-module .module-title{
	padding: 1rem 0;
}
.news-listing li{
	padding: 0.5rem 0;
	list-style: none;
}
.news-listing .post-thumbnail,
.news-listing time,
.news-listing h3{
	padding: 0.5rem 0;
}
.news-listing .post-thumbnail img{
	display: block;
	width: 100%;
	height: auto;
}
.news-listing time{
	font-size: 1.2rem;
	font-weight: 700;
}
.news-listing h3 a{
	font-size: 1.4rem;
	font-weight: 300;
	color: #4B4B4B;
	text-decoration: none;
	border-bottom: 1px solid transparent;    
    transition: all .5s ease-in;
}
	.news-listing li:hover > h3 a{
		color: #ED1D25;
	}
	.news-listing h3 a:hover{
		border-bottom: 1px solid #ED1D25;
	}

/** Post Content Container **/
.fullwidth-banner{
	overflow: hidden;
}
.fullwidth-banner img{
	width: 100%;
	height: auto;
}
.post-content-container{
	font-size: 1.4rem;
	padding-bottom: 3rem;
}

	.about .post-content{
		padding: 0 1rem;
	}

/** Breadcrumb **/
.breadcrumb{
	padding-top: 2rem;
	font-size: 1.2rem;
}
	.breadcrumb a,
	.breadcrumb span{
		font-weight: 700;
		color: #ED2028;
		text-decoration: none;
	}
	.breadcrumb span{
		padding: 0 0.5rem;
	}
	.breadcrumb span:first-child{
		padding-left: 0;
	}
	.breadcrumb .breadcrumb_last{
		color: #4B4B4B;
		font-weight: 300;
	}

/** Single product **/
	.post-content{
		padding-bottom: 2rem;
	}
	.product-standard-table img{
		width: 100%;
		height: auto;
	}

	/** Pagination **/
	.pagination{
		text-align: center;
    	padding: 2rem 0;
    	font-size: 1.2rem;
	}
		.pagination .page-numbers{
			padding: 0.5rem;
		}
		.pagination a{
			text-decoration: none;
		}

/** News **/
	.news-post .module-title{
		text-align: left;
	}
	.news-post time{
		display: block;
		padding-bottom: 2rem;
	}
	.news-post img{
		max-width: 100%;
		height: auto;
		display: block;
	}
	.news-post{
		font-size: 1.4rem;
	}
	
	figure {
        display: block;
        margin-block-start: 0;
        margin-block-end: 0;
        margin-inline-start: 0;
        margin-inline-end: 0;
	}
	
	.wp-caption{
	    max-width: 100%;
	}

/** Career **/
.career .one-half-col:last-child{
	padding: 0 2rem;
	box-sizing: border-box;
}
.top-rounded-module-name{
	background: #ED1D25;
    padding: 1rem;
    color: white;
    font-weight: 700;
    border-radius: 1rem 1rem 0 0;
    font-size: 1.4rem;
    border: solid 1px #ED1D25;
}
.career-position{
	overflow: hidden;
	border-radius: 0 0 1rem 1rem;
	border-left: solid 1px #ED1D25;
	border-right: solid 1px #ED1D25;
	border-bottom: solid 1px #ED1D25;
}
	.career-position li{
		border-bottom: solid 1px #ED1D25;
	}
		.career-position li:last-child{
			border-bottom: none;
		}
	.career-position .collapsible{
		width: 100%;
		background: transparent;
		color: #4B4B4B;
		font-weight: 700;
		cursor: pointer;
		padding: 1rem;
		font-family: 'Jura';
	}
	.career-position .collapsible:hover,
	.career-position .active{
		background: #ED1D25;
		color: white;
	}
	.career-position .content{
	  	max-height: 0;
	  	overflow: hidden;
	  	transition: max-height 0.2s ease-out;
	  	background-color: #f1f1f1;
	}
		.career-position .content .content-inner{
			padding: 2rem;
		}

/** Contact page **/
.contact-page .two-col .one-half-col{
	padding-bottom: 2rem;
}

.contact-form form{
	padding: 1rem;
	border-left: solid 1px #C9C9C9;
	border-right: solid 1px #C9C9C9;
	border-bottom: solid 1px #C9C9C9;
	border-radius: 0 0 1rem 1rem;
}
	.contact-form label{
		color: #FF0000;
		font-weight: 700;
	}
	.contact-form form input,
	.contact-form form textarea{
		width: -webkit-fill-available;
		min-width: 100%;
		padding: 1rem;
		border-radius: 0.5rem;
		border: solid 1px #CDCDCD;
		background: #EFEFEF;
		margin: 1rem 0;
		-moz-appearance: none;
        -webkit-appearance: none;
        -ms-appearance: none;
        -o-appearance: none;
	}
	.contact-form form input[type="submit"]{
		padding: 1rem;
		background: #ED1D25;
		color: white;
		text-align: center;
		font-family: 'Jura';
		font-weight: bold;
		box-shadow: none;
		border-radius: 1rem;
		border: none;
	}
	.contact-form form br{
	    display: none;
	}



/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px){

	.container{width: 540px;}
	.header-logo{width:29%;}
	.ft-sec-2 .container{
		flex-direction: row;
		align-items: center;
    	justify-content: space-between;
	}

}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px){ 

	.container{width: 720px; padding: unset;}
	#menu-main-menu{width: max-content; right: 20px;}
	#site-header .icon{font-size: 22px; right: 20px;}

	.logo{width: 168px;}

	.ft-sec-2 .copyright{
	    text-align: left;
	}
	.ft-sec-2 .ft-contact{
	}
	.return-to-top{
		position: relative;
    	width: max-content;
    	margin-inline-start: auto;
	}

	/** Company Greeting **/
	.company-greeting{
		padding-top: 3rem;
		padding-bottom: 3rem;
	}
	.company-greeting .greeting-title{
		font-size: 3.2rem;
		padding: 1.5rem 0;
	}
	.company-greeting .greeting-content{
		padding: 0 2rem;
		font-size: 1.4rem;
	}

	/** Product module **/
	.product-page.products-module{
		min-height: 100vh;
	}
	.module-title{
		font-size: 3.2rem;
	}
	.products-listing{
		display: flex;
	    flex-wrap: wrap;
	    flex-direction: row;
	    justify-content: space-between;
	}
	.products-listing li{
		width: 32%;
	}

	/** Page quote **/
	.page-quote .quote-content{
	    padding: 3rem;
	    font-size: 1.6rem;
	    margin: -5rem 4rem 1rem 4rem;
	}

	/** News module **/
	.news-listing{
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.news-listing li{
		width: 32%;
	}

	/** Post Content Container **/
	.post-content-container{
		font-size: 1.4rem;
		padding-bottom: 4rem;
	}

		.about .post-content{
		padding: 0 2rem;
	}

	/** Breadcrumb **/
	.breadcrumb{
		padding-top: 3rem;
		font-size: 1.4rem;
	}

	/** Single Product **/
	.post-content{
		padding-bottom: 0;
	}
	.two-col{
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.one-half-col{
		width: 49%;
	}

	/** News post **/
	.news-post{
		font-size: 1.4rem;
	}
	.news-post img{
		width: auto;
		height: auto;
		margin: auto;
	}

	/** Career **/
	.career .one-half-col:last-child .sub-module-title:first-child{
		padding-top: 0;
	}

	/** Contact page **/
	.contact-form form{
		padding: 1rem 2rem;
	}
	.contact-page .two-col{
		padding-bottom: 3rem;
	}
	.contact-page .two-col .one-half-col:last-child{
		box-sizing: border-box;
		padding: 0 2rem;
	}


 }

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px){

	#site-header{height:50px; position: fixed;}
		.container{width: 960px;}
	.header-logo{width: 23%; height:50px; display: inline-block;}
		.header-logo::after{height: 50px;}
		.logo{width: 174px; height:42px;}
	#site-header .icon{display: none;}
	.header-navigation-wrapper{height:50px; margin-top:-50px;}
	#menu-main-menu{
		display: inline-block;
	    background-color: transparent;
	    width: 71%;
	    margin-left: 26%;
	    margin-top: 0;
	    padding: 0 20px;
	    text-align: center;
	    right: auto;
	}
		#menu-main-menu li{display: inline-block; padding: 0px 1rem;}
		#menu-main-menu ul{
			background-color: rgba(237,29,37, 0.8);
		    position: absolute;
		    margin-left: 0px!important;
		    padding: 15px 0px!important;
		    visibility: hidden;
		    transform: translateY(-2em);
		    transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
		}
			#menu-main-menu li:hover > ul,
			#menu-main-menu li:focus > ul{
				visibility: visible;
				transform: translateY(0%);
				transition-delay: 0s, 0s, 0.3s;
			}
		#menu-main-menu li li{display: block;}

	.ft-sec-1{
		display: block;
		border-top: solid 1px #979797;
		background: #F6F6F6;
		padding: 1rem 0;
	}
		.ft-sec-1 .container{display: flex;}
		.ft-sec-1 .ft-logo{
			display: inline-block;
			width: 30%;
		}
		.ft-sec-1 .ft-menu{
			width: 67%;
			margin-left: 2rem;
			display: flex;
		    flex-direction: column;
		    align-items: center;
		    justify-content: space-evenly;
		}
			.ft-sec-1 .ft-menu ul{
				list-style: none;
				text-align: right;
			}
				.ft-sec-1 .ft-menu ul li{
					display: table-cell;
					padding: 0 1rem;
				}
					.ft-sec-1 .ft-menu ul li a{
						font-size: 1.6rem;
						color: #4B4B4B;
						text-decoration: none;
						text-transform: uppercase;
						cursor: pointer;
					}
					.ft-sec-1 .ft-menu a:hover,
					.ft-sec-1 .ft-menu .current-menu-item > a,
					.ft-sec-1 .ft-menu .current_page_item > a,
					.ft-sec-1 .ft-menu .current-page-ancestor > a,
					.ft-sec-1 .ft-menu .current-menu-ancestor > a,
					.ft-sec-1 .ft-menu .current-menu-parent > a,
					.ft-sec-1 .ft-menu .current-page-parent > a{
						font-weight: 700;
					}
						.ft-sec-1 .ft-menu a:hover{
							transition: all ease 0.5s;
						}
						.ft-sec-1 .ft-menu .sub-menu{display: none;}

	#site-content{
		margin-top: 5rem;
	}

	/** Company Greeting **/
	.company-greeting{
		padding-top: 7rem;
		padding-bottom: 7rem;
	}
	.company-greeting .greeting-title{
		font-size: 4.8rem;
		padding: 3rem 0;
	}
	.company-greeting .greeting-content{
		padding: 0 9.5rem;
		font-size: 1.6rem;
	}

	/** Product module **/
	.module-title{
		font-size: 4.8rem;
	}
	.products-listing li:hover .product-name-cont{
		background: #ED1D25;
	}
		.products-listing li:hover .product-name,
		.products-listing li:hover .product-capacity{
			color: white;
		}

	/** Page quote **/
	.page-quote .quote-content{
	    padding: 4rem;
	    font-size: 2.4rem;
	    margin: -5rem 6.5rem 1rem 6.5rem;
	}

	/** Post Content Container **/
	.post-content-container{
		font-size: 1.6rem;
		padding-bottom: 4rem;
	}

		.about .post-content{
			padding: 0 6.5rem;
		}

	/** Breadcrumb **/
	.breadcrumb{
		padding-top: 3rem;
		font-size: 1.6rem;
	}

	/** News post **/
	.news-post{
		font-size: 1.6rem;
	}

}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {

	.container{width: 1140px;}
	.logo{margin-left: 4rem;}

	#menu-main-menu li{padding: 0px 1.5rem;}

	.ft-sec-1 .ft-menu ul li{
					padding: 0 2rem;
				}


}
