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 = [
|
fieldsets = [
|
||||||
(None,
|
(None,
|
||||||
{'fields':
|
{'fields':
|
||||||
['pdf', 'cas', 'org', 'stran', 'nazev', 'komentar', 'poslat_mail']}),
|
['pdf', 'cas', 'stran', 'nazev', 'orgove', 'komentar', 'poslat_mail']}),
|
||||||
# (u'PDF', {'fields': ['pdf']}),
|
# (u'PDF', {'fields': ['pdf']}),
|
||||||
]
|
]
|
||||||
list_display = ['nazev', 'cas', 'stran', 'org']
|
list_display = ['nazev', 'cas', 'stran']
|
||||||
list_filter = []
|
list_filter = []
|
||||||
search_fields = []
|
search_fields = []
|
||||||
|
autocomplete_fields = ['orgove']
|
||||||
|
|
||||||
def save_model(self, request, obj, form, change):
|
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)
|
clean)
|
||||||
return os.path.join(settings.KOREKTURY_PDF_DIR, fname)
|
return os.path.join(settings.KOREKTURY_PDF_DIR, fname)
|
||||||
|
|
||||||
|
|
||||||
#@reversion.register(ignore_duplicates=True)
|
#@reversion.register(ignore_duplicates=True)
|
||||||
class KorekturovanePDF(models.Model):
|
class KorekturovanePDF(models.Model):
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -46,9 +45,9 @@ class KorekturovanePDF(models.Model):
|
||||||
|
|
||||||
pdf = models.FileField(u'PDF', upload_to = generate_filename)
|
pdf = models.FileField(u'PDF', upload_to = generate_filename)
|
||||||
|
|
||||||
org = models.ForeignKey(Organizator, blank=True,
|
orgove = models.ManyToManyField(Organizator, blank=True,
|
||||||
help_text='Zodpovědný organizátor za obsah',
|
help_text='Zodpovědní organizátoři za obsah (chodí jim maily o nových korekturách)',
|
||||||
null=True, default=None, on_delete=models.SET_NULL)
|
default=None)
|
||||||
|
|
||||||
stran = models.IntegerField(u'počet stran', help_text='Počet stran PDF',
|
stran = models.IntegerField(u'počet stran', help_text='Počet stran PDF',
|
||||||
default=0)
|
default=0)
|
||||||
|
|
|
@ -183,9 +183,9 @@ class KorekturyView(generic.TemplateView):
|
||||||
if email_komentujiciho:
|
if email_komentujiciho:
|
||||||
emails.add(email_komentujiciho)
|
emails.add(email_komentujiciho)
|
||||||
|
|
||||||
# zodpovedny org
|
# zodpovedni orgove
|
||||||
if oprava.pdf.org:
|
for org in oprava.pdf.orgove.all():
|
||||||
email_zobpovedny = oprava.pdf.org.osoba.email
|
email_zobpovedny = org.osoba.email
|
||||||
if email_zobpovedny:
|
if email_zobpovedny:
|
||||||
emails.add(email_zobpovedny)
|
emails.add(email_zobpovedny)
|
||||||
|
|
||||||
|
|
|
@ -87,6 +87,7 @@ TEMPLATES = [
|
||||||
'header_fotky.context_processors.vzhled',
|
'header_fotky.context_processors.vzhled',
|
||||||
'various.context_processors.rozliseni',
|
'various.context_processors.rozliseni',
|
||||||
'various.context_processors.april',
|
'various.context_processors.april',
|
||||||
|
'various.context_processors.halloween',
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -8,6 +8,13 @@
|
||||||
font-weight: normal;
|
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 {
|
body {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-family: 'OpenSans';
|
font-family: 'OpenSans';
|
||||||
|
|
|
@ -19,10 +19,10 @@ div.kontejner {/* Ne container, aby se to netlouklo s bootstrapem. */
|
||||||
margin-top: var(--login-bar-height);
|
margin-top: var(--login-bar-height);
|
||||||
}
|
}
|
||||||
|
|
||||||
div.kontent-wrapper {
|
& div.kontent-wrapper {
|
||||||
padding-bottom: var(--footer-height);
|
padding-bottom: var(--footer-height);
|
||||||
|
|
||||||
div.kontent {
|
& div.kontent {
|
||||||
padding: 15px 30px;
|
padding: 15px 30px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -67,16 +67,16 @@ div.kontejner {/* Ne container, aby se to netlouklo s bootstrapem. */
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
top: 58px;
|
top: 58px;
|
||||||
|
|
||||||
img.logo {
|
& img.logo {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4));
|
filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4));
|
||||||
}
|
}
|
||||||
|
|
||||||
img.logo-mobile {
|
& img.logo-mobile {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.no-mobile {
|
& .no-mobile {
|
||||||
background-size: contain;
|
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));
|
filter: drop-shadow(5px 0px 5px rgba(0, 0, 0, 0.4));
|
||||||
padding-top: 3.5%;
|
padding-top: 3.5%;
|
||||||
|
|
||||||
p.license {
|
& p.license {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
|
|
||||||
a {
|
& a {
|
||||||
color: #333;
|
color: #333;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -139,21 +139,21 @@ div.login-bar {
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
padding-right: 5px;
|
padding-right: 5px;
|
||||||
|
|
||||||
div {
|
& div {
|
||||||
display: inline;
|
display: inline;
|
||||||
}
|
}
|
||||||
|
|
||||||
a.LOGIN-ref-admin {
|
& a.LOGIN-ref-admin {
|
||||||
display: inline;
|
display: inline;
|
||||||
color: var(--barva-pozadi);
|
color: var(--barva-pozadi);
|
||||||
}
|
}
|
||||||
|
|
||||||
.LOGIN_napis-webarum {
|
& .LOGIN_napis-webarum {
|
||||||
display: inline;
|
display: inline;
|
||||||
color: var(--barva-pozadi);
|
color: var(--barva-pozadi);
|
||||||
float: right;
|
float: right;
|
||||||
|
|
||||||
a {
|
& a {
|
||||||
color: var(--svetla-oranzova);
|
color: var(--svetla-oranzova);
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
|
@ -176,7 +176,7 @@ div.login-bar {
|
||||||
#header {
|
#header {
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
|
|
||||||
img.logo {
|
& img.logo {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -202,11 +202,11 @@ div.login-bar {
|
||||||
top: 0;
|
top: 0;
|
||||||
background-image: none;
|
background-image: none;
|
||||||
|
|
||||||
img.logo {
|
& img.logo {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.logo-mobile {
|
& img.logo-mobile {
|
||||||
display: block;
|
display: block;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
|
@ -215,7 +215,7 @@ div.login-bar {
|
||||||
margin-bottom: 3px;
|
margin-bottom: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.no-mobile{
|
& .no-mobile{
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -241,13 +241,13 @@ ul.menu {
|
||||||
|
|
||||||
font-variant: small-caps;
|
font-variant: small-caps;
|
||||||
|
|
||||||
a {
|
& a {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 105%;
|
font-size: 105%;
|
||||||
}
|
}
|
||||||
|
|
||||||
li {
|
& li {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 16.666667%;
|
width: 16.666667%;
|
||||||
|
@ -256,7 +256,7 @@ ul.menu {
|
||||||
font-size: 140%;
|
font-size: 140%;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
|
||||||
>a:hover, >a:active {
|
&>a:hover, &>a:active {
|
||||||
color: black;
|
color: black;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -265,7 +265,7 @@ ul.menu {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.submenu {
|
& ul.submenu {
|
||||||
|
|
||||||
background-color: var(--hlavni-oranzova);
|
background-color: var(--hlavni-oranzova);
|
||||||
margin-top: 10px; /* mezera mezi hlavním menu a submenu */
|
margin-top: 10px; /* mezera mezi hlavním menu a submenu */
|
||||||
|
@ -277,24 +277,24 @@ ul.menu {
|
||||||
z-index: 50;
|
z-index: 50;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
|
||||||
li {
|
& li {
|
||||||
width: auto;
|
width: auto;
|
||||||
padding: 0 20px 0 20px;
|
padding: 0 20px 0 20px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
|
||||||
>a {
|
&>a {
|
||||||
color: var(--svetla-oranzova);
|
color: var(--svetla-oranzova);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
|
|
||||||
:hover {
|
&:hover {
|
||||||
color: black;
|
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;
|
color: black;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -304,7 +304,7 @@ ul.menu {
|
||||||
font-size: 90%;
|
font-size: 90%;
|
||||||
margin-top: -7px;
|
margin-top: -7px;
|
||||||
|
|
||||||
li {
|
& li {
|
||||||
margin-top: 10px; /* posunutí textu hlavního menu níže */
|
margin-top: 10px; /* posunutí textu hlavního menu níže */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -312,7 +312,7 @@ ul.menu {
|
||||||
ul.submenu {
|
ul.submenu {
|
||||||
margin-top: 8px; /* mezera mezi hlavním menu a 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 */
|
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%;
|
font-size: 80%;
|
||||||
margin-top: -2px;
|
margin-top: -2px;
|
||||||
|
|
||||||
li {
|
& li {
|
||||||
margin-top: 10px; /* posunutí textu hlavního menu níže */
|
margin-top: 10px; /* posunutí textu hlavního menu níže */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -331,7 +331,7 @@ ul.menu {
|
||||||
ul.submenu {
|
ul.submenu {
|
||||||
margin-top: 8px; /* mezera mezi hlavním menu a 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 */
|
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-bottom: 3px;
|
||||||
padding-left: 12px;
|
padding-left: 12px;
|
||||||
|
|
||||||
a {
|
& a {
|
||||||
&:active, &:hover, &:focus {
|
&:active, &:hover, &:focus {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: black;
|
color: black;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ul {
|
& ul {
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
font-size: 90%;
|
font-size: 90%;
|
||||||
color: black; /*černé šipky submenu*/
|
color: black; /*černé šipky submenu*/
|
||||||
|
|
||||||
li {
|
& li {
|
||||||
> a {
|
&>a {
|
||||||
color: black;
|
color: black;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -377,7 +377,7 @@ ul.menu {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
br {
|
& br {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -459,13 +459,13 @@ body.suprodweb { &:before, &:after { background: red; } }
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1 { text-align: center; }
|
& h1 { text-align: center; }
|
||||||
|
|
||||||
.TITULNI_STRANA_zjistit_vic{
|
& .TITULNI_STRANA_zjistit_vic{
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin-bottom: 30px;
|
margin-bottom: 30px;
|
||||||
|
|
||||||
hr {
|
& hr {
|
||||||
display: none;
|
display: none;
|
||||||
|
|
||||||
@media(max-width: 800px){
|
@media(max-width: 800px){
|
||||||
|
@ -474,15 +474,15 @@ body.suprodweb { &:before, &:after { background: red; } }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.TITULNI_STRANA_graf {
|
& .TITULNI_STRANA_graf {
|
||||||
@media(max-width: 800px) {
|
@media(max-width: 800px) {
|
||||||
padding-top: 40px;
|
padding-top: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.TITULNI_STRANA_graf-svg {
|
& .TITULNI_STRANA_graf-svg {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
#svg-graf {
|
& #svg-graf {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: auto;
|
height: auto;
|
||||||
margin: 30px;
|
margin: 30px;
|
||||||
|
@ -496,7 +496,7 @@ body.suprodweb { &:before, &:after { background: red; } }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.TITULNI_STRANA_obsah {
|
& .TITULNI_STRANA_obsah {
|
||||||
width: 66%;
|
width: 66%;
|
||||||
|
|
||||||
@media(max-width: 800px){
|
@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%;
|
width: 49%;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
|
@ -515,7 +515,7 @@ body.suprodweb { &:before, &:after { background: red; } }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.TITULNI_STRANA_novinky {
|
& .TITULNI_STRANA_novinky {
|
||||||
width: 33%;
|
width: 33%;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
|
||||||
|
@ -540,11 +540,11 @@ div.odpocet {
|
||||||
.stranka_aktualni_zadani {
|
.stranka_aktualni_zadani {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
#AKTUALNI_ZADADNI_obrazek {
|
& #AKTUALNI_ZADADNI_obrazek {
|
||||||
margin-top: 15px;
|
margin-top: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.AKTUALNI_ZADANI_termin {
|
& div.AKTUALNI_ZADANI_termin {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: large;
|
font-size: large;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
@ -553,7 +553,7 @@ div.odpocet {
|
||||||
font-size: small;
|
font-size: small;
|
||||||
}
|
}
|
||||||
|
|
||||||
.AKTUALNI_ZADANI_datum {
|
& .AKTUALNI_ZADANI_datum {
|
||||||
color: var(--hlavni-oranzova);
|
color: var(--hlavni-oranzova);
|
||||||
margin: 0;
|
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;
|
border: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
&li {
|
& li {
|
||||||
padding: 3px 0;
|
padding: 3px 0;
|
||||||
margin: -2px 0;
|
margin: -2px 0;
|
||||||
}
|
}
|
||||||
|
@ -57,7 +57,7 @@
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
|
|
||||||
/* This container is needed to position the front and back side */
|
/* This container is needed to position the front and back side */
|
||||||
.flip-card-inner {
|
& .flip-card-inner {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
@ -71,7 +71,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Position the front and back side */
|
/* Position the front and back side */
|
||||||
.flip-card-front, .flip-card-back {
|
& .flip-card-front, & .flip-card-back {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
@ -79,18 +79,18 @@
|
||||||
backface-visibility: hidden;
|
backface-visibility: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.flip-card-foto, div.flip-card-foto img {
|
& div.flip-card-foto, & div.flip-card-foto img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 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 */
|
/* 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) {
|
@media(hover: none) {
|
||||||
a { pointer-events: none; }
|
& a { pointer-events: none; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Style the back side */
|
/* Style the back side */
|
||||||
.flip-card-back {
|
& .flip-card-back {
|
||||||
transform: rotateY(180deg);
|
transform: rotateY(180deg);
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
padding-top: 20px;
|
padding-top: 20px;
|
||||||
|
@ -203,7 +203,7 @@ div.org_email {
|
||||||
.tabulka_oramovane_sloupce {
|
.tabulka_oramovane_sloupce {
|
||||||
border: solid 2px;
|
border: solid 2px;
|
||||||
|
|
||||||
td, th {
|
& td, & th {
|
||||||
&:first-child, &:first-child {
|
&:first-child, &:first-child {
|
||||||
border-left: none;
|
border-left: none;
|
||||||
border-right: solid 1px;
|
border-right: solid 1px;
|
||||||
|
@ -217,7 +217,7 @@ div.org_email {
|
||||||
border-left: solid 1px;
|
border-left: solid 1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
thead { th, td {
|
& thead { & th, & td {
|
||||||
border-bottom: solid 1px;
|
border-bottom: solid 1px;
|
||||||
} }
|
} }
|
||||||
}
|
}
|
||||||
|
@ -228,15 +228,15 @@ div.org_email {
|
||||||
/* Skoro jakákoliv tabulka kromě výsledkovek */
|
/* Skoro jakákoliv tabulka kromě výsledkovek */
|
||||||
|
|
||||||
.barevna_tabulka {
|
.barevna_tabulka {
|
||||||
td th {
|
& td th {
|
||||||
padding: 1px 10px 1px 10px;
|
padding: 1px 10px 1px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
tbody tr:nth-child(even), thead tr {
|
& tbody tr:nth-child(even), & thead tr {
|
||||||
background: var(--svetlounka-oranzova);
|
background: var(--svetlounka-oranzova);
|
||||||
}
|
}
|
||||||
|
|
||||||
tbody tr:nth-child(odd) {
|
& tbody tr:nth-child(odd) {
|
||||||
background: var(--barva-pozadi);
|
background: var(--barva-pozadi);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -258,14 +258,14 @@ div.org_email {
|
||||||
border-spacing: 0;
|
border-spacing: 0;
|
||||||
|
|
||||||
/* Uchytí první řádek */
|
/* Uchytí první řádek */
|
||||||
thead tr {
|
& thead tr {
|
||||||
position: sticky;
|
position: sticky;
|
||||||
top: 0;
|
top: 0;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Uchytí první sloupec */
|
/* Uchytí první sloupec */
|
||||||
td, th { &:first-child {
|
& td, & th { &:first-child {
|
||||||
position: sticky;
|
position: sticky;
|
||||||
left: 0;
|
left: 0;
|
||||||
background: inherit; /* (Snad) zneprůhlední první sloupec */
|
background: inherit; /* (Snad) zneprůhlední první sloupec */
|
||||||
|
@ -290,7 +290,7 @@ div.org_email {
|
||||||
.plne_ohranicena_tabulka {
|
.plne_ohranicena_tabulka {
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
|
|
||||||
tr { th, td {
|
& tr { & th, & td {
|
||||||
border: 1px solid black;
|
border: 1px solid black;
|
||||||
padding: 1px 10px 1px 10px;
|
padding: 1px 10px 1px 10px;
|
||||||
} }
|
} }
|
||||||
|
@ -305,7 +305,7 @@ div.org_email {
|
||||||
|
|
||||||
/** Výsledkovky **/
|
/** Výsledkovky **/
|
||||||
.vysledkovka, .tabulka_oramovane_sloupce {
|
.vysledkovka, .tabulka_oramovane_sloupce {
|
||||||
td, th {
|
& td, & th {
|
||||||
&:first-child { position: unset; }
|
&:first-child { position: unset; }
|
||||||
|
|
||||||
&:nth-child(2) {
|
&:nth-child(2) {
|
||||||
|
@ -327,11 +327,11 @@ div.org_email {
|
||||||
|
|
||||||
/** Tabulka mých (řešitelových) řešení **/
|
/** Tabulka mých (řešitelových) řešení **/
|
||||||
.moje_reseni tr {
|
.moje_reseni tr {
|
||||||
th, td {
|
& th, & td {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
td.problem { text-align: left; }
|
& td.problem { text-align: left; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Různá šířka problému */
|
/* Různá šířka problému */
|
||||||
|
@ -378,16 +378,16 @@ div.org_email {
|
||||||
|
|
||||||
|
|
||||||
.novinka {
|
.novinka {
|
||||||
.novinka_obrazek {
|
& .novinka_obrazek {
|
||||||
margin: 10px 0 10px 0;
|
margin: 10px 0 10px 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.novinka_datum {
|
& .novinka_datum {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.novinka_autor {
|
& .novinka_autor {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
|
@ -413,7 +413,6 @@ table#reseni.form td, table#reseni.form tr {
|
||||||
}
|
}
|
||||||
|
|
||||||
@media(max-width: 800px) {
|
@media(max-width: 800px) {
|
||||||
|
|
||||||
table#reseni.form td, table#reseni.form tr {
|
table#reseni.form td, table#reseni.form tr {
|
||||||
display: inline-grid;
|
display: inline-grid;
|
||||||
max-width: 300px;
|
max-width: 300px;
|
||||||
|
@ -473,7 +472,7 @@ ul.form li{
|
||||||
div.gdpr {
|
div.gdpr {
|
||||||
font-size: 6pt;
|
font-size: 6pt;
|
||||||
|
|
||||||
p {
|
& p {
|
||||||
font-size: 6pt;
|
font-size: 6pt;
|
||||||
margin-bottom: .66em;
|
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);
|
walkText(document.body);
|
||||||
</script>
|
</script>
|
||||||
{% endif %}
|
{% 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">
|
<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">
|
<link rel="shortcut icon" href="{% static 'images/MATFYZ_MM_barevne.svg' %}" type="image/x-icon">
|
||||||
{% block custom_css %}{% endblock %}
|
{% block custom_css %}{% endblock %}
|
||||||
<link href="{% static 'bootstrap/css/bootstrap.css' %}?version=2" rel="stylesheet">
|
<link href="{% static 'bootstrap/css/bootstrap.css' %}?version=3" rel="stylesheet">
|
||||||
<link href="{% static 'css/constants.css' %}?version=2" rel="stylesheet">
|
<link href="{% static 'css/constants.css' %}?version=3" rel="stylesheet">
|
||||||
<link href="{% static 'css/base.css' %}?version=2" rel="stylesheet">
|
<link href="{% static 'css/mamweb_legacy.css' %}?version=3" rel="stylesheet">
|
||||||
<link href="{% static 'css/layout.css' %}?version=2" rel="stylesheet">
|
<link href="{% static 'css/base.css' %}?version=3" rel="stylesheet">
|
||||||
<link href="{% static 'css/modules.css' %}?version=2" 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-1.11.1.js' %}"></script>
|
||||||
<script src="{% static 'js/jquery-3.4.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 {'april': today.year}
|
||||||
return {}
|
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):
|
def rozliseni(request):
|
||||||
ltp = settings.LOCAL_TEST_PROD
|
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í)
|
# Interní, nemá se nikdy objevit v urls (jinak to účastníci vytrolí)
|
||||||
def formularOKView(request, text='', dalsi_odkazy: Sequence[tuple[str, str]] = ()):
|
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) + [
|
odkazy = list(dalsi_odkazy) + [
|
||||||
# (Text, odkaz)
|
# (Text, odkaz)
|
||||||
('Vrátit se na titulní stránku', reverse('titulni_strana')),
|
('Vrátit se na titulní stránku', reverse('titulni_strana')),
|
||||||
|
|
Loading…
Reference in a new issue