/*
Theme Name: Paramilitarne.org
Theme URI: https://weboski.pl
Text Domain: Paramilitarne_org
*/

@import url('https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');


:root {
	--color-text: #1B2732;
	--color-light: #f2f3f0;
	--color-highlight: #6b7e10;
	--color-hover: #464838;
	--color-dark: #abad9a;
	--main-font: 'Barlow Semi Condensed', sans-serif;
}
* {
	box-sizing: border-box;
}
body:not(.wp-admin) {
	background-image: initial !important;
    font-family: var(--main-font);
    color: var(--color-text);
    margin:0; padding:0;
	font-size: 18px;
	line-height: 1.35em;
}
body:not(.home) {
	background-color: var(--color-light) !important;
}
body.single-post #page {
    background: var(--color-light);
    padding: 2em 0;
    margin: 15px 0 0;
}
a {
	text-decoration: none;
}
a:hover {
	color: var(--color-hover);
}
img {
	max-width: 100%;
}
svg {
	width: 24px;
	height: 24px;
	object-fit: scale-down;
}
h1 {
	font-size: 2.75em;
}
h2 {
	font-size: 2em;
	font-weight: 500;
}
h3 {
	font-size: 1.75em;
	font-weight: 500;
}
/*
h1:before,
h2:before,
h3:before {
    background-image: url('/wp-content/uploads/2024/10/ikona-naglowek.svg');
    content: "";
    width: 20px;
    height: 27px;
    position: relative;
    display: inline-block;
    margin-right: 15px;
    transform: translateY(3px);
}
*/
h1:before, h2:before, h3:before {
    background-image: url('/wp-content/uploads/2024/10/ikona-naglowek.svg');
    content: "" !important;
    width: 20px !important;
    height: 27px !important;
    position: relative;
    display: inline-block !important;
    margin-right: 15px !important;
    transform: translateY(3px);
}
.text-center {
	text-align: center;
}
.container {
    position:relative;
    z-index:5;
	width: 100%;
	margin: 0 auto;
}
@media (min-width:1400px) {
    .container {
        max-width:1320px;
    }
}
.row {
	display: flex;
	flex-wrap: wrap;
}
.col-12 {
	width: 100%;
	flex: 0 0 100%;
	padding: 0 15px;
}
.flex {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
@media (min-width: 992px) {
	.col-lg-3 {
		flex: 0 0 25%;
		width: 25%;
	}
	.col-lg-4 {
		flex: 0 0 33.3%;
		width: 33.3%;
	}
	.col-lg-6 {
		flex: 0 0 50%;
		width: 50%;
	}
	.col-lg-8 {
		flex: 0 0 66.6%;
		width: 66.6%;
	}
	.pl-lg-3 {
		padding-left: 2.5em;	
	}
}




.btn {
    background-color: var(--color-highlight);
    color: white !important;
    font-family: 'Barlow Semi Condensed', sans-serif;
    font-weight: 600 !important;
    font-size: 20px !important;
    padding: 15px 25px 20px;
    border: none;
    border-radius: 8px!important;
    cursor: pointer;
    text-transform: none!important;
	text-shadow: initial;
	transition: all .25s ease;
}
.btn:hover {
    background-color: var(--color-hover) !important;
	color: #FFF;
}
.btn.alt {
    background-color: white!important;
    color: black!important;
    border: none;
}
.btn.alt:hover {
    background-color: #ebebeb!important;
	color: var(--color-text);
}


header {
	
}
header.main-header {
	padding: 10px 0;
}
header.main-header .flex {
	justify-content: space-between;
}

header.main-header #main-menu ul {
    display: flex;
    list-style: none;
    margin: 0 0;
    padding: 10px;
	justify-content: flex-end;
}
header.main-header #main-menu ul li {
	
}
header.main-header #main-menu ul li a {
	display: block;
	color: var(--color-text);
	font-weight: 600;
	font-size: 18px;
	padding: 10px 10px;
	margin: 0 10px;
	text-transform: uppercase;
	transition: all .25s ease;
}
header.main-header #main-menu ul li a:hover {
	color: var(--color-highlight);
	transform: translateY(-3px);
	box-shadow: 0px 1px var(--color-hover);
}




body.single-post #page #main .container {
	background-color:#FFF;
	border-radius: 12px;
	padding: 2em 4em;	
	font-size: 20px;
	line-height: 28px;
	margin: 1em auto 2em;
	max-width: 900px;
}
body.single-post #page #main .container h1.entry-title {
    margin: 0 0 .5em 0;
    font-size: 2em;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: -1px;
}
body.single-post #page .post-navigation {
	text-align: center;
	margin: 1em 0 2em;
	font-size: .85em;
}
body.single-post #page .post-navigation a {
	display: inline-block;
	padding: 5px;
	margin: 0 10px;
	font-weight: 500;
}


