/*
Theme Name: Adwokat Jakub Nyziak
Author: Kompromix
Version: 1.0
*/

/* Global */

.justify {
    text-align: justify!important;
}

.gray-bg {
	background-color: var(--gray);
}

.training {
	padding: 10px 40px 30px;
}

:root {
  --black: #111111;
  --white: #ffffff;
  --green: #1A3527;
  --gray: #FAFAFA;
  --light-green: #417E5E;
}

html {
    font-size: 62.5%;
    background: #fff;
}

body, html {
    margin: 0;
    padding: 0;
    height: 100%;
}

body, a, p, h1, h2, h3, h4, h5 {
    font-family: 'Merriweather Sans', sans-serif;
    font-size: 1.5rem;
    font-weight: 300;
    color: var(--black);
    letter-spacing: .07rem;
	line-height: 2.9rem;
}

a {
    text-decoration: none;
	color: var(--black);
}

a:hover {
    text-decoration: none;
    color: var(--black);
}

::selection {
	background: var(--green);
	color: var(--white);
}

::-moz-selection {
	background: var(--green);
	color: var(--white);
}

strong, b {
    font-weight: 700;
}

img {
    width: 100%;
    height: auto;
}

.thumbnail {
    width: 100%; /* Adjust as needed */
    height: 300px; /* Set the desired height */
    object-fit: cover; /* Resize the image to cover the entire container while preserving aspect ratio */
}

h1 {
    font-family: 'Merriweather', serif;
    font-size: 4.2rem;
    font-weight: 700;
	text-transform: uppercase;
	line-height: 5.8rem;
}

h1.header-home {
    font-family: 'Merriweather', serif;
    font-size: 2.0rem;
	line-height: 3.2rem;
	font-weight: 300;
	text-transform: none;
	padding: 50px 50px 25px 0px;
	border-bottom: 0.5px solid var(--green);
	margin-right: 25px;
}

h2 {
    font-family: 'Merriweather', serif;
    font-size: 3rem;
	line-height: 4.2rem;
	text-transform: uppercase;
}

h3 {
	font-family: 'Merriweather', serif;
    font-size: 1.8rem;
	text-transform: uppercase;
	line-height: 3rem;
}

h4 {
	font-family: 'Merriweather', serif;
    font-size: 2rem;
	text-transform: uppercase;
	line-height: 3.6rem;
}

.btn-primary {
    background-color: transparent;
    border-radius: 0;
    padding: 16px 64px;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 1.4rem;
    transition: all 0.4s ease-in-out;
	border: 0.5px solid var(--black);
	color: var(--black);
	outline: none;
    box-shadow: none; /* Usuń wszystkie cienie */
    appearance: none; /* Usuń domyślny styl przeglądarki */
    -webkit-tap-highlight-color: transparent; /* Usuń niebieski kolor na urządzeniach mobilnych */
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    text-decoration: none;
	background-color: var(--green);
	color: var(--white);
	border: 0.5px solid var(--green);
	outline: none;
    box-shadow: none;
}

.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle {
    color: #fff;
    background-color: var(--green);
    border-color: var(--green);
	outline: none;
    box-shadow: none;
}

.btn-primary:not(:disabled):not(.disabled).active:focus, .btn-primary:not(:disabled):not(.disabled):active:focus, .show>.btn-primary.dropdown-toggle:focus {
    box-shadow: none;
}

.btn-mini {
	font-size: 1.2rem;
	padding: 12px 16px;
	line-height: 1;
}

.btn-practices {
	border: 0.5px solid var(--light-green);
	color: var(--white);
}

.btn-practices:hover, .btn-practices:focus, .btn-practices:active {
	background-color: var(--light-green);
	border: 0.5px solid var(--light-green);
}

/* Navbar */
.navbar {
	padding: 25px;
	margin: 0;
}

.navbar a {
	font-family: 'Merriweather', serif;
	font-size: 1.4rem;
	transition: all 0.5s ease;
	text-transform: uppercase;
}

.navbar-sites a {
	font-size: 1.3rem;
}

.menu {
	display: contents;
}

.navbar-collapse {
    display: flex;
    justify-content: space-between; /* Menu po lewej, langsocials po prawej */
    align-items: center; /* Wyrównanie w pionie */
    flex-wrap: wrap; /* W przypadku wąskich ekranów elementy będą zawijać się */
}

.nav-primary {
    flex-grow: 1; /* Umożliwia menu zajmowanie całej dostępnej przestrzeni */
}

.nav-primary .navbar-nav {
    display: flex; /* Ustawienie menu w jednej linii */
    flex-wrap: wrap; /* Elementy mogą zawijać się, jeśli brakuje miejsca */
}

.navbar-sites .nav-primary .navbar-nav {
	margin-left: 25px;	
}

ul.navbar-nav li a.nav-link span {
	padding-right: 15px;
}

.navbar-sites ul.navbar-nav li a.nav-link span {
	padding-right: 12px;
}

.navbar a:hover {
	color: var(--light-green);
}

.navbar-brand {
	padding: 0;
	margin: 0 auto;
	width: 475px;
}

.navbar-brand img {
	width: 475px;
	height: auto;
}

.navbar-brand {
    display: block; /* lub inline-block jeśli konieczne */
    width: 100%; /* Upewnia się, że element nadrzędny jest elastyczny */
}

.navbar-brand img {
    width: 100%; /* Obraz dostosowuje się do szerokości rodzica */
    height: auto; /* Zachowuje proporcje */
    max-width: none; /* Ignoruje wszelkie ograniczenia */
	padding-right: 25px;
}

.nav-primary .navbar-nav > li:last-child,
.nav-primary .navbar-nav > li:nth-last-child(2) {
    display: none;
}

.langsocials {
    display: flex;
    align-items: center; /* Wyrównanie elementów w pionie */
    justify-content: flex-end; /* Wyrównanie sekcji po prawej stronie */
}

.lang {
    margin-right: 25px;
}

.lang a {
	padding-left: 15px;
}

.lang a.active {
    font-weight: 700;
}

.socials {
	border-left: 0.5px solid var(--green);
	padding-left: 12px;
}

.socials a {
	display: inline-block;
	padding-left: 12px;
}

.socials a img {
	height: 12px;
	width: auto;
}

.navbar-toggler {
    z-index: 1100;
	background: var(--green);
	position: absolute;
	border-radius: 0;
	top: 0px;
	right: 0px;
	border: 0;
	height: 100%;
	width: 60px;
}

.navbar-collapse.show {
    background-color: rgba(255, 255, 255, 0.1);
    z-index: 1050;
}

/* Home */
.hero {
	background: var(--gray);
	padding: 50px 0;
}

.column-icon {
    position: absolute;
    bottom: -50px;
    left: -68px;
}

.column-icon img {
    width: 175px;
	height: auto;
}

.hero-left {
	padding-top: 72px;
}

.hero-left p {
	opacity: .6;
	padding-top: 5px;
	padding-right: 25px;
}

.scroll-icon {
    position: absolute;
    bottom: 40px;
    left: 20px;
    transform: translateX(0);
    animation: bounce 1.5s infinite;
}

.scroll-icon img {
    width: 24px;
	height: auto;
    cursor: pointer;
}

@keyframes bounce {
    0%, 100% {
        transform: translate(-50%, 0);
    }
    50% {
        transform: translate(-50%, 20px);
    }
}

.hero-right {
	border: 0.5px solid var(--green);
	padding: 6px;
}

.hero-photo {
    height: 650px;
    background-size: cover; /* Ensure the background image covers the entire hero area */
}

.about {
    padding: 72px 0;
}

.about-left {
	padding-right: 30px;
}

.about a.btn-primary {
	margin: 48px auto;
}

.practices {
	background: var(--green);
    padding: 120px 0 90px;
	color: var(--white);
}

.practices h2 {
	color: var(--white);
	margin-bottom: 96px;
	padding-left: 25px;
	border-left: 0.5px solid var(--light-green);
}

.practice-box {
	margin-bottom: 60px;
	padding-right: 35px;
}

.practice-icon {
    margin-bottom: 20px;
}

.practice-icon svg {
    height: 50px; /* Stała wysokość */
    width: auto;  /* Automatyczne dostosowanie szerokości */
}

.practice-box h3 {
	color: var(--white);
}

.green-line {
    width: 50px;
    height: 0.5px;
    background-color: var(--light-green);
	margin: 25px 0;
}

.practice-box p {
	color: var(--white);
	opacity: .6;
	font-size: 1.4rem;
	line-height: 2.6rem;
}

.practice-box a {
	margin-top: 15px;
	display: inline-block;
}

.blog {
    padding: 120px 0;
}

.blog h2 {
	margin-bottom: 70px;
	padding-left: 25px;
	border-left: 0.5px solid var(--light-green);
}

.blog-post {
	margin-bottom: 60px;
}

.blog-post img.thumbnail {
    height: 320px;
	margin-bottom: 30px;
}

.post-date {
    font-size: 1.2rem;
	color: var(--light-green);
	font-weight: 700;
	display: block;
}

.post-content h3 {

}

.post-content p {
	opacity: .6;
	font-size: 1.4rem;
	padding-bottom: 5px;
	margin-top: -7px;
	text-align: justify;
}

.blog a.btn-primary {
	margin: 48px auto;
}

.footer {
    color: var(--white);
    padding: 72px 0 12px;
	background-color: var(--green);
}

.footer a,
.footer p {
	color: var(--white);
}

.footer-left {
	padding-right: 60px;
}

.footer-brand {
	width: 100%;
}

.footer-brand img {
	width: 100%;
	height: auto;
	margin: 0 auto;
    display: block;
	padding-top: 3px;
}

.firm-name {
	padding-top: 42px;
	font-size: 1.4rem;
	color: var(--white);
	text-transform: none;
	padding-bottom: 5px;
}

.footer-contact-data img {
	width: 24px;
	height: auto;
	margin-right: 5px;
}

.footer-contact-data span, .footer-contact-data a {
	font-size: 1.2rem;
	display: block;
	padding: 5px 0;
}

.footer-middle {
	padding-right: 30px;
	padding-left: 20px;
}

.footer-menu {
	padding-top: 38px;
}

.footer-menu a {
	font-family: 'Merriweather', serif;
	font-size: 1.4rem;
	transition: all 0.3s ease;
	text-transform: uppercase;
}

.footer-menu ul.navbar-nav li a.nav-link {
    padding: 5px 0;
}

.footer-menu ul.navbar-nav li a.nav-link span {
    padding-right: 0px;
}

.footer-right {
	padding-left: 60px;
}

.practices-menu {
	padding-top: 0px;
}

.practices-menu li:first-child a {
	line-height: 4rem;
}

.practices-menu li:not(:first-child) a {
	font-size: 1.2rem;
	opacity: .6;
	line-height: 1.8rem;
}

.copy {
	padding-top: 25px;
	margin-top: 40px;
	border-top: 0.5px solid var(--light-green);
}

.copy a, .copy p {
	font-size: 1.2rem;
}

.copy a img {
	margin-top: -3px;
}

/* Sites */
.navbar-sites .navbar-brand {
	padding: 0;
	margin: 0 auto;
	width: 150px;
}

.navbar-sites .navbar-brand img {
	width: 150px;
	height: auto;
}

.hero-sites {
	position: relative; /* Ustawienie pozycji do kontrolowania wnętrza */
    width: 100%; /* Pełna szerokość */
    background-size: cover; /* Dopasowanie tła */
    background-repeat: no-repeat; /* Bez powtarzania obrazu */
    background-position: top; /* Wyśrodkowanie obrazu */
    padding: 72px 0; /* Stały padding na górze i dole */
    display: flex; /* Umożliwia elastyczne pozycjonowanie zawartości */
    align-items: center; /* Wyrównanie pionowe */
    justify-content: center; /* Wyśrodkowanie tekstu w poziomie */
    text-align: center; /* Wyśrodkowanie tekstu */
    color: var(--black); /* Domyślny kolor tekstu (jeśli baner jest ciemny) */
}

