/* *********************** RESPONSIVE ********************************* 
@media (min-width: 500px) and (max-width: 600px) {
*/

/* Base mobile styles - ensure all images are responsive */
img {
	max-width: 100%;
	height: auto;
}

@media (max-width: 1100px) {                                                   
   .wrapper {
	 		width: 100%;
	 }    
	 #main_banner_holder .wrapper img {
	 		width: 100%;
	 }
	 #left_column {
	 	width: 33%;
	 }
	 #right_column {
	 	width: 65%;
	 	padding-left: 1%;
	 }
	 .bannery_dolu {
	 	width: 100%;
		text-align: center;
		display: table-cell;
	 }          
	 .bannery_dolu .banner {
		float: none;
		display: inline-block;
		margin-right: 0;		
	 }  
	 .bannery_dolu .banner:last-child {
		 margin-right: 0px;
	 }
	.footer_table .footer_table_column.columns_3 {
/*	 	width: 50%;*/
	 	border: none;
	}
	#hlavneMenu li a {
		font-size: 1.1em;		
		padding: 0px 7px; 		
	}   
	#logo img {
		max-width: 80%;
		margin-top: 1%;
	}                              
	 .content {
	 	padding: 0px 10px;
	 }
	 #copyright {
	 	width: 100%;
	 	text-align: center;
	 }
	 #author {
	 	text-align: center;
	 	width: 100%;
	 }
	 .footer_table, .footer_table a {
	 	text-align: center;
	 }
	 div.formular .textbox, 
	 div.formular textarea {
		 width: 90%;
	 }
}                          