.post-thumbnail {
    text-align: center;
	height: 500px;
	margin: .5em auto 2em;
}
.post-thumbnail img {
	max-width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 8px;
	display: block;
	margin: 0 auto;
	overflow: hidden;
}
.footer-wrapper {
	background-color: #fff;
}

.subpage-content {
	margin: 2em 0;
	padding: 1em 0;
}


/* Style wyodrębnione z JSON / custom CSS widgetów */

/* Sekcja slidera na górze */
.slider {
    width: 100%;
    height: 60vh;
    /*
	background-image: url('/wp-content/uploads/2024/10/slider1.png');
	*/
    background-size: cover;
    background-position: top;
    position: relative;
}
.slider .container {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
}
.slider::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(107, 126, 16, 0.1);
    z-index: 1;
}
.slider-content {
    position: relative;
    z-index: 2;    
    color: white;
    flex: 0 0 40%;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}
.btn.transparent {
    border: 1px solid white;
    border-radius: 45px !important;
    background-color: transparent;
    color: white;
    font-size: 18px;
    font-weight: 300;
    padding: 20px 35px;
	font-family: var(--main-text);
    text-transform: none;
}
.main-text {
    font-size: 46px;
    font-weight: bold;
    margin: 20px 0;
    padding-bottom: 20px;
    text-align: left;
    line-height: 3rem;
    text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.3);
}
.buttons-group {
    display: flex;
    gap: 20px;
}
.niw-section {
	display:flex; 
	flex-direction:row; 
	justify-content:center; 
	align-items:center; 
	gap:40px; 
	margin:0; 
	padding:20px 0;
}
.niw-section .text {
	color:#1B2732; font-family:Barlow; font-size:17px; font-weight:500; line-height:0.4em;
}


.news-section {
	background-color: var(--color-light); 
	padding:30px 0;
}
.posted-on,
.news-section datetime {
	color:#AAAD9A; 
	font-size:15px; 
	font-weight:500;
}
.news-section .title {
    display: block;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.2em;
    color: var(--color-highlight);
    transition: all .25s ease;
	margin-bottom: 5px;
}
.news-section .title:hover {
	color:var(--color-hover);
}
.news-section .text {
    font-size: 20px;
    font-weight: 400;
    color: #131313;
    line-height: 27px;
}
.news-section article .text {
    font-size: 16px;    
    line-height: 22px;
	padding-right: 15px;
}
article img {
	transition: all .25s ease;
}
article:hover img {
	filter: contrast(1.15) brightness(1.15);
}
article.big img {
	display: block;
    width: 100%;
    height: 350px;
    object-fit: cover;
}
article.mid img {
	display: block;
    width: 100%;
    height: 200px;
    object-fit: cover;
}
article.thumb img {
	display: block;
    width: 140px;
    height: 100px;
    object-fit: cover;
	float: left;
	margin-right: 10px;
}
.category-badge a,
.news-section article a.category {
	background-color: var(--color-dark);
	color: #FFF;
	display: inline-block;
	padding: 2px 5px 4px;
	border-radius: 5px;
	font-size: 15px;
	font-weight: 500;
}
.news-section article a.category:hover {
	background-color: var(--color-hover);
}
.news-section article.thumb a.title {
	font-size: 15px;
}
article.thumb:after {
	clear: both;
	content: "";
	display: block;
}


.soldier-break {
	display:flex; 
	flex-direction:column; 
	align-items:center; 
	justify-content:center; 
	padding:50px 0;
	background-color: #FFF;
}


.maps-on-start {
	background-color: #FFF;
	padding: 50px 0;
}


/* Sekcja partners */
.vamtam-classic .meta-color, .classic-meta-color { color:#AAAD9A; }

/* Sekcja [custom_posts] */
.posts-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px;
    margin: 20px 20px;
}
.post-item {
    display: flex;
    padding: 0;
    border: none;
    background: none;
}
.post-thumbnail {
    flex-shrink: 0;
    margin-right: 15px;
}