.hero-sites .vertical-line {
    position: absolute;
    bottom: 0; /* Wyrównanie do dołu banera */
    left: 50%; /* Wyśrodkowanie względem szerokości */
    transform: translateX(-50%); /* Precyzyjne wyśrodkowanie */
    width: 0.5px; /* Szerokość linii */
    height: 40px; /* Wysokość linii */
    background-color: var(--light-green); /* Zielony kolor */
}

/* Gutenberg */
.entry-content {
	padding: 30px 0 110px;
}

.entry-content h2 {
	text-transform: none;
	font-family: 'Merriweather', serif;
    font-size: 2rem;
	line-height: 3.6rem;
	padding-top: 40px;
}

#post-2118 .entry-content h2 {
    /* Ustawienia przywrócone do reszty strony */
    font-size: 3rem;
	line-height: 4.2rem;
}

.entry-content h3 {
	font-size: 1.8rem;
	line-height: 3.2rem;
	padding-top: 30px;
}

.wp-block-columns {
	margin-top: 60px;
}

.wp-block-column .wp-block-heading {
	text-align: left;
}

h2.wp-block-heading {
	padding-bottom: 30px;
	border-bottom: 0.5px solid var(--green);
}

.entry-content p, ol.wp-block-list {
	padding-top: 30px;
//	max-width: 750px;
	margin: 0 auto;
//	font-size: 1.8rem;
//	line-height: 3.4rem;
}

.entry-content .wp-block-column p, .entry-content .wp-block-column ol.wp-block-list {
//	font-size: 1.6rem;
//	line-height: 2.9rem;
}

.entry-content .wp-block-column p,
.entry-content .wp-block-column h2,
.entry-content .wp-block-column h3,
.entry-content .wp-block-column h4,
ol.wp-block-list {
	max-width: 100%;
	margin: 0;
	text-align: left;
}

ol.wp-block-list {
	padding-left: 20px;
}

/* Mniejszy odstęp dla pierwszego paragrafu */
.entry-content p:first-of-type,
.entry-content ol.wp-block-list:first-of-type {
    padding-top: 15px;
}

/* Jeśli przed pierwszym paragrafem jest nagłówek (h2, h3 itp.), zastosuj standardowy padding */
.wp-block-column h2 + p:first-of-type,
.wp-block-column h2 + ol.wp-block-list:first-of-type,
.wp-block-column h3 + p:first-of-type,
.wp-block-column h3 + ol.wp-block-list:first-of-type {
    padding-top: 30px;
}

/* Jeśli tekst jest po lewej stronie (pierwsza kolumna) */
.wp-block-columns > .wp-block-column:first-child {
    padding-right: 10px;
}

/* Jeśli tekst jest po prawej stronie (druga kolumna) */
.wp-block-columns > .wp-block-column:last-child {
    padding-left: 10px;
}

/* Practices */
.site-practices {
	color: var(--black);
}

.site-practices .practice-icon svg {
    height: 70px; /* Stała wysokość */
    width: auto;  /* Automatyczne dostosowanie szerokości */
}

.site-practice {
	padding: 80px 0;
}

.site-practice-content {
	padding-left: 30px;
}

.practice-wrapper.gray-bg {
	background-color: var(--gray);
}

/* Courses */
details[open] summary {
    /* Stylizacja dla rozwiniętego stanu */
    transition: all 2.4s ease-in-out;
}

summary {
    background-color: transparent;
    border-radius: 0;
    padding: 24px 0 12px;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 1.4rem;
    transition: all 2.4s ease-in-out;
	color: var(--light-green);
	font-weight: bold;
}

/* Blog */
.blog-site-content {
	padding: 80px 0;
}

.pagination-wrapper {
    margin: 0 0 120px;
    width: 100%;
    text-align: center;
}

.pagination {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0;
}

.pagination a, .pagination .current {
    margin: 0 6px;
    padding: 0; /* Usuń padding, aby uzyskać kwadrat */
    border: 0.5px solid var(--green);
    text-decoration: none;
    color: var(--black);
    font-size: 1.4rem;
    display: inline-flex; /* Zmień na inline-flex */
    justify-content: center; /* Wyśrodkuj tekst poziomo */
    align-items: center; /* Wyśrodkuj tekst pionowo */
    width: 48px; /* Ustal szerokość */
    height: 48px; /* Ustal wysokość */
    transition: background-color 0.3s ease, color 0.3s ease;
}