@media (max-width: 768px) {
	/* Mobile menu styles */
	#navbar_holder {
		position: relative;
		width: auto;
		height: auto;
		margin: 0;
		padding: 0;
		min-height: 0;
	}
	#bottom_pannel {
		position: relative;
	}
	#bottom_pannel .wrapper {
		position: relative;
		padding: 0 15px;
		box-sizing: border-box;
	}
	.navbar_inner {
		position: absolute;
		left: 15px;
		right: 15px;
		top: 70px;
		background: #1E75A3; 
		display: none;
		-webkit-border-radius: 10px;
		-moz-border-radius: 10px;
		border-radius: 10px; 
		-webkit-box-shadow: 0px 0px 4px 0px rgba(255, 255, 255, 0.75);
		-moz-box-shadow:    0px 0px 4px 0px rgba(255, 255, 255, 0.75);
		box-shadow:         0px 0px 4px 0px rgba(255, 255, 255, 0.75);
		width: calc(100% - 30px);
		max-width: calc(100vw - 30px);
		z-index: 101;
		padding: 15px 0;
		box-sizing: border-box;
		margin: 0;
		height: 0;
		overflow: hidden;
		visibility: hidden;
	}
	.navbar_inner[style*="display: block"] {
		display: block !important;
		height: auto;
		visibility: visible;
	}
	.navbar_inner ul#hlavneMenu {
		float: none;
		margin: 0;
		padding: 0 15px;
		width: 100%;
		box-sizing: border-box;
	}
	.navbar_inner ul#hlavneMenu li.separator {
		display: none;
	}
	.navbar_inner ul#hlavneMenu li {
		display: block;
		float: none;
		margin: 0;
		width: 100%;
		box-sizing: border-box;
	}          
	.navbar_inner ul#hlavneMenu li a {
		color: white;
		display: block;
		padding: 14px 15px;
		min-height: 48px;
		line-height: 20px;
		-webkit-tap-highlight-color: rgba(255, 255, 255, 0.2);
		width: 100%;
		box-sizing: border-box;
		border-radius: 0;
		transition: background-color 0.2s ease;
	}
	.navbar_inner ul#hlavneMenu li a:hover,
	.navbar_inner ul#hlavneMenu li.active a {
		background-color: rgba(255, 255, 255, 0.1);
	}
	.navbar_inner ul#hlavneMenu li:hover ul {
		display: none;
	}
	.navbar_button {
		display: block;
		position: absolute;
		right: 15px;
		top: 15px;
		margin: 0;
		z-index: 102;
		cursor: pointer;
		padding: 10px;
		min-width: 44px;
		min-height: 44px;
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
		box-sizing: border-box;
	}
	.navbar_button.active .navbar_button_line:nth-child(1) {
		transform: rotate(45deg) translate(5px, 5px);
	}
	.navbar_button.active .navbar_button_line:nth-child(2) {
		opacity: 0;
	}
	.navbar_button.active .navbar_button_line:nth-child(3) {
		transform: rotate(-45deg) translate(7px, -6px);
	}
	.navbar_button_line {
		transition: transform 0.3s ease, opacity 0.3s ease;
	}
	/* Ensure navbar doesn't overflow on small screens */
	#bottom_pannel {
		overflow: visible;
	}
	#left_column, 
	#right_column {
		float: none;
		width: 100%;
		padding: 0;
		clear: both;
	}   
	#logo {
		position: relative;
		float: left;
		width: auto;
		max-width: calc(100% - 70px);
		margin-right: 0;
		box-sizing: border-box;
	}
	#logo a {
		display: block;
		width: 100%;
	}
	#logo img {
		margin-top: 10px;
		width: auto;
		max-width: 100%;
		height: auto;
		display: block;
	}      	
	/* Footer optimization for mobile - compact version */
	#footer_inner {
		padding: 15px 0 10px;
	}
	.footer_table {
		width: 100%;
		margin: 0;
	}
	.footer_table .footer_table_inner {
		padding: 0 !important;
		margin: 0;
	}
	.footer_table .footer_menus {
		margin: 0;
		padding: 0;
	}
	.footer_table .footer_table_column.columns_3 {
		width: 100%;
		margin-bottom: 15px;
		padding: 0 15px;
		box-sizing: border-box;
	}
	.footer_table .footer_table_column.columns_3:last-child {
		margin-bottom: 0;
	}
	.footer_table_column_inner {
		padding: 0 !important;
		margin: 0;
	}
	.footer_table_title {
		font-size: 1.05em;
		font-weight: 600;
		margin: 0 0 8px 0;
		padding: 0 0 6px 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	}
	.footer_table ul.menu {
		list-style: none;
		padding: 0;
		margin: 0;
	}
	.footer_table ul.menu li {
		margin: 0;
		padding: 0;
	}
	.footer_table ul.menu li.first {
		margin-top: 0;
	}
	.footer_table ul.menu li.last {
		margin-bottom: 0;
	}
	.footer_table ul.menu li a {
		display: block;
		padding: 5px 0;
		min-height: 32px;
		line-height: 20px;
		font-size: 14px;
		text-decoration: none;
		transition: opacity 0.2s ease;
		-webkit-tap-highlight-color: rgba(255, 255, 255, 0.1);
	}
	.footer_table ul.menu li a:hover {
		opacity: 0.8;
	}
	#footer_copyrights {
		padding: 12px 0;
		margin-top: 10px;
		border-top: 1px solid rgba(255, 255, 255, 0.1);
	}
	#footer_copyrights .wrapper {
		padding: 0 15px;
	}
	#copyright {
		font-size: 12px;
		line-height: 1.5;
		padding: 0;
	}
	.content {
		padding: 0px 15px;
		text-align: center;
	}
	/* Improve typography for mobile */
	h1 {
		font-size: 1.8em;
		line-height: 1.3;
		margin: 15px 0 !important;
		text-align: center !important;
		width: 100%;
		max-width: 100%;
		display: block;
		box-sizing: border-box;
		padding: 15px 0 !important;
		clear: both;
	}
	#right_column {
		text-align: center;
		width: 100%;
		padding: 0;
	}
	#right_column .content {
		text-align: center;
		padding: 0 15px;
		width: 100%;
		box-sizing: border-box;
	}
	#right_column .content > * {
		text-align: left;
	}
	#right_column .content > h1 {
		text-align: center !important;
		margin: 15px 0 !important;
		padding: 15px 0 !important;
		width: 100% !important;
		box-sizing: border-box;
		display: block;
		clear: both;
		word-wrap: break-word;
		overflow-wrap: break-word;
		max-width: 100%;
		position: relative;
		left: auto;
		right: auto;
	}
	.wrapper {
		box-sizing: border-box;
	}
	p {
		font-size: 16px;
		line-height: 1.6;
		margin: 12px 0;
	}
	/* Better spacing for lists */
	ul, ol {
		padding-left: 20px;
		margin: 12px 0;
	}
	li {
		margin: 8px 0;
	}
	/* Improve touch targets */
	a {
		min-height: 44px;
		display: inline-block;
		line-height: 44px;
	}
	/* Responsive tables */
	table {
		width: 100%;
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	/* Better form inputs for mobile */
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="number"],
	textarea,
	select {
		font-size: 16px;
		padding: 12px;
		min-height: 44px;
		width: 100%;
		box-sizing: border-box;
	}
	#left_column .navbar_button,
	#left_column .box:not(.pevneSubmenu):not(.strankySubmenu) {
		display: none;
	}
	/*#left_column .navbar_button {
		float: none;
		margin: 0;
		position: absolute;
		top: 45px;
		right: 4px;
	}
	#left_column #podmenuVlavoNavbar.navbar_button {
		right: 50px;
		opacity: 0.6;
	}
	#left_column .box.pevneSubmenu,
	#left_column .box.strankySubmenu {
		position: absolute;
		top: 82px;
		width: 100%;
		z-index: 10;
		opacity: 1;
	}*/
}
@media (max-width: 480px) {
	/* Extra small devices */
	#bottom_pannel .wrapper {
		padding: 0 10px;
	}
	.navbar_inner {
		left: 10px;
		right: 10px;
		width: calc(100% - 20px);
		max-width: calc(100vw - 20px);
	}
	.navbar_button {
		right: 10px;
	}
	#logo {
		max-width: calc(100% - 60px);
	}
	#logo img {
		width: auto;
		max-width: 100%;
		margin-top: 5px;
	}
	.content {
		padding: 0px 12px;
	}
	h1 {
		font-size: 1.5em;
		text-align: center !important;
		margin: 15px 0 !important;
		padding: 15px 0 !important;
		width: 100% !important;
		box-sizing: border-box;
		clear: both;
	}
	#right_column .content > h1 {
		text-align: center !important;
		margin: 15px 0 !important;
		padding: 15px 0 !important;
		width: 100% !important;
		box-sizing: border-box;
		clear: both;
		position: relative;
		left: auto;
		right: auto;
	}
	.wrapper {
		padding: 0 10px;
	}
	#main_banner_holder {
		margin: 0 -10px;
	}
	.footer_table .footer_table_column.columns_3 {
		padding: 0 10px;
		margin-bottom: 15px;
	}
	#footer_copyrights {
		padding: 12px 0;
		margin-top: 12px;
	}
	#footer_copyrights .wrapper {
		padding: 0 10px;
	}
	#footer_inner {
		padding: 12px 0 8px;
	}
	.footer_table .footer_table_column.columns_3 {
		margin-bottom: 12px;
	}
}

@media (max-width: 412px) {
	#logo {
		max-width: calc(100% - 60px);
	}
	#logo img {
		max-width: 100%;
		width: auto;
	}
	.content {
		padding: 0px 10px;
	}
	.footer_table_title {
		font-size: 1em;
		margin-bottom: 8px;
		padding-bottom: 6px;
	}
	.footer_table ul.menu li {
		margin: 0 0 5px 0;
	}
	.footer_table ul.menu li a {
		font-size: 13px;
		padding: 5px 0;
		min-height: 32px;
	}
	#copyright {
		font-size: 11px;
	}
}

@media (max-width: 330px) {
	.searchbar_holder input.textbox {
		width: 105px;
	}
	h1 {
		font-size: 1.3em;
		text-align: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding: 12px 0 !important;
		width: 100%;
		box-sizing: border-box;
	}
	#right_column .content > h1 {
		text-align: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding: 12px 0 !important;
	}
}
/* ********************** / RESPONSIVE ********************************* */