.post-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.post-date {
    font-size: 15px;
    font-weight: 500;
    color: #aaad9a;
    margin-bottom: 10px;
    margin-top: -5px;
}
.post-title {
    font-size: 18px!important;
    font-weight: bold;
    line-height: 1.2;
    margin-top: -25px;
    color: #6b7e10!important;
}
.post-title a {
    text-decoration: none;
    color: #333;
}
.post-title a:hover {
    text-decoration: underline;
}
.post-category {
    color: #6b7e10;
    margin-top: -15px;
}
.post-category a {
    display: inline-block;
    padding: 4px 7px 4px 7px;
    background-color: #aaad9a;
    color: #fff!important;
    font-weight: 500;
    border-radius: 9px;
    font-size: 12px;
    text-transform: uppercase;
    text-decoration: none;
    margin-bottom: 10px;
    transition: background-color 0.3s ease;
}
.post-category a:hover {
    background-color: #57670e;
}

/* Inne sekcje */
.partner-carousel {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.partner-carousel img {
    max-width: 100px;
    height: auto;
}
.map-section img {
    max-width: 100%;
    height: auto;
}
.intro-section {
	background-image: url('/wp-content/uploads/2024/12/DSC_0081-1024x685.jpg');
    background-position: center center;
    background-size: cover;
    position: relative;
    padding: 60px 0 50px 0;
	color: #FFF
}
.intro-section::before {
    content: "";
    background-color: rgba(28, 34, 12, 0.5);
    position: absolute;
    top:0; left:0; width:100%; height:100%;
}


#main-menu .menu>.menu-item>a {
	font-family: var(--main-font);
}


.partners {
	padding: 20px 0 50px;
	background-color: #FFF;
}


.main-footer {
	background: var(--color-dark) url('images/bgfoot.jpg') no-repeat;
	background-size: cover;
	padding: 50px 0;
	color: #FFF;
}
.main-footer .row {
	align-items: center;
}
.bottom-nav nav ul {
    display: flex;
    list-style: none;
    padding: 10px 10px;
    margin: 20px 0;
    align-items: center;
    justify-content: center;
}
.bottom-nav nav ul li a {
	color: var(--color-text);
	display: block;
	margin: 0 5px;
	padding: 5px;
	font-size: 15px;
}
.bottom-nav nav ul li a:hover {
	text-decoration: underline;
}
footer a.big {
	font-size: 1.65em;
	color: #FFF;
	font-weight: 600;
}

.rights {
	font-size: 15px;
	padding: 0 0 25px 0;
}
.rights .right {
	text-align: right;
}
.rights .right a {
	color: #999;
}






/* Mobile */
@media (max-width: 768px) {
	body:not(.wp-admin) {
		font-size: 16px;
	}
	h1 {
		font-size: 1.8em;
		font-weight: 500;
		letter-spacing: -1px;
		line-height: 1.1em;
	}
	h2 {
		font-size: 1.75em;
		line-height: 1.25em;
	}
	h3 {
		font-size: 1.5em;
		line-height: 1.25em;
	}
	header.main-header #main-menu ul {
		flex-direction: column;
		position: relative;
		z-index: 999;
		background-color: #FFF;
		width: 100%;
	}
	.main-header .logo {
		margin-left: 10px;
	}
	.menu-call {
		position: absolute; 
		top: 15px;
		right: 15px;
		display: block;
		padding: 10px;
	}
	#main-menu {
		display: none;
	}
	#main-menu.on {
		display: block;
		width: 100%;
		padding:10px;
	}
	.btn {
		font-size: 17px !important;
		padding: 10px 18px 12px;
	}
	
	.niw-section {
		padding: 20px 10px;
	}
	.niw-section .text {
		font-size: 13px;
		line-height: 1em;
	}
    .slider {
        height: 60vh;
        padding-right: 20px;
        justify-content: center;
    }
    .slider-content {
        padding-right: 20px;
        padding-left: 20px;
		flex: 0 0 100%;
        text-align: left;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    .main-text {
        font-size: 30px;
        line-height: 2.2rem;
    }
    .transparent-button {
        font-size: 16px!important;
        padding: 8px 15px!important;
        text-align: left;
        margin-left: 0;
        align-self: flex-start;
    }
    .buttons-group {
        flex-direction: row;
        gap: 10px;
    }
    .organization-map, .news-button {
        font-size: 14px!important;
        padding: 5px 30px!important;
        border-radius: 6px!important;
        flex: 1;
    }
	.bottom-nav nav ul {
		flex-direction: column;
	}
	.rights, .rights .right {
		text-align: center;
	}
    .posts-container {
        grid-template-columns: 1fr;
    }
	body.single-post .post-thumbnail {
		height: 300px;
	}
    .post-thumbnail img {
        width: 100%;
    }
	body.single-post #page {
		padding: 1em 0;
		margin: 5px 0 0;
	}
	body.single-post #page #main .container {
		padding: 1em 2em;
		font-size: 17px;
		line-height: 25px;
	}
}

@media (min-width: 769px) {
	.menu-call {
		display: none;
	}
}