.pagination a:hover {
    background-color: var(--green);
    color: var(--white);
}

.pagination .current {
	background-color: var(--green);
    color: var(--white);
    pointer-events: none;
}

.pagination a.btn-pagination {
    width: 26px;
    height: 26px;
    display: inline-block;
    text-align: center;
    background: transparent;
    border: none;
    transition: opacity 0.3s ease;
	padding-top: 2px;
	margin: 0 12px;
}

.btn-pagination img {
    display: block;
    width: 100%;
    height: auto;
}

.btn-pagination.disabled {
    opacity: 0.2;
    pointer-events: none;
}

/* Post */
.featured-image {
	margin: 80px 0;
    width: 100%; /* Obrazek wypełnia pełną szerokość kontenera */
    height: 600px; /* Stała wysokość */
    object-fit: cover; /* Zastosowanie "cover" */
    display: block; /* Usunięcie domyślnego stylu inline */
}

/* Contact */
.contact-content {
	padding: 80px 0;
}

.contact-left-col, .contact-right-col {
	padding-top: 80px;
}

.contact-left-col {
	padding-right: 25px;
	margin-top: 25px;
}

.contact-right-col {
	padding-left: 25px;
}

.contact-side-photo {
    height: 600px;
    background-size: cover; /* Ensure the background image covers the entire hero area */
}

.contact-left-col h2 {
	text-transform: none;
	font-size: 2rem;
	line-height: 3.2rem;
}

.contact-data {
	margin: 30px 0;
}

.contact-data img {
	width: 36px;
	height: auto;
	margin-right: 5px;
	margin-top: -5px;
}

.contact-data span, .contact-data a {
	font-size: 1.6rem;
	display: block;
	padding: 12px 0;
}

.contact-socials {
	margin: 30px 0;
}

.contact-socials a {
	display: inline-block;
	padding-right: 12px;
}

.contact-socials img {
	width: 20px;
	height: auto;
}

.contact-socials a:first-child img {
	width: 12px;
	height: auto;
}

.acf-map {
    position: relative;
    width: 100%;
    height: 450px;

}

.acf-map .marker {
    display: none;
}

/* Dostosowanie do góry o 5px dla wszystkich linków w prawym dolnym rogu */
.gm-style .gm-style-cc {
    position: absolute;
    bottom: 5px; /* Zostawiamy pierwsze elementy na dole */
    right: 5px;
}

.gm-style .gm-style-cc a {
    position: relative;
    top: -7px; /* Przesunięcie wszystkich linków o 5px do góry */
}

/* Kontener okna infowindow */
.infowindow-content {
    padding: 10px 15px 15px;
    width: 340px;
    text-align: left;
    background-color: #fff;
    border-radius: 8px;
    font-size: 1.2rem;
}

/* Tytuł firmy */
.infowindow-title {
    font-size: 1.6rem;
    font-weight: bold;
    color: var(--green);
    margin-bottom: 10px;
	line-height: 2.4rem;
	max-width: 250px;
}

/* Adres z pinem */
.infowindow-address {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
	max-width: 340px;
}

.address-text {
    color: #555;
    line-height: 1.6;
	font-size: 1.4rem;
}

/* Link do map */
.infowindow-link {
    display: inline-block;
    margin-top: 10px;
    color: var(--light-green);
    font-weight: bold;
    text-decoration: none;
    font-size: 14px;
    transition: color 0.3s;
}

.infowindow-link:hover {
    color: #1a3527;
}

/* Stylowanie kontenera InfoWindow */
.gm-style-iw {
    box-shadow: 0px 4px 12px rgba(65, 126, 94, 0.1) !important;
    border-radius: 0px !important;
}

/* Dodatkowe poprawki dla kontenera */
.gm-style-iw-d {
    overflow: hidden !important;
    padding: 10px !important; /* Dopasuj padding, jeśli chcesz */
}


/* Stylowanie rodzica przycisku zamknięcia */
.gm-style-iw-chr {
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important;
}

/* Stylowanie samego przycisku zamknięcia */
.gm-style-iw-chr .gm-ui-hover-effect {
    padding: 0 !important;
    margin: 0 !important;
    width: 24px !important; /* Rozmiar samego przycisku */
    height: 24px !important; /* Rozmiar samego przycisku */
    top: 10px !important; /* Odległość od góry */
    right: 10px !important; /* Odległość od prawej */
    position: absolute !important;
}

/* Styl wewnętrznego elementu (ikony X) */
.gm-style-iw-chr .gm-ui-hover-effect span {
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    pointer-events: none;
}






/* MOBILE */

@media only screen and (max-width: 1100px) {
	
	.navbar-sites .nav-primary .navbar-nav {
		margin-left: 0;	
	}
	
	.langsocials {
		margin-top: 25px;
	}
	
	.lang a {
		padding-left: 0;
		padding-right: 25px;
	}
	
	.navbar-collapse, .navbar-collapse.show {
    	background-color: #fff;
		padding: 15px;
        width: 100%;
	}
	
	.menu {
		padding: 0;
	}
	
	.navbar-nav li.nav-item > .nav-link {
    	padding: 10px 0;
		font-size: 1.6rem;
	}

	.navbar-brand {
		width: 100%;
	}	

	.navbar-brand img {
		width: 100%;
	}
	
	.hero-left {
    	padding-top: 0;
	}
	
	h1.header-home {
    	padding: 50px 0px 25px 0px;
    	margin-right: 0;
	}
	
	.hero-left p {
    	padding-right: 0px;
	}

	.column-icon, .scroll-icon {
		display: none;
	}
	
	.about {
    	padding: 24px 0;
	}
	
	.about-left {
		padding-right: 0;
	}
	
	.practices {
		padding: 60px 0 0;
	}
	
	.practices h2 {
		margin-bottom: 60px;
	}
	
	.practice-box {
		padding-right: 15px;
	}
	
	.blog {
    	padding: 60px 0;
	}
	
	.blog a.btn-primary {
    	margin: 0px auto;
	}
	
	.footer {
    	padding: 60px 0 12px;
	}
	
	.footer-left {
		padding-right: 15px;
	}
	
	.adwpl.footer-brand img {
		width: 150px;
		padding-top: 25px;
		margin: 0;
	}
	
	.footer-menu {
		padding-top: 0px;
		margin-top: 25px;
	}
	
	.footer-right {
		padding-left: 20px;
	}
	
	.practices-menu {
		margin-top: 10px;
	}
	
	.entry-content {
    	padding: 0px 0 80px;
	}
	
	#post-2113 .entry-content {
    	padding: 0px 0 40px;
	}
	
	#post-2118 .entry-content {
    	padding: 40px 0 80px;
	}
	
	#post-2118 .entry-content h2 {
    	font-size: 2.4rem;
    	line-height: 3.6rem;
	}
	
	.wp-block-columns {
    	margin-top: 30px;
	}
	
	.wp-block-columns > .wp-block-column:first-child,
	.wp-block-columns > .wp-block-column:last-child {
    	padding-right: 0px;
		padding-left: 0px;
	}
	
	.site-practice-content {
    	padding-left: 15px;
	}
	
	.contact-content {
    	padding: 40px 15px 60px;
	}
	
	.contact-left-col {
    	padding-right: 0px;
    	margin-top: 0px;
		padding-left: 0px;
	}
	
	.contact-left-col, .contact-right-col {
    	padding-top: 25px;
	}
	
	.contact-data span, .contact-data a {
    	display: flex;
    	padding: 12px 0;
	}
	
	.address {

	}
	
	.address img {
		margin-right: 10px;
	}
	
	.contact-right-col {
    	padding: 0;
	}
	
	.infowindow-content {
    	padding: 0px 5px 15px;
    	width: 100%;
	}
	
	.infowindow-link {
		line-height: 1.8rem;
	}
	
}