Merge branch 'master' into odstrel_modelu_odevzdavatko
This commit is contained in:
		
						commit
						c71195fba1
					
				
					 15 changed files with 905 additions and 81 deletions
				
			
		|  | @ -25,12 +25,13 @@ class KorekturovanePDFAdmin(VersionAdmin): | |||
| 	fieldsets = [ | ||||
| 			(None, | ||||
| 				{'fields': | ||||
| 					['pdf', 'cas', 'org', 'stran', 'nazev', 'komentar', 'poslat_mail']}), | ||||
| 					['pdf', 'cas', 'stran', 'nazev', 'orgove', 'komentar', 'poslat_mail']}), | ||||
| 			# (u'PDF',       {'fields': ['pdf']}), | ||||
| 				] | ||||
| 	list_display = ['nazev', 'cas', 'stran', 'org'] | ||||
| 	list_display = ['nazev', 'cas', 'stran'] | ||||
| 	list_filter = [] | ||||
| 	search_fields = [] | ||||
| 	autocomplete_fields = ['orgove'] | ||||
| 
 | ||||
| 	def save_model(self, request, obj, form, change): | ||||
| 		""" | ||||
|  |  | |||
							
								
								
									
										41
									
								
								korektury/migrations/0024_vic_orgu_k_pdf.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								korektury/migrations/0024_vic_orgu_k_pdf.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,41 @@ | |||
| # Generated by Django 4.2.13 on 2024-06-11 23:53 | ||||
| 
 | ||||
| from django.db import migrations, models | ||||
| 
 | ||||
| def pridej_orgy(apps, schema_editor): | ||||
|     PDF = apps.get_model('korektury', 'KorekturovanePDF') | ||||
|     for pdf in PDF.objects.all(): # Tohle by asi mělo jít udělat pomocí update, ale moc práce a rychlé hledání taky nepomohlo. | ||||
|         if pdf.org is not None: pdf.orgove.add(pdf.org) | ||||
|         pdf.save() # ig? | ||||
| 
 | ||||
| def vyber_orga(apps, schema_editor): | ||||
|     PDF = apps.get_model('korektury', 'KorekturovanePDF') | ||||
|     for pdf in PDF.objects.all(): | ||||
|         orgove = pdf.orgove.all() | ||||
|         if len(orgove) > 1: | ||||
|             raise migrations.exceptions.IrreversibleError(f'PDF {pdf.id} má víc než jednoho zodpovědného orga, nejde odmigrovat na verzi, která umí jen jednoho.') | ||||
|         if len(orgove) == 0: | ||||
|             pdf.org = None | ||||
|         else: | ||||
|             pdf.org = orgove[0] | ||||
|         pdf.save() | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         ('personalni', '0011_osloveni_vsechny_choices'), | ||||
|         ('korektury', '0023_personalni_post_migrate'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|         migrations.AddField( | ||||
|             model_name='korekturovanepdf', | ||||
|             name='orgove', | ||||
|             field=models.ManyToManyField(blank=True, default=None, help_text='Zodpovědní organizátoři za obsah (chodí jim maily o nových korekturách)', to='personalni.organizator'), | ||||
|         ), | ||||
|         migrations.RunPython(pridej_orgy, vyber_orga), | ||||
|         migrations.RemoveField( | ||||
|             model_name='korekturovanepdf', | ||||
|             name='org', | ||||
|         ), | ||||
|     ] | ||||
|  | @ -26,7 +26,6 @@ def generate_filename(self, filename): | |||
| 		clean) | ||||
| 	return os.path.join(settings.KOREKTURY_PDF_DIR, fname) | ||||
| 
 | ||||
| 
 | ||||
| #@reversion.register(ignore_duplicates=True) | ||||
| class KorekturovanePDF(models.Model): | ||||
| 	class Meta: | ||||
|  | @ -46,9 +45,9 @@ class KorekturovanePDF(models.Model): | |||
| 
 | ||||
| 	pdf = models.FileField(u'PDF', upload_to = generate_filename) | ||||
| 
 | ||||
| 	org = models.ForeignKey(Organizator, blank=True, | ||||
| 		help_text='Zodpovědný organizátor za obsah', | ||||
| 		null=True, default=None, on_delete=models.SET_NULL) | ||||
| 	orgove = models.ManyToManyField(Organizator, blank=True, | ||||
| 		help_text='Zodpovědní organizátoři za obsah (chodí jim maily o nových korekturách)', | ||||
| 		default=None) | ||||
| 
 | ||||
| 	stran = models.IntegerField(u'počet stran', help_text='Počet stran PDF', | ||||
| 								default=0) | ||||
|  |  | |||
|  | @ -183,9 +183,9 @@ class KorekturyView(generic.TemplateView): | |||
| 			if email_komentujiciho: | ||||
| 				emails.add(email_komentujiciho) | ||||
| 
 | ||||
| 		# zodpovedny org | ||||
| 		if oprava.pdf.org: | ||||
| 			email_zobpovedny = oprava.pdf.org.osoba.email | ||||
| 		# zodpovedni orgove | ||||
| 		for org in oprava.pdf.orgove.all(): | ||||
| 			email_zobpovedny = org.osoba.email | ||||
| 			if email_zobpovedny: | ||||
| 				emails.add(email_zobpovedny) | ||||
| 
 | ||||
|  |  | |||
|  | @ -87,6 +87,7 @@ TEMPLATES = [ | |||
| 				'header_fotky.context_processors.vzhled', | ||||
| 				'various.context_processors.rozliseni', | ||||
| 				'various.context_processors.april', | ||||
| 				'various.context_processors.halloween', | ||||
| 			) | ||||
| 		}, | ||||
| 	}, | ||||
|  |  | |||
|  | @ -8,6 +8,13 @@ | |||
| 	font-weight: normal; | ||||
| } | ||||
| 
 | ||||
| /* https://fontzone.net/font-details/qtghoulface-regular doplněný o diakritiku pomocí FontForge*/ | ||||
| @font-face { | ||||
| 	font-family: 'GhoulFace'; | ||||
| 	src: url("../fonts/ghoul/ghoul.ttf"); | ||||
| 	font-weight: normal; | ||||
| } | ||||
| 
 | ||||
| body { | ||||
| 	font-size: 14px; | ||||
| 	font-family: 'OpenSans'; | ||||
|  |  | |||
|  | @ -19,10 +19,10 @@ div.kontejner {/* Ne container, aby se to netlouklo s bootstrapem. */ | |||
| 		margin-top: var(--login-bar-height); | ||||
| 	} | ||||
| 
 | ||||
| 	div.kontent-wrapper { | ||||
| 	& div.kontent-wrapper { | ||||
| 		padding-bottom: var(--footer-height); | ||||
| 
 | ||||
| 		div.kontent { | ||||
| 		& div.kontent { | ||||
| 			padding: 15px 30px; | ||||
| 		} | ||||
| 	} | ||||
|  | @ -67,16 +67,16 @@ div.kontejner {/* Ne container, aby se to netlouklo s bootstrapem. */ | |||
| 	background-size: 100%; | ||||
| 	top: 58px; | ||||
| 
 | ||||
| 	img.logo { | ||||
| 	& img.logo { | ||||
| 		width: 100%; | ||||
| 		filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4)); | ||||
| 	} | ||||
| 
 | ||||
| 	img.logo-mobile { | ||||
| 	& img.logo-mobile { | ||||
| 		display: none; | ||||
| 	} | ||||
| 
 | ||||
| 	.no-mobile { | ||||
| 	& .no-mobile { | ||||
| 		background-size: contain; | ||||
| 	} | ||||
| } | ||||
|  | @ -94,12 +94,12 @@ div.kontejner {/* Ne container, aby se to netlouklo s bootstrapem. */ | |||
| 	filter: drop-shadow(5px 0px 5px rgba(0, 0, 0, 0.4)); | ||||
| 	padding-top: 3.5%; | ||||
| 
 | ||||
| 	p.license { | ||||
| 	& p.license { | ||||
| 		text-align: center; | ||||
| 		font-weight: 400; | ||||
| 		bottom: 0; | ||||
| 
 | ||||
| 		a { | ||||
| 		& a { | ||||
| 			color: #333; | ||||
| 		} | ||||
| 	} | ||||
|  | @ -139,21 +139,21 @@ div.login-bar { | |||
| 	padding-left: 5px; | ||||
| 	padding-right: 5px; | ||||
| 
 | ||||
| 	div { | ||||
| 	& div { | ||||
| 		display: inline; | ||||
| 	} | ||||
| 
 | ||||
| 	a.LOGIN-ref-admin { | ||||
| 	& a.LOGIN-ref-admin { | ||||
| 		display: inline; | ||||
| 		color: var(--barva-pozadi); | ||||
| 	} | ||||
| 
 | ||||
| 	.LOGIN_napis-webarum { | ||||
| 	& .LOGIN_napis-webarum { | ||||
| 		display: inline; | ||||
| 		color: var(--barva-pozadi); | ||||
| 		float: right; | ||||
| 
 | ||||
| 		a { | ||||
| 		& a { | ||||
| 			color: var(--svetla-oranzova); | ||||
| 			text-decoration: underline; | ||||
| 		} | ||||
|  | @ -176,7 +176,7 @@ div.login-bar { | |||
| 	#header { | ||||
| 		background-size: 100%; | ||||
| 
 | ||||
| 		img.logo { | ||||
| 		& img.logo { | ||||
| 			width: 100%; | ||||
| 		} | ||||
| 	} | ||||
|  | @ -202,11 +202,11 @@ div.login-bar { | |||
| 		top: 0; | ||||
| 		background-image: none; | ||||
| 
 | ||||
| 		img.logo { | ||||
| 		& img.logo { | ||||
| 			display: none; | ||||
| 		} | ||||
| 
 | ||||
| 		img.logo-mobile { | ||||
| 		& img.logo-mobile { | ||||
| 			display: block; | ||||
| 			top: 0; | ||||
| 			left: 0; | ||||
|  | @ -215,7 +215,7 @@ div.login-bar { | |||
| 			margin-bottom: 3px; | ||||
| 		} | ||||
| 
 | ||||
| 		.no-mobile{ | ||||
| 		& .no-mobile{ | ||||
| 			display: none; | ||||
| 		} | ||||
| 	} | ||||
|  | @ -241,13 +241,13 @@ ul.menu { | |||
| 
 | ||||
| 	font-variant: small-caps; | ||||
| 
 | ||||
| 	a { | ||||
| 	& a { | ||||
| 		text-decoration: none; | ||||
| 		font-weight: bold; | ||||
| 		font-size: 105%; | ||||
| 	} | ||||
| 
 | ||||
| 	li { | ||||
| 	& li { | ||||
| 		margin: 0; | ||||
| 		display: inline-block; | ||||
| 		width: 16.666667%; | ||||
|  | @ -256,7 +256,7 @@ ul.menu { | |||
| 		font-size: 140%; | ||||
| 		font-weight: 400; | ||||
| 
 | ||||
| 		>a:hover, >a:active { | ||||
| 		&>a:hover, &>a:active { | ||||
| 			color: black; | ||||
| 		} | ||||
| 
 | ||||
|  | @ -265,7 +265,7 @@ ul.menu { | |||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	ul.submenu { | ||||
| 	& ul.submenu { | ||||
| 
 | ||||
| 		background-color: var(--hlavni-oranzova); | ||||
| 		margin-top: 10px; /* mezera mezi hlavním menu a submenu */ | ||||
|  | @ -277,24 +277,24 @@ ul.menu { | |||
| 		z-index: 50; | ||||
| 		font-weight: 400; | ||||
| 
 | ||||
| 		li { | ||||
| 		& li { | ||||
| 			width: auto; | ||||
| 			padding: 0 20px 0 20px; | ||||
| 			display: inline-block; | ||||
| 
 | ||||
| 			>a { | ||||
| 			&>a { | ||||
| 				color: var(--svetla-oranzova); | ||||
| 				text-decoration: none; | ||||
| 				text-shadow: none; | ||||
| 
 | ||||
| 				:hover { | ||||
| 				&:hover { | ||||
| 					color: black; | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	ul.submenu li.active>a, .parentactive ul li:first-child>a { | ||||
| 	& ul.submenu li.active>a, & .parentactive ul li:first-child>a { | ||||
| 		color: black; | ||||
| 	} | ||||
| } | ||||
|  | @ -304,7 +304,7 @@ ul.menu { | |||
| 		font-size: 90%; | ||||
| 		margin-top: -7px; | ||||
| 
 | ||||
| 		li { | ||||
| 		& li { | ||||
| 			margin-top: 10px; /* posunutí textu hlavního menu níže */ | ||||
| 		} | ||||
| 	} | ||||
|  | @ -312,7 +312,7 @@ ul.menu { | |||
| 	ul.submenu { | ||||
| 		margin-top: 8px; /* mezera mezi hlavním menu a submenu */ | ||||
| 
 | ||||
| 		li { | ||||
| 		& li { | ||||
| 			margin-top: 0; /* aby se spolu s textem hlavního menu neposunoval níže i text submenu */ | ||||
| 		} | ||||
| 	} | ||||
|  | @ -323,7 +323,7 @@ ul.menu { | |||
| 		font-size: 80%; | ||||
| 		margin-top: -2px; | ||||
| 
 | ||||
| 		li { | ||||
| 		& li { | ||||
| 			margin-top: 10px; /* posunutí textu hlavního menu níže */ | ||||
| 		} | ||||
| 	} | ||||
|  | @ -331,7 +331,7 @@ ul.menu { | |||
| 	ul.submenu { | ||||
| 		margin-top: 8px; /* mezera mezi hlavním menu a submenu */ | ||||
| 
 | ||||
| 		li { | ||||
| 		& li { | ||||
| 			margin-top: 0; /* aby se spolu s textem hlavního menu neposunoval níže i text submenu */ | ||||
| 		} | ||||
| 	} | ||||
|  | @ -354,20 +354,20 @@ ul.menu { | |||
| 		padding-bottom: 3px; | ||||
| 		padding-left: 12px; | ||||
| 
 | ||||
| 		a { | ||||
| 		& a { | ||||
| 			&:active, &:hover, &:focus { | ||||
| 				text-decoration: none; | ||||
| 				color: black; | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		ul { | ||||
| 		& ul { | ||||
| 			list-style-type: none; | ||||
| 			font-size: 90%; | ||||
| 			color: black; /*černé šipky submenu*/ | ||||
| 
 | ||||
| 			li { | ||||
| 				> a { | ||||
| 			& li { | ||||
| 				&>a { | ||||
| 					color: black; | ||||
| 				} | ||||
| 
 | ||||
|  | @ -377,7 +377,7 @@ ul.menu { | |||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		br { | ||||
| 		& br { | ||||
| 			display: none; | ||||
| 		} | ||||
| 	} | ||||
|  | @ -459,13 +459,13 @@ body.suprodweb { &:before, &:after { background: red; } } | |||
| 		display: block; | ||||
| 	} | ||||
| 
 | ||||
| 	h1 { text-align: center; } | ||||
| 	& h1 { text-align: center; } | ||||
| 
 | ||||
| 	.TITULNI_STRANA_zjistit_vic{ | ||||
| 	& .TITULNI_STRANA_zjistit_vic{ | ||||
| 		text-align: center; | ||||
| 		margin-bottom: 30px; | ||||
| 
 | ||||
| 		hr { | ||||
| 		& hr { | ||||
| 			display: none; | ||||
| 
 | ||||
| 			@media(max-width: 800px){ | ||||
|  | @ -474,15 +474,15 @@ body.suprodweb { &:before, &:after { background: red; } } | |||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	.TITULNI_STRANA_graf { | ||||
| 	& .TITULNI_STRANA_graf { | ||||
| 		@media(max-width: 800px) { | ||||
| 			padding-top: 40px; | ||||
| 		} | ||||
| 
 | ||||
| 		.TITULNI_STRANA_graf-svg { | ||||
| 		& .TITULNI_STRANA_graf-svg { | ||||
| 			display: flex; | ||||
| 
 | ||||
| 			#svg-graf { | ||||
| 			& #svg-graf { | ||||
| 				width: 100%; | ||||
| 				height: auto; | ||||
| 				margin: 30px; | ||||
|  | @ -496,7 +496,7 @@ body.suprodweb { &:before, &:after { background: red; } } | |||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	.TITULNI_STRANA_obsah { | ||||
| 	& .TITULNI_STRANA_obsah { | ||||
| 		width: 66%; | ||||
| 
 | ||||
| 		@media(max-width: 800px){ | ||||
|  | @ -504,7 +504,7 @@ body.suprodweb { &:before, &:after { background: red; } } | |||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	.TITULNI_STRANA_vitej_titulka, .TITULNI_STRANA_temata_titulka { | ||||
| 	& .TITULNI_STRANA_vitej_titulka, & .TITULNI_STRANA_temata_titulka { | ||||
| 		width: 49%; | ||||
| 		padding: 10px; | ||||
| 		display: table-cell; | ||||
|  | @ -515,7 +515,7 @@ body.suprodweb { &:before, &:after { background: red; } } | |||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	.TITULNI_STRANA_novinky { | ||||
| 	& .TITULNI_STRANA_novinky { | ||||
| 		width: 33%; | ||||
| 		padding: 10px; | ||||
| 
 | ||||
|  | @ -540,11 +540,11 @@ div.odpocet { | |||
| .stranka_aktualni_zadani { | ||||
| 	text-align: center; | ||||
| 
 | ||||
| 	#AKTUALNI_ZADADNI_obrazek { | ||||
| 	& #AKTUALNI_ZADADNI_obrazek { | ||||
| 		margin-top: 15px; | ||||
| 	} | ||||
| 
 | ||||
| 	div.AKTUALNI_ZADANI_termin { | ||||
| 	& div.AKTUALNI_ZADANI_termin { | ||||
| 		text-align: center; | ||||
| 		font-size: large; | ||||
| 		font-weight: bold; | ||||
|  | @ -553,7 +553,7 @@ div.odpocet { | |||
| 			font-size: small; | ||||
| 		} | ||||
| 
 | ||||
| 		.AKTUALNI_ZADANI_datum { | ||||
| 		& .AKTUALNI_ZADANI_datum { | ||||
| 			color: var(--hlavni-oranzova); | ||||
| 			margin: 0; | ||||
| 		} | ||||
|  |  | |||
							
								
								
									
										731
									
								
								mamweb/static/css/mamweb_legacy.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										731
									
								
								mamweb/static/css/mamweb_legacy.css
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,731 @@ | |||
| @charset "utf-8"; /* vynuť utf-8 */ | ||||
| 
 | ||||
| @supports (-webkit-touch-callout: none) and (not (offset-position: normal)) { | ||||
| 
 | ||||
| .button { | ||||
| 	margin: 10px 0 10px 0; | ||||
| 	padding: 4px 0; /*vertikální centování textu*/ | ||||
| 	text-align: center; | ||||
| 	background-color: var(--hlavni-oranzova); | ||||
| 	color: var(--barva-pozadi); | ||||
| 	font-size: 150%; | ||||
| 	font-weight: bold; | ||||
| 	font-variant: small-caps; | ||||
| 	filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4)); | ||||
| } | ||||
| .button:hover { | ||||
| 	position: relative; | ||||
| 	top: 2px; | ||||
| 	left: 2px; | ||||
| 	background-color: #df490e; | ||||
| } | ||||
| /******************/ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /* Rozložení webu a jeho prvky (hlavička, menu, footer) */ | ||||
| 
 | ||||
| /**** KONTEJNER ****/ | ||||
| div.kontejner { /* Ne container, aby se to netlouklo s bootstrapem. */ | ||||
| 	width: 970px; | ||||
| 	margin: auto; | ||||
| 	min-height: 100vh; | ||||
| 	position: relative; | ||||
| 	padding: 0; | ||||
| } | ||||
| 
 | ||||
| .org-logged-in div.kontejner { | ||||
| 	margin-top: var(--login-bar-height); | ||||
| } | ||||
| 
 | ||||
| div.kontejner div.kontent-wrapper { | ||||
| 	padding-bottom: var(--footer-height); | ||||
| } | ||||
| 
 | ||||
| div.kontejner div.kontent-wrapper div.kontent { | ||||
| 	padding: 15px 30px; | ||||
| } | ||||
| 
 | ||||
| /* Roztáhne obsah z containeru na celou šířku obrazovky: */ | ||||
| .full_width { | ||||
| 	width: 100vw; | ||||
| 	margin-left: calc(-50vw + 485px); | ||||
| } | ||||
| 
 | ||||
| /* Na úzkém displeji nechceme nic dělat. */ | ||||
| @media(max-width: 860px) { | ||||
| 	.full_width { | ||||
| 		margin-left: 0; | ||||
| 		width: unset; | ||||
| 	} | ||||
| } | ||||
| /*******************/ | ||||
| 
 | ||||
| 
 | ||||
| /**** HLAVIČKA ****/ | ||||
| #header { | ||||
| 	position: relative; | ||||
| 	background: url("../images/header/vikendovka.jpg") no-repeat center top; /* poměr 350:970, TODO: aby to nemuselo být přesně na pixely */ | ||||
| 	background-size: 100%; | ||||
| 	top: 58px; | ||||
| } | ||||
| 
 | ||||
| #header img.logo { | ||||
| 	width: 100%; | ||||
| 	filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4)); | ||||
| } | ||||
| 
 | ||||
| #header img.logo-mobile { | ||||
| 	display: none; | ||||
| } | ||||
| 
 | ||||
| #header .no-mobile { | ||||
| 	background-size: contain; | ||||
| } | ||||
| /******************/ | ||||
| 
 | ||||
| 
 | ||||
| /**** Footer ****/ | ||||
| #footer { | ||||
| 	position: absolute; | ||||
| 	bottom: 0; | ||||
| 	width: 100%; | ||||
| 	background: url("../images/mozaika-footer.svg") no-repeat top center; | ||||
| 	height: var(--footer-height); | ||||
| 	background-size: 100%; | ||||
| 	filter: drop-shadow(5px 0px 5px rgba(0, 0, 0, 0.4)); | ||||
| 	padding-top: 3.5%; | ||||
| } | ||||
| 
 | ||||
| #footer p.license { | ||||
| 	text-align: center; | ||||
| 	font-weight: 400; | ||||
| 	bottom: 0; | ||||
| } | ||||
| 
 | ||||
| #footer p.license a { | ||||
| 	color: #333; | ||||
| } | ||||
| 
 | ||||
| @media (max-width: 650px) { | ||||
| 	#footer { | ||||
| 		display: none; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| p.license-mobile { | ||||
| 	display: none; | ||||
| 	margin-bottom: 0; | ||||
| } | ||||
| 
 | ||||
| @media (max-width: 650px) { | ||||
| 	p.license-mobile { | ||||
| 		position: relative; | ||||
| 		display: block; | ||||
| 		font-size: 90%; | ||||
| 		background-color: var(--hlavni-oranzova); | ||||
| 		padding: 5%; | ||||
| 		text-align: justify; | ||||
| 	} | ||||
| } | ||||
| /****************/ | ||||
| 
 | ||||
| 
 | ||||
| /**** LOGIN BAR ****/ | ||||
| div.login-bar { | ||||
| 	background: var(--orgovska-fialova); | ||||
| 	color: var(--svetla-oranzova); | ||||
| 	width: 100%; | ||||
| 
 | ||||
| 	position: fixed; | ||||
| 	margin-top: calc(-1 * var(--login-bar-height)); | ||||
| 	min-height: var(--login-bar-height); | ||||
| 	z-index: 4086; | ||||
| 
 | ||||
| 	padding-left: 5px; | ||||
| 	padding-right: 5px; | ||||
| } | ||||
| 
 | ||||
| div.login-bar div { | ||||
| 	display: inline; | ||||
| } | ||||
| 
 | ||||
| div.login-bar a.LOGIN-ref-admin { | ||||
| 	display: inline; | ||||
| 	color: var(--barva-pozadi); | ||||
| } | ||||
| 
 | ||||
| div.login-bar .LOGIN_napis-webarum { | ||||
| 	display: inline; | ||||
| 	color: var(--barva-pozadi); | ||||
| 	float: right; | ||||
| } | ||||
| 
 | ||||
| div.login-bar .LOGIN_napis-webarum a { | ||||
| 	color: var(--svetla-oranzova); | ||||
| 	text-decoration: underline; | ||||
| } | ||||
| /*******************/ | ||||
| 
 | ||||
| 
 | ||||
| /* stránka přes celý displej */ | ||||
| @media (max-width: 970px) { | ||||
| 	#header { | ||||
| 		background-size: 100%; | ||||
| 	} | ||||
| 
 | ||||
| 	#header img.logo { | ||||
| 		width: 100%; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| /* malý tablet, mobil */ | ||||
| @media (max-width: 650px) { | ||||
| 	#header { | ||||
| 		width: 100%; | ||||
| 		top: 0; | ||||
| 		background-image: none; | ||||
| 	} | ||||
| 
 | ||||
| 	#header img.logo { | ||||
| 		display: none; | ||||
| 	} | ||||
| 
 | ||||
| 	#header img.logo-mobile { | ||||
| 		display: block; | ||||
| 		top: 0; | ||||
| 		left: 0; | ||||
| 		width: 100%; | ||||
| 		filter: drop-shadow(0px 0 5px rgba(0, 0, 0, 0.4)); | ||||
| 		margin-bottom: 3px; | ||||
| 	} | ||||
| 
 | ||||
| 	#header .no-mobile{ | ||||
| 		display: none; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /**** MENU ****/ | ||||
| 
 | ||||
| ul.menu { | ||||
| 	width: 100%; | ||||
| 	padding: 0; | ||||
| 	margin-top: -5px; /* posune celé menu nahoru (pak potřeba zvětšit mezeru mezi menu a submenu) */ | ||||
| 
 | ||||
| 	font-variant: small-caps; | ||||
| } | ||||
| 
 | ||||
| ul.menu a { | ||||
| 	text-decoration: none; | ||||
| 	font-weight: bold; | ||||
| 	font-size: 105%; | ||||
| } | ||||
| 
 | ||||
| ul.menu li { | ||||
| 	margin: 0; | ||||
| 	display: inline-block; | ||||
| 	width: 16.666667%; | ||||
| 	text-align: center; | ||||
| 
 | ||||
| 	font-size: 140%; | ||||
| 	font-weight: 400; | ||||
| } | ||||
| 
 | ||||
| ul.menu li >a:hover, >a:active { | ||||
| 	color: black; | ||||
| } | ||||
| 
 | ||||
| ul.menu li.active>a { | ||||
| 	color: var(--svetla-oranzova); | ||||
| } | ||||
| 
 | ||||
| ul.menu ul.submenu { | ||||
| 	background-color: var(--hlavni-oranzova); | ||||
| 	margin-top: 10px; /* mezera mezi hlavním menu a submenu */ | ||||
| 	margin-bottom: 10px; | ||||
| 	padding-top: 10px; | ||||
| 	padding-bottom: 5px; | ||||
| 	filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4)); | ||||
| 
 | ||||
| 	z-index: 50; | ||||
| 	font-weight: 400; | ||||
| } | ||||
| 
 | ||||
| ul.menu ul.submenu li { | ||||
| 	width: auto; | ||||
| 	padding: 0 20px 0 20px; | ||||
| 	display: inline-block; | ||||
| } | ||||
| 
 | ||||
| ul.menu ul.submenu li >a { | ||||
| 	color: var(--svetla-oranzova); | ||||
| 	text-decoration: none; | ||||
| 	text-shadow: none; | ||||
| } | ||||
| 
 | ||||
| ul.menu ul.submenu li >a :hover { | ||||
| 	color: black; | ||||
| } | ||||
| 
 | ||||
| ul.menu ul.submenu li.active>a, .parentactive ul li:first-child>a { | ||||
| 	color: black; | ||||
| } | ||||
| 
 | ||||
| @media (max-width: 970px) { | ||||
| 	ul.menu { | ||||
| 		font-size: 90%; | ||||
| 		margin-top: -7px; | ||||
| 	} | ||||
| 
 | ||||
| 	ul.menu li { | ||||
| 		margin-top: 10px; /* posunutí textu hlavního menu níže */ | ||||
| 	} | ||||
| 
 | ||||
| 	ul.submenu { | ||||
| 		margin-top: 8px; /* mezera mezi hlavním menu a submenu */ | ||||
| 	} | ||||
| 
 | ||||
| 	ul.submenu li { | ||||
| 		margin-top: 0; /* aby se spolu s textem hlavního menu neposunoval níže i text submenu */ | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| @media(max-width: 800px) { | ||||
| 	ul.menu { | ||||
| 		font-size: 80%; | ||||
| 		margin-top: -2px; | ||||
| 	} | ||||
| 
 | ||||
| 	ul.menu li { | ||||
| 		margin-top: 10px; /* posunutí textu hlavního menu níže */ | ||||
| 	} | ||||
| 
 | ||||
| 	ul.submenu { | ||||
| 		margin-top: 8px; /* mezera mezi hlavním menu a submenu */ | ||||
| 	} | ||||
| 	ul.submenu li { | ||||
| 		margin-top: 0; /* aby se spolu s textem hlavního menu neposunoval níže i text submenu */ | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| @media (max-width: 650px) { | ||||
| 	ul.menu { | ||||
| 		display: none; | ||||
| 	} | ||||
| 
 | ||||
| 	ul.menu_mobile { | ||||
| 		display: block; | ||||
| 		z-index: 10; | ||||
| 		position: sticky; | ||||
| 		font-variant: small-caps; | ||||
| 		font-size: 150%; | ||||
| 		font-weight: bold; | ||||
| 		list-style-type: none; | ||||
| 		padding-top: 3px; | ||||
| 		padding-bottom: 3px; | ||||
| 		padding-left: 12px; | ||||
| 	} | ||||
| 
 | ||||
| 	ul.menu_mobile a:active, ul.menu_mobile a:hover, ul.menu_mobile a:focus { | ||||
| 		text-decoration: none; | ||||
| 		color: black; | ||||
| 	} | ||||
| 
 | ||||
| 	ul.menu_mobile ul { | ||||
| 		list-style-type: none; | ||||
| 		font-size: 90%; | ||||
| 		color: black; /*černé šipky submenu*/ | ||||
| 	} | ||||
| 
 | ||||
| 	ul.menu_mobile ul li > a { | ||||
| 		color: black; | ||||
| 	} | ||||
| 
 | ||||
| 	ul.menu_mobile ul li::before { | ||||
| 		content: ' \276D  '; /*https://www.w3schools.com/cssref/css_entities.asp*/ | ||||
| 	} | ||||
| 
 | ||||
| 	ul.menu_mobile br { | ||||
| 		display: none; | ||||
| 	} | ||||
| } /* konec @media */ | ||||
| /**************/ | ||||
| 
 | ||||
| /**** ZBYTEK ****/ | ||||
| /* (konkrétní stránky) */ | ||||
| 
 | ||||
| /* Titulní stránka */ | ||||
| .titulnistrana { | ||||
| 	display: flex; | ||||
| 	text-align: justify; | ||||
| 
 | ||||
| @media(max-width: 800px){ | ||||
| 	.titulnistrana { | ||||
| 		display: block; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| .titulnistrana h1 { text-align: center; } | ||||
| 
 | ||||
| .titulnistrana .TITULNI_STRANA_zjistit_vic { | ||||
| 	text-align: center; | ||||
| 	margin-bottom: 30px; | ||||
| } | ||||
| 
 | ||||
| .titulnistrana .TITULNI_STRANA_zjistit_vic hr { | ||||
| 	display: none; | ||||
| } | ||||
| 
 | ||||
| @media(max-width: 800px){ | ||||
| 	.titulnistrana .TITULNI_STRANA_zjistit_vic hr { | ||||
| 		display: flex; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| @media(max-width: 800px) { | ||||
| 	.titulnistrana .TITULNI_STRANA_graf { | ||||
| 		padding-top: 40px; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| .titulnistrana .TITULNI_STRANA_graf .TITULNI_STRANA_graf-svg { | ||||
| 	display: flex; | ||||
| } | ||||
| 
 | ||||
| .titulnistrana .TITULNI_STRANA_graf .TITULNI_STRANA_graf-svg #svg-graf { | ||||
| 	width: 100%; | ||||
| 	height: auto; | ||||
| 	margin: 30px; | ||||
| } | ||||
| 
 | ||||
| @media(max-width: 800px){ | ||||
| 	.titulnistrana .TITULNI_STRANA_graf .TITULNI_STRANA_graf-svg #svg-graf { | ||||
| 		max-width: 500px; | ||||
| 		padding: 10px; | ||||
| 		margin: auto; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| .titulnistrana .TITULNI_STRANA_obsah { | ||||
| 	width: 66%; | ||||
| } | ||||
| 
 | ||||
| @media(max-width: 800px){ | ||||
| 	.titulnistrana .TITULNI_STRANA_obsah { | ||||
| 		width: 100%; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| .titulnistrana .TITULNI_STRANA_vitej_titulka, .TITULNI_STRANA_temata_titulka { | ||||
| 	width: 49%; | ||||
| 	padding: 10px; | ||||
| 	display: table-cell; | ||||
| } | ||||
| 
 | ||||
| @media (max-width: 650px) { | ||||
| 	.titulnistrana .TITULNI_STRANA_vitej_titulka, .TITULNI_STRANA_temata_titulka { | ||||
| 		width: 100%; | ||||
| 		display: block; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| .titulnistrana .TITULNI_STRANA_novinky { | ||||
| 	width: 33%; | ||||
| 	padding: 10px; | ||||
| } | ||||
| 
 | ||||
| @media(max-width: 800px){ | ||||
| 	.titulnistrana .TITULNI_STRANA_novinky { | ||||
| 			width: 100%; | ||||
| 			max-width: 500px; | ||||
| 			margin: auto; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /* Stránky Aktuální ročník */ | ||||
| .stranka_aktualni_zadani { | ||||
| 	text-align: center; | ||||
| } | ||||
| 
 | ||||
| .stranka_aktualni_zadani #AKTUALNI_ZADADNI_obrazek { | ||||
| 	margin-top: 15px; | ||||
| } | ||||
| 
 | ||||
| .stranka_aktualni_zadani div.AKTUALNI_ZADANI_termin { | ||||
| 	text-align: center; | ||||
| 	font-size: large; | ||||
| 	font-weight: bold; | ||||
| } | ||||
| 
 | ||||
| @media (max-width: 420px) { | ||||
| 	.stranka_aktualni_zadani div.AKTUALNI_ZADANI_termin { | ||||
| 		font-size: small; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| .stranka_aktualni_zadani .AKTUALNI_ZADANI_datum { | ||||
| 		color: var(--hlavni-oranzova); | ||||
| 		margin: 0; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| /* Stránka Jak řešit */ | ||||
| .jakresit svg { | ||||
| 	width: 33%; | ||||
| 	padding: 10px; | ||||
| 	filter: none; | ||||
| } | ||||
| 
 | ||||
| @media(max-width: 860px) { | ||||
| 	.jakresit svg { | ||||
| 		margin: auto; | ||||
| 		display: grid; | ||||
| 		width: 100%; | ||||
| 		max-width: 360px; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /**** OZNAČENÍ NE-PUBLIC ČÁSTÍ ****/ | ||||
| .mam-org-only { | ||||
| 	background: var(--orgovska-svetla-fialova); | ||||
| 	padding: 10px; | ||||
| 	margin: 10px -10px; | ||||
| 	border: var(--orgovska-fialova) 2px dashed; | ||||
| } | ||||
| 
 | ||||
| .mam-org-only .mam-org-only { | ||||
| 	border: 0; | ||||
| } | ||||
| 
 | ||||
| .mam-org-only li { | ||||
| 	padding: 3px 0; | ||||
| 	margin: -2px 0; | ||||
| } | ||||
| /**********************************/ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /**** OTÁČECÍ KARTY ****/ | ||||
| /* (orgové, archiv) */ | ||||
| .flip-card { | ||||
| 	perspective: 1000px; /* Remove this if you don't want the 3D effect */ | ||||
| 	margin-left: auto; | ||||
| 	margin-right: auto; | ||||
| } | ||||
| 
 | ||||
| 	/* This container is needed to position the front and back side */ | ||||
| .flip-card .flip-card-inner { | ||||
| 	position: relative; | ||||
| 	width: 100%; | ||||
| 	height: 100%; | ||||
| 	transition: transform 0.8s; | ||||
| 	transform-style: preserve-3d; | ||||
| } | ||||
| 
 | ||||
| 	/* Do an horizontal flip when you move the mouse over the flip box container */ | ||||
| .flip-card:hover .flip-card-inner { | ||||
| 	transform: rotateY(180deg); | ||||
| } | ||||
| 
 | ||||
| 	/* Position the front and back side */ | ||||
| .flip-card .flip-card-front, .flip-card-back { | ||||
| 	position: absolute; | ||||
| 	width: 100%; | ||||
| 	height: 100%; | ||||
| 	-webkit-backface-visibility: hidden; /* Safari */ | ||||
| 	backface-visibility: hidden; | ||||
| } | ||||
| 
 | ||||
| .flip-card div.flip-card-foto, div.flip-card-foto img { | ||||
| 	width: 100%; | ||||
| 	height: 100%; | ||||
| 
 | ||||
| 	/* Pokud je na přední straně něco proklikávacího (třeba celá fotka), tak na dotykových zařízeních nemůže proklikávat, aby se dalo otáčet */ | ||||
| @media(hover: none) { | ||||
| 	.flip-card div.flip-card-foto, div.flip-card-foto img a { pointer-events: none; } | ||||
| } | ||||
| 
 | ||||
| 	/* Style the back side */ | ||||
| 	.flip-card-back { | ||||
| 		transform: rotateY(180deg); | ||||
| 		padding: 10px; | ||||
| 		padding-top: 20px; | ||||
| 	} | ||||
| } | ||||
| /***********************/ | ||||
| 
 | ||||
| 
 | ||||
| /**** TABULKY ****/ | ||||
| 
 | ||||
| /** Tabulka s čárami mezi sloupci **/ | ||||
| /* Např. výsledkovky */ | ||||
| 
 | ||||
| .tabulka_oramovane_sloupce { | ||||
| 	border: solid 2px; | ||||
| } | ||||
| 
 | ||||
| .tabulka_oramovane_sloupce td:first-child, .tabulka_oramovane_sloupce th:first-child { | ||||
| 	border-left: none; | ||||
| 	border-right: solid 1px; | ||||
| } | ||||
| 
 | ||||
| .tabulka_oramovane_sloupce td:nth-child(2), .tabulka_oramovane_sloupce th:nth-child(2) { | ||||
| 	border-left: none; | ||||
| } | ||||
| 
 | ||||
| .tabulka_oramovane_sloupce td, .tabulka_oramovane_sloupce th { | ||||
| 	padding: 0.1em 0.3em; | ||||
| 	border-left: solid 1px; | ||||
| } | ||||
| 
 | ||||
| .tabulka_oramovane_sloupce thead th, .tabulka_oramovane_sloupce thead td { | ||||
| 	border-bottom: solid 1px; | ||||
| } | ||||
| /***********************************/ | ||||
| 
 | ||||
| 
 | ||||
| /** Tabulka se střídajícími se barvami řádků **/ | ||||
| /* Skoro jakákoliv tabulka kromě výsledkovek */ | ||||
| 
 | ||||
| .barevna_tabulka td th { | ||||
| 	padding: 1px 10px 1px 10px; | ||||
| } | ||||
| 
 | ||||
| .barevna_tabulka tbody tr:nth-child(even), thead tr { | ||||
| 	background: var(--svetlounka-oranzova); | ||||
| } | ||||
| 
 | ||||
| .barevna_tabulka tbody tr:nth-child(odd) { | ||||
| 	background: var(--barva-pozadi); | ||||
| } | ||||
| /**********************************************/ | ||||
| 
 | ||||
| 
 | ||||
| /** Tabulka, kde první řádek a sloupec je pořád vidět **/ | ||||
| /* Např. tabulka odevzdaných řešení, nebo výsledkovky */ | ||||
| .tabulka_s_uchycenym_radkem_a_sloupcem { | ||||
| 	/* Omezí výšku a šířku, aby bylo příjemné na scrollování a zapne scrollování */ | ||||
| 	display: block; | ||||
| 	width: fit-content; /* display: block; roztahuje na celou šířku */ | ||||
| 	max-height: 80vh; | ||||
| 	overflow: auto; | ||||
| 	max-width: 90%; /* (FIXME asi není potřeba u tabulek, co nejsou na celou obrazovku) */ | ||||
| 	margin-left: 5%; /* Vystředování (FIXME není potřeba u tabulek, co nejsou na celou obrazovku) */ | ||||
| 
 | ||||
| 	border-collapse: separate; /* Pokud má tabulka orámování, je potřeba ho separovat, aby dodrželo position: sticky; */ | ||||
| 	border-spacing: 0; | ||||
| } | ||||
| 
 | ||||
| 	/* Uchytí první řádek */ | ||||
| .tabulka_s_uchycenym_radkem_a_sloupcem thead tr { | ||||
| 	position: sticky; | ||||
| 	top: 0; | ||||
| 	z-index: 2; | ||||
| } | ||||
| 
 | ||||
| 	/* Uchytí první sloupec */ | ||||
| .tabulka_s_uchycenym_radkem_a_sloupcem td:first-child, .tabulka_s_uchycenym_radkem_a_sloupcem th:first-child { | ||||
| 	position: sticky; | ||||
| 	left: 0; | ||||
| 	background: inherit; /* (Snad) zneprůhlední první sloupec */ | ||||
| 	z-index: 1; | ||||
| } | ||||
| /*******************************************************/ | ||||
| 
 | ||||
| /** Tabulka mající všechna ohraničení **/ | ||||
| .plne_ohranicena_tabulka { | ||||
| 	border-collapse: collapse; | ||||
| } | ||||
| 
 | ||||
| .plne_ohranicena_tabulka tr th, .plne_ohranicena_tabulka tr td { | ||||
| 	border: 1px solid black; | ||||
| 	padding: 1px 10px 1px 10px; | ||||
| } | ||||
| /***************************************/ | ||||
| 
 | ||||
| /** Výsledkovky **/ | ||||
| .vysledkovka, .tabulka_oramovane_sloupce td:first-child, .vysledkovka, .tabulka_oramovane_sloupce th:first-child { position: unset; } | ||||
| .vysledkovka, .tabulka_oramovane_sloupce td:nth-child(2), .vysledkovka, .tabulka_oramovane_sloupce th:nth-child(2) { | ||||
| 	border-right: solid 1px; | ||||
| 
 | ||||
| 	position: sticky; | ||||
| 	left: 0; | ||||
| 	background: inherit; /* (Snad) zneprůhlední druhý sloupec */ | ||||
| 	z-index: 1; | ||||
| } | ||||
| .vysledkovka, .tabulka_oramovane_sloupce td:nth-child(3), .vysledkovka, .tabulka_oramovane_sloupce th:nth-child(3) { | ||||
| 		border-left: none; | ||||
| } | ||||
| /*****************/ | ||||
| 
 | ||||
| 
 | ||||
| /** Tabulka mých (řešitelových) řešení **/ | ||||
| .moje_reseni tr th, .moje_reseni tr td { | ||||
| 	text-align: center; | ||||
| } | ||||
| 
 | ||||
| .moje_reseni tr td.problem { text-align: left; } | ||||
| /****************************************/ | ||||
| 
 | ||||
| 
 | ||||
| /** Detail řešení **/ | ||||
| .bodovani>input { | ||||
| 	width: 4em; | ||||
| } | ||||
| 
 | ||||
| .bodovani>input::placeholder { | ||||
| 	color: lightgray; | ||||
| 	opacity: 1; | ||||
| } | ||||
| 
 | ||||
| .bodovani>input::-webkit-input-placeholder { /* Edge */ | ||||
| 	color: lightgray; | ||||
| } | ||||
| 
 | ||||
| /*******************/ | ||||
| /*****************/ | ||||
| 
 | ||||
| 
 | ||||
| .novinka .novinka_obrazek { | ||||
| 	margin: 10px 0 10px 0; | ||||
| 	width: 100%; | ||||
| } | ||||
| 
 | ||||
| .novinka .novinka_datum { | ||||
| 	font-weight: bold; | ||||
| } | ||||
| 
 | ||||
| .novinka .novinka_autor { | ||||
| 	text-align: right; | ||||
| 	font-style: italic; | ||||
| } | ||||
| 
 | ||||
| /**** FORMULÁŘE ****/ | ||||
| div.gdpr { | ||||
| 	font-size: 6pt; | ||||
| } | ||||
| 
 | ||||
| div.gdpr p { | ||||
| 	font-size: 6pt; | ||||
| 	margin-bottom: .66em; | ||||
| } | ||||
| 
 | ||||
| /*******************/ | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
|  | @ -20,7 +20,7 @@ | |||
| 		border: 0; | ||||
| 	} | ||||
| 
 | ||||
| 	&li { | ||||
| 	& li { | ||||
| 		padding: 3px 0; | ||||
| 		margin: -2px 0; | ||||
| 	} | ||||
|  | @ -57,7 +57,7 @@ | |||
| 	margin-right: auto; | ||||
| 
 | ||||
| 	/* This container is needed to position the front and back side */ | ||||
| 	.flip-card-inner { | ||||
| 	& .flip-card-inner { | ||||
| 		position: relative; | ||||
| 		width: 100%; | ||||
| 		height: 100%; | ||||
|  | @ -71,7 +71,7 @@ | |||
| 	} | ||||
| 
 | ||||
| 	/* Position the front and back side */ | ||||
| 	.flip-card-front, .flip-card-back { | ||||
| 	& .flip-card-front, & .flip-card-back { | ||||
| 		position: absolute; | ||||
| 		width: 100%; | ||||
| 		height: 100%; | ||||
|  | @ -79,18 +79,18 @@ | |||
| 		backface-visibility: hidden; | ||||
| 	} | ||||
| 
 | ||||
| 	div.flip-card-foto, div.flip-card-foto img { | ||||
| 	& div.flip-card-foto, & div.flip-card-foto img { | ||||
| 		width: 100%; | ||||
| 		height: 100%; | ||||
| 
 | ||||
| 		/* Pokud je na přední straně něco proklikávacího (třeba celá fotka), tak na dotykových zařízeních nemůže proklikávat, aby se dalo otáčet */ | ||||
| 		@media(hover: none) { | ||||
| 			a { pointer-events: none; } | ||||
| 			& a { pointer-events: none; } | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	/* Style the back side */ | ||||
| 	.flip-card-back { | ||||
| 	& .flip-card-back { | ||||
| 		transform: rotateY(180deg); | ||||
| 		padding: 10px; | ||||
| 		padding-top: 20px; | ||||
|  | @ -203,7 +203,7 @@ div.org_email { | |||
| .tabulka_oramovane_sloupce { | ||||
| 	border: solid 2px; | ||||
| 
 | ||||
| 	td, th { | ||||
| 	& td, & th { | ||||
| 		&:first-child, &:first-child { | ||||
| 			border-left: none; | ||||
| 			border-right: solid 1px; | ||||
|  | @ -217,7 +217,7 @@ div.org_email { | |||
| 		border-left: solid 1px; | ||||
| 	} | ||||
| 
 | ||||
| 	thead { th, td { | ||||
| 	& thead { & th, & td { | ||||
| 			border-bottom: solid 1px; | ||||
| 	} } | ||||
| } | ||||
|  | @ -228,15 +228,15 @@ div.org_email { | |||
| /* Skoro jakákoliv tabulka kromě výsledkovek */ | ||||
| 
 | ||||
| .barevna_tabulka { | ||||
| 	td th { | ||||
| 	& td th { | ||||
| 		padding: 1px 10px 1px 10px; | ||||
| 	} | ||||
| 
 | ||||
| 	tbody tr:nth-child(even), thead tr { | ||||
| 	& tbody tr:nth-child(even), & thead tr { | ||||
| 		background: var(--svetlounka-oranzova); | ||||
| 	} | ||||
| 
 | ||||
| 	tbody tr:nth-child(odd) { | ||||
| 	& tbody tr:nth-child(odd) { | ||||
| 		background: var(--barva-pozadi); | ||||
| 	} | ||||
| } | ||||
|  | @ -258,14 +258,14 @@ div.org_email { | |||
| 	border-spacing: 0; | ||||
| 
 | ||||
| 	/* Uchytí první řádek */ | ||||
| 	thead tr { | ||||
| 	& thead tr { | ||||
| 		position: sticky; | ||||
| 		top: 0; | ||||
| 		z-index: 2; | ||||
| 	} | ||||
| 
 | ||||
| 	/* Uchytí první sloupec */ | ||||
| 	td, th { &:first-child { | ||||
| 	& td, & th { &:first-child { | ||||
| 		position: sticky; | ||||
| 		left: 0; | ||||
| 		background: inherit; /* (Snad) zneprůhlední první sloupec */ | ||||
|  | @ -290,7 +290,7 @@ div.org_email { | |||
| .plne_ohranicena_tabulka { | ||||
| 	border-collapse: collapse; | ||||
| 
 | ||||
| 	tr { th, td { | ||||
| 	& tr { & th, & td { | ||||
| 		border: 1px solid black; | ||||
| 		padding: 1px 10px 1px 10px; | ||||
| 	} } | ||||
|  | @ -305,7 +305,7 @@ div.org_email { | |||
| 
 | ||||
| /** Výsledkovky **/ | ||||
| .vysledkovka, .tabulka_oramovane_sloupce { | ||||
| 	td, th { | ||||
| 	& td, & th { | ||||
| 		&:first-child { position: unset; } | ||||
| 
 | ||||
| 		&:nth-child(2) { | ||||
|  | @ -327,11 +327,11 @@ div.org_email { | |||
| 
 | ||||
| /** Tabulka mých (řešitelových) řešení **/ | ||||
| .moje_reseni tr { | ||||
| 	th, td { | ||||
| 	& th, & td { | ||||
| 		text-align: center; | ||||
| 	} | ||||
| 
 | ||||
| 	td.problem { text-align: left; } | ||||
| 	& td.problem { text-align: left; } | ||||
| } | ||||
| 
 | ||||
| /* Různá šířka problému */ | ||||
|  | @ -378,16 +378,16 @@ div.org_email { | |||
| 
 | ||||
| 
 | ||||
| .novinka { | ||||
| 	.novinka_obrazek { | ||||
| 	& .novinka_obrazek { | ||||
| 		margin: 10px 0 10px 0; | ||||
| 		width: 100%; | ||||
| 	} | ||||
| 
 | ||||
| 	.novinka_datum { | ||||
| 	& .novinka_datum { | ||||
| 		font-weight: bold; | ||||
| 	} | ||||
| 
 | ||||
| 	.novinka_autor { | ||||
| 	& .novinka_autor { | ||||
| 		text-align: right; | ||||
| 		font-style: italic; | ||||
| 	} | ||||
|  | @ -413,7 +413,6 @@ table#reseni.form td,  table#reseni.form tr { | |||
| } | ||||
| 
 | ||||
| @media(max-width: 800px) { | ||||
| 
 | ||||
| 	table#reseni.form td, table#reseni.form tr { | ||||
| 		display: inline-grid; | ||||
| 		max-width: 300px; | ||||
|  | @ -473,7 +472,7 @@ ul.form li{ | |||
| div.gdpr { | ||||
| 	font-size: 6pt; | ||||
| 
 | ||||
| 	p { | ||||
| 	& p { | ||||
| 		font-size: 6pt; | ||||
| 		margin-bottom: .66em; | ||||
| 	} | ||||
|  |  | |||
							
								
								
									
										
											BIN
										
									
								
								mamweb/static/fonts/ghoul/ghoul.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								mamweb/static/fonts/ghoul/ghoul.ttf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							|  | @ -78,3 +78,16 @@ | |||
|     walkText(document.body); | ||||
|   </script> | ||||
| {% endif %} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| {% if halloween == 2024 %} | ||||
|   <script> | ||||
|     function printHalloween() { | ||||
|       console.log("Halloween 2024"); | ||||
|       body = document.getElementsByTagName('body')[0]; | ||||
|       body.style.fontFamily = 'GhoulFace'; | ||||
|     } | ||||
|     window.onload = printHalloween; | ||||
|   </script> | ||||
| {% endif %} | ||||
|  |  | |||
|  | @ -8,11 +8,12 @@ | |||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
|     <link rel="shortcut icon" href="{% static 'images/MATFYZ_MM_barevne.svg' %}" type="image/x-icon"> | ||||
|     {% block custom_css %}{% endblock %} | ||||
|     <link href="{% static 'bootstrap/css/bootstrap.css' %}?version=2" rel="stylesheet"> | ||||
|     <link href="{% static 'css/constants.css' %}?version=2" rel="stylesheet"> | ||||
|     <link href="{% static 'css/base.css' %}?version=2" rel="stylesheet"> | ||||
|     <link href="{% static 'css/layout.css' %}?version=2" rel="stylesheet"> | ||||
|     <link href="{% static 'css/modules.css' %}?version=2" rel="stylesheet"> | ||||
|     <link href="{% static 'bootstrap/css/bootstrap.css' %}?version=3" rel="stylesheet"> | ||||
|     <link href="{% static 'css/constants.css' %}?version=3" rel="stylesheet"> | ||||
|     <link href="{% static 'css/mamweb_legacy.css' %}?version=3" rel="stylesheet"> | ||||
|     <link href="{% static 'css/base.css' %}?version=3" rel="stylesheet"> | ||||
|     <link href="{% static 'css/layout.css' %}?version=3" rel="stylesheet"> | ||||
|     <link href="{% static 'css/modules.css' %}?version=3" rel="stylesheet"> | ||||
|     <script src="{% static 'js/jquery-1.11.1.js' %}"></script> | ||||
|     <script src="{% static 'js/jquery-3.4.1.js' %}"></script> | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										18
									
								
								novinky/migrations/0004_alter_novinky_id.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								novinky/migrations/0004_alter_novinky_id.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,18 @@ | |||
| # Generated by Django 4.2.16 on 2024-10-23 10:22 | ||||
| 
 | ||||
| from django.db import migrations, models | ||||
| 
 | ||||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         ('novinky', '0003_novinky_post'), | ||||
|     ] | ||||
| 
 | ||||
|     operations = [ | ||||
|         migrations.AlterField( | ||||
|             model_name='novinky', | ||||
|             name='id', | ||||
|             field=models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'), | ||||
|         ), | ||||
|     ] | ||||
|  | @ -15,6 +15,19 @@ def april(req): | |||
| 		return {'april': today.year} | ||||
| 	return {} | ||||
| 
 | ||||
| def halloween(req): | ||||
| 	if 'X-Halloween' in req.headers: | ||||
| 		try: | ||||
| 			year = int(req.headers['X-Halloween']) | ||||
| 			return {'halloween': year} | ||||
| 		except: | ||||
| 			pass # Fall-back to regular behaviour | ||||
| 	 | ||||
| 	import datetime | ||||
| 	today = datetime.date.today() | ||||
| 	if today.month == 10 and today.day >= 25: | ||||
| 		return {'halloween': today.year} | ||||
| 	return {} | ||||
| 
 | ||||
| def rozliseni(request): | ||||
| 	ltp = settings.LOCAL_TEST_PROD | ||||
|  |  | |||
|  | @ -13,7 +13,7 @@ from django.urls import reverse | |||
| 
 | ||||
| # Interní, nemá se nikdy objevit v urls (jinak to účastníci vytrolí) | ||||
| def formularOKView(request, text='', dalsi_odkazy: Sequence[tuple[str, str]] = ()): | ||||
| 	template_name = 'seminar/formular_ok.html' | ||||
| 	template_name = 'various/formular_ok.html' | ||||
| 	odkazy = list(dalsi_odkazy) + [ | ||||
| 		# (Text, odkaz) | ||||
| 		('Vrátit se na titulní stránku', reverse('titulni_strana')), | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue