diff --git a/apache-kafka/README.md b/apache-kafka/README.md
index 5e724f95b6..3e817b2fa6 100644
--- a/apache-kafka/README.md
+++ b/apache-kafka/README.md
@@ -12,7 +12,8 @@ This module contains articles about Apache Kafka.
- [Kafka Connect Example with MQTT and MongoDB](https://www.baeldung.com/kafka-connect-mqtt-mongodb)
- [Building a Data Pipeline with Flink and Kafka](https://www.baeldung.com/kafka-flink-data-pipeline)
- [Exactly Once Processing in Kafka with Java](https://www.baeldung.com/kafka-exactly-once)
+- [Custom Serializers in Apache Kafka](https://www.baeldung.com/kafka-custom-serializer)
##### Building the project
-You can build the project from the command line using: *mvn clean install*, or in an IDE.
\ No newline at end of file
+You can build the project from the command line using: *mvn clean install*, or in an IDE.
diff --git a/apache-libraries/pom.xml b/apache-libraries/pom.xml
index ded10b939f..bca80d9acd 100644
--- a/apache-libraries/pom.xml
+++ b/apache-libraries/pom.xml
@@ -133,6 +133,11 @@
jackson-databind
${jackson.version}
+
+ com.fasterxml.jackson.core
+ jackson-annotations
+ ${jackson.version}
+
com.jayway.awaitility
awaitility
diff --git a/apache-libraries/src/main/resources/models/en-lemmatizer.dict b/apache-libraries/src/main/resources/models/en-lemmatizer.dict
new file mode 100644
index 0000000000..7f17fe829f
--- /dev/null
+++ b/apache-libraries/src/main/resources/models/en-lemmatizer.dict
@@ -0,0 +1,3181 @@
+a DT a
+a-horizon NN a-horizon
+a-okay JJ a-okay
+a-one JJ a-one
+a-year JJ a-year
+a.k.a. RB a.k.a.
+contents NNS content
+contents VBZ content
+hairnets NNS hairnet
+hairpiece NN hairpiece
+hairpieces NNS hairpiece
+hairpin NN hairpin
+hairpins NNS hairpin
+hairs NNS hair
+hairsbreadth NN hairsbreadth
+hairsbreadths NNS hairsbreadth
+hairsplitter NN hairsplitter
+hairsplitters NNS hairsplitter
+hairsplitting JJ hairsplitting
+hairsplitting NN hairsplitting
+hairsplittings NNS hairsplitting
+hairspray NN hairspray
+hairsprays NNS hairspray
+hairspring NN hairspring
+hairsprings NNS hairspring
+hairstreak NN hairstreak
+hairstreaks NNS hairstreak
+hairstyle NN hairstyle
+hairstyles NNS hairstyle
+hairstyling NN hairstyling
+hairstylings NNS hairstyling
+hairstylist NN hairstylist
+hairstylists NNS hairstylist
+hairtail NN hairtail
+hairtonic NN hairtonic
+hairtrigger NNS hair-trigger
+hairweaver NN hairweaver
+hairweavers NNS hairweaver
+hairweaving NN hairweaving
+hairweavings NNS hairweaving
+hairwork NN hairwork
+hairworks NNS hairwork
+hairworm NN hairworm
+hairworms NNS hairworm
+hairy JJ hairy
+hairy-faced JJ hairy-faced
+haith NN haith
+haiths NNS haith
+haj NN haj
+hajes NNS haj
+hajes NNS hajis
+haji NN haji
+hajis NN hajis
+hajis NNS haji
+hajj NN hajj
+hajjes NNS hajj
+hajjes NNS hajjis
+hajji NN hajji
+hajjis NN hajjis
+hajjis NNS hajji
+haka NN haka
+hakam NN hakam
+hakams NNS hakam
+hakas NNS haka
+hake NN hake
+hake NNS hake
+hakea NN hakea
+hakeem NN hakeem
+hakeems NNS hakeem
+hakes NNS hake
+hakim NN hakim
+hakims NNS hakim
+hakka NN hakka
+haku NN haku
+hakus NNS haku
+halacha NN halacha
+halachas NNS halacha
+halachic JJ halachic
+halachist NN halachist
+halachists NNS halachist
+halakah NN halakah
+halakahs NNS halakah
+halakha NN halakha
+halakhah NN halakhah
+halakhahs NNS halakhah
+halakhas NNS halakha
+halakhist NN halakhist
+halakhists NNS halakhist
+halakist NN halakist
+halakists NNS halakist
+halal JJ halal
+halal NN halal
+halala NN halala
+halalah NN halalah
+halalahs NNS halalah
+halalas NNS halala
+halalling NN halalling
+halalling NNS halalling
+halals NNS halal
+halation NNN halation
+halations NNS halation
+halavah NN halavah
+halavahs NNS halavah
+halazone NN halazone
+halazones NNS halazone
+halberd NN halberd
+halberdier NN halberdier
+halberdiers NNS halberdier
+halberds NNS halberd
+halbert NN halbert
+halberts NNS halbert
+halchidhoma NN halchidhoma
+halcyon JJ halcyon
+halcyon NN halcyon
+haldea NN haldea
+hale JJ hale
+hale VB hale
+hale VBP hale
+haled VBD hale
+haled VBN hale
+haleness NN haleness
+halenesses NNS haleness
+halenia NN halenia
+haler NN haler
+haler JJR hale
+halers NNS haler
+hales VBZ hale
+halesia NN halesia
+halest JJS hale
+half DT half
+half NN half
+half PDT half
+half-American JJ half-American
+half-Americanized JJ half-Americanized
+half-Anglicized JJ half-Anglicized
+half-Aristotelian JJ half-Aristotelian
+half-Asian JJ half-Asian
+half-Asiatic JJ half-Asiatic
+half-Christian JJ half-Christian
+half-Confederate JJ half-Confederate
+half-Creole JJ half-Creole
+half-Dacron JJ half-Dacron
+half-Elizabethan JJ half-Elizabethan
+half-English JJ half-English
+half-French JJ half-French
+half-German JJ half-German
+half-Greek JJ half-Greek
+half-Hessian JJ half-Hessian
+half-Irish JJ half-Irish
+half-Italian JJ half-Italian
+half-Latinized JJ half-Latinized
+half-Mexican JJ half-Mexican
+half-Mohammedan JJ half-Mohammedan
+half-Moslem JJ half-Moslem
+half-Muhammadan JJ half-Muhammadan
+half-Muslim JJ half-Muslim
+half-Russian JJ half-Russian
+half-Scottish JJ half-Scottish
+half-Semitic JJ half-Semitic
+half-Shakespearean JJ half-Shakespearean
+half-Spanish JJ half-Spanish
+half-a-crown NN half-a-crown
+half-a-dollar NN half-a-dollar
+half-abandoned JJ half-abandoned
+half-accustomed JJ half-accustomed
+half-acquainted JJ half-acquainted
+half-acquiescent JJ half-acquiescent
+half-acquiescently RB half-acquiescently
+half-acre NN half-acre
+half-addressed JJ half-addressed
+half-admiring JJ half-admiring
+half-admiringly RB half-admiringly
+half-admitted JJ half-admitted
+half-admittedly RB half-admittedly
+half-adream JJ half-adream
+half-affianced JJ half-affianced
+half-afloat JJ half-afloat
+half-afraid JJ half-afraid
+half-agreed JJ half-agreed
+half-alike JJ half-alike
+half-alive JJ half-alive
+half-altered JJ half-altered
+half-and-half JJ half-and-half
+half-and-half NN half-and-half
+half-angrily RB half-angrily
+half-angry JJ half-angry
+half-annoyed JJ half-annoyed
+half-annoying JJ half-annoying
+half-annoyingly RB half-annoyingly
+half-armed JJ half-armed
+half-ashamed JJ half-ashamed
+half-ashamedly RB half-ashamedly
+half-asleep JJ half-asleep
+half-assed JJ half-assed
+half-awake JJ half-awake
+harns NNS harn
+haroseth NN haroseth
+harp NN harp
+harp VB harp
+harp VBP harp
+harped VBD harp
+harped VBN harp
+harper NN harper
+harpers NNS harper
+harpia NN harpia
+harpies NNS harpy
+harpin NN harpin
+harping NNN harping
+harping VBG harp
+harpings NNS harping
+harpins NNS harpin
+harpist NN harpist
+harpists NNS harpist
+harpless JJ harpless
+harplike JJ harplike
+harpoon NN harpoon
+harpoon VB harpoon
+harpoon VBP harpoon
+harpooned VBD harpoon
+harpooned VBN harpoon
+harpooneer NN harpooneer
+harpooneers NNS harpooneer
+harpooner NN harpooner
+harpooners NNS harpooner
+harpooning VBG harpoon
+harpoonlike JJ harpoonlike
+harpoons NNS harpoon
+harpoons VBZ harpoon
+harps NNS harp
+harps VBZ harp
+harpsichord NN harpsichord
+harpsichordist NN harpsichordist
+harpsichordists NNS harpsichordist
+harpsichords NNS harpsichord
+harpulla NN harpulla
+harpullia NN harpullia
+harpwise RB harpwise
+harpy NN harpy
+harpylike JJ harpylike
+harquebus NN harquebus
+harquebuses NNS harquebus
+harquebusier NN harquebusier
+harquebusiers NNS harquebusier
+harridan NN harridan
+harridans NNS harridan
+harried VBD harry
+harried VBN harry
+harrier NN harrier
+harriers NNS harrier
+harries VBZ harry
+harrisia NN harrisia
+harrow NN harrow
+harrow VB harrow
+harrow VBP harrow
+harrowed VBD harrow
+harrowed VBN harrow
+harrower NN harrower
+harrowers NNS harrower
+harrowing JJ harrowing
+harrowing VBG harrow
+harrowingly RB harrowingly
+harrowment NN harrowment
+harrows NNS harrow
+harrows VBZ harrow
+harry VB harry
+harry VBP harry
+harrying VBG harry
+harsh JJ harsh
+harshen VB harshen
+harshen VBP harshen
+harshened VBD harshen
+harshened VBN harshen
+harshening VBG harshen
+harshens VBZ harshen
+harsher JJR harsh
+harshest JJS harsh
+harshly RB harshly
+harshness NN harshness
+harshnesses NNS harshness
+harslet NN harslet
+harslets NNS harslet
+hart NN hart
+hart NNS hart
+hartal NN hartal
+hartals NNS hartal
+hartebeest NN hartebeest
+hartebeests NNS hartebeest
+harts NNS hart
+hartshorn NN hartshorn
+hartshorns NNS hartshorn
+harum-scarumness NN harum-scarumness
+haruspex NN haruspex
+haruspical JJ haruspical
+haruspication NNN haruspication
+haruspications NNS haruspication
+haruspices NNS haruspex
+haruspicies NNS haruspicy
+haruspicy NNN haruspicy
+harvest NN harvest
+harvest VB harvest
+harvest VBP harvest
+harvest-lice NN harvest-lice
+harvestabilities NNS harvestability
+harvestability NNN harvestability
+harvestable JJ harvestable
+harvested VBD harvest
+harvested VBN harvest
+harvester NN harvester
+harvesters NNS harvester
+harvestfish NN harvestfish
+harvestfish NNS harvestfish
+harvesting NNN harvesting
+harvesting VBG harvest
+harvestless JJ harvestless
+harvestman NN harvestman
+harvestmen NNS harvestman
+harvests NNS harvest
+harvests VBZ harvest
+harvesttime NN harvesttime
+harvesttimes NNS harvesttime
+has VBZ have
+has-been NN has-been
+has-beens NNS has-been
+hasenpfeffer NN hasenpfeffer
+hasenpfeffers NNS hasenpfeffer
+hash NN hash
+hash VB hash
+hash VBP hash
+hash-slinger NN hash-slinger
+hashed VBD hash
+hashed VBN hash
+hasheesh NN hasheesh
+hasheeshes NNS hasheesh
+hasher NN hasher
+hashes NNS hash
+hashes VBZ hash
+hashhead NN hashhead
+hashheads NNS hashhead
+hashing NNN hashing
+hashing VBG hash
+hashish NN hashish
+hashishes NNS hashish
+hashmark NN hashmark
+hask JJ hask
+hask NN hask
+haslet NN haslet
+haslets NNS haslet
+haslock NN haslock
+hasn MD have
+hasn VBZ have
+hasp NN hasp
+hasps NNS hasp
+hassar NN hassar
+hassars NNS hassar
+hassel NN hassel
+hassels NNS hassel
+hassenpfeffer NN hassenpfeffer
+hassium NN hassium
+hassiums NNS hassium
+hassle NNN hassle
+hassle VB hassle
+hassle VBP hassle
+hassled VBD hassle
+hassled VBN hassle
+hasslefree JJ hasslefree
+hassles NNS hassle
+hassles VBZ hassle
+hassling VBG hassle
+hassock NN hassock
+hassocks NNS hassock
+hast VBZ have
+hastate JJ hastate
+hastately RB hastately
+haste NNN haste
+haste VB haste
+haste VBP haste
+hasted VBD haste
+hasted VBN haste
+hasteful JJ hasteful
+hastefully RB hastefully
+hasteless JJ hasteless
+hastelessness NN hastelessness
+hasten VB hasten
+hasten VBP hasten
+hastened VBD hasten
+hastened VBN hasten
+hastener NN hastener
+hasteners NNS hastener
+hastening JJ hastening
+hastening VBG hasten
+hastens VBZ hasten
+hastes NNS haste
+hastes VBZ haste
+hastier JJR hasty
+hastiest JJS hasty
+hastily RB hastily
+hastiness NN hastiness
+hastinesses NNS hastiness
+hasting NNN hasting
+hasting VBG haste
+hastings NNS hasting
+hasty JJ hasty
+hat NN hat
+hat VB hat
+hat VBP hat
+hatable JJ hatable
+hatband NN hatband
+hatbands NNS hatband
+hatbox NN hatbox
+hatboxes NNS hatbox
+hatbrush NN hatbrush
+hatbrushes NNS hatbrush
+hatch NN hatch
+hatch VB hatch
+hatch VBP hatch
+hatchabilities NNS hatchability
+hatchability NNN hatchability
+hatchable JJ hatchable
+hatchback NN hatchback
+hatchbacks NNS hatchback
+hatcheck JJ hatcheck
+hatcheck NN hatcheck
+hatchecks NNS hatcheck
+hatched JJ hatched
+hatched VBD hatch
+hatched VBN hatch
+hatchel VB hatchel
+hatchel VBP hatchel
+hatcheled VBD hatchel
+hatcheled VBN hatchel
+hatcheling VBG hatchel
+hatchelled VBD hatchel
+hatchelled VBN hatchel
+hatchelling NNN hatchelling
+hatchelling NNS hatchelling
+hatchelling VBG hatchel
+hatchels VBZ hatchel
+hatcher NN hatcher
+hatcheries NNS hatchery
+hatchers NNS hatcher
+hatchery NN hatchery
+hatches NNS hatch
+hatches VBZ hatch
+hatchet NN hatchet
+hatchetfaced JJ hatchetfaced
+hatchetfish NN hatchetfish
+hatchetlike JJ hatchetlike
+hatchetman NN hatchetman
+hatchetmen NNS hatchetman
+hatchets NNS hatchet
+hatchettite NN hatchettite
+hatching JJ hatching
+hatching NN hatching
+hatching VBG hatch
+hatchings NNS hatching
+hatchling NN hatchling
+hatchling NNS hatchling
+hatchment NN hatchment
+hatchments NNS hatchment
+hatchway NN hatchway
+hatchways NNS hatchway
+hate NN hate
+hate VB hate
+hate VBP hate
+hateable JJ hateable
+hated VBD hate
+hated VBN hate
+hateful JJ hateful
+hatefully RB hatefully
+hatefulness NN hatefulness
+hatefulnesses NNS hatefulness
+hateless JJ hateless
+hatemonger NN hatemonger
+hatemongering NN hatemongering
+hatemongers NNS hatemonger
+hater NN hater
+haters NNS hater
+hates NNS hate
+hates VBZ hate
+hatful NN hatful
+hatfuls NNS hatful
+hath VBZ have
+hathpace NN hathpace
+hating VBG hate
+hatiora NN hatiora
+hatless JJ hatless
+hatlessness NN hatlessness
+hatlike JJ hatlike
+hatmaker NN hatmaker
+hatmakers NNS hatmaker
+hatpin NN hatpin
+hatpins NNS hatpin
+hatrack NN hatrack
+hatracks NNS hatrack
+hatred NNN hatred
+hatreds NNS hatred
+hats NNS hat
+hats VBZ hat
+hatstand NN hatstand
+hatstands NNS hatstand
+hatted VBD hat
+hatted VBN hat
+hatter NN hatter
+hatteria NN hatteria
+hatterias NNS hatteria
+hatters NNS hatter
+hatting NNN hatting
+hatting VBG hat
+hattings NNS hatting
+hattock NN hattock
+hattocks NNS hattock
+haubergeon NN haubergeon
+haubergeons NNS haubergeon
+hauberk NN hauberk
+hauberks NNS hauberk
+haud NN haud
+hauds NNS haud
+hauerite NN hauerite
+haugh NN haugh
+haughs NNS haugh
+haughtier JJR haughty
+haughtiest JJS haughty
+haughtily RB haughtily
+haughtiness NN haughtiness
+haughtinesses NNS haughtiness
+haughty JJ haughty
+haul NN haul
+haul VB haul
+haul VBP haul
+haulage NN haulage
+haulages NNS haulage
+haulback NN haulback
+hauld NN hauld
+haulds NNS hauld
+hauled VBD haul
+hauled VBN haul
+hauler NN hauler
+haulers NNS hauler
+haulier NN haulier
+hauliers NNS haulier
+hauling NNN hauling
+hauling VBG haul
+haulm NN haulm
+haulmier JJR haulmy
+haulmiest JJS haulmy
+haulms NNS haulm
+haulmy JJ haulmy
+hauls NNS haul
+hauls VBZ haul
+haulyard NN haulyard
+haulyards NNS haulyard
+haunch NN haunch
+haunched JJ haunched
+haunches NNS haunch
+haunchless JJ haunchless
+haunt NN haunt
+haunt VB haunt
+haunt VBP haunt
+haunted JJ haunted
+haunted VBD haunt
+haunted VBN haunt
+haunter NN haunter
+haunters NNS haunter
+haunting JJ haunting
+haunting NNN haunting
+haunting VBG haunt
+hauntingly RB hauntingly
+hauntings NNS haunting
+haunts NNS haunt
+haunts VBZ haunt
+hauriant JJ hauriant
+hausen NN hausen
+hausens NNS hausen
+hausfrau NN hausfrau
+hausfraus NNS hausfrau
+hausmannite NN hausmannite
+haussa NN haussa
+haust NN haust
+haustella NNS haustellum
+haustellate JJ haustellate
+haustellum NN haustellum
+haustoria NNS haustorium
+haustorial JJ haustorial
+haustorium NN haustorium
+hautbois NN hautbois
+hautboy NN hautboy
+hautboyist NN hautboyist
+hautboys NNS hautboy
+haute-piece NN haute-piece
+hauteur NN hauteur
+hauteurs NNS hauteur
+hav NN hav
+havarti NN havarti
+havartis NNS havarti
+havasupai NN havasupai
+havdalah NN havdalah
+havdalahs NNS havdalah
+have NN have
+have VB have
+have VBP have
+have-not NN have-not
+have-nots NNS have-not
+havelock NN havelock
+havelocks NNS havelock
+haven NN haven
+haven MD have
+haven VBP have
+havenless JJ havenless
+havens NNS haven
+havenward RB havenward
+haveour NN haveour
+haveours NNS haveour
+haverel NN haverel
+haverels NNS haverel
+havering NN havering
+haverings NNS havering
+havers UH havers
+haversack NN haversack
+haversacks NNS haversack
+haversine NN haversine
+haversines NNS haversine
+haves NNS have
+havildar NN havildar
+havildars NNS havildar
+having NNN having
+having VBG have
+havings NNS having
+havior NN havior
+haviors NNS havior
+haviour NN haviour
+haviours NNS haviour
+havoc NN havoc
+havocker NN havocker
+havockers NNS havocker
+havocs NNS havoc
+haw NN haw
+haw UH haw
+haw VB haw
+haw VBP haw
+haw-haw NN haw-haw
+haw-haw UH haw-haw
+hawala NN hawala
+hawbuck NN hawbuck
+hawbuck NNS hawbuck
+hawbucks NNS hawbuck
+hawed VBD haw
+hawed VBN haw
+hawfinch NN hawfinch
+hawfinches NNS hawfinch
+hawing VBG haw
+hawk NN hawk
+hawk VB hawk
+hawk VBP hawk
+hawk-eyed JJ hawk-eyed
+hawkbell NN hawkbell
+hawkbells NNS hawkbell
+hawkbill NN hawkbill
+hawkbills NNS hawkbill
+hawkbit NN hawkbit
+hawkbits NNS hawkbit
+hawked VBD hawk
+hawked VBN hawk
+hawker NN hawker
+hawkers NNS hawker
+hawkey NN hawkey
+hawkeys NNS hawkey
+hawkie NN hawkie
+hawkies NNS hawkie
+hawkies NNS hawky
+hawking NNN hawking
+hawking VBG hawk
+hawkings NNS hawking
+hawkish JJ hawkish
+hawkishness NN hawkishness
+hawkishnesses NNS hawkishness
+hawklike JJ hawklike
+hawkmoth NN hawkmoth
+illmanneredness NN illmanneredness
+illnature NN illnature
+illness NNN illness
+illnesses NNS illness
+lactary JJ lactary
+macroscale NN macroscale
+mugginess NN mugginess
+mugginesses NNS mugginess
+mugging NNN mugging
+mugging VBG mug
+nabe NN nabe
+nabes NNS nabe
+nabes NNS nabis
+nabis NN nabis
+nabk NN nabk
+nabks NNS nabk
+nabla NN nabla
+nablas NNS nabla
+nabob NN nabob
+naboberies NNS nabobery
+nabobery NN nabobery
+nabobess NN nabobess
+nabobesses NNS nabobess
+nabobical JJ nabobical
+nabobically RB nabobically
+nabobish JJ nabobish
+nabobishly RB nabobishly
+nabobism NNN nabobism
+nabobisms NNS nabobism
+nabobs NNS nabob
+nabobship NN nabobship
+naboom NN naboom
+nabs NN nabs
+nabs VBZ nab
+nabses NNS nabs
+nabu NN nabu
+nabumetone NN nabumetone
+nacarat NN nacarat
+nacarats NNS nacarat
+nacelle NN nacelle
+nacelles NNS nacelle
+nach NN nach
+nache NN nache
+naches NNS nache
+naches NNS nach
+nacho NN nacho
+nachos NNS nacho
+nacimiento NN nacimiento
+nacket NN nacket
+nackets NNS nacket
+nacre NN nacre
+nacred JJ nacred
+nacreous JJ nacreous
+nacres NNS nacre
+nada NN nada
+nadas NNS nada
+nadir NN nadir
+nadiral JJ nadiral
+nadirs NNS nadir
+nadolol NN nadolol
+nae JJ nae
+naemorhedus NN naemorhedus
+naething NN naething
+naethings NNS naething
+naeve NN naeve
+naeves NNS naeve
+naevi NNS naevus
+naevoid JJ naevoid
+naevus NN naevus
+nafcillin NN nafcillin
+naffness NN naffness
+nag NN nag
+nag VB nag
+nag VBP nag
+naga NN naga
+nagami NN nagami
+nagana NN nagana
+naganas NNS nagana
+nagas NNS naga
+nageia NN nageia
+nagged VBD nag
+nagged VBN nag
+nagger NN nagger
+naggers NNS nagger
+naggier JJR naggy
+naggiest JJS naggy
+nagging JJ nagging
+nagging VBG nag
+naggingly RB naggingly
+naggingness NN naggingness
+naggish JJ naggish
+naggy JJ naggy
+nagi NN nagi
+nagor NN nagor
+nagors NNS nagor
+nags NNS nag
+nags VBZ nag
+nagual NN nagual
+nahal NN nahal
+nahals NNS nahal
+naiad NN naiad
+naiadaceae NN naiadaceae
+naiadales NN naiadales
+naiades NNS naiad
+naiads NNS naiad
+naiant JJ naiant
+naias NN naias
+naif JJ naif
+naif NN naif
+naifs NNS naif
+naik NN naik
+naiki NN naiki
+naiks NNS naik
+nail NN nail
+nail VB nail
+nail VBP nail
+nail-biting NNN nail-biting
+nail-sick JJ nail-sick
+nailbitingly RB nailbitingly
+nailbrush NN nailbrush
+nailbrushes NNS nailbrush
+nailed VBD nail
+nailed VBN nail
+nailer NN nailer
+naileries NNS nailery
+nailers NNS nailer
+nailery NN nailery
+nailfile NN nailfile
+nailfold NN nailfold
+nailfolds NNS nailfold
+nailhead NN nailhead
+nailheads NNS nailhead
+nailing NNN nailing
+nailing VBG nail
+nailings NNS nailing
+nailless JJ nailless
+naillike JJ naillike
+nailrod NN nailrod
+nails NNS nail
+nails VBZ nail
+nailset NN nailset
+nailsets NNS nailset
+nailsickness NN nailsickness
+nainsook NN nainsook
+nainsooks NNS nainsook
+naira NN naira
+nairas NNS naira
+naiskos NN naiskos
+naissant JJ naissant
+naive JJ naive
+naive NN naive
+naively RB naively
+naiveness NN naiveness
+naivenesses NNS naiveness
+naiver JJR naive
+naives NNS naive
+naives NNS naif
+naivest JJS naive
+naivete NN naivete
+naivetes NNS naivete
+naiveties NNS naivety
+naivetivet NN naivetivet
+naivety NN naivety
+naja NN naja
+najadaceae NN najadaceae
+najas NN najas
+naked JJ naked
+nakeder JJR naked
+nakedest JJS naked
+nakedly RB nakedly
+nakedness NN nakedness
+nakednesses NNS nakedness
+nakedwood NN nakedwood
+naker NN naker
+nakers NNS naker
+nala NN nala
+nalas NNS nala
+naled NN naled
+naleds NNS naled
+nalfon NN nalfon
+nalidixic JJ nalidixic
+nallah NN nallah
+nallahs NNS nallah
+nalorphine NN nalorphine
+nalorphines NNS nalorphine
+naloxone NN naloxone
+naloxones NNS naloxone
+naltrexone NN naltrexone
+naltrexones NNS naltrexone
+namability NNN namability
+namaskar NN namaskar
+namaskars NNS namaskar
+namaste NN namaste
+namastes NNS namaste
+namaycush NN namaycush
+namby-pambiness NN namby-pambiness
+namby-pamby JJ namby-pamby
+namby-pamby NN namby-pamby
+namby-pambyish JJ namby-pambyish
+namby-pambyism NNN namby-pambyism
+name NN name
+name VB name
+name VBP name
+name-caller NN name-caller
+name-calling NNN name-calling
+name-dropper NN name-dropper
+name-dropping NN name-dropping
+nameability NNN nameability
+nameable JJ nameable
+named VBD name
+named VBN name
+namedrop VB namedrop
+namedrop VBP namedrop
+namedropped VBD namedrop
+namedropped VBN namedrop
+namedropper NN namedropper
+namedroppers NNS namedropper
+namedropping NN namedropping
+namedropping VBG namedrop
+namedroppings NNS namedropping
+namedrops VBZ namedrop
+nameko NN nameko
+nameless JJ nameless
+namelessly RB namelessly
+namelessness NN namelessness
+namelessnesses NNS namelessness
+namely RB namely
+nameplate NN nameplate
+nameplates NNS nameplate
+namer NN namer
+namers NNS namer
+names NNS name
+names VBZ name
+namesake NN namesake
+namesakes NNS namesake
+nametag NN nametag
+nametags NNS nametag
+nametape NN nametape
+nametapes NNS nametape
+namibian JJ namibian
+naming NNN naming
+naming VBG name
+namings NNS naming
+namma NN namma
+nammad NN nammad
+namtaru NN namtaru
+nan NN nan
+nana NN nana
+nanako NN nanako
+nanas NNS nana
+nance NN nance
+nancere NN nancere
+nances NNS nance
+nancies NNS nancy
+nancy NN nancy
+nancys NNS nancy
+nandin NN nandin
+nandina NN nandina
+nandinas NNS nandina
+nandine NN nandine
+nandines NNS nandine
+nandins NNS nandin
+nandoo NN nandoo
+nandoos NNS nandoo
+nandrolone NN nandrolone
+nandu NN nandu
+nanism NNN nanism
+nanisms NNS nanism
+nanjing NN nanjing
+nankeen NN nankeen
+nankeens NNS nankeen
+nankin NN nankin
+nankins NNS nankin
+nanna NN nanna
+nannas NNS nanna
+nannies NNS nanny
+nannofossil NN nannofossil
+nannofossils NNS nannofossil
+nannoplankton NN nannoplankton
+nannoplanktons NNS nannoplankton
+nanny NN nanny
+nanny-goat NN nanny-goat
+nannyberry NN nannyberry
+nannygai NN nannygai
+nannygais NNS nannygai
+nanobot NN nanobot
+nanobots NNS nanobot
+nanocephalic JJ nanocephalic
+nanocephaly NN nanocephaly
+nanocurie NN nanocurie
+nanoelectronic JJ nanoelectronic
+nanofossil NN nanofossil
+nanofossils NNS nanofossil
+nanogram NN nanogram
+nanograms NNS nanogram
+nanoid JJ nanoid
+nanometer NN nanometer
+nanometers NNS nanometer
+nanometre NN nanometre
+nanometres NNS nanometre
+nanomia NN nanomia
+nanoplankton NN nanoplankton
+nanoplanktons NNS nanoplankton
+nanosecond NN nanosecond
+nanoseconds NNS nanosecond
+nanotechnologies NNS nanotechnology
+nanotechnology NNN nanotechnology
+nanotesla NN nanotesla
+nanoteslas NNS nanotesla
+nanowatt NN nanowatt
+nanowatts NNS nanowatt
+nans NNS nan
+nantua NN nantua
+naos NN naos
+naoses NNS naos
+naovely RB naovely
+nap NNN nap
+nap VB nap
+nap VBP nap
+napa NN napa
+napaea NN napaea
+napalm NN napalm
+napalm VB napalm
+napalm VBP napalm
+napalmed VBD napalm
+napalmed VBN napalm
+napalming VBG napalm
+napalms NNS napalm
+napalms VBZ napalm
+napas NNS napa
+nape NN nape
+napea NN napea
+naperies NNS napery
+napery NN napery
+napes NNS nape
+naphtha NN naphtha
+naphthalene NN naphthalene
+naphthalenes NNS naphthalene
+naphthalic JJ naphthalic
+naphthalin NN naphthalin
+naphthaline NN naphthaline
+naphthalines NNS naphthaline
+naphthalins NNS naphthalin
+naphthas NNS naphtha
+naphthene NN naphthene
+naphthenes NNS naphthene
+naphthenic JJ naphthenic
+naphthol NN naphthol
+naphthols NNS naphthol
+naphthoquinone NN naphthoquinone
+naphthous JJ naphthous
+naphthyl NN naphthyl
+naphthylamine NN naphthylamine
+naphthylamines NNS naphthylamine
+naphthyls NNS naphthyl
+naphtol NN naphtol
+naphtols NNS naphtol
+napiform JJ napiform
+napkin NN napkin
+napkins NNS napkin
+napless JJ napless
+naplessness NN naplessness
+napoleon NN napoleon
+napoleons NNS napoleon
+nappa NN nappa
+nappas NNS nappa
+nappe NN nappe
+napped VBD nap
+napped VBN nap
+napper NN napper
+nappers NNS napper
+nappie JJ nappie
+nappie NN nappie
+nappier JJR nappie
+nappier JJR nappy
+nappies NNS nappie
+nappies NNS nappy
+nappiest JJS nappie
+nappiest JJS nappy
+nappiness NN nappiness
+nappinesses NNS nappiness
+napping VBG nap
+nappy JJ nappy
+nappy NN nappy
+naprapath NN naprapath
+naprapathies NNS naprapathy
+naprapathy NN naprapathy
+naprosyn NN naprosyn
+naproxen NN naproxen
+naproxens NNS naproxen
+naps NNS nap
+naps VBZ nap
+naptime NN naptime
+naptimes NNS naptime
+napu NN napu
+naranjilla NN naranjilla
+narc NN narc
+narcein NN narcein
+narceine NN narceine
+narceines NNS narceine
+narceins NNS narcein
+narcism NNN narcism
+narcisms NNS narcism
+narcissi NNS narcissus
+narcissism NN narcissism
+narcissisms NNS narcissism
+narcissist NN narcissist
+narcissistic JJ narcissistic
+narcissistically RB narcissistically
+narcissists NNS narcissist
+narcissus NN narcissus
+narcissus NNS narcissus
+narcissuses NNS narcissus
+narcist NN narcist
+narcistic JJ narcistic
+narcists NNS narcist
+narco NN narco
+narcoanalyses NNS narcoanalysis
+narcoanalysis NN narcoanalysis
+narcolepsies NNS narcolepsy
+narcolepsy NN narcolepsy
+narcoleptic JJ narcoleptic
+narcoleptic NN narcoleptic
+narcoleptics NNS narcoleptic
+narcoma NN narcoma
+narcomania NN narcomania
+narcomaniac NN narcomaniac
+narcomaniacal JJ narcomaniacal
+narcomas NNS narcoma
+narcomatous JJ narcomatous
+narcos NN narcos
+narcos NNS narco
+narcose JJ narcose
+narcose NN narcose
+narcoses NNS narcose
+narcoses NNS narcos
+narcoses NNS narcosis
+narcosis NN narcosis
+narcosyntheses NNS narcosynthesis
+narcosynthesis NN narcosynthesis
+narcotic JJ narcotic
+narcotic NN narcotic
+narcotically RB narcotically
+narcoticalness NN narcoticalness
+narcoticness NN narcoticness
+narcotics NNS narcotic
+narcotisation NNN narcotisation
+narcotise VB narcotise
+narcotise VBP narcotise
+narcotised VBD narcotise
+narcotised VBN narcotise
+narcotises VBZ narcotise
+narcotising VBG narcotise
+narcotism NNN narcotism
+narcotisms NNS narcotism
+narcotist NN narcotist
+narcotists NNS narcotist
+narcotization NN narcotization
+narcotizations NNS narcotization
+narcotize VB narcotize
+narcotize VBP narcotize
+narcotized JJ narcotized
+narcotized VBD narcotize
+narcotized VBN narcotize
+narcotizes VBZ narcotize
+narcotizing JJ narcotizing
+narcotizing VBG narcotize
+narcs NNS narc
+nard NN nard
+nardine JJ nardine
+nardo NN nardo
+nardoo NN nardoo
+nardoos NNS nardoo
+nards NNS nard
+nare NN nare
+nares NNS nare
+nares NNS naris
+narghile NN narghile
+narghiles NNS narghile
+nargile NN nargile
+nargileh NN nargileh
+nargilehs NNS nargileh
+nargiles NNS nargile
+narial JJ narial
+naricorn NN naricorn
+naricorns NNS naricorn
+naris NN naris
+nark NN nark
+nark VB nark
+nark VBP nark
+narked VBD nark
+narked VBN nark
+narkier JJR narky
+narkiest JJS narky
+narking VBG nark
+narks NNS nark
+narks VBZ nark
+narky JJ narky
+narras NN narras
+narrases NNS narras
+narratable JJ narratable
+narrate VB narrate
+narrate VBP narrate
+narrated VBD narrate
+narrated VBN narrate
+narrater NN narrater
+narraters NNS narrater
+narrates VBZ narrate
+narrating VBG narrate
+narration NNN narration
+narrations NNS narration
+narrative JJ narrative
+narrative NNN narrative
+narratively RB narratively
+narratives NNS narrative
+narratologies NNS narratology
+narratologist NN narratologist
+narratologists NNS narratologist
+narratology NNN narratology
+narrator NN narrator
+narrators NNS narrator
+narrow JJ narrow
+narrow NN narrow
+narrow VB narrow
+narrow VBP narrow
+narrow-fisted JJ narrow-fisted
+narrow-gage JJ narrow-gage
+narrow-gauge JJ narrow-gauge
+narrow-gauged JJ narrow-gauged
+narrow-minded JJ narrow-minded
+narrow-mindedly RB narrow-mindedly
+narrow-mindedness NN narrow-mindedness
+narrowboat NN narrowboat
+narrowcasting NN narrowcasting
+narrowcastings NNS narrowcasting
+narrowed JJ narrowed
+narrowed VBD narrow
+narrowed VBN narrow
+narrower JJR narrow
+narrowest JJS narrow
+narrowing JJ narrowing
+narrowing NNN narrowing
+narrowing VBG narrow
+narrowings NNS narrowing
+narrowly RB narrowly
+narrowminded JJ narrow-minded
+narrowmindedness NNS narrow-mindedness
+narrowness NN narrowness
+narrownesses NNS narrowness
+narrows NNS narrow
+narrows VBZ narrow
+narthecal JJ narthecal
+narthecium NN narthecium
+narthex NN narthex
+narthexes NNS narthex
+nartjie NN nartjie
+nartjies NNS nartjie
+narwal NN narwal
+narwals NNS narwal
+narwhal NN narwhal
+narwhale NN narwhale
+narwhales NNS narwhale
+narwhals NNS narwhal
+nary DT nary
+nary JJ nary
+nasal JJ nasal
+nasal NN nasal
+nasale VB nasale
+nasale VBP nasale
+nasalis NN nasalis
+nasalisation NNN nasalisation
+nasalisations NNS nasalisation
+nasalise VB nasalise
+nasalise VBP nasalise
+nasalised VBD nasalise
+nasalised VBN nasalise
+nasalises VBZ nasalise
+nasalising VBG nasalise
+nasalism NNN nasalism
+nasalisms NNS nasalism
+nasalities NNS nasality
+nasality NN nasality
+nasalization NN nasalization
+nasalizations NNS nasalization
+nasalize VB nasalize
+nasalize VBP nasalize
+nasalized VBD nasalize
+nasalized VBN nasalize
+nasalizes VBZ nasalize
+nasalizing VBG nasalize
+nasally RB nasally
+nasals NNS nasal
+nasard NN nasard
+nasards NNS nasard
+nascence NN nascence
+nascences NNS nascence
+nascencies NNS nascency
+nascency NN nascency
+nascent JJ nascent
+nasdaq NN nasdaq
+naseberries NNS naseberry
+naseberry NN naseberry
+nashgab NN nashgab
+nashgabs NNS nashgab
+nasial JJ nasial
+nasion NN nasion
+nasions NNS nasion
+nasofrontal JJ nasofrontal
+nasogastric JJ nasogastric
+nasolacrimal JJ nasolacrimal
+nasological JJ nasological
+nasologist NN nasologist
+nasology NNN nasology
+nasopalatine JJ nasopalatine
+nasopharyngeal JJ nasopharyngeal
+nasopharynx NN nasopharynx
+nasopharynxes NNS nasopharynx
+nasotracheal JJ nasotracheal
+nastier JJR nasty
+nasties NNS nasty
+nastiest JJS nasty
+nastily RB nastily
+nastiness NN nastiness
+nastinesses NNS nastiness
+nasturtium NN nasturtium
+nasturtiums NNS nasturtium
+nasty JJ nasty
+nasty NN nasty
+nasua NN nasua
+nasute NN nasute
+nasuteness NN nasuteness
+nasutes NNS nasute
+nat NN nat
+natal JJ natal
+natalities NNS natality
+natality NNN natality
+natant JJ natant
+natantia NN natantia
+natation NNN natation
+natational JJ natational
+natations NNS natation
+natator NN natator
+natatorial JJ natatorial
+natatorium NN natatorium
+natatoriums NNS natatorium
+natatory JJ natatory
+natch JJ natch
+natch NN natch
+natch RB natch
+natches NNS natch
+naticidae NN naticidae
+nation NN nation
+nation-state NNN nation-state
+national JJ national
+national NN national
+nationalisation NN nationalisation
+nationalisations NNS nationalisation
+nationalise VB nationalise
+nationalise VBP nationalise
+nationalised VBD nationalise
+nationalised VBN nationalise
+nationaliser NN nationaliser
+nationalises VBZ nationalise
+nationalising VBG nationalise
+nationalism NN nationalism
+nationalisms NNS nationalism
+nationalist JJ nationalist
+nationalist NN nationalist
+nationalistic JJ nationalistic
+nationalistically RB nationalistically
+nationalists NNS nationalist
+nationalities NNS nationality
+nationality NNN nationality
+nationalization NNN nationalization
+nationalizations NNS nationalization
+nationalize VB nationalize
+nationalize VBP nationalize
+nationalized VBD nationalize
+nationalized VBN nationalize
+nationalizer NN nationalizer
+nationalizers NNS nationalizer
+nationalizes VBZ nationalize
+nationalizing VBG nationalize
+nationally RB nationally
+nationals NNS national
+nationhood NN nationhood
+nationhoods NNS nationhood
+nationless JJ nationless
+nations NNS nation
+nationstate NNS nation-state
+nationstates NNS nation-state
+nationwide JJ nationwide
+nationwide RB nationwide
+native JJ native
+native NN native
+native-born JJ native-born
+nativeborn JJ native-born
+natively RB natively
+nativeness NN nativeness
+nativenesses NNS nativeness
+natives NNS native
+nativism NNN nativism
+nativisms NNS nativism
+nativist JJ nativist
+nativist NN nativist
+nativistic JJ nativistic
+nativists NNS nativist
+nativities NNS nativity
+nativity NN nativity
+natl NN natl
+natrium NN natrium
+natriums NNS natrium
+natriureses NNS natriuresis
+natriuresis NN natriuresis
+natriuretic NN natriuretic
+natriuretics NNS natriuretic
+natrix NN natrix
+natrolite NN natrolite
+natrolites NNS natrolite
+natron NN natron
+natrons NNS natron
+nats NNS nat
+natter NN natter
+natter VB natter
+natter VBP natter
+nattered VBD natter
+nattered VBN natter
+natterer NN natterer
+natterers NNS natterer
+nattering VBG natter
+natterjack NN natterjack
+natterjacks NNS natterjack
+natters NNS natter
+natters VBZ natter
+nattier JJR natty
+nattiest JJS natty
+nattily RB nattily
+nattiness NN nattiness
+nattinesses NNS nattiness
+natty JJ natty
+natural JJ natural
+natural NN natural
+natural-born JJ natural-born
+naturalisation NNN naturalisation
+naturalisations NNS naturalization
+naturalise VB naturalise
+naturalise VBP naturalise
+naturalised VBD naturalise
+naturalised VBN naturalise
+naturaliser NN naturaliser
+naturalises VBZ naturalise
+naturalising VBG naturalise
+naturalism NN naturalism
+naturalisms NNS naturalism
+naturalist NN naturalist
+naturalistic JJ naturalistic
+naturalistically RB naturalistically
+naturalists NNS naturalist
+naturalization NN naturalization
+naturalizations NNS naturalization
+naturalize VB naturalize
+naturalize VBP naturalize
+naturalized VBD naturalize
+naturalized VBN naturalize
+naturalizer NN naturalizer
+naturalizers NNS naturalizer
+naturalizes VBZ naturalize
+naturalizing VBG naturalize
+naturally RB naturally
+naturalness NN naturalness
+naturalnesses NNS naturalness
+naturals NNS natural
+nature NNN nature
+naturedly RB naturedly
+naturelike JJ naturelike
+natures NNS nature
+naturism NNN naturism
+naturisms NNS naturism
+naturist NN naturist
+naturistic JJ naturistic
+naturists NNS naturist
+naturopath NN naturopath
+naturopathic JJ naturopathic
+naturopathies NNS naturopathy
+naturopaths NNS naturopath
+naturopathy NN naturopathy
+nauch NN nauch
+nauclea NN nauclea
+naucrates NN naucrates
+naught NN naught
+naughtier JJR naughty
+naughties NNS naughty
+naughtiest JJS naughty
+naughtily RB naughtily
+naughtiness NN naughtiness
+naughtinesses NNS naughtiness
+naughts NNS naught
+naughty JJ naughty
+naughty NN naughty
+naumachia NN naumachia
+naumachias NNS naumachia
+naumachies NNS naumachy
+naumachy NN naumachy
+naunt NN naunt
+naunts NNS naunt
+naupathia NN naupathia
+nauplial JJ nauplial
+naupliform JJ naupliform
+nauplii NNS nauplius
+nauplioid JJ nauplioid
+nauplius NN nauplius
+nauran NN nauran
+nausea NN nausea
+nauseant NN nauseant
+nauseants NNS nauseant
+nauseas NNS nausea
+nauseate VB nauseate
+nauseate VBP nauseate
+nauseated JJ nauseated
+nauseated VBD nauseate
+nauseated VBN nauseate
+nauseates VBZ nauseate
+nauseating JJ nauseating
+nauseating VBG nauseate
+nauseatingly RB nauseatingly
+nauseatingness NN nauseatingness
+nauseation NNN nauseation
+nauseations NNS nauseation
+nauseous JJ nauseous
+nauseously RB nauseously
+nauseousness NN nauseousness
+nauseousnesses NNS nauseousness
+naut NN naut
+nautch NN nautch
+nautches NNS nautch
+nautic NN nautic
+nautical JJ nautical
+nauticality NNN nauticality
+nautically RB nautically
+nautics NNS nautic
+nautili NNS nautilus
+nautilidae NN nautilidae
+nautiloid JJ nautiloid
+nautiloid NN nautiloid
+nautiloids NNS nautiloid
+nautilus NN nautilus
+nautiluses NNS nautilus
+nav NN nav
+navaid NN navaid
+navaids NNS navaid
+navajo NN navajo
+naval JJ naval
+navally RB navally
+navar NN navar
+navarch NN navarch
+navarchies NNS navarchy
+navarchs NNS navarch
+navarchy NN navarchy
+navarin NN navarin
+navarins NNS navarin
+navars NNS navar
+nave NN nave
+navel NN navel
+navels NNS navel
+navelwort NN navelwort
+navelworts NNS navelwort
+naves NNS nave
+navette NN navette
+navettes NNS navette
+navew NN navew
+navews NNS navew
+navicert NN navicert
+navicerts NNS navicert
+navicula NN navicula
+navicular JJ navicular
+navicular NN navicular
+naviculars NNS navicular
+naviculas NNS navicula
+navies NNS navy
+navig NN navig
+navigabilities NNS navigability
+navigability NN navigability
+navigable JJ navigable
+navigableness NN navigableness
+navigablenesses NNS navigableness
+navigably RB navigably
+navigate VB navigate
+navigate VBP navigate
+navigated VBD navigate
+navigated VBN navigate
+navigates VBZ navigate
+navigating VBG navigate
+navigation NN navigation
+navigational JJ navigational
+navigationally RB navigationally
+navigations NNS navigation
+navigator NN navigator
+navigators NNS navigator
+navvies NNS navvy
+navvy NN navvy
+navy JJ navy
+navy NN navy
+nawab NN nawab
+nawabs NNS nawab
+nawabship NN nawabship
+nay JJ nay
+nay NN nay
+nays NNS nay
+naysayer NN naysayer
+naysayers NNS naysayer
+naysaying NN naysaying
+naze NN naze
+nazes NNS naze
+nazes NNS nazis
+nazi NN nazi
+nazification NNN nazification
+nazifications NNS nazification
+naziism NNN naziism
+nazir NN nazir
+nazirs NNS nazir
+nazis NN nazis
+nazis NNS nazi
+nazism NNN nazism
+naïvely RB naïvely
+naïveness NNN naïveness
+ne NN ne
+neafe NN neafe
+neafes NNS neafe
+neaffe NN neaffe
+neaffes NNS neaffe
+neandertal JJ neandertal
+neanderthal NN neanderthal
+neanderthaler NN neanderthaler
+neanderthalers NNS neanderthaler
+neanderthalian JJ neanderthalian
+neanderthals NNS neanderthal
+neap JJ neap
+neap NN neap
+neaped JJ neaped
+neaps NNS neap
+neaptide NN neaptide
+neaptides NNS neaptide
+near IN near
+near JJ near
+near VB near
+near VBP near
+near-blind JJ near-blind
+near-normal JJ near-normal
+near-point NNN near-point
+near-sighted JJ near-sighted
+near-sightedly RB near-sightedly
+near-sightedness NNN near-sightedness
+nearby JJ nearby
+nearby RB nearby
+neared VBD near
+neared VBN near
+nearer JJR near
+nearest IN nearest
+nearest JJS near
+nearing VBG near
+nearlier JJR nearly
+nearliest JJS nearly
+nearly JJ nearly
+nearly RB nearly
+nearness NN nearness
+nearnesses NNS nearness
+nears VBZ near
+nearside NN nearside
+nearsides NNS nearside
+nearsighted JJ nearsighted
+nearsightedness NN nearsightedness
+nearsightednesses NNS nearsightedness
+neat JJ neat
+neat NN neat
+neaten VB neaten
+neaten VBP neaten
+neatened VBD neaten
+neatened VBN neaten
+neatening VBG neaten
+neatens VBZ neaten
+neater JJR neat
+neatest JJS neat
+neath IN neath
+neatherd NN neatherd
+neatherds NNS neatherd
+neatly RB neatly
+neatness NN neatness
+neatnesses NNS neatness
+neb NN neb
+nebbich NN nebbich
+nebbiches NNS nebbich
+nebbish NN nebbish
+nebbishe NN nebbishe
+nebbisher NN nebbisher
+nebbishers NNS nebbisher
+nebbishes NNS nebbishe
+nebbishes NNS nebbish
+nebbuk NN nebbuk
+nebbuks NNS nebbuk
+nebeck NN nebeck
+nebecks NNS nebeck
+nebek NN nebek
+nebeks NNS nebek
+nebel NN nebel
+nebels NNS nebel
+nebenkern NN nebenkern
+nebenkerns NNS nebenkern
+nebish NN nebish
+nebishes NNS nebish
+nebraskan NN nebraskan
+nebris NN nebris
+nebrises NNS nebris
+nebs NNS neb
+nebuchadnezzar NN nebuchadnezzar
+nebuchadnezzars NNS nebuchadnezzar
+nebula NN nebula
+nebulae NNS nebula
+nebular JJ nebular
+nebulas NNS nebula
+nebulated JJ nebulated
+nebule JJ nebule
+nebule NN nebule
+nebules NNS nebule
+nebulisation NNN nebulisation
+nebuliser NN nebuliser
+nebulisers NNS nebuliser
+nebulization NNN nebulization
+nebulizations NNS nebulization
+nebulizer NN nebulizer
+nebulizers NNS nebulizer
+nebulose JJ nebulose
+nebulosities NNS nebulosity
+nebulosity NNN nebulosity
+nebulosus JJ nebulosus
+nebulous JJ nebulous
+nebulously RB nebulously
+nebulousness NN nebulousness
+nebulousnesses NNS nebulousness
+nebuly RB nebuly
+necessarian JJ necessarian
+necessarian NN necessarian
+necessarianism NNN necessarianism
+necessarians NNS necessarian
+necessaries NNS necessary
+necessarily RB necessarily
+necessariness NN necessariness
+necessary JJ necessary
+necessary NN necessary
+necessitarian NN necessitarian
+necessitarianism NNN necessitarianism
+necessitarianisms NNS necessitarianism
+necessitarians NNS necessitarian
+necessitate VB necessitate
+necessitate VBP necessitate
+necessitated VBD necessitate
+necessitated VBN necessitate
+necessitates VBZ necessitate
+necessitating VBG necessitate
+necessitation NNN necessitation
+necessitations NNS necessitation
+necessitative JJ necessitative
+necessities NNS necessity
+necessitous JJ necessitous
+necessitously RB necessitously
+necessitousness NN necessitousness
+necessitousnesses NNS necessitousness
+necessitude NN necessitude
+necessity NNN necessity
+neck NN neck
+neck VB neck
+neck VBP neck
+neckband NN neckband
+neckbands NNS neckband
+neckcloth NN neckcloth
+neckcloths NNS neckcloth
+necked JJ necked
+necked VBD neck
+necked VBN neck
+necker NN necker
+neckerchief NN neckerchief
+neckerchiefs NNS neckerchief
+neckerchieves NNS neckerchief
+neckers NNS necker
+necking NN necking
+necking VBG neck
+neckings NNS necking
+necklace NN necklace
+necklace VB necklace
+necklace VBP necklace
+necklaced VBD necklace
+necklaced VBN necklace
+necklaces NNS necklace
+necklaces VBZ necklace
+necklacing VBG necklace
+neckless JJ neckless
+necklet NN necklet
+necklets NNS necklet
+necklike JJ necklike
+neckline NN neckline
+necklines NNS neckline
+neckpiece NN neckpiece
+neckpieces NNS neckpiece
+necks NNS neck
+necks VBZ neck
+necktie NN necktie
+necktieless JJ necktieless
+neckties NNS necktie
+neckwear NN neckwear
+neckweed NN neckweed
+neckweeds NNS neckweed
+necremia NN necremia
+necro NN necro
+necrobacillosis NN necrobacillosis
+necrobioses NNS necrobiosis
+necrobiosis NN necrobiosis
+necrographer NN necrographer
+necrographers NNS necrographer
+necrolatries NNS necrolatry
+necrolatry NN necrolatry
+necrologic JJ necrologic
+necrological JJ necrological
+necrologically RB necrologically
+necrologies NNS necrology
+necrologist NN necrologist
+necrologists NNS necrologist
+necrology NN necrology
+necrolysis NN necrolysis
+necromancer NN necromancer
+necromancers NNS necromancer
+necromancies NNS necromancy
+necromancy NN necromancy
+necromania NN necromania
+necromantic JJ necromantic
+necromantical JJ necromantical
+necromantically RB necromantically
+necromimesis NN necromimesis
+necrophagia NN necrophagia
+necrophagias NNS necrophagia
+necrophagy NN necrophagy
+necrophile NN necrophile
+necrophiles NNS necrophile
+necrophilia NN necrophilia
+necrophiliac JJ necrophiliac
+necrophiliac NN necrophiliac
+necrophiliacs NNS necrophiliac
+necrophilias NNS necrophilia
+necrophilic JJ necrophilic
+necrophilic NN necrophilic
+necrophilism NNN necrophilism
+necrophilisms NNS necrophilism
+necrophobia NN necrophobia
+necrophobias NNS necrophobia
+necrophobic JJ necrophobic
+necropoleis NNS necropolis
+necropoles NNS necropolis
+necropoli NN necropoli
+necropoli NNS necropolis
+necropolis NN necropolis
+necropolis NNS necropoli
+necropolises NNS necropolis
+necropolitan JJ necropolitan
+necropsies NNS necropsy
+necropsy NN necropsy
+necroscopies NNS necroscopy
+necroscopy NN necroscopy
+necrose VB necrose
+necrose VBP necrose
+necrosed VBD necrose
+necrosed VBN necrose
+necroses VBZ necrose
+necroses NNS necrosis
+necrosing VBG necrose
+necrosis NN necrosis
+necrotic JJ necrotic
+necrotomic JJ necrotomic
+necrotomies NNS necrotomy
+necrotomist NN necrotomist
+necrotomy NN necrotomy
+nectar NN nectar
+nectareous JJ nectareous
+nectareously RB nectareously
+nectareousness NN nectareousness
+nectaries NNS nectary
+nectariferous JJ nectariferous
+nectarine NN nectarine
+nectarines NNS nectarine
+nectarous JJ nectarous
+nectars NNS nectar
+nectary NN nectary
+nectocalyces NNS nectocalyx
+nectocalyx NN nectocalyx
+necturus NN necturus
+ned NN ned
+neddies NNS neddy
+neddy NN neddy
+neds NNS ned
+nee JJ nee
+need MD need
+need NNN need
+need VB need
+need VBP need
+needed JJ needed
+needed VBD need
+needed VBN need
+needer NN needer
+needers NNS needer
+needfire NN needfire
+needful JJ needful
+needful NN needful
+needfully RB needfully
+needfulness NN needfulness
+needfulnesses NNS needfulness
+needfuls NNS needful
+needier JJR needy
+neediest JJS needy
+needily RB needily
+neediness NN neediness
+needinesses NNS neediness
+needing VBG need
+needle NN needle
+needle VB needle
+needle VBP needle
+needle-shaped JJ needle-shaped
+needlebush NN needlebush
+needlecord NN needlecord
+needlecords NNS needlecord
+needlecraft NN needlecraft
+needlecrafts NNS needlecraft
+needled VBD needle
+needled VBN needle
+needlefish NN needlefish
+needlefish NNS needlefish
+needleful NN needleful
+needlefuls NNS needleful
+needleless JJ needleless
+needlelike JJ needlelike
+needlepoint NN needlepoint
+needlepoints NNS needlepoint
+needler NN needler
+needlers NNS needler
+needles NNS needle
+needles VBZ needle
+needless JJ needless
+needlessly RB needlessly
+needlessness NN needlessness
+needlessnesses NNS needlessness
+needlewoman NN needlewoman
+needlewomen NNS needlewoman
+needlewood NN needlewood
+needlework NN needlework
+needleworker NN needleworker
+needleworkers NNS needleworker
+needleworks NNS needlework
+needling NNN needling
+needling NNS needling
+needling VBG needle
+needn MD need
+needs RB needs
+needs NNS need
+needs VBZ need
+needy JJ needy
+neem NN neem
+neems NNS neem
+neencephalon NN neencephalon
+neep NN neep
+neeps NNS neep
+nef NN nef
+nefarious JJ nefarious
+nefariously RB nefariously
+nefariousness NN nefariousness
+nefariousnesses NNS nefariousness
+nefs NNS nef
+neg NN neg
+negaprion NN negaprion
+negate VB negate
+negate VBP negate
+negated VBD negate
+negated VBN negate
+negatedness NN negatedness
+negater NN negater
+negaters NNS negater
+negates VBZ negate
+negating NNN negating
+negating VBG negate
+negation NNN negation
+negational JJ negational
+negationist NN negationist
+negationists NNS negationist
+negations NNS negation
+negative JJ negative
+negative NNN negative
+negative VB negative
+negative VBG negative
+negative VBP negative
+negative-raising NNN negative-raising
+negatived VBD negative
+negatived VBN negative
+negatively RB negatively
+negativeness NN negativeness
+negativenesses NNS negativeness
+negatives NNS negative
+negatives VBZ negative
+negativing VBG negative
+negativism NN negativism
+negativisms NNS negativism
+negativist NN negativist
+negativists NNS negativist
+negativities NNS negativity
+negativity NN negativity
+negaton NN negaton
+negatons NNS negaton
+negator NN negator
+negators NNS negator
+negatron NN negatron
+negatrons NNS negatron
+neglect NN neglect
+neglect VB neglect
+neglect VBP neglect
+neglected JJ neglected
+neglected VBD neglect
+neglected VBN neglect
+neglectedly RB neglectedly
+neglectedness NN neglectedness
+neglecter NN neglecter
+neglecters NNS neglecter
+neglectful JJ neglectful
+neglectfully RB neglectfully
+neglectfulness NN neglectfulness
+neglectfulnesses NNS neglectfulness
+neglecting VBG neglect
+neglectingly RB neglectingly
+neglection NNN neglection
+neglections NNS neglection
+neglector NN neglector
+neglectors NNS neglector
+neglects NNS neglect
+neglects VBZ neglect
+neglige NN neglige
+negligee NNN negligee
+negligees NNS negligee
+negligence NN negligence
+negligences NNS negligence
+negligent JJ negligent
+negligently RB negligently
+negliges NNS neglige
+negligibilities NNS negligibility
+negligibility NNN negligibility
+negligible JJ negligible
+negligibleness NN negligibleness
+negligiblenesses NNS negligibleness
+negligibly RB negligibly
+negociant NN negociant
+negociants NNS negociant
+negociate VB negociate
+negociate VBP negociate
+negotiabilities NNS negotiability
+negotiability NN negotiability
+negotiable JJ negotiable
+negotiable NN negotiable
+negotiables NNS negotiable
+negotiant NN negotiant
+negotiants NNS negotiant
+negotiate VB negotiate
+negotiate VBP negotiate
+negotiated VBD negotiate
+negotiated VBN negotiate
+negotiates VBZ negotiate
+negotiating VBG negotiate
+negotiation NNN negotiation
+negotiations NNS negotiation
+negotiator NN negotiator
+negotiators NNS negotiator
+negotiatress NN negotiatress
+negotiatresses NNS negotiatress
+negotiatrix NN negotiatrix
+negotiatrixes NNS negotiatrix
+negritude NN negritude
+negritudes NNS negritude
+negro JJ negro
+negroid JJ negroid
+negroid NN negroid
+negroids NNS negroid
+negroism NNN negroism
+negroisms NNS negroism
+negroni NN negroni
+negronis NNS negroni
+negrophil NN negrophil
+negrophile NN negrophile
+negrophiles NNS negrophile
+negrophilism NNN negrophilism
+negrophilisms NNS negrophilism
+negrophilist NN negrophilist
+negrophilists NNS negrophilist
+negrophils NNS negrophil
+negrophobe NN negrophobe
+negrophobes NNS negrophobe
+negrophobia NN negrophobia
+negrophobias NNS negrophobia
+negs NNS neg
+negus NN negus
+neguses NNS negus
+neif NN neif
+neifs NNS neif
+neigh NN neigh
+neigh VB neigh
+neigh VBP neigh
+neighbor JJ neighbor
+neighbor NN neighbor
+neighbor VB neighbor
+neighbor VBP neighbor
+neighbored VBD neighbor
+neighbored VBN neighbor
+neighborhood NNN neighborhood
+neighborhoods NNS neighborhood
+neighboring JJ neighboring
+neighboring VBG neighbor
+neighborless JJ neighborless
+neighborliness NN neighborliness
+neighborlinesses NNS neighborliness
+neighborly RB neighborly
+neighbors NNS neighbor
+neighbors VBZ neighbor
+neighbour JJ neighbour
+neighbour NN neighbour
+neighbour VB neighbour
+neighbour VBP neighbour
+neighboured VBD neighbour
+neighboured VBN neighbour
+neighbourhood NN neighbourhood
+neighbourhoods NNS neighbourhood
+neighbouring JJ neighbouring
+neighbouring VBG neighbour
+neighbourless JJ neighbourless
+neighbourliness NN neighbourliness
+neighbourly RB neighbourly
+neighbours NNS neighbour
+neighbours VBZ neighbour
+neighed VBD neigh
+neighed VBN neigh
+neighing VBG neigh
+neighs NNS neigh
+neighs VBZ neigh
+neisseria NN neisseria
+neither CC neither
+neither DT neither
+neive NN neive
+neives NNS neive
+neives NNS neif
+nek NN nek
+nekton NN nekton
+nektonic JJ nektonic
+nektons NNS nekton
+nellie NN nellie
+nellies NNS nellie
+nellies NNS nelly
+nelly NN nelly
+nelson NN nelson
+nelsons NNS nelson
+nelumbian JJ nelumbian
+nelumbium NN nelumbium
+nelumbiums NNS nelumbium
+nelumbo NN nelumbo
+nelumbonaceae NN nelumbonaceae
+nelumbos NNS nelumbo
+nema NN nema
+nemas NNS nema
+nemathecial JJ nemathecial
+nemathecium NN nemathecium
+nemathelminth NN nemathelminth
+nemathelminths NNS nemathelminth
+nematic JJ nematic
+nematicide NN nematicide
+nematicides NNS nematicide
+nematocera NN nematocera
+nematocide NN nematocide
+nematocides NNS nematocide
+nematocyst NN nematocyst
+nematocystic JJ nematocystic
+nematocysts NNS nematocyst
+nematode NN nematode
+nematodes NNS nematode
+nematological JJ nematological
+nematologies NNS nematology
+nematologist NN nematologist
+nematologists NNS nematologist
+nematology NNN nematology
+nemertean JJ nemertean
+nemertean NN nemertean
+nemerteans NNS nemertean
+nemertina NN nemertina
+nemertine NN nemertine
+nemertines NNS nemertine
+nemeses NNS nemesis
+nemesia NN nemesia
+nemesias NNS nemesia
+nemesis NN nemesis
+nemo NN nemo
+nemophila NN nemophila
+nemophilas NNS nemophila
+nemoricole JJ nemoricole
+nene NN nene
+nenes NNS nene
+nenets NN nenets
+nentsi NN nentsi
+nentsy NN nentsy
+nenuphar NN nenuphar
+nenuphars NNS nenuphar
+neo JJ neo
+neo-Plastic JJ neo-Plastic
+neo-classicist NN neo-classicist
+neo-orthodoxy NN neo-orthodoxy
+neoanthropic JJ neoanthropic
+neoarsphenamine NN neoarsphenamine
+neoarsphenamines NNS neoarsphenamine
+neoblast NN neoblast
+neoblasts NNS neoblast
+neoceratodus NN neoceratodus
+neoclassic JJ neoclassic
+neoclassic NN neoclassic
+neoclassical JJ neoclassical
+neoclassicism NN neoclassicism
+neoclassicisms NNS neoclassicism
+neoclassicist JJ neoclassicist
+neoclassicist NN neoclassicist
+neoclassicistic JJ neoclassicistic
+neoclassicists NNS neoclassicist
+neocolonial JJ neocolonial
+neocolonialism NN neocolonialism
+neocolonialisms NNS neocolonialism
+neocolonialist NN neocolonialist
+neocolonialists NNS neocolonialist
+neocon NN neocon
+neocons NNS neocon
+neoconservatism NNN neoconservatism
+neoconservatisms NNS neoconservatism
+neoconservative NN neoconservative
+neoconservatives NNS neoconservative
+neocortex NN neocortex
+neocortexes NNS neocortex
+neocortical JJ neocortical
+neocortices NNS neocortex
+neodymium NN neodymium
+neodymiums NNS neodymium
+neoencephalon NN neoencephalon
+neoexpressionism NNN neoexpressionism
+neofascism NNN neofascism
+neofascisms NNS neofascism
+neofascist NN neofascist
+neofascists NNS neofascist
+neofiber NN neofiber
+neoformation NNN neoformation
+neoformative JJ neoformative
+neogeneses NNS neogenesis
+neogenesis NN neogenesis
+neogrammarian NN neogrammarian
+neogrammarians NNS neogrammarian
+neohygrophorus NN neohygrophorus
+neoimperialism NNN neoimperialism
+neoimpressionism NNN neoimpressionism
+neoimpressionisms NNS neoimpressionism
+neoimpressionist NN neoimpressionist
+neoimpressionists NNS neoimpressionist
+neolentinus NN neolentinus
+neoliberal JJ neoliberal
+neoliberal NN neoliberal
+neoliberalism NNN neoliberalism
+neoliberalisms NNS neoliberalism
+neoliberals NNS neoliberal
+neolith NN neolith
+neoliths NNS neolith
+neologian NN neologian
+neologians NNS neologian
+neologic JJ neologic
+neological JJ neological
+neologically RB neologically
+neologies NNS neology
+neologism NNN neologism
+neologisms NNS neologism
+neologist NN neologist
+neologistic JJ neologistic
+neologistical JJ neologistical
+neologists NNS neologist
+neology NNN neology
+neomorph NN neomorph
+neomorphs NNS neomorph
+neomycin NN neomycin
+neomycins NNS neomycin
+neomys NN neomys
+neon NN neon
+neonatal JJ neonatal
+neonatally RB neonatally
+neonate NN neonate
+neonates NNS neonate
+neonatologies NNS neonatology
+neonatologist NN neonatologist
+neonatologists NNS neonatologist
+neonatology NNN neonatology
+neonomian NN neonomian
+neonomians NNS neonomian
+neons NNS neon
+neoorthodox JJ neoorthodox
+neoorthodoxies NNS neoorthodoxy
+neoorthodoxy NN neoorthodoxy
+neopagan NN neopagan
+neopagans NNS neopagan
+neopallium NN neopallium
+neophile NN neophile
+neophiles NNS neophile
+neophilia NN neophilia
+neophiliac NN neophiliac
+neophiliacs NNS neophiliac
+neophilias NNS neophilia
+neophron NN neophron
+neophyte NN neophyte
+neophytes NNS neophyte
+neophytic JJ neophytic
+neophytism NNN neophytism
+neoplasia NN neoplasia
+neoplasias NNS neoplasia
+neoplasm NN neoplasm
+neoplasms NNS neoplasm
+neoplasticism NNN neoplasticism
+neoplasticisms NNS neoplasticism
+neoplasticist NN neoplasticist
+neoplasticists NNS neoplasticist
+neoplasties NNS neoplasty
+neoplasty NNN neoplasty
+neoplatonist NN neoplatonist
+neoplatonists NNS neoplatonist
+neopolitan NN neopolitan
+neoprene NN neoprene
+neoprenes NNS neoprene
+neorealism NNN neorealism
+neorealisms NNS neorealism
+neorealist NN neorealist
+neorealists NNS neorealist
+neoromantic JJ neoromantic
+neoromanticism NNN neoromanticism
+neostigmine NN neostigmine
+neostigmines NNS neostigmine
+neotenies NNS neoteny
+neotenous JJ neotenous
+neoteny NN neoteny
+neoteric JJ neoteric
+neoteric NN neoteric
+neoterics NNS neoteric
+neoterism NNN neoterism
+neoterist NN neoterist
+neoterists NNS neoterist
+neoterminal JJ neoterminal
+neotoma NN neotoma
+neotraditional JJ neotraditional
+neotropical JJ neotropical
+neotype NN neotype
+neotypes NNS neotype
+neourthodox JJ neourthodox
+neovascularisation NNN neovascularisation
+neoytterbium NN neoytterbium
+nep NN nep
+nepa NN nepa
+nepenthaceae NN nepenthaceae
+nepenthe NN nepenthe
+nepenthean JJ nepenthean
+nepenthes NNS nepenthe
+neper NN neper
+nepers NNS neper
+nepeta NN nepeta
+nephalist NN nephalist
+nephalists NNS nephalist
+nepheline NN nepheline
+nephelines NNS nepheline
+nephelinite NN nephelinite
+nephelinites NNS nephelinite
+nephelinitic JJ nephelinitic
+nephelite NN nephelite
+nephelites NNS nephelite
+nephelium NN nephelium
+nephelometer NN nephelometer
+nephelometers NNS nephelometer
+nephelometries NNS nephelometry
+nephelometry NN nephelometry
+nephew NN nephew
+nephews NNS nephew
+nephogram NN nephogram
+nephograms NNS nephogram
+nephograph NN nephograph
+nephographs NNS nephograph
+nephological JJ nephological
+nephologies NNS nephology
+nephologist NN nephologist
+nephologists NNS nephologist
+nephology NNN nephology
+nephoscope NN nephoscope
+nephoscopes NNS nephoscope
+nephralgia NN nephralgia
+nephralgias NNS nephralgia
+nephralgic JJ nephralgic
+nephrectomies NNS nephrectomy
+nephrectomy NN nephrectomy
+nephric JJ nephric
+nephridial JJ nephridial
+nephridium NN nephridium
+nephridiums NNS nephridium
+nephrism NNN nephrism
+nephrisms NNS nephrism
+nephrite NN nephrite
+nephrites NNS nephrite
+nephritic JJ nephritic
+nephritides NNS nephritis
+nephritis NN nephritis
+nephritises NNS nephritis
+nephrocalcinosis NN nephrocalcinosis
+nephrocele NN nephrocele
+nephrogenous JJ nephrogenous
+nephrolepis NN nephrolepis
+nephrolith NN nephrolith
+nephrolithiasis NN nephrolithiasis
+nephrolithic JJ nephrolithic
+nephrolithotomy NN nephrolithotomy
+nephrologies NNS nephrology
+nephrologist NN nephrologist
+nephrologists NNS nephrologist
+nephrology NNN nephrology
+nephron NN nephron
+nephrons NNS nephron
+nephropathic JJ nephropathic
+nephropathies NNS nephropathy
+nephropathy NN nephropathy
+nephrops NN nephrops
+nephropsidae NN nephropsidae
+nephroses NNS nephrosis
+nephrosis NN nephrosis
+nephrostome NN nephrostome
+nephrostomes NNS nephrostome
+nephrostomial JJ nephrostomial
+nephrostomous JJ nephrostomous
+nephrotic JJ nephrotic
+nephrotic NN nephrotic
+nephrotics NNS nephrotic
+nephrotome NN nephrotome
+nephrotomies NNS nephrotomy
+nephrotomise NN nephrotomise
+nephrotomy NN nephrotomy
+nephrotoxic JJ nephrotoxic
+nephrotoxicities NNS nephrotoxicity
+nephrotoxicity NN nephrotoxicity
+nephthys NN nephthys
+nephthytis NN nephthytis
+nepidae NN nepidae
+nepit NN nepit
+nepits NNS nepit
+nepman NN nepman
+nepotic JJ nepotic
+nepotism NN nepotism
+nepotisms NNS nepotism
+nepotist NN nepotist
+nepotistic JJ nepotistic
+nepotistical JJ nepotistical
+nepotists NNS nepotist
+neps NNS nep
+neptunium NN neptunium
+neptuniums NNS neptunium
+neral NN neral
+nerals NNS neral
+nerd NN nerd
+nerdier JJR nerdy
+nerdiest JJS nerdy
+nerdiness NN nerdiness
+nerds NNS nerd
+nerdy JJ nerdy
+nereid NN nereid
+nereides NNS nereid
+nereids NNS nereid
+nereis NN nereis
+nereises NNS nereis
+nergal NN nergal
+nerine NN nerine
+nerines NNS nerine
+nerita NN nerita
+neritic JJ neritic
+neritid NN neritid
+neritidae NN neritidae
+neritina NN neritina
+nerium NN nerium
+nerk NN nerk
+nerka NN nerka
+nerkas NNS nerka
+nerks NNS nerk
+nerodia NN nerodia
+nerol NN nerol
+neroli NN neroli
+nerolis NNS neroli
+nerols NNS nerol
+nerthus NN nerthus
+nerts UH nerts
+nervate JJ nervate
+nervation NNN nervation
+nervations NNS nervation
+nervature NN nervature
+nervatures NNS nervature
+nerve NNN nerve
+nerve VB nerve
+nerve VBP nerve
+nerve-racking JJ nerve-racking
+nerve-wracking JJ nerve-wracking
+nerved VBD nerve
+nerved VBN nerve
+nerveless JJ nerveless
+nervelessly RB nervelessly
+nervelessness NN nervelessness
+nervelessnesses NNS nervelessness
+nervelet NN nervelet
+nervelets NNS nervelet
+nerver NN nerver
+nerveroot NN nerveroot
+nervers NNS nerver
+nerves NNS nerve
+nerves VBZ nerve
+nervi NN nervi
+nervier JJR nervy
+nerviest JJS nervy
+nervily RB nervily
+nervine JJ nervine
+nervine NN nervine
+nervines NN nervines
+nervines NNS nervine
+nerviness NN nerviness
+nervinesses NNS nerviness
+nervinesses NNS nervines
+nerving NNN nerving
+nerving VBG nerve
+nervings NNS nerving
+nervosities NNS nervosity
+nervosity NNN nervosity
+nervous JJ nervous
+nervously RB nervously
+nervousness NN nervousness
+nervousnesses NNS nervousness
+nervule NN nervule
+nervules NNS nervule
+nervuration NNN nervuration
+nervurations NNS nervuration
+nervure NN nervure
+nervures NNS nervure
+nervus NN nervus
+nervy JJ nervy
+nescience NN nescience
+nesciences NNS nescience
+nescient JJ nescient
+nescient NN nescient
+nescients NNS nescient
+nesh JJ nesh
+nesokia NN nesokia
+nesosilicate NN nesosilicate
+ness NN ness
+nesses NNS ness
+nest NN nest
+nest VB nest
+nest VBP nest
+nestable JJ nestable
+nested VBD nest
+nested VBN nest
+nester NN nester
+nesters NNS nester
+nesting VBG nest
+nestle NN nestle
+nestle VB nestle
+nestle VBP nestle
+nestled JJ nestled
+nestled VBD nestle
+nestled VBN nestle
+nestler NN nestler
+nestlers NNS nestler
+nestles NNS nestle
+nestles VBZ nestle
+nestlike JJ nestlike
+nestling NNN nestling
+nestling NNS nestling
+nestling VBG nestle
+nestlings NNS nestling
+nestor NN nestor
+nestors NNS nestor
+nests NNS nest
+nests VBZ nest
+nesty JJ nesty
+net JJ net
+net NNN net
+net VB net
+net VBP net
+netback NN netback
+netbacks NNS netback
+netball NN netball
+nete NN nete
+netes NNS nete
+netful NN netful
+netfuls NNS netful
+nether JJ nether
+nethermost DT nethermost
+netherstock NN netherstock
+netherstocks NNS netherstock
+netherward JJ netherward
+netherward NN netherward
+netherwards NNS netherward
+netherworld NN netherworld
+netherworlds NNS netherworld
+netiquette NN netiquette
+netiquettes NNS netiquette
+netizen NN netizen
+netizens NNS netizen
+netkeeper NN netkeeper
+netless JJ netless
+netlike JJ netlike
+netmail VB netmail
+netmail VBP netmail
+netman NN netman
+netminder NN netminder
+netminders NNS netminder
+netop NN netop
+netops NNS netop
+nets NNS net
+nets VBZ net
+netscape NN netscape
+netsuke NN netsuke
+netsukes NNS netsuke
+nett JJ nett
+nettable JJ nettable
+netted VBD net
+netted VBN net
+netter NN netter
+netter JJR nett
+netter JJR net
+netters NNS netter
+nettier JJR netty
+nettiest JJS netty
+netting NN netting
+netting VBG net
+nettings NNS netting
+nettle NN nettle
+nettle VB nettle
+nettle VBP nettle
+nettled VBD nettle
+nettled VBN nettle
+nettlefish NN nettlefish
+nettlefish NNS nettlefish
+nettlelike JJ nettlelike
+nettler NN nettler
+nettlers NNS nettler
+nettles NNS nettle
+nettles VBZ nettle
+nettlesome JJ nettlesome
+nettlier JJR nettly
+nettliest JJS nettly
+nettling NNN nettling
+nettling NNS nettling
+nettling VBG nettle
+nettly RB nettly
+netty JJ netty
+network NN network
+network VB network
+network VBP network
+networkable JJ networkable
+networked VBD network
+networked VBN network
+networker NN networker
+networkers NNS networker
+networking NN networking
+networking VBG network
+networkings NNS networking
+networklike JJ networklike
+networks NNS network
+networks VBZ network
+networkwide JJ networkwide
+neuk NN neuk
+neuks NNS neuk
+neum NN neum
+neumatic JJ neumatic
+neume NN neume
+neumes NNS neume
+neumic JJ neumic
+neums NNS neum
+neural JJ neural
+neuralgia NN neuralgia
+neuralgias NNS neuralgia
+neuralgic JJ neuralgic
+neuralgy NN neuralgy
+neurally RB neurally
+neuraminidase NN neuraminidase
+neuraminidases NNS neuraminidase
+neurasthenia NN neurasthenia
+neurasthenias NNS neurasthenia
+neurasthenic JJ neurasthenic
+neurasthenic NN neurasthenic
+neurasthenically RB neurasthenically
+neurasthenics NNS neurasthenic
+neuration NNN neuration
+neurations NNS neuration
+neuraxitis NN neuraxitis
+neuraxon NN neuraxon
+neuraxons NNS neuraxon
+neurectomies NNS neurectomy
+neurectomy NN neurectomy
+neurilemma NN neurilemma
+neurilemmal JJ neurilemmal
+neurilemmas NNS neurilemma
+neurilemmatic JJ neurilemmatic
+neurine NN neurine
+neurines NNS neurine
+neurite NN neurite
+neuritic JJ neuritic
+neuritic NN neuritic
+neuritics NNS neuritic
+neuritides NNS neuritis
+neuritis NN neuritis
+neuritises NNS neuritis
+neuroanatomic JJ neuroanatomic
+neuroanatomical JJ neuroanatomical
+neuroanatomies NNS neuroanatomy
+neuroanatomist NN neuroanatomist
+neuroanatomists NNS neuroanatomist
+neuroanatomy NN neuroanatomy
+neurobehavioural JJ neurobehavioural
+neurobiological JJ neurobiological
+neurobiologies NNS neurobiology
+neurobiologist NN neurobiologist
+neurobiologists NNS neurobiologist
+neurobiology NNN neurobiology
+neuroblast NN neuroblast
+neuroblastic JJ neuroblastic
+neuroblastoma NN neuroblastoma
+neuroblastomas NNS neuroblastoma
+neuroblasts NNS neuroblast
+neurocelian JJ neurocelian
+neurochemical NN neurochemical
+neurochemicals NNS neurochemical
+neurochemist NN neurochemist
+neurochemistries NNS neurochemistry
+neurochemistry NN neurochemistry
+neurochemists NNS neurochemist
+neurochip NN neurochip
+neurochips NNS neurochip
+neurocoele NN neurocoele
+neurocoelian JJ neurocoelian
+neurocomputer NN neurocomputer
+neurocomputers NNS neurocomputer
+neurodegeneration NNN neurodegeneration
+neurodegenerative JJ neurodegenerative
+neurodevelopment NN neurodevelopment
+neurodevelopmental JJ neurodevelopmental
+neuroembryological NN neuroembryological
+neuroembryology NNN neuroembryology
+neuroendocrine JJ neuroendocrine
+neuroendocrinologies NNS neuroendocrinology
+neuroendocrinologist NN neuroendocrinologist
+neuroendocrinologists NNS neuroendocrinologist
+neuroendocrinology NNN neuroendocrinology
+neurofibril NN neurofibril
+neurofibrils NNS neurofibril
+neurofibroma NN neurofibroma
+neurofibromas NNS neurofibroma
+neurofibromatoses NNS neurofibromatosis
+neurofibromatosis NN neurofibromatosis
+neurogeneses NNS neurogenesis
+neurogenesis NN neurogenesis
+neurogenetic NN neurogenetic
+neurogenetics NNS neurogenetic
+neurogenic JJ neurogenic
+neuroglia NN neuroglia
+neurogliac JJ neurogliac
+neurogliacyte NN neurogliacyte
+neuroglial JJ neuroglial
+neurogliar JJ neurogliar
+neuroglias NNS neuroglia
+neuroglic JJ neuroglic
+neuroglycopenic JJ neuroglycopenic
+neurogram NN neurogram
+neurogrammic JJ neurogrammic
+neurograms NNS neurogram
+neurohormone NN neurohormone
+neurohormones NNS neurohormone
+neurohumor NN neurohumor
+neurohumoral JJ neurohumoral
+neurohumors NNS neurohumor
+neurohypophyses NNS neurohypophysis
+neurohypophysis NN neurohypophysis
+neurohypophysises NNS neurohypophysis
+neurolemma NN neurolemma
+neurolemmas NNS neurolemma
+neuroleptic NN neuroleptic
+neuroleptics NNS neuroleptic
+neurolinguist NN neurolinguist
+neurolinguistic NN neurolinguistic
+neurolinguistics NNS neurolinguistic
+neurolinguists NNS neurolinguist
+neurologic JJ neurologic
+neurological JJ neurological
+neurologically RB neurologically
+neurologies NNS neurology
+neurologist NN neurologist
+neurologists NNS neurologist
+neurology NN neurology
+neurolytic JJ neurolytic
+neuroma NN neuroma
+neuromas NNS neuroma
+neuromast NN neuromast
+neuromastic JJ neuromastic
+neuromasts NNS neuromast
+neuromatous JJ neuromatous
+neuromotor JJ neuromotor
+neuromuscular JJ neuromuscular
+neuron JJ neuron
+neuron NN neuron
+neuronal JJ neuronal
+neurone NN neurone
+neurones NNS neurone
+neuronic JJ neuronic
+neurons NNS neuron
+neuropath NN neuropath
+neuropathic JJ neuropathic
+neuropathically RB neuropathically
+neuropathies NNS neuropathy
+neuropathist NN neuropathist
+neuropathists NNS neuropathist
+neuropathological JJ neuropathological
+neuropathologically RB neuropathologically
+neuropathologies NNS neuropathology
+neuropathologist NN neuropathologist
+neuropathologists NNS neuropathologist
+neuropathology NNN neuropathology
+neuropaths NNS neuropath
+neuropathy NN neuropathy
+neuropeptide NN neuropeptide
+neuropeptides NNS neuropeptide
+neuropharmacological JJ neuropharmacological
+neuropharmacologies NNS neuropharmacology
+neuropharmacologist NN neuropharmacologist
+neuropharmacologists NNS neuropharmacologist
+neuropharmacology NNN neuropharmacology
+neurophysiologic JJ neurophysiologic
+neurophysiological JJ neurophysiological
+neurophysiologically RB neurophysiologically
+neurophysiologies NNS neurophysiology
+neurophysiologist NN neurophysiologist
+neurophysiologists NNS neurophysiologist
+neurophysiology NNN neurophysiology
+neuroplasm NN neuroplasm
+neuroplasmatic JJ neuroplasmatic
+neuroplasmic JJ neuroplasmic
+neuroprotective JJ neuroprotective
+neuropsychiatric JJ neuropsychiatric
+neuropsychiatries NNS neuropsychiatry
+neuropsychiatrist NN neuropsychiatrist
+neuropsychiatrists NNS neuropsychiatrist
+neuropsychiatry NN neuropsychiatry
+neuropsychological JJ neuropsychological
+neuropsychologies NNS neuropsychology
+neuropsychologist NN neuropsychologist
+neuropsychologists NNS neuropsychologist
+neuropsychology NNN neuropsychology
+neuropsychopharmacology NNN neuropsychopharmacology
+neuroptera NN neuroptera
+neuropteran NN neuropteran
+neuropterans NNS neuropteran
+neuropterist NN neuropterist
+neuropterists NNS neuropterist
+neuropteron NN neuropteron
+neuropterous JJ neuropterous
+neuroradiological JJ neuroradiological
+neuroradiologies NNS neuroradiology
+neuroradiologist NN neuroradiologist
+neuroradiologists NNS neuroradiologist
+neuroradiology NNN neuroradiology
+neurosarcoma NN neurosarcoma
+neuroscience NN neuroscience
+neurosciences NNS neuroscience
+neuroscientific JJ neuroscientific
+neuroscientist NN neuroscientist
+neuroscientists NNS neuroscientist
+neurosecretion NNN neurosecretion
+neurosecretions NNS neurosecretion
+neuroses NNS neurosis
+neurosis NN neurosis
+neurospora NN neurospora
+neurosporas NNS neurospora
+neurosurgeon NN neurosurgeon
+neurosurgeons NNS neurosurgeon
+neurosurgeries NNS neurosurgery
+neurosurgery NN neurosurgery
+neurosurgical JJ neurosurgical
+neurosyphilis NN neurosyphilis
+neurotic JJ neurotic
+neurotic NN neurotic
+neurotically RB neurotically
+neuroticism NNN neuroticism
+neuroticisms NNS neuroticism
+neurotics NNS neurotic
+neurotomies NNS neurotomy
+neurotomy NN neurotomy
+neurotoxic JJ neurotoxic
+neurotoxicities NNS neurotoxicity
+neurotoxicity NN neurotoxicity
+neurotoxicology NNN neurotoxicology
+neurotoxin NN neurotoxin
+neurotoxins NNS neurotoxin
+neurotransmission NN neurotransmission
+neurotransmissions NNS neurotransmission
+neurotransmitter NN neurotransmitter
+neurotransmitters NNS neurotransmitter
+neurotrichus NN neurotrichus
+neurotrophic JJ neurotrophic
+neurotrophy NN neurotrophy
+neurotropic JJ neurotropic
+neurotropism NNN neurotropism
+neurotropisms NNS neurotropism
+neurovascular JJ neurovascular
+neurula NN neurula
+neurulas NNS neurula
+neurulation NNN neurulation
+neurulations NNS neurulation
+neustic JJ neustic
+neuston NN neuston
+neustonic JJ neustonic
+neustons NNS neuston
+neut NN neut
+neuter JJ neuter
+neuter NNN neuter
+neuter VB neuter
+neuter VBG neuter
+neuter VBP neuter
+neutered JJ neutered
+neutered VBD neuter
+neutered VBN neuter
+neutering NNN neutering
+neutering VBG neuter
+neuters NNS neuter
+neuters VBZ neuter
+neutral JJ neutral
+neutral NN neutral
+neutralisation NNN neutralisation
+neutralise NN neutralise
+neutralise VB neutralise
+neutralise VBP neutralise
+neutralised VBD neutralise
+neutralised VBN neutralise
+neutraliser NN neutraliser
+neutralisers NNS neutraliser
+neutralises VBZ neutralise
+neutralising VBG neutralise
+neutralism NN neutralism
+neutralisms NNS neutralism
+neutralist NN neutralist
+neutralists NNS neutralist
+neutralities NNS neutrality
+neutrality NN neutrality
+neutralization NN neutralization
+neutralizations NNS neutralization
+neutralize VB neutralize
+neutralize VBP neutralize
+neutralized VBD neutralize
+neutralized VBN neutralize
+neutralizer NN neutralizer
+neutralizers NNS neutralizer
+neutralizes VBZ neutralize
+neutralizing VBG neutralize
+neutrally RB neutrally
+neutralness NN neutralness
+neutralnesses NNS neutralness
+neutrals NNS neutral
+neutretto NN neutretto
+neutrettos NNS neutretto
+neutrino NN neutrino
+neutrinoless JJ neutrinoless
+neutrinos NNS neutrino
+neutron NN neutron
+neutrons NNS neutron
+neutropenia NN neutropenia
+neutropenic JJ neutropenic
+neutrophil JJ neutrophil
+neutrophil NN neutrophil
+neutrophile NN neutrophile
+neutrophiles NNS neutrophile
+neutrophilic JJ neutrophilic
+neutrophils NNS neutrophil
+neutrosphere NN neutrosphere
+nevadan NN nevadan
+neve NN neve
+nevelling NN nevelling
+nevelling NNS nevelling
+never RB never
+never UH never
+never-ending JJ never-ending
+never-never JJ never-never
+never-never NN never-never
+never-say-die JJ never-say-die
+nevermind NN nevermind
+neverminds NNS nevermind
+nevermore RB nevermore
+nevertheless CC nevertheless
+nevertheless RB nevertheless
+neves NNS neve
+neves NNS nef
+nevi NNS nevus
+nevirapine NN nevirapine
+nevoid JJ nevoid
+nevus NN nevus
+new JJ new
+new-car JJ new-car
+new-fashioned JJ new-fashioned
+new-made JJ new-made
+new-model JJ new-model
+new-mown JJ new-mown
+new-rich JJ new-rich
+new-rich NN new-rich
+new-sprung JJ new-sprung
+newari NN newari
+newbie NN newbie
+newbies NNS newbie
+newborn JJ newborn
+newborn NN newborn
+newborns NNS newborn
+newcomer NN newcomer
+newcomers NNS newcomer
+newel NN newel
+newels NNS newel
+newer JJR new
+newest JJS new
+newfangled JJ newfangled
+newfangledly RB newfangledly
+newfangledness NN newfangledness
+newfanglednesses NNS newfangledness
+newfound JJ newfound
+newground NN newground
+newie NN newie
+newies NNS newie
+newish JJ newish
+newline NN newline
+newlines NNS newline
+newly RB newly
+newlywed NN newlywed
+newlyweds NNS newlywed
+newmarket NN newmarket
+newmarkets NNS newmarket
+newmusic JJ newmusic
+newness NN newness
+newnesses NNS newness
+news NN news
+newsagent NN newsagent
+newsagents NNS newsagent
+newsbeat NN newsbeat
+newsbeats NNS newsbeat
+newsboard NN newsboard
+newsboy NN newsboy
+newsboys NNS newsboy
+newsbreak NN newsbreak
+newsbreaks NNS newsbreak
+newscast NN newscast
+newscaster NN newscaster
+newscasters NNS newscaster
+newscasting NN newscasting
+newscastings NNS newscasting
+newscasts NNS newscast
+newsdealer NN newsdealer
+newsdealers NNS newsdealer
+newsdesk NN newsdesk
+newsdesks NNS newsdesk
+newses NNS news
+newsflash NN newsflash
+newsflashes NNS newsflash
+newsgathering NN newsgathering
+newsgatherings NNS newsgathering
+newsgirl NN newsgirl
+newsgirls NNS newsgirl
+newsgroup NN newsgroup
+newsgroups NNS newsgroup
+newshawk NN newshawk
+newshawks NNS newshawk
+newshen NN newshen
+newshound NN newshound
+newshounds NNS newshound
+newsie JJ newsie
+newsie NN newsie
+newsier JJR newsie
+newsier JJR newsy
+newsies NNS newsie
+newsiest JJS newsie
+newsiest JJS newsy
+newsiness NN newsiness
+newsinesses NNS newsiness
+newsless JJ newsless
+newslessness NN newslessness
+newsletter NN newsletter
+newsletters NNS newsletter
+newsmagazine NN newsmagazine
+newsmagazines NNS newsmagazine
+newsmaker NN newsmaker
+newsmakers NNS newsmaker
+newsman NN newsman
+newsmen NNS newsman
+newsmonger NN newsmonger
+newsmongers NNS newsmonger
+newspaper NNN newspaper
+newspaperdom NN newspaperdom
+newspapering NN newspapering
+newspaperings NNS newspapering
+newspaperish JJ newspaperish
+newspaperman NN newspaperman
+newspapermen NNS newspaperman
+newspapers NNS newspaper
+newspaperwoman NN newspaperwoman
+newspaperwomen NNS newspaperwoman
+newspeak NN newspeak
+newspeaks NNS newspeak
+newspeople NNS newsperson
+newsperson NN newsperson
+newspersons NNS newsperson
+newsprint NN newsprint
+newsprints NNS newsprint
+newsreader NN newsreader
+newsreaders NNS newsreader
+newsreel NNN newsreel
+newsreels NNS newsreel
+newsroom NN newsroom
+newsrooms NNS newsroom
+newssheet NN newssheet
+newssheets NNS newssheet
+newsstand NN newsstand
+newsstands NNS newsstand
+newsvendor NN newsvendor
+sissonne NN sissonne
+sissoo NN sissoo
+sissoos NNS sissoo
+sissu NN sissu
+sissy JJ sissy
+sissy NN sissy
+sissyish JJ sissyish
+sissyness NN sissyness
+sissynesses NNS sissyness
+sister JJ sister
+sister NN sister
+sister-in-law NN sister-in-law
+sisterhood NN sisterhood
+sisterhoods NNS sisterhood
+sisterless JJ sisterless
+sisterlike JJ sisterlike
+sisterliness NN sisterliness
+sisterlinesses NNS sisterliness
+sisterly RB sisterly
+sisters NNS sister
+sisters-in-law NNS sister-in-law
+sistership NN sistership
+sistroid JJ sistroid
+sistrum NN sistrum
+sistrums NNS sistrum
+sistrurus NN sistrurus
+sisyridae NN sisyridae
+sisyrinchium NN sisyrinchium
+sit VB sit
+sit VBP sit
+sit-down NNN sit-down
+sit-up NN sit-up
+sit-upon NN sit-upon
+sitar NN sitar
+sitarist NN sitarist
+sitarists NNS sitarist
+sitars NNS sitar
+sitatunga NN sitatunga
+sitatungas NNS sitatunga
+sitcom NN sitcom
+sitcoms NNS sitcom
+sitdown NN sitdown
+sitdowns NNS sitdown
+site NN site
+site VB site
+site VBP site
+site-specific JJ site-specific
+sited VBD site
+sited VBN site
+sitella NN sitella
+sitellas NNS sitella
+sites NNS site
+sites VBZ site
+sitewide JJ sitewide
+sitfast NN sitfast
+sitfasts NNS sitfast
+sith CC sith
+sith RB sith
+sithe NN sithe
+sithen NN sithen
+sithens NNS sithen
+sithes NNS sithe
+siting VBG site
+sitologies NNS sitology
+sitology NNN sitology
+sitomania NN sitomania
+sitomanias NNS sitomania
+sitophylus NN sitophylus
+sitosterol NN sitosterol
+sitosterols NNS sitosterol
+sitotroga NN sitotroga
+sitrep NN sitrep
+sitreps NNS sitrep
+sits VBZ sit
+sitta NN sitta
+sitter NN sitter
+sitters NNS sitter
\ No newline at end of file
diff --git a/apache-libraries/src/test/java/com/baeldung/apache/beam/intro/WordCountUnitTest.java b/apache-libraries/src/test/java/com/baeldung/apache/beam/intro/WordCountUnitTest.java
index f2558635dc..77287066ac 100644
--- a/apache-libraries/src/test/java/com/baeldung/apache/beam/intro/WordCountUnitTest.java
+++ b/apache-libraries/src/test/java/com/baeldung/apache/beam/intro/WordCountUnitTest.java
@@ -10,7 +10,6 @@ import com.baeldung.apache.beam.intro.WordCount;
public class WordCountUnitTest {
@Test
- // @Ignore
public void givenInputFile_whenWordCountRuns_thenJobFinishWithoutError() {
boolean jobDone = WordCount.wordCount("src/test/resources/wordcount.txt", "target/output");
assertTrue(jobDone);
diff --git a/core-java-modules/core-java-12/README.md b/core-java-modules/core-java-12/README.md
index b509be876c..4ad7bae21c 100644
--- a/core-java-modules/core-java-12/README.md
+++ b/core-java-modules/core-java-12/README.md
@@ -2,3 +2,4 @@
- [String API Updates in Java 12](https://www.baeldung.com/java12-string-api)
- [New Features in Java 12](https://www.baeldung.com/java-12-new-features)
+- [Compare the Content of Two Files in Java](https://www.baeldung.com/java-compare-files)
diff --git a/core-java-modules/core-java-16/src/main/java/com/baeldung/java_16_features/mapmulti/Album.java b/core-java-modules/core-java-16/src/main/java/com/baeldung/java_16_features/mapmulti/Album.java
new file mode 100644
index 0000000000..fa7ec02307
--- /dev/null
+++ b/core-java-modules/core-java-16/src/main/java/com/baeldung/java_16_features/mapmulti/Album.java
@@ -0,0 +1,49 @@
+package com.baeldung.java_16_features.mapmulti;
+
+import java.util.List;
+import java.util.function.Consumer;
+import java.util.stream.Collectors;
+
+import org.apache.commons.lang3.tuple.ImmutablePair;
+import org.apache.commons.lang3.tuple.Pair;
+
+public class Album {
+
+ private String albumName;
+ private int albumCost;
+ private List artists;
+
+ Album(String name, int albumCost, List artists) {
+ this.albumName = name;
+ this.artists = artists;
+ this.albumCost = albumCost;
+ }
+
+ public void artistAlbumPairsToMajorLabels(Consumer> consumer) {
+
+ for (Artist artist : artists) {
+ if (artist.isAssociatedMajorLabels()) {
+ String concatLabels = artist.getMajorLabels()
+ .stream()
+ .collect(Collectors.joining(","));
+ consumer.accept(new ImmutablePair<>(artist.getName() + ":" + albumName, concatLabels));
+ }
+ }
+ }
+
+ public String getAlbumName() {
+ return albumName;
+ }
+
+ public int getAlbumCost() {
+ return albumCost;
+ }
+
+ List getArtists() {
+ return artists;
+ }
+
+ public String toString() {
+ return albumName;
+ }
+}
diff --git a/core-java-modules/core-java-16/src/main/java/com/baeldung/java_16_features/mapmulti/Artist.java b/core-java-modules/core-java-16/src/main/java/com/baeldung/java_16_features/mapmulti/Artist.java
new file mode 100644
index 0000000000..b3b9b7aa10
--- /dev/null
+++ b/core-java-modules/core-java-16/src/main/java/com/baeldung/java_16_features/mapmulti/Artist.java
@@ -0,0 +1,50 @@
+package com.baeldung.java_16_features.mapmulti;
+
+import java.util.List;
+import java.util.Objects;
+
+public class Artist {
+
+ private final String name;
+ private boolean associatedMajorLabels;
+ private List majorLabels;
+
+ Artist(String name, boolean associatedMajorLabels, List majorLabels) {
+ this.name = name;
+ this.associatedMajorLabels = associatedMajorLabels;
+ this.majorLabels = majorLabels;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public boolean isAssociatedMajorLabels() {
+ return associatedMajorLabels;
+ }
+
+ public List getMajorLabels() {
+ return majorLabels;
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ Artist other = (Artist) obj;
+ return Objects.equals(name, other.name);
+ }
+
+ public String toString() {
+ return name;
+ }
+}
diff --git a/core-java-modules/core-java-16/src/test/java/com/baeldung/java_16_features/mapmulti/JavaStreamMapMultiUnitTest.java b/core-java-modules/core-java-16/src/test/java/com/baeldung/java_16_features/mapmulti/JavaStreamMapMultiUnitTest.java
new file mode 100644
index 0000000000..0ab1a95ed0
--- /dev/null
+++ b/core-java-modules/core-java-16/src/test/java/com/baeldung/java_16_features/mapmulti/JavaStreamMapMultiUnitTest.java
@@ -0,0 +1,134 @@
+package com.baeldung.java_16_features.mapmulti;
+
+import static java.util.stream.Collectors.toList;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.offset;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.commons.lang3.tuple.ImmutablePair;
+import org.apache.commons.lang3.tuple.Pair;
+import org.junit.jupiter.api.Test;
+
+public class JavaStreamMapMultiUnitTest {
+
+ private static final List albums = Arrays.asList(new Album("album1", 10, Arrays.asList(new Artist("bob", true, Arrays.asList("label1", "label3")), new Artist("tom", true, Arrays.asList("label2", "label3")))),
+ new Album("album2", 20, Arrays.asList(new Artist("bill", true, Arrays.asList("label2", "label3")), new Artist("tom", true, Arrays.asList("label2", "label4")))));
+
+ @Test
+ public void givenAListOfintegers_whenMapMulti_thenGetListOfOfEvenDoublesPlusPercentage() {
+
+ List integers = Arrays.asList(1, 2, 3, 4, 5);
+ double percentage = .01;
+ List evenDoubles = integers.stream()
+ . mapMulti((integer, consumer) -> {
+ if (integer % 2 == 0) {
+ consumer.accept((double) integer * (1 + percentage));
+ }
+ })
+ .collect(toList());
+
+ assertThat(evenDoubles).containsAll(Arrays.asList(2.02D, 4.04D));
+ }
+
+ @Test
+ public void givenAListOfintegers_whenFilterMap_thenGetListOfOfEvenDoublesPlusPercentage() {
+
+ List integers = Arrays.asList(1, 2, 3, 4, 5);
+ double percentage = .01;
+ List evenDoubles = integers.stream()
+ .filter(integer -> integer % 2 == 0)
+ . map(integer -> ((double) integer * (1 + percentage)))
+ .collect(toList());
+
+ assertThat(evenDoubles).containsAll(Arrays.asList(2.02D, 4.04D));
+ }
+
+ @Test
+ public void givenAListOfintegers_whenMapMultiToDouble_thenGetSumOfEvenNumbersAfterApplyPercentage() {
+
+ List integers = Arrays.asList(1, 2, 3, 4, 5, 6, 7);
+ double percentage = .01;
+ double sum = integers.stream()
+ .mapMultiToDouble((integer, consumer) -> {
+ if (integer % 2 == 0) {
+ consumer.accept(integer * (1 + percentage));
+ }
+ })
+ .sum();
+
+ assertThat(sum).isEqualTo(12.12, offset(0.001d));
+ }
+
+ @Test
+ public void givenAListOfAlbums_whenFlatMap_thenGetListOfArtistAlbumPairs() {
+
+ List> artistAlbum = albums.stream()
+ .flatMap(album -> album.getArtists()
+ .stream()
+ .map(artist -> new ImmutablePair(artist.getName(), album.getAlbumName())))
+ .collect(toList());
+
+ assertThat(artistAlbum).contains(new ImmutablePair("bob", "album1"), new ImmutablePair("tom", "album1"), new ImmutablePair("bill", "album2"), new ImmutablePair("tom", "album2"));
+ }
+
+ @Test
+ public void givenAListOfAlbums_whenMapMulti_thenGetListOfPairsOfArtistAlbum() {
+
+ List> artistAlbum = albums.stream()
+ .> mapMulti((album, consumer) -> {
+ for (Artist artist : album.getArtists()) {
+ consumer.accept(new ImmutablePair(artist.getName(), album.getAlbumName()));
+ }
+ })
+ .collect(toList());
+
+ assertThat(artistAlbum).contains(new ImmutablePair("bob", "album1"), new ImmutablePair("tom", "album1"),
+ new ImmutablePair("bill", "album2"), new ImmutablePair("tom", "album2"));
+ }
+
+ @Test
+ public void givenAListOfAlbums_whenFlatMap_thenGetListOfArtistAlbumjPairsBelowGivenCost() {
+
+ int upperCost = 9;
+ List> artistAlbum = albums.stream()
+ .flatMap(album -> album.getArtists()
+ .stream()
+ .filter(artist -> upperCost > album.getAlbumCost())
+ .map(artist -> new ImmutablePair(artist.getName(), album.getAlbumName())))
+ .collect(toList());
+
+ assertTrue(artistAlbum.isEmpty());
+ }
+
+ @Test
+ public void givenAListOfAlbums_whenMapMulti_thenGetListOfArtistAlbumPairsBelowGivenCost() {
+
+ int upperCost = 9;
+ List> artistAlbum = albums.stream()
+ .> mapMulti((album, consumer) -> {
+ if (album.getAlbumCost() < upperCost) {
+ for (Artist artist : album.getArtists()) {
+ consumer.accept(new ImmutablePair(artist.getName(), album.getAlbumName()));
+ }
+ }
+ })
+ .collect(toList());
+
+ assertTrue(artistAlbum.isEmpty());
+ }
+
+ @Test
+ public void givenAListOfAlbums_whenMapMulti_thenGetPairsOfArtistMajorLabelsUsingMethodReference() {
+
+ List> artistLabels = albums.stream()
+ .mapMulti(Album::artistAlbumPairsToMajorLabels)
+ .collect(toList());
+
+ assertThat(artistLabels).contains(new ImmutablePair("bob:album1", "label1,label3"), new ImmutablePair("tom:album1", "label2,label3"),
+ new ImmutablePair("bill:album2", "label2,label3"), new ImmutablePair("tom:album2", "label2,label4"));
+ }
+}
\ No newline at end of file
diff --git a/core-java-modules/core-java-datetime-string/README.md b/core-java-modules/core-java-datetime-string/README.md
index cf00bdeb1f..aac123a884 100644
--- a/core-java-modules/core-java-datetime-string/README.md
+++ b/core-java-modules/core-java-datetime-string/README.md
@@ -11,3 +11,4 @@ This module contains articles about parsing and formatting Java date and time ob
- [Display All Time Zones With GMT And UTC in Java](http://www.baeldung.com/java-time-zones)
- [Convert between String and Timestamp](https://www.baeldung.com/java-string-to-timestamp)
- [Convert String to Date in Java](http://www.baeldung.com/java-string-to-date)
+- [Format a Milliseconds Duration to HH:MM:SS](https://www.baeldung.com/java-ms-to-hhmmss)
diff --git a/core-java-modules/core-java-datetime-string/pom.xml b/core-java-modules/core-java-datetime-string/pom.xml
index dc0c5fd8b1..f50eb2ae5e 100644
--- a/core-java-modules/core-java-datetime-string/pom.xml
+++ b/core-java-modules/core-java-datetime-string/pom.xml
@@ -75,7 +75,7 @@
1.6
- 2.10
+ 2.10.10
3.6.1
1.9
diff --git a/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/formatduration/FormatDurationUnitTest.java b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/formatduration/FormatDurationUnitTest.java
new file mode 100644
index 0000000000..1612edd30b
--- /dev/null
+++ b/core-java-modules/core-java-datetime-string/src/test/java/com/baeldung/formatduration/FormatDurationUnitTest.java
@@ -0,0 +1,54 @@
+package com.baeldung.formatduration;
+
+import org.apache.commons.lang3.time.DurationFormatUtils;
+import org.joda.time.Period;
+import org.junit.Test;
+
+import java.time.Duration;
+import java.util.concurrent.TimeUnit;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class FormatDurationUnitTest {
+
+
+ @Test
+ public void givenInterval_WhenFormatInterval_formatDuration() {
+ long HH = TimeUnit.MILLISECONDS.toHours(38114000);
+ long MM = TimeUnit.MILLISECONDS.toMinutes(38114000) % 60;
+ long SS = TimeUnit.MILLISECONDS.toSeconds(38114000) % 60;
+ String timeInHHMMSS = String.format("%02d:%02d:%02d", HH, MM, SS);
+
+ assertThat(timeInHHMMSS).isEqualTo("10:35:14");
+ }
+
+ @Test
+ public void givenInterval_WhenFormatUsingDuration_formatDuration() {
+ Duration duration = Duration.ofMillis(38114000);
+ long seconds = duration.getSeconds();
+ long HH = seconds / 3600;
+ long MM = (seconds % 3600) / 60;
+ long SS = seconds % 60;
+ String timeInHHMMSS = String.format("%02d:%02d:%02d", HH, MM, SS);
+ assertThat(timeInHHMMSS).isEqualTo("10:35:14");
+ }
+
+
+ @Test
+ public void givenInterval_WhenFormatDurationUsingApacheCommons_formatDuration() {
+ assertThat(DurationFormatUtils.formatDuration(38114000, "HH:mm:ss"))
+ .isEqualTo("10:35:14");
+ }
+
+ @Test
+ public void givenInterval_WhenFormatDurationUsingJodaTime_formatDuration() {
+ org.joda.time.Duration duration = new org.joda.time.Duration(38114000);
+ Period period = duration.toPeriod();
+ long HH = period.getHours();
+ long MM = period.getMinutes();
+ long SS = period.getSeconds();
+
+ String timeInHHMMSS = String.format("%02d:%02d:%02d", HH, MM, SS);
+ assertThat(timeInHHMMSS).isEqualTo("10:35:14");
+ }
+}
diff --git a/core-java-modules/core-java-networking-3/README.md b/core-java-modules/core-java-networking-3/README.md
index 2e76ab5d51..0dc9ad9f70 100644
--- a/core-java-modules/core-java-networking-3/README.md
+++ b/core-java-modules/core-java-networking-3/README.md
@@ -8,4 +8,5 @@ This module contains articles about networking in Java
- [Downloading Email Attachments in Java](https://www.baeldung.com/java-download-email-attachments)
- [Connection Timeout vs. Read Timeout for Java Sockets](https://www.baeldung.com/java-socket-connection-read-timeout)
- [Find Whether an IP Address Is in the Specified Range or Not in Java](https://www.baeldung.com/java-check-ip-address-range)
+- [Find the IP Address of a Client Connected to a Server](https://www.baeldung.com/java-client-get-ip-address)
- [[<-- Prev]](/core-java-modules/core-java-networking-2)
diff --git a/core-java-modules/core-java-networking-3/src/main/java/com/baeldung/clientaddress/ApplicationClient.java b/core-java-modules/core-java-networking-3/src/main/java/com/baeldung/clientaddress/ApplicationClient.java
new file mode 100644
index 0000000000..498046904d
--- /dev/null
+++ b/core-java-modules/core-java-networking-3/src/main/java/com/baeldung/clientaddress/ApplicationClient.java
@@ -0,0 +1,39 @@
+package com.baeldung.clientaddress;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.net.Socket;
+
+public class ApplicationClient {
+
+ private Socket clientSocket;
+ private PrintWriter out;
+ private BufferedReader in;
+
+ public void connect(String ip, int port) throws IOException {
+ clientSocket = new Socket(ip, port);
+ out = new PrintWriter(clientSocket.getOutputStream(), true);
+ in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
+ }
+
+ public void sendGreetings(String msg) throws IOException {
+ out.println(msg);
+ String reply = in.readLine();
+ System.out.println("Reply received from the server :: " + reply);
+ }
+
+ public void disconnect() throws IOException {
+ in.close();
+ out.close();
+ clientSocket.close();
+ }
+
+ public static void main(String[] args) throws IOException {
+ ApplicationClient client = new ApplicationClient();
+ client.connect(args[0], Integer.parseInt(args[1])); // IP address and port number of the server
+ client.sendGreetings(args[2]); // greetings message
+ client.disconnect();
+ }
+}
diff --git a/core-java-modules/core-java-networking-3/src/main/java/com/baeldung/clientaddress/ApplicationServer.java b/core-java-modules/core-java-networking-3/src/main/java/com/baeldung/clientaddress/ApplicationServer.java
new file mode 100644
index 0000000000..ded4482b9a
--- /dev/null
+++ b/core-java-modules/core-java-networking-3/src/main/java/com/baeldung/clientaddress/ApplicationServer.java
@@ -0,0 +1,51 @@
+package com.baeldung.clientaddress;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.net.InetSocketAddress;
+import java.net.ServerSocket;
+import java.net.Socket;
+
+public class ApplicationServer {
+
+ private ServerSocket serverSocket;
+ private Socket connectedSocket;
+ private PrintWriter out;
+ private BufferedReader in;
+
+ public void startServer(int port) throws IOException {
+ serverSocket = new ServerSocket(port);
+ connectedSocket = serverSocket.accept();
+
+ InetSocketAddress socketAddress = (InetSocketAddress) connectedSocket.getRemoteSocketAddress();
+ String clientIpAddress = socketAddress.getAddress()
+ .getHostAddress();
+ System.out.println("IP address of the connected client :: " + clientIpAddress);
+
+ out = new PrintWriter(connectedSocket.getOutputStream(), true);
+ in = new BufferedReader(new InputStreamReader(connectedSocket.getInputStream()));
+ String msg = in.readLine();
+ System.out.println("Message received from the client :: " + msg);
+ out.println("Hello Client !!");
+
+ closeIO();
+ stopServer();
+ }
+
+ private void closeIO() throws IOException {
+ in.close();
+ out.close();
+ }
+
+ private void stopServer() throws IOException {
+ connectedSocket.close();
+ serverSocket.close();
+ }
+
+ public static void main(String[] args) throws IOException {
+ ApplicationServer server = new ApplicationServer();
+ server.startServer(5000);
+ }
+}
diff --git a/core-java-modules/core-java-os/src/main/java/com/baeldung/java9/process/ProcessAPIEnhancements.java b/core-java-modules/core-java-os/src/main/java/com/baeldung/java9/process/ProcessAPIEnhancements.java
new file mode 100644
index 0000000000..cb3c183062
--- /dev/null
+++ b/core-java-modules/core-java-os/src/main/java/com/baeldung/java9/process/ProcessAPIEnhancements.java
@@ -0,0 +1,101 @@
+package com.baeldung.java9.process;
+
+import java.io.IOException;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.stream.Stream;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ProcessAPIEnhancements {
+
+ static Logger log = LoggerFactory.getLogger(ProcessAPIEnhancements.class);
+
+ public static void main(String[] args) throws IOException, InterruptedException, ExecutionException {
+ infoOfCurrentProcess();
+ infoOfLiveProcesses();
+ infoOfSpawnProcess();
+ infoOfExitCallback();
+ infoOfChildProcess();
+ }
+
+ private static void infoOfCurrentProcess() {
+ ProcessHandle processHandle = ProcessHandle.current();
+ ProcessHandle.Info processInfo = processHandle.info();
+
+ log.info("PID: " + processHandle.pid());
+ log.info("Arguments: " + processInfo.arguments());
+ log.info("Command: " + processInfo.command());
+ log.info("Instant: " + processInfo.startInstant());
+ log.info("Total CPU duration: " + processInfo.totalCpuDuration());
+ log.info("User: " + processInfo.user());
+ }
+
+ private static void infoOfSpawnProcess() throws IOException {
+
+ String javaCmd = ProcessUtils.getJavaCmd().getAbsolutePath();
+ ProcessBuilder processBuilder = new ProcessBuilder(javaCmd, "-version");
+ Process process = processBuilder.inheritIO().start();
+ ProcessHandle processHandle = process.toHandle();
+ ProcessHandle.Info processInfo = processHandle.info();
+
+ log.info("PID: " + processHandle.pid());
+ log.info("Arguments: " + processInfo.arguments());
+ log.info("Command: " + processInfo.command());
+ log.info("Instant: " + processInfo.startInstant());
+ log.info("Total CPU duration: " + processInfo.totalCpuDuration());
+ log.info("User: " + processInfo.user());
+ }
+
+ private static void infoOfLiveProcesses() {
+ Stream liveProcesses = ProcessHandle.allProcesses();
+ liveProcesses.filter(ProcessHandle::isAlive)
+ .forEach(ph -> {
+ log.info("PID: " + ph.pid());
+ log.info("Instance: " + ph.info().startInstant());
+ log.info("User: " + ph.info().user());
+ });
+ }
+
+ private static void infoOfChildProcess() throws IOException {
+ int childProcessCount = 5;
+ for (int i = 0; i < childProcessCount; i++) {
+ String javaCmd = ProcessUtils.getJavaCmd()
+ .getAbsolutePath();
+ ProcessBuilder processBuilder
+ = new ProcessBuilder(javaCmd, "-version");
+ processBuilder.inheritIO().start();
+ }
+
+ Stream children = ProcessHandle.current()
+ .children();
+ children.filter(ProcessHandle::isAlive)
+ .forEach(ph -> log.info("PID: {}, Cmd: {}", ph.pid(), ph.info()
+ .command()));
+ Stream descendants = ProcessHandle.current()
+ .descendants();
+ descendants.filter(ProcessHandle::isAlive)
+ .forEach(ph -> log.info("PID: {}, Cmd: {}", ph.pid(), ph.info()
+ .command()));
+ }
+
+ private static void infoOfExitCallback() throws IOException, InterruptedException, ExecutionException {
+ String javaCmd = ProcessUtils.getJavaCmd()
+ .getAbsolutePath();
+ ProcessBuilder processBuilder
+ = new ProcessBuilder(javaCmd, "-version");
+ Process process = processBuilder.inheritIO()
+ .start();
+ ProcessHandle processHandle = process.toHandle();
+
+ log.info("PID: {} has started", processHandle.pid());
+ CompletableFuture onProcessExit = processHandle.onExit();
+ onProcessExit.get();
+ log.info("Alive: " + processHandle.isAlive());
+ onProcessExit.thenAccept(ph -> {
+ log.info("PID: {} has stopped", ph.pid());
+ });
+ }
+
+}
diff --git a/core-java-modules/core-java-os/src/test/java/com/baeldung/java9/process/ProcessAPIEnhancementsUnitTest.java b/core-java-modules/core-java-os/src/test/java/com/baeldung/java9/process/ProcessAPIEnhancementsUnitTest.java
deleted file mode 100644
index c81f060150..0000000000
--- a/core-java-modules/core-java-os/src/test/java/com/baeldung/java9/process/ProcessAPIEnhancementsUnitTest.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package com.baeldung.java9.process;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.IOException;
-import java.util.concurrent.CompletableFuture;
-import java.util.stream.Stream;
-
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Created by sanaulla on 2/23/2017.
- */
-
-public class ProcessAPIEnhancementsUnitTest {
-
- Logger log = LoggerFactory.getLogger(ProcessAPIEnhancementsUnitTest.class);
-
- // @Test
- // OS / Java version dependent
- public void givenCurrentProcess_whenInvokeGetInfo_thenSuccess() throws IOException {
- ProcessHandle processHandle = ProcessHandle.current();
- ProcessHandle.Info processInfo = processHandle.info();
- assertNotNull(processHandle.pid());
- assertEquals(true, processInfo.arguments()
- .isPresent());
- assertEquals(true, processInfo.command()
- .isPresent());
- assertTrue(processInfo.command()
- .get()
- .contains("java"));
-
- assertEquals(true, processInfo.startInstant()
- .isPresent());
- assertEquals(true, processInfo.totalCpuDuration()
- .isPresent());
- assertEquals(true, processInfo.user()
- .isPresent());
- }
-
- // @Test
- // OS / Java version dependent
- public void givenSpawnProcess_whenInvokeGetInfo_thenSuccess() throws IOException {
-
- String javaCmd = ProcessUtils.getJavaCmd()
- .getAbsolutePath();
- ProcessBuilder processBuilder = new ProcessBuilder(javaCmd, "-version");
- Process process = processBuilder.inheritIO()
- .start();
- ProcessHandle processHandle = process.toHandle();
- ProcessHandle.Info processInfo = processHandle.info();
- assertNotNull(processHandle.pid());
- assertEquals(true, processInfo.arguments()
- .isPresent());
- assertEquals(true, processInfo.command()
- .isPresent());
- assertTrue(processInfo.command()
- .get()
- .contains("java"));
- assertEquals(true, processInfo.startInstant()
- .isPresent());
- assertEquals(false, processInfo.totalCpuDuration()
- .isPresent());
- assertEquals(true, processInfo.user()
- .isPresent());
- }
-
- // @Test
- // OS / Java version dependent
- public void givenLiveProcesses_whenInvokeGetInfo_thenSuccess() {
- Stream liveProcesses = ProcessHandle.allProcesses();
- liveProcesses.filter(ProcessHandle::isAlive)
- .forEach(ph -> {
- assertNotNull(ph.pid());
- assertEquals(true, ph.info()
- .startInstant()
- .isPresent());
- assertEquals(true, ph.info()
- .user()
- .isPresent());
- });
- }
-
- // @Test
- // OS / Java version dependent
- public void givenProcess_whenGetChildProcess_thenSuccess() throws IOException {
- int childProcessCount = 5;
- for (int i = 0; i < childProcessCount; i++) {
- String javaCmd = ProcessUtils.getJavaCmd()
- .getAbsolutePath();
- ProcessBuilder processBuilder
- = new ProcessBuilder(javaCmd, "-version");
- processBuilder.inheritIO().start();
- }
-
- Stream children = ProcessHandle.current()
- .children();
- children.filter(ProcessHandle::isAlive)
- .forEach(ph -> log.info("PID: {}, Cmd: {}", ph.pid(), ph.info()
- .command()));
- Stream descendants = ProcessHandle.current()
- .descendants();
- descendants.filter(ProcessHandle::isAlive)
- .forEach(ph -> log.info("PID: {}, Cmd: {}", ph.pid(), ph.info()
- .command()));
- }
-
- // @Test
- // OS / Java version dependent
- public void givenProcess_whenAddExitCallback_thenSuccess() throws Exception {
- String javaCmd = ProcessUtils.getJavaCmd()
- .getAbsolutePath();
- ProcessBuilder processBuilder
- = new ProcessBuilder(javaCmd, "-version");
- Process process = processBuilder.inheritIO()
- .start();
- ProcessHandle processHandle = process.toHandle();
-
- log.info("PID: {} has started", processHandle.pid());
- CompletableFuture onProcessExit = processHandle.onExit();
- onProcessExit.get();
- assertEquals(false, processHandle.isAlive());
- onProcessExit.thenAccept(ph -> {
- log.info("PID: {} has stopped", ph.pid());
- });
- }
-
-}
diff --git a/core-java-modules/core-java-security-3/src/test/java/com/baeldung/cryptography/CryptographyStrengthUnitTest.java b/core-java-modules/core-java-security-3/src/test/java/com/baeldung/cryptography/CryptographyStrengthUnitTest.java
new file mode 100644
index 0000000000..5d5c30dc34
--- /dev/null
+++ b/core-java-modules/core-java-security-3/src/test/java/com/baeldung/cryptography/CryptographyStrengthUnitTest.java
@@ -0,0 +1,17 @@
+package com.baeldung.cryptography;
+
+import org.junit.Test;
+
+import java.security.NoSuchAlgorithmException;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class CryptographyStrengthUnitTest {
+ private static final int UNLIMITED_KEY_SIZE = 2147483647;
+
+ @Test
+ public void whenDefaultCheck_thenUnlimitedReturned() throws NoSuchAlgorithmException {
+ int maxKeySize = javax.crypto.Cipher.getMaxAllowedKeyLength("AES");
+ assertThat(maxKeySize).isEqualTo(UNLIMITED_KEY_SIZE);
+ }
+}
diff --git a/jackson-modules/jackson-conversions-2/pom.xml b/jackson-modules/jackson-conversions-2/pom.xml
index 799fcb106a..a498c8b4f8 100644
--- a/jackson-modules/jackson-conversions-2/pom.xml
+++ b/jackson-modules/jackson-conversions-2/pom.xml
@@ -24,7 +24,7 @@
com.fasterxml.jackson.datatype
jackson-datatype-jsr310
- ${jackson-datatype.version}
+ ${jackson.version}
@@ -52,7 +52,6 @@
3.11.0
- 2.9.8
\ No newline at end of file
diff --git a/javafx/README.md b/javafx/README.md
index 80c4f49026..8ef06eb012 100644
--- a/javafx/README.md
+++ b/javafx/README.md
@@ -3,5 +3,6 @@
This module contains articles about JavaFX.
### Relevant Articles:
--[Introduction to JavaFX](https://www.baeldung.com/javafx)
+- [Introduction to JavaFX](https://www.baeldung.com/javafx)
+- [Display Custom Items in JavaFX ListView](https://www.baeldung.com/javafx-listview-display-custom-items)
diff --git a/jhipster/jhipster-microservice/car-app/pom.xml b/jhipster/jhipster-microservice/car-app/pom.xml
index 477192438f..f345688939 100644
--- a/jhipster/jhipster-microservice/car-app/pom.xml
+++ b/jhipster/jhipster-microservice/car-app/pom.xml
@@ -17,7 +17,6 @@
- 1.0.0
-Djava.security.egd=file:/dev/./urandom -Xmx256m
3.6.2
2.0.0
@@ -31,6 +30,7 @@
1.0.0
1.1.0
0.7.0
+ 1.0.0
3.6
2.0.0
3.6.2
@@ -59,14 +59,14 @@
S3437,UndocumentedApi,BoldAndItalicTagsCheck
-
src/main/webapp/app/**/*.*
Web:BoldAndItalicTagsCheck
src/main/java/**/*
squid:S3437
-
src/main/java/**/*
squid:UndocumentedApi
@@ -349,7 +349,6 @@
org.springframework.boot
spring-boot-starter-test
- test
org.springframework.boot
@@ -365,11 +364,6 @@
-
- org.springframework.boot
- spring-boot-test
- test
-
org.springframework.cloud
@@ -427,7 +421,7 @@
spring-boot:run
-
org.eclipse.m2e
@@ -580,14 +574,6 @@
-
- org.apache.maven.plugins
- maven-surefire-plugin
-
-
- alphabetical
-
-
org.jacoco
jacoco-maven-plugin
@@ -768,8 +754,8 @@
-
cc
diff --git a/jhipster/jhipster-microservice/car-app/src/test/resources/config/application.yml b/jhipster/jhipster-microservice/car-app/src/test/resources/config/application.yml
index a9e3b02b64..396c338feb 100644
--- a/jhipster/jhipster-microservice/car-app/src/test/resources/config/application.yml
+++ b/jhipster/jhipster-microservice/car-app/src/test/resources/config/application.yml
@@ -21,6 +21,8 @@ eureka:
instanceId: carapp:${spring.application.instance_id:${random.value}}
spring:
+ main:
+ banner-mode: "off"
application:
name: carapp
jackson:
@@ -37,7 +39,7 @@ spring:
database-platform: io.github.jhipster.domain.util.FixedH2Dialect
database: H2
open-in-view: false
- show-sql: true
+ show-sql: false
hibernate:
ddl-auto: none
naming:
diff --git a/jhipster/jhipster-microservice/car-app/src/test/resources/logback-test.xml b/jhipster/jhipster-microservice/car-app/src/test/resources/logback-test.xml
index aace473c4c..3128e99c50 100644
--- a/jhipster/jhipster-microservice/car-app/src/test/resources/logback-test.xml
+++ b/jhipster/jhipster-microservice/car-app/src/test/resources/logback-test.xml
@@ -3,7 +3,7 @@
-
+
diff --git a/jhipster/jhipster-microservice/dealer-app/pom.xml b/jhipster/jhipster-microservice/dealer-app/pom.xml
index 59df7d3b69..056bd60f33 100644
--- a/jhipster/jhipster-microservice/dealer-app/pom.xml
+++ b/jhipster/jhipster-microservice/dealer-app/pom.xml
@@ -29,6 +29,7 @@
1.0.0
1.1.0
0.7.0
+ 1.0.0
3.6
2.0.0
3.6.2
@@ -57,14 +58,14 @@
S3437,UndocumentedApi,BoldAndItalicTagsCheck
-
src/main/webapp/app/**/*.*
Web:BoldAndItalicTagsCheck
src/main/java/**/*
squid:S3437
-
src/main/java/**/*
squid:UndocumentedApi
@@ -90,7 +91,6 @@
1.4.10.Final
1.1.0.Final
v0.21.3
- 1.0.0
@@ -345,6 +345,10 @@
org.springframework.boot
spring-boot-starter-security
+
+ org.springframework.boot
+ spring-boot-starter-test
+
org.springframework.boot
spring-boot-starter-thymeleaf
@@ -359,11 +363,6 @@
-
- org.springframework.boot
- spring-boot-test
- test
-
org.springframework.cloud
@@ -421,7 +420,7 @@
spring-boot:run
-
org.eclipse.m2e
@@ -574,14 +573,6 @@
-
- org.apache.maven.plugins
- maven-surefire-plugin
-
-
- alphabetical
-
-
org.jacoco
jacoco-maven-plugin
@@ -762,8 +753,8 @@
-
cc
diff --git a/jhipster/jhipster-microservice/dealer-app/src/test/resources/config/application.yml b/jhipster/jhipster-microservice/dealer-app/src/test/resources/config/application.yml
index 8959533002..8f3f070471 100644
--- a/jhipster/jhipster-microservice/dealer-app/src/test/resources/config/application.yml
+++ b/jhipster/jhipster-microservice/dealer-app/src/test/resources/config/application.yml
@@ -21,6 +21,8 @@ eureka:
instanceId: dealerapp:${spring.application.instance_id:${random.value}}
spring:
+ main:
+ banner-mode: "off"
application:
name: dealerapp
jackson:
@@ -37,7 +39,7 @@ spring:
database-platform: io.github.jhipster.domain.util.FixedH2Dialect
database: H2
open-in-view: false
- show-sql: true
+ show-sql: false
hibernate:
ddl-auto: none
naming:
diff --git a/jhipster/jhipster-microservice/dealer-app/src/test/resources/logback-test.xml b/jhipster/jhipster-microservice/dealer-app/src/test/resources/logback-test.xml
index 83efcf9b13..06505a9f05 100644
--- a/jhipster/jhipster-microservice/dealer-app/src/test/resources/logback-test.xml
+++ b/jhipster/jhipster-microservice/dealer-app/src/test/resources/logback-test.xml
@@ -3,7 +3,7 @@
-
+
diff --git a/jhipster/jhipster-microservice/gateway-app/pom.xml b/jhipster/jhipster-microservice/gateway-app/pom.xml
index a50c2bbdd1..b90f22f009 100644
--- a/jhipster/jhipster-microservice/gateway-app/pom.xml
+++ b/jhipster/jhipster-microservice/gateway-app/pom.xml
@@ -32,6 +32,7 @@
1.0.0
1.1.0
0.7.0
+ 1.0.0
3.6
2.0.0
3.6.2
@@ -61,14 +62,14 @@
S3437,UndocumentedApi,BoldAndItalicTagsCheck
-
src/main/webapp/app/**/*.*
Web:BoldAndItalicTagsCheck
src/main/java/**/*
squid:S3437
-
src/main/java/**/*
squid:UndocumentedApi
@@ -94,7 +95,6 @@
1.4.10.Final
1.1.0.Final
v0.21.3
- 1.0.0
@@ -383,6 +383,10 @@
spring-boot-starter-test
test
+
+ org.springframework.boot
+ spring-boot-starter-test
+
org.springframework.boot
spring-boot-starter-thymeleaf
@@ -397,11 +401,6 @@
-
- org.springframework.boot
- spring-boot-test
- test
-
org.springframework.cloud
spring-cloud-starter
@@ -463,7 +462,7 @@
spring-boot:run
-
org.eclipse.m2e
@@ -632,14 +631,6 @@
-
- org.apache.maven.plugins
- maven-surefire-plugin
-
-
- alphabetical
-
-
org.jacoco
jacoco-maven-plugin
@@ -878,8 +869,8 @@
-
cc
diff --git a/jhipster/jhipster-microservice/gateway-app/src/test/java/com/gateway/web/rest/LogsResourceIntegrationTest.java b/jhipster/jhipster-microservice/gateway-app/src/test/java/com/gateway/web/rest/LogsResourceIntegrationTest.java
index 3b4511b534..0494c46330 100644
--- a/jhipster/jhipster-microservice/gateway-app/src/test/java/com/gateway/web/rest/LogsResourceIntegrationTest.java
+++ b/jhipster/jhipster-microservice/gateway-app/src/test/java/com/gateway/web/rest/LogsResourceIntegrationTest.java
@@ -49,7 +49,7 @@ public class LogsResourceIntegrationTest {
public void changeLogs()throws Exception {
LoggerVM logger = new LoggerVM();
logger.setLevel("INFO");
- logger.setName("ROOT");
+ logger.setName("some.test.logger");
restLogsMockMvc.perform(put("/management/logs")
.contentType(TestUtil.APPLICATION_JSON_UTF8)
diff --git a/jhipster/jhipster-microservice/gateway-app/src/test/resources/config/application.yml b/jhipster/jhipster-microservice/gateway-app/src/test/resources/config/application.yml
index 45436533f8..6013842549 100644
--- a/jhipster/jhipster-microservice/gateway-app/src/test/resources/config/application.yml
+++ b/jhipster/jhipster-microservice/gateway-app/src/test/resources/config/application.yml
@@ -21,6 +21,8 @@ eureka:
instanceId: gateway:${spring.application.instance_id:${random.value}}
spring:
+ main:
+ banner-mode: "off"
application:
name: gateway
autoconfigure:
@@ -39,7 +41,7 @@ spring:
database-platform: io.github.jhipster.domain.util.FixedH2Dialect
database: H2
open-in-view: false
- show-sql: true
+ show-sql: false
hibernate:
ddl-auto: none
naming:
diff --git a/jhipster/jhipster-microservice/gateway-app/src/test/resources/logback-test.xml b/jhipster/jhipster-microservice/gateway-app/src/test/resources/logback-test.xml
index fc92ca6a19..c4273aa563 100644
--- a/jhipster/jhipster-microservice/gateway-app/src/test/resources/logback-test.xml
+++ b/jhipster/jhipster-microservice/gateway-app/src/test/resources/logback-test.xml
@@ -3,7 +3,7 @@
-
+
diff --git a/jhipster/jhipster-microservice/pom.xml b/jhipster/jhipster-microservice/pom.xml
index 051d5f70b7..3d2d682d8e 100644
--- a/jhipster/jhipster-microservice/pom.xml
+++ b/jhipster/jhipster-microservice/pom.xml
@@ -11,7 +11,7 @@
com.baeldung.jhipster
1.0.0-SNAPSHOT
-
+
car-app
dealer-app
diff --git a/jhipster/jhipster-monolithic/pom.xml b/jhipster/jhipster-monolithic/pom.xml
index 97f2b85b2f..28cfc16859 100644
--- a/jhipster/jhipster-monolithic/pom.xml
+++ b/jhipster/jhipster-monolithic/pom.xml
@@ -277,8 +277,7 @@
org.springframework.boot
- spring-boot-test
- test
+ spring-boot-starter-test
@@ -297,7 +296,7 @@
spring-boot:run
-
org.eclipse.m2e
@@ -751,8 +750,8 @@
-
cc
@@ -931,14 +930,14 @@
S3437,UndocumentedApi,BoldAndItalicTagsCheck
-
src/main/webapp/app/**/*.*
Web:BoldAndItalicTagsCheck
src/main/java/**/*
squid:S3437
-
src/main/java/**/*
squid:UndocumentedApi
diff --git a/jhipster/jhipster-monolithic/src/test/java/com/baeldung/web/rest/LogsResourceIntegrationTest.java b/jhipster/jhipster-monolithic/src/test/java/com/baeldung/web/rest/LogsResourceIntegrationTest.java
index 2f852f9fd8..abe8f47b4e 100644
--- a/jhipster/jhipster-monolithic/src/test/java/com/baeldung/web/rest/LogsResourceIntegrationTest.java
+++ b/jhipster/jhipster-monolithic/src/test/java/com/baeldung/web/rest/LogsResourceIntegrationTest.java
@@ -49,7 +49,7 @@ public class LogsResourceIntegrationTest {
public void changeLogs()throws Exception {
LoggerVM logger = new LoggerVM();
logger.setLevel("INFO");
- logger.setName("ROOT");
+ logger.setName("some.test.logger");
restLogsMockMvc.perform(put("/management/logs")
.contentType(TestUtil.APPLICATION_JSON_UTF8)
diff --git a/jhipster/jhipster-monolithic/src/test/resources/config/application.yml b/jhipster/jhipster-monolithic/src/test/resources/config/application.yml
index a7939c838c..aae6231ac8 100644
--- a/jhipster/jhipster-monolithic/src/test/resources/config/application.yml
+++ b/jhipster/jhipster-monolithic/src/test/resources/config/application.yml
@@ -15,6 +15,8 @@
spring:
+ main:
+ banner-mode: "off"
application:
name: baeldung
jackson:
@@ -31,7 +33,7 @@ spring:
database-platform: io.github.jhipster.domain.util.FixedH2Dialect
database: H2
open-in-view: false
- show-sql: true
+ show-sql: false
hibernate:
ddl-auto: none
naming:
diff --git a/jhipster/jhipster-monolithic/src/test/resources/logback-test.xml b/jhipster/jhipster-monolithic/src/test/resources/logback-test.xml
index c0acd00401..3e15e9e87f 100644
--- a/jhipster/jhipster-monolithic/src/test/resources/logback-test.xml
+++ b/jhipster/jhipster-monolithic/src/test/resources/logback-test.xml
@@ -3,7 +3,7 @@
-
+
diff --git a/jhipster/jhipster-uaa/gateway/pom.xml b/jhipster/jhipster-uaa/gateway/pom.xml
index 53422bfa44..bc3c9bdef2 100644
--- a/jhipster/jhipster-uaa/gateway/pom.xml
+++ b/jhipster/jhipster-uaa/gateway/pom.xml
@@ -1,6 +1,13 @@
4.0.0
+
+
+ jhipster-uaa
+ com.baeldung.jhipster
+ 1.0.0-SNAPSHOT
+
+
com.baeldung.jhipster.gateway
gateway
0.0.1-SNAPSHOT
@@ -415,15 +422,6 @@
-
- org.apache.maven.plugins
- maven-surefire-plugin
- ${maven-surefire-plugin.version}
-
-
- alphabetical
-
-
org.jacoco
jacoco-maven-plugin
@@ -1010,7 +1008,7 @@
-
+
1.0.0
0.24.0
@@ -1090,5 +1088,5 @@
${project.basedir}/src/test/
-
+
diff --git a/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/config/WebConfigurerTest.java b/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/config/WebConfigurerUnitTest.java
similarity index 99%
rename from jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/config/WebConfigurerTest.java
rename to jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/config/WebConfigurerUnitTest.java
index c1f6062c51..0a630fa82f 100644
--- a/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/config/WebConfigurerTest.java
+++ b/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/config/WebConfigurerUnitTest.java
@@ -40,7 +40,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
*
* @see WebConfigurer
*/
-public class WebConfigurerTest {
+public class WebConfigurerUnitTest {
private WebConfigurer webConfigurer;
diff --git a/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/gateway/responserewriting/SwaggerBasePathRewritingFilterTest.java b/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/gateway/responserewriting/SwaggerBasePathRewritingFilterUnitTest.java
similarity index 98%
rename from jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/gateway/responserewriting/SwaggerBasePathRewritingFilterTest.java
rename to jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/gateway/responserewriting/SwaggerBasePathRewritingFilterUnitTest.java
index 893c446922..78eb150cd6 100644
--- a/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/gateway/responserewriting/SwaggerBasePathRewritingFilterTest.java
+++ b/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/gateway/responserewriting/SwaggerBasePathRewritingFilterUnitTest.java
@@ -18,7 +18,7 @@ import static springfox.documentation.swagger2.web.Swagger2Controller.DEFAULT_UR
/**
* Tests SwaggerBasePathRewritingFilter class.
*/
-public class SwaggerBasePathRewritingFilterTest {
+public class SwaggerBasePathRewritingFilterUnitTest {
private SwaggerBasePathRewritingFilter filter = new SwaggerBasePathRewritingFilter();
diff --git a/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/CookieCollectionTest.java b/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/CookieCollectionUnitTest.java
similarity index 99%
rename from jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/CookieCollectionTest.java
rename to jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/CookieCollectionUnitTest.java
index 1b2a22dd90..809f7408da 100644
--- a/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/CookieCollectionTest.java
+++ b/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/CookieCollectionUnitTest.java
@@ -16,7 +16,7 @@ import java.util.List;
*
* @see CookieCollection
*/
-public class CookieCollectionTest {
+public class CookieCollectionUnitTest {
public static final String COOKIE_NAME = "chocolate";
public static final String COOKIE_VALUE = "yummy";
public static final String BROWNIE_NAME = "brownie";
diff --git a/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/CookieTokenExtractorTest.java b/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/CookieTokenExtractorUnitTest.java
similarity index 71%
rename from jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/CookieTokenExtractorTest.java
rename to jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/CookieTokenExtractorUnitTest.java
index af7dec99c4..0b1acc5f61 100644
--- a/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/CookieTokenExtractorTest.java
+++ b/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/CookieTokenExtractorUnitTest.java
@@ -12,7 +12,7 @@ import org.springframework.security.oauth2.common.OAuth2AccessToken;
* Test whether the CookieTokenExtractor can properly extract access tokens from
* Cookies and Headers.
*/
-public class CookieTokenExtractorTest {
+public class CookieTokenExtractorUnitTest {
private CookieTokenExtractor cookieTokenExtractor;
@Before
@@ -22,24 +22,24 @@ public class CookieTokenExtractorTest {
@Test
public void testExtractTokenCookie() {
- MockHttpServletRequest request = OAuth2AuthenticationServiceTest.createMockHttpServletRequest();
+ MockHttpServletRequest request = OAuth2AuthenticationServiceUnitTest.createMockHttpServletRequest();
Authentication authentication = cookieTokenExtractor.extract(request);
- Assert.assertEquals(OAuth2AuthenticationServiceTest.ACCESS_TOKEN_VALUE, authentication.getPrincipal().toString());
+ Assert.assertEquals(OAuth2AuthenticationServiceUnitTest.ACCESS_TOKEN_VALUE, authentication.getPrincipal().toString());
}
@Test
public void testExtractTokenHeader() {
MockHttpServletRequest request = new MockHttpServletRequest(HttpMethod.GET.name(), "http://www.test.com");
- request.addHeader("Authorization", OAuth2AccessToken.BEARER_TYPE + " " + OAuth2AuthenticationServiceTest.ACCESS_TOKEN_VALUE);
+ request.addHeader("Authorization", OAuth2AccessToken.BEARER_TYPE + " " + OAuth2AuthenticationServiceUnitTest.ACCESS_TOKEN_VALUE);
Authentication authentication = cookieTokenExtractor.extract(request);
- Assert.assertEquals(OAuth2AuthenticationServiceTest.ACCESS_TOKEN_VALUE, authentication.getPrincipal().toString());
+ Assert.assertEquals(OAuth2AuthenticationServiceUnitTest.ACCESS_TOKEN_VALUE, authentication.getPrincipal().toString());
}
@Test
public void testExtractTokenParam() {
MockHttpServletRequest request = new MockHttpServletRequest(HttpMethod.GET.name(), "http://www.test.com");
- request.addParameter(OAuth2AccessToken.ACCESS_TOKEN, OAuth2AuthenticationServiceTest.ACCESS_TOKEN_VALUE);
+ request.addParameter(OAuth2AccessToken.ACCESS_TOKEN, OAuth2AuthenticationServiceUnitTest.ACCESS_TOKEN_VALUE);
Authentication authentication = cookieTokenExtractor.extract(request);
- Assert.assertEquals(OAuth2AuthenticationServiceTest.ACCESS_TOKEN_VALUE, authentication.getPrincipal().toString());
+ Assert.assertEquals(OAuth2AuthenticationServiceUnitTest.ACCESS_TOKEN_VALUE, authentication.getPrincipal().toString());
}
}
diff --git a/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/OAuth2AuthenticationServiceTest.java b/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/OAuth2AuthenticationServiceUnitTest.java
similarity index 99%
rename from jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/OAuth2AuthenticationServiceTest.java
rename to jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/OAuth2AuthenticationServiceUnitTest.java
index 4902b5306e..ac60e0a1d5 100644
--- a/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/OAuth2AuthenticationServiceTest.java
+++ b/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/OAuth2AuthenticationServiceUnitTest.java
@@ -39,7 +39,7 @@ import static org.mockito.Mockito.when;
* @see OAuth2AuthenticationService
*/
@RunWith(MockitoJUnitRunner.class)
-public class OAuth2AuthenticationServiceTest {
+public class OAuth2AuthenticationServiceUnitTest {
public static final String CLIENT_AUTHORIZATION = "Basic d2ViX2FwcDpjaGFuZ2VpdA==";
public static final String ACCESS_TOKEN_VALUE = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0OTQyNzI4NDQsInVzZXJfbmFtZSI6InVzZXIiLCJhdXRob3JpdGllcyI6WyJST0xFX1VTRVIiXSwianRpIjoiNzc1ZTJkYWUtYWYzZi00YTdhLWExOTktNzNiZTU1MmIxZDVkIiwiY2xpZW50X2lkIjoid2ViX2FwcCIsInNjb3BlIjpbIm9wZW5pZCJdfQ.gEK0YcX2IpkpxnkxXXHQ4I0xzTjcy7edqb89ukYE0LPe7xUcZVwkkCJF_nBxsGJh2jtA6NzNLfY5zuL6nP7uoAq3fmvsyrcyR2qPk8JuuNzGtSkICx3kPDRjAT4ST8SZdeh7XCbPVbySJ7ZmPlRWHyedzLA1wXN0NUf8yZYS4ELdUwVBYIXSjkNoKqfWm88cwuNr0g0teypjPtjDqCnXFt1pibwdfIXn479Y1neNAdvSpHcI4Ost-c7APCNxW2gqX-0BItZQearxRgKDdBQ7CGPAIky7dA0gPuKUpp_VCoqowKCXqkE9yKtRQGIISewtj2UkDRZePmzmYrUBXRzfYw";
public static final String REFRESH_TOKEN_VALUE = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiJ1c2VyIiwic2NvcGUiOlsib3BlbmlkIl0sImF0aSI6Ijc3NWUyZGFlLWFmM2YtNGE3YS1hMTk5LTczYmU1NTJiMWQ1ZCIsImV4cCI6MTQ5Njg2NDc0MywiYXV0aG9yaXRpZXMiOlsiUk9MRV9VU0VSIl0sImp0aSI6IjhmYjI2YTllLTdjYzQtNDFlMi1hNzBjLTk4MDc0N2U2YWFiOSIsImNsaWVudF9pZCI6IndlYl9hcHAifQ.q1-Df9_AFO6TJNiLKV2YwTjRbnd7qcXv52skXYnog5siHYRoR6cPtm6TNQ04iDAoIHljTSTNnD6DS3bHk41mV55gsSVxGReL8VCb_R8ZmhVL4-5yr90sfms0wFp6lgD2bPmZ-TXiS2Oe9wcbNWagy5RsEplZ-sbXu3tjmDao4FN35ojPsXmUs84XnNQH3Y_-PY9GjZG0JEfLQIvE0J5BkXS18Z015GKyA6GBIoLhAGBQQYyG9m10ld_a9fD5SmCyCF72Jad_pfP1u8Z_WyvO-wrlBvm2x-zBthreVrXU5mOb9795wJEP-xaw3dXYGjht_grcW4vKUFtj61JgZk98CQ";
diff --git a/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/OAuth2CookieHelperTest.java b/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/OAuth2CookieHelperUnitTest.java
similarity index 98%
rename from jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/OAuth2CookieHelperTest.java
rename to jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/OAuth2CookieHelperUnitTest.java
index d36a67bf66..b95d79e065 100644
--- a/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/OAuth2CookieHelperTest.java
+++ b/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/security/oauth2/OAuth2CookieHelperUnitTest.java
@@ -12,7 +12,7 @@ import org.springframework.test.util.ReflectionTestUtils;
*
* @see OAuth2CookieHelper
*/
-public class OAuth2CookieHelperTest {
+public class OAuth2CookieHelperUnitTest {
public static final String GET_COOKIE_DOMAIN_METHOD = "getCookieDomain";
private OAuth2Properties oAuth2Properties;
private OAuth2CookieHelper cookieHelper;
diff --git a/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/web/rest/LogsResourceIntTest.java b/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/web/rest/LogsResourceIntTest.java
index 2e52eabbca..1962babb1b 100644
--- a/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/web/rest/LogsResourceIntTest.java
+++ b/jhipster/jhipster-uaa/gateway/src/test/java/com/baeldung/jhipster/gateway/web/rest/LogsResourceIntTest.java
@@ -51,7 +51,7 @@ public class LogsResourceIntTest {
public void changeLogs() throws Exception {
LoggerVM logger = new LoggerVM();
logger.setLevel("INFO");
- logger.setName("ROOT");
+ logger.setName("some.test.logger");
restLogsMockMvc.perform(put("/management/logs")
.contentType(TestUtil.APPLICATION_JSON_UTF8)
diff --git a/jhipster/jhipster-uaa/gateway/src/test/resources/config/application.yml b/jhipster/jhipster-uaa/gateway/src/test/resources/config/application.yml
index a8aaef6e43..445d0f9903 100644
--- a/jhipster/jhipster-uaa/gateway/src/test/resources/config/application.yml
+++ b/jhipster/jhipster-uaa/gateway/src/test/resources/config/application.yml
@@ -21,6 +21,8 @@ eureka:
instanceId: gateway:${spring.application.instance-id:${random.value}}
spring:
+ main:
+ banner-mode: "off"
application:
name: gateway
cache:
@@ -93,7 +95,7 @@ jhipster:
authentication:
jwt:
# This token must be encoded using Base64 (you can type `echo 'secret-key'|base64` on your command line)
- base64-secret:
+ base64-secret:
# Token is valid 24 hours
token-validity-in-seconds: 86400
metrics: # DropWizard Metrics configuration, used by MetricsConfiguration
diff --git a/jhipster/jhipster-uaa/quotes/pom.xml b/jhipster/jhipster-uaa/quotes/pom.xml
index 2d61a2a820..7e4252b309 100644
--- a/jhipster/jhipster-uaa/quotes/pom.xml
+++ b/jhipster/jhipster-uaa/quotes/pom.xml
@@ -1,6 +1,13 @@
4.0.0
+
+
+ jhipster-uaa
+ com.baeldung.jhipster
+ 1.0.0-SNAPSHOT
+
+
com.baeldung.jhipster.quotes
quotes
0.0.1-SNAPSHOT
@@ -399,15 +406,6 @@
-
- org.apache.maven.plugins
- maven-surefire-plugin
- ${maven-surefire-plugin.version}
-
-
- alphabetical
-
-
org.jacoco
jacoco-maven-plugin
@@ -832,7 +830,7 @@
-
+
3.0.0
@@ -909,5 +907,5 @@
0.24.0
-
+
diff --git a/jhipster/jhipster-uaa/quotes/src/test/java/com/baeldung/jhipster/quotes/config/WebConfigurerTest.java b/jhipster/jhipster-uaa/quotes/src/test/java/com/baeldung/jhipster/quotes/config/WebConfigurerUnitTest.java
similarity index 99%
rename from jhipster/jhipster-uaa/quotes/src/test/java/com/baeldung/jhipster/quotes/config/WebConfigurerTest.java
rename to jhipster/jhipster-uaa/quotes/src/test/java/com/baeldung/jhipster/quotes/config/WebConfigurerUnitTest.java
index 5a80d9befb..661ebd683e 100644
--- a/jhipster/jhipster-uaa/quotes/src/test/java/com/baeldung/jhipster/quotes/config/WebConfigurerTest.java
+++ b/jhipster/jhipster-uaa/quotes/src/test/java/com/baeldung/jhipster/quotes/config/WebConfigurerUnitTest.java
@@ -38,7 +38,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
*
* @see WebConfigurer
*/
-public class WebConfigurerTest {
+public class WebConfigurerUnitTest {
private WebConfigurer webConfigurer;
diff --git a/jhipster/jhipster-uaa/quotes/src/test/java/com/baeldung/jhipster/quotes/web/rest/LogsResourceIntTest.java b/jhipster/jhipster-uaa/quotes/src/test/java/com/baeldung/jhipster/quotes/web/rest/LogsResourceIntTest.java
index 56cda7d3d5..335a7c4792 100644
--- a/jhipster/jhipster-uaa/quotes/src/test/java/com/baeldung/jhipster/quotes/web/rest/LogsResourceIntTest.java
+++ b/jhipster/jhipster-uaa/quotes/src/test/java/com/baeldung/jhipster/quotes/web/rest/LogsResourceIntTest.java
@@ -51,7 +51,7 @@ public class LogsResourceIntTest {
public void changeLogs() throws Exception {
LoggerVM logger = new LoggerVM();
logger.setLevel("INFO");
- logger.setName("ROOT");
+ logger.setName("some.test.logger");
restLogsMockMvc.perform(put("/management/logs")
.contentType(TestUtil.APPLICATION_JSON_UTF8)
diff --git a/jhipster/jhipster-uaa/quotes/src/test/resources/config/application.yml b/jhipster/jhipster-uaa/quotes/src/test/resources/config/application.yml
index 337bdbde1c..9c9429429a 100644
--- a/jhipster/jhipster-uaa/quotes/src/test/resources/config/application.yml
+++ b/jhipster/jhipster-uaa/quotes/src/test/resources/config/application.yml
@@ -21,6 +21,8 @@ eureka:
instanceId: quotes:${spring.application.instance-id:${random.value}}
spring:
+ main:
+ banner-mode: "off"
application:
name: quotes
cache:
diff --git a/jhipster/jhipster-uaa/uaa/pom.xml b/jhipster/jhipster-uaa/uaa/pom.xml
index cabbf1de33..ec4dc1b484 100644
--- a/jhipster/jhipster-uaa/uaa/pom.xml
+++ b/jhipster/jhipster-uaa/uaa/pom.xml
@@ -1,6 +1,12 @@
4.0.0
+
+ jhipster-uaa
+ com.baeldung.jhipster
+ 1.0.0-SNAPSHOT
+
+
com.baeldung.jhipster.uaa
uaa
0.0.1-SNAPSHOT
@@ -399,15 +405,6 @@
-
- org.apache.maven.plugins
- maven-surefire-plugin
- ${maven-surefire-plugin.version}
-
-
- alphabetical
-
-
org.jacoco
jacoco-maven-plugin
@@ -832,7 +829,7 @@
-
+
1.0.0
0.24.0
@@ -911,5 +908,5 @@
-
+
diff --git a/jhipster/jhipster-uaa/uaa/src/test/java/com/baeldung/jhipster/uaa/config/WebConfigurerTest.java b/jhipster/jhipster-uaa/uaa/src/test/java/com/baeldung/jhipster/uaa/config/WebConfigurerUnitTest.java
similarity index 99%
rename from jhipster/jhipster-uaa/uaa/src/test/java/com/baeldung/jhipster/uaa/config/WebConfigurerTest.java
rename to jhipster/jhipster-uaa/uaa/src/test/java/com/baeldung/jhipster/uaa/config/WebConfigurerUnitTest.java
index 0d5b60c163..fb82201b41 100644
--- a/jhipster/jhipster-uaa/uaa/src/test/java/com/baeldung/jhipster/uaa/config/WebConfigurerTest.java
+++ b/jhipster/jhipster-uaa/uaa/src/test/java/com/baeldung/jhipster/uaa/config/WebConfigurerUnitTest.java
@@ -38,7 +38,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
*
* @see WebConfigurer
*/
-public class WebConfigurerTest {
+public class WebConfigurerUnitTest {
private WebConfigurer webConfigurer;
diff --git a/jhipster/jhipster-uaa/uaa/src/test/java/com/baeldung/jhipster/uaa/web/rest/LogsResourceIntTest.java b/jhipster/jhipster-uaa/uaa/src/test/java/com/baeldung/jhipster/uaa/web/rest/LogsResourceIntTest.java
index 18ab835be7..7966947217 100644
--- a/jhipster/jhipster-uaa/uaa/src/test/java/com/baeldung/jhipster/uaa/web/rest/LogsResourceIntTest.java
+++ b/jhipster/jhipster-uaa/uaa/src/test/java/com/baeldung/jhipster/uaa/web/rest/LogsResourceIntTest.java
@@ -51,7 +51,7 @@ public class LogsResourceIntTest {
public void changeLogs() throws Exception {
LoggerVM logger = new LoggerVM();
logger.setLevel("INFO");
- logger.setName("ROOT");
+ logger.setName("some.test.logger");
restLogsMockMvc.perform(put("/management/logs")
.contentType(TestUtil.APPLICATION_JSON_UTF8)
diff --git a/jhipster/jhipster-uaa/uaa/src/test/resources/config/application.yml b/jhipster/jhipster-uaa/uaa/src/test/resources/config/application.yml
index d5389ee223..fc27146486 100644
--- a/jhipster/jhipster-uaa/uaa/src/test/resources/config/application.yml
+++ b/jhipster/jhipster-uaa/uaa/src/test/resources/config/application.yml
@@ -21,6 +21,8 @@ eureka:
instanceId: uaa:${spring.application.instance-id:${random.value}}
spring:
+ main:
+ banner-mode: "off"
application:
name: uaa
cache:
diff --git a/jhipster/pom.xml b/jhipster/pom.xml
index 1703e82e0e..8954ef0703 100644
--- a/jhipster/pom.xml
+++ b/jhipster/pom.xml
@@ -9,7 +9,7 @@
pom
-
parent-boot-1
com.baeldung
@@ -17,11 +17,39 @@
../parent-boot-1
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ ${spring-boot.version}
+
+
+ com.vaadin.external.google
+ android-json
+
+
+ org.json
+ json
+
+
+ test
+
+
+
+
org.hibernate
hibernate-java8
+
+
+ net.bytebuddy
+ byte-buddy
+ ${byte-buddy.version}
+ test
+
@@ -29,5 +57,5 @@
jhipster-microservice
jhipster-uaa
-
+
diff --git a/json-2/src/main/java/com/baeldung/jsontojavaclass/JsonToJavaClassConversion.java b/json-2/src/main/java/com/baeldung/jsontojavaclass/JsonToJavaClassConversion.java
index 65eecd0d38..1b18463856 100644
--- a/json-2/src/main/java/com/baeldung/jsontojavaclass/JsonToJavaClassConversion.java
+++ b/json-2/src/main/java/com/baeldung/jsontojavaclass/JsonToJavaClassConversion.java
@@ -17,7 +17,22 @@ import com.sun.codemodel.JCodeModel;
public class JsonToJavaClassConversion {
- public Object convertJsonToJavaClass(URL inputJson, File outputJavaClassDirectory, String packageName, String className) throws IOException {
+ public static void main(String[] args) {
+ String packageName = "com.baeldung.jsontojavaclass.pojo";
+ String basePath = "src/main/resources";
+ File inputJson = new File(basePath + File.separator + "input.json");
+ File outputPojoDirectory = new File(basePath + File.separator + "convertedPojo");
+ outputPojoDirectory.mkdirs();
+ try {
+ new JsonToJavaClassConversion().convertJsonToJavaClass(inputJson.toURI().toURL(), outputPojoDirectory, packageName, inputJson.getName().replace(".json", ""));
+ } catch (IOException e) {
+ System.out.println("Encountered issue while converting to pojo: " + e.getMessage());
+ e.printStackTrace();
+ }
+ }
+
+
+ public void convertJsonToJavaClass(URL inputJsonUrl, File outputJavaClassDirectory, String packageName, String javaClassName) throws IOException {
JCodeModel jcodeModel = new JCodeModel();
GenerationConfig config = new DefaultGenerationConfig() {
@@ -33,10 +48,9 @@ public class JsonToJavaClassConversion {
};
SchemaMapper mapper = new SchemaMapper(new RuleFactory(config, new Jackson2Annotator(config), new SchemaStore()), new SchemaGenerator());
- mapper.generate(jcodeModel, className, packageName, inputJson);
+ mapper.generate(jcodeModel, javaClassName, packageName, inputJsonUrl);
jcodeModel.build(outputJavaClassDirectory);
- return mapper;
}
}
diff --git a/json-2/src/main/java/com/baeldung/jsontojavaclass/pojo/SamplePojo.java b/json-2/src/main/java/com/baeldung/jsontojavaclass/pojo/SamplePojo.java
index 4c8a719de0..38ebb8a0f8 100644
--- a/json-2/src/main/java/com/baeldung/jsontojavaclass/pojo/SamplePojo.java
+++ b/json-2/src/main/java/com/baeldung/jsontojavaclass/pojo/SamplePojo.java
@@ -5,9 +5,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-
import javax.annotation.Generated;
-
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
@@ -16,7 +14,14 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonInclude(JsonInclude.Include.NON_NULL)
-@JsonPropertyOrder({ "name", "area", "author", "id", "salary", "topics" })
+@JsonPropertyOrder({
+ "name",
+ "area",
+ "author",
+ "id",
+ "salary",
+ "topics"
+})
@Generated("jsonschema2pojo")
public class SamplePojo {
@@ -143,40 +148,37 @@ public class SamplePojo {
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
- sb.append(SamplePojo.class.getName())
- .append('@')
- .append(Integer.toHexString(System.identityHashCode(this)))
- .append('[');
+ sb.append(SamplePojo.class.getName()).append('@').append(Integer.toHexString(System.identityHashCode(this))).append('[');
sb.append("name");
sb.append('=');
- sb.append(((this.name == null) ? "" : this.name));
+ sb.append(((this.name == null)?"":this.name));
sb.append(',');
sb.append("area");
sb.append('=');
- sb.append(((this.area == null) ? "" : this.area));
+ sb.append(((this.area == null)?"":this.area));
sb.append(',');
sb.append("author");
sb.append('=');
- sb.append(((this.author == null) ? "" : this.author));
+ sb.append(((this.author == null)?"":this.author));
sb.append(',');
sb.append("id");
sb.append('=');
- sb.append(((this.id == null) ? "" : this.id));
+ sb.append(((this.id == null)?"":this.id));
sb.append(',');
sb.append("salary");
sb.append('=');
- sb.append(((this.salary == null) ? "" : this.salary));
+ sb.append(((this.salary == null)?"":this.salary));
sb.append(',');
sb.append("topics");
sb.append('=');
- sb.append(((this.topics == null) ? "" : this.topics));
+ sb.append(((this.topics == null)?"":this.topics));
sb.append(',');
sb.append("additionalProperties");
sb.append('=');
- sb.append(((this.additionalProperties == null) ? "" : this.additionalProperties));
+ sb.append(((this.additionalProperties == null)?"":this.additionalProperties));
sb.append(',');
- if (sb.charAt((sb.length() - 1)) == ',') {
- sb.setCharAt((sb.length() - 1), ']');
+ if (sb.charAt((sb.length()- 1)) == ',') {
+ sb.setCharAt((sb.length()- 1), ']');
} else {
sb.append(']');
}
@@ -186,13 +188,13 @@ public class SamplePojo {
@Override
public int hashCode() {
int result = 1;
- result = ((result * 31) + ((this.area == null) ? 0 : this.area.hashCode()));
- result = ((result * 31) + ((this.author == null) ? 0 : this.author.hashCode()));
- result = ((result * 31) + ((this.topics == null) ? 0 : this.topics.hashCode()));
- result = ((result * 31) + ((this.name == null) ? 0 : this.name.hashCode()));
- result = ((result * 31) + ((this.id == null) ? 0 : this.id.hashCode()));
- result = ((result * 31) + ((this.additionalProperties == null) ? 0 : this.additionalProperties.hashCode()));
- result = ((result * 31) + ((this.salary == null) ? 0 : this.salary.hashCode()));
+ result = ((result* 31)+((this.area == null)? 0 :this.area.hashCode()));
+ result = ((result* 31)+((this.author == null)? 0 :this.author.hashCode()));
+ result = ((result* 31)+((this.topics == null)? 0 :this.topics.hashCode()));
+ result = ((result* 31)+((this.name == null)? 0 :this.name.hashCode()));
+ result = ((result* 31)+((this.id == null)? 0 :this.id.hashCode()));
+ result = ((result* 31)+((this.additionalProperties == null)? 0 :this.additionalProperties.hashCode()));
+ result = ((result* 31)+((this.salary == null)? 0 :this.salary.hashCode()));
return result;
}
@@ -205,10 +207,7 @@ public class SamplePojo {
return false;
}
SamplePojo rhs = ((SamplePojo) other);
- return ((((((((this.area == rhs.area) || ((this.area != null) && this.area.equals(rhs.area))) && ((this.author == rhs.author) || ((this.author != null) && this.author.equals(rhs.author))))
- && ((this.topics == rhs.topics) || ((this.topics != null) && this.topics.equals(rhs.topics)))) && ((this.name == rhs.name) || ((this.name != null) && this.name.equals(rhs.name))))
- && ((this.id == rhs.id) || ((this.id != null) && this.id.equals(rhs.id)))) && ((this.additionalProperties == rhs.additionalProperties) || ((this.additionalProperties != null) && this.additionalProperties.equals(rhs.additionalProperties))))
- && ((this.salary == rhs.salary) || ((this.salary != null) && this.salary.equals(rhs.salary))));
+ return ((((((((this.area == rhs.area)||((this.area!= null)&&this.area.equals(rhs.area)))&&((this.author == rhs.author)||((this.author!= null)&&this.author.equals(rhs.author))))&&((this.topics == rhs.topics)||((this.topics!= null)&&this.topics.equals(rhs.topics))))&&((this.name == rhs.name)||((this.name!= null)&&this.name.equals(rhs.name))))&&((this.id == rhs.id)||((this.id!= null)&&this.id.equals(rhs.id))))&&((this.additionalProperties == rhs.additionalProperties)||((this.additionalProperties!= null)&&this.additionalProperties.equals(rhs.additionalProperties))))&&((this.salary == rhs.salary)||((this.salary!= null)&&this.salary.equals(rhs.salary))));
}
}
diff --git a/json-2/src/main/resources/convertedPojo/com/baeldung/jsontojavaclass/pojo/Address.java b/json-2/src/main/resources/convertedPojo/com/baeldung/jsontojavaclass/pojo/Address.java
new file mode 100644
index 0000000000..e3d901edf4
--- /dev/null
+++ b/json-2/src/main/resources/convertedPojo/com/baeldung/jsontojavaclass/pojo/Address.java
@@ -0,0 +1,119 @@
+
+package com.baeldung.jsontojavaclass.pojo;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonPropertyOrder({
+ "city",
+ "country"
+})
+@Generated("jsonschema2pojo")
+public class Address {
+
+ @JsonProperty("city")
+ private String city;
+ @JsonProperty("country")
+ private String country;
+ @JsonIgnore
+ private Map additionalProperties = new HashMap();
+
+ @JsonProperty("city")
+ public String getCity() {
+ return city;
+ }
+
+ @JsonProperty("city")
+ public void setCity(String city) {
+ this.city = city;
+ }
+
+ public Address withCity(String city) {
+ this.city = city;
+ return this;
+ }
+
+ @JsonProperty("country")
+ public String getCountry() {
+ return country;
+ }
+
+ @JsonProperty("country")
+ public void setCountry(String country) {
+ this.country = country;
+ }
+
+ public Address withCountry(String country) {
+ this.country = country;
+ return this;
+ }
+
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+ public Address withAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ return this;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append(Address.class.getName()).append('@').append(Integer.toHexString(System.identityHashCode(this))).append('[');
+ sb.append("city");
+ sb.append('=');
+ sb.append(((this.city == null)?"":this.city));
+ sb.append(',');
+ sb.append("country");
+ sb.append('=');
+ sb.append(((this.country == null)?"":this.country));
+ sb.append(',');
+ sb.append("additionalProperties");
+ sb.append('=');
+ sb.append(((this.additionalProperties == null)?"":this.additionalProperties));
+ sb.append(',');
+ if (sb.charAt((sb.length()- 1)) == ',') {
+ sb.setCharAt((sb.length()- 1), ']');
+ } else {
+ sb.append(']');
+ }
+ return sb.toString();
+ }
+
+ @Override
+ public int hashCode() {
+ int result = 1;
+ result = ((result* 31)+((this.country == null)? 0 :this.country.hashCode()));
+ result = ((result* 31)+((this.additionalProperties == null)? 0 :this.additionalProperties.hashCode()));
+ result = ((result* 31)+((this.city == null)? 0 :this.city.hashCode()));
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == this) {
+ return true;
+ }
+ if ((other instanceof Address) == false) {
+ return false;
+ }
+ Address rhs = ((Address) other);
+ return ((((this.country == rhs.country)||((this.country!= null)&&this.country.equals(rhs.country)))&&((this.additionalProperties == rhs.additionalProperties)||((this.additionalProperties!= null)&&this.additionalProperties.equals(rhs.additionalProperties))))&&((this.city == rhs.city)||((this.city!= null)&&this.city.equals(rhs.city))));
+ }
+
+}
diff --git a/json-2/src/main/resources/convertedPojo/com/baeldung/jsontojavaclass/pojo/Input.java b/json-2/src/main/resources/convertedPojo/com/baeldung/jsontojavaclass/pojo/Input.java
new file mode 100644
index 0000000000..19bee8db4d
--- /dev/null
+++ b/json-2/src/main/resources/convertedPojo/com/baeldung/jsontojavaclass/pojo/Input.java
@@ -0,0 +1,213 @@
+
+package com.baeldung.jsontojavaclass.pojo;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonPropertyOrder({
+ "name",
+ "area",
+ "author",
+ "id",
+ "topics",
+ "address"
+})
+@Generated("jsonschema2pojo")
+public class Input {
+
+ @JsonProperty("name")
+ private String name;
+ @JsonProperty("area")
+ private String area;
+ @JsonProperty("author")
+ private String author;
+ @JsonProperty("id")
+ private Integer id;
+ @JsonProperty("topics")
+ private List topics = new ArrayList();
+ @JsonProperty("address")
+ private Address address;
+ @JsonIgnore
+ private Map additionalProperties = new HashMap();
+
+ @JsonProperty("name")
+ public String getName() {
+ return name;
+ }
+
+ @JsonProperty("name")
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Input withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ @JsonProperty("area")
+ public String getArea() {
+ return area;
+ }
+
+ @JsonProperty("area")
+ public void setArea(String area) {
+ this.area = area;
+ }
+
+ public Input withArea(String area) {
+ this.area = area;
+ return this;
+ }
+
+ @JsonProperty("author")
+ public String getAuthor() {
+ return author;
+ }
+
+ @JsonProperty("author")
+ public void setAuthor(String author) {
+ this.author = author;
+ }
+
+ public Input withAuthor(String author) {
+ this.author = author;
+ return this;
+ }
+
+ @JsonProperty("id")
+ public Integer getId() {
+ return id;
+ }
+
+ @JsonProperty("id")
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public Input withId(Integer id) {
+ this.id = id;
+ return this;
+ }
+
+ @JsonProperty("topics")
+ public List getTopics() {
+ return topics;
+ }
+
+ @JsonProperty("topics")
+ public void setTopics(List topics) {
+ this.topics = topics;
+ }
+
+ public Input withTopics(List topics) {
+ this.topics = topics;
+ return this;
+ }
+
+ @JsonProperty("address")
+ public Address getAddress() {
+ return address;
+ }
+
+ @JsonProperty("address")
+ public void setAddress(Address address) {
+ this.address = address;
+ }
+
+ public Input withAddress(Address address) {
+ this.address = address;
+ return this;
+ }
+
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+ public Input withAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ return this;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append(Input.class.getName()).append('@').append(Integer.toHexString(System.identityHashCode(this))).append('[');
+ sb.append("name");
+ sb.append('=');
+ sb.append(((this.name == null)?"":this.name));
+ sb.append(',');
+ sb.append("area");
+ sb.append('=');
+ sb.append(((this.area == null)?"":this.area));
+ sb.append(',');
+ sb.append("author");
+ sb.append('=');
+ sb.append(((this.author == null)?"":this.author));
+ sb.append(',');
+ sb.append("id");
+ sb.append('=');
+ sb.append(((this.id == null)?"":this.id));
+ sb.append(',');
+ sb.append("topics");
+ sb.append('=');
+ sb.append(((this.topics == null)?"":this.topics));
+ sb.append(',');
+ sb.append("address");
+ sb.append('=');
+ sb.append(((this.address == null)?"":this.address));
+ sb.append(',');
+ sb.append("additionalProperties");
+ sb.append('=');
+ sb.append(((this.additionalProperties == null)?"":this.additionalProperties));
+ sb.append(',');
+ if (sb.charAt((sb.length()- 1)) == ',') {
+ sb.setCharAt((sb.length()- 1), ']');
+ } else {
+ sb.append(']');
+ }
+ return sb.toString();
+ }
+
+ @Override
+ public int hashCode() {
+ int result = 1;
+ result = ((result* 31)+((this.area == null)? 0 :this.area.hashCode()));
+ result = ((result* 31)+((this.address == null)? 0 :this.address.hashCode()));
+ result = ((result* 31)+((this.author == null)? 0 :this.author.hashCode()));
+ result = ((result* 31)+((this.topics == null)? 0 :this.topics.hashCode()));
+ result = ((result* 31)+((this.name == null)? 0 :this.name.hashCode()));
+ result = ((result* 31)+((this.id == null)? 0 :this.id.hashCode()));
+ result = ((result* 31)+((this.additionalProperties == null)? 0 :this.additionalProperties.hashCode()));
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == this) {
+ return true;
+ }
+ if ((other instanceof Input) == false) {
+ return false;
+ }
+ Input rhs = ((Input) other);
+ return ((((((((this.area == rhs.area)||((this.area!= null)&&this.area.equals(rhs.area)))&&((this.address == rhs.address)||((this.address!= null)&&this.address.equals(rhs.address))))&&((this.author == rhs.author)||((this.author!= null)&&this.author.equals(rhs.author))))&&((this.topics == rhs.topics)||((this.topics!= null)&&this.topics.equals(rhs.topics))))&&((this.name == rhs.name)||((this.name!= null)&&this.name.equals(rhs.name))))&&((this.id == rhs.id)||((this.id!= null)&&this.id.equals(rhs.id))))&&((this.additionalProperties == rhs.additionalProperties)||((this.additionalProperties!= null)&&this.additionalProperties.equals(rhs.additionalProperties))));
+ }
+
+}
diff --git a/json-2/src/main/resources/input.json b/json-2/src/main/resources/input.json
new file mode 100644
index 0000000000..22706ede53
--- /dev/null
+++ b/json-2/src/main/resources/input.json
@@ -0,0 +1,16 @@
+{
+ "name": "Baeldung",
+ "area": "tech blogs",
+ "author": "Eugen",
+ "id": 32134,
+ "topics": [
+ "java",
+ "kotlin",
+ "cs",
+ "linux"
+ ],
+ "address": {
+ "city": "Bucharest",
+ "country": "Romania"
+ }
+}
\ No newline at end of file
diff --git a/json-2/src/test/java/com/baeldung/jsontojavaclass/JsonToJavaClassConversionUnitTest.java b/json-2/src/test/java/com/baeldung/jsontojavaclass/JsonToJavaClassConversionUnitTest.java
index 8dbfb14b45..f8000fa6fb 100644
--- a/json-2/src/test/java/com/baeldung/jsontojavaclass/JsonToJavaClassConversionUnitTest.java
+++ b/json-2/src/test/java/com/baeldung/jsontojavaclass/JsonToJavaClassConversionUnitTest.java
@@ -3,6 +3,7 @@ package com.baeldung.jsontojavaclass;
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
+import java.util.Arrays;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
@@ -21,17 +22,16 @@ class JsonToJavaClassConversionUnitTest {
File inputJson = new File(jsonPath + "sample_input.json");
// create the local directory for generating the Java Class file
- String outputPath = "src/main/java/";
+ String outputPath = "src/test/resources/";
File outputJavaClassDirectory = new File(outputPath);
- outputJavaClassDirectory.mkdirs();
- String className = "SamplePojo";
+ String javaClassName = "SamplePojo";
- Object object = jsonToJavaConversion.convertJsonToJavaClass(inputJson.toURI()
- .toURL(), outputJavaClassDirectory, packageName, className);
- System.out.println(object);
+ jsonToJavaConversion.convertJsonToJavaClass(inputJson.toURI()
+ .toURL(), outputJavaClassDirectory, packageName, javaClassName);
- Assertions.assertNotNull(object);
+ File outputJavaClassPath = new File(outputPath + packageName.replace(".", "/"));
+ Assertions.assertTrue(Arrays.stream(outputJavaClassPath.listFiles()).peek(System.out::println).anyMatch(file -> (javaClassName+".java").equalsIgnoreCase(file.getName())));
}
diff --git a/json-2/src/test/resources/com/baeldung/jsontojavaclass/pojo/SamplePojo.java b/json-2/src/test/resources/com/baeldung/jsontojavaclass/pojo/SamplePojo.java
new file mode 100644
index 0000000000..38ebb8a0f8
--- /dev/null
+++ b/json-2/src/test/resources/com/baeldung/jsontojavaclass/pojo/SamplePojo.java
@@ -0,0 +1,213 @@
+
+package com.baeldung.jsontojavaclass.pojo;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.annotation.Generated;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonPropertyOrder({
+ "name",
+ "area",
+ "author",
+ "id",
+ "salary",
+ "topics"
+})
+@Generated("jsonschema2pojo")
+public class SamplePojo {
+
+ @JsonProperty("name")
+ private String name;
+ @JsonProperty("area")
+ private String area;
+ @JsonProperty("author")
+ private String author;
+ @JsonProperty("id")
+ private Integer id;
+ @JsonProperty("salary")
+ private Integer salary;
+ @JsonProperty("topics")
+ private List topics = new ArrayList();
+ @JsonIgnore
+ private Map additionalProperties = new HashMap();
+
+ @JsonProperty("name")
+ public String getName() {
+ return name;
+ }
+
+ @JsonProperty("name")
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public SamplePojo withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ @JsonProperty("area")
+ public String getArea() {
+ return area;
+ }
+
+ @JsonProperty("area")
+ public void setArea(String area) {
+ this.area = area;
+ }
+
+ public SamplePojo withArea(String area) {
+ this.area = area;
+ return this;
+ }
+
+ @JsonProperty("author")
+ public String getAuthor() {
+ return author;
+ }
+
+ @JsonProperty("author")
+ public void setAuthor(String author) {
+ this.author = author;
+ }
+
+ public SamplePojo withAuthor(String author) {
+ this.author = author;
+ return this;
+ }
+
+ @JsonProperty("id")
+ public Integer getId() {
+ return id;
+ }
+
+ @JsonProperty("id")
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public SamplePojo withId(Integer id) {
+ this.id = id;
+ return this;
+ }
+
+ @JsonProperty("salary")
+ public Integer getSalary() {
+ return salary;
+ }
+
+ @JsonProperty("salary")
+ public void setSalary(Integer salary) {
+ this.salary = salary;
+ }
+
+ public SamplePojo withSalary(Integer salary) {
+ this.salary = salary;
+ return this;
+ }
+
+ @JsonProperty("topics")
+ public List getTopics() {
+ return topics;
+ }
+
+ @JsonProperty("topics")
+ public void setTopics(List topics) {
+ this.topics = topics;
+ }
+
+ public SamplePojo withTopics(List topics) {
+ this.topics = topics;
+ return this;
+ }
+
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ @JsonAnySetter
+ public void setAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ }
+
+ public SamplePojo withAdditionalProperty(String name, Object value) {
+ this.additionalProperties.put(name, value);
+ return this;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append(SamplePojo.class.getName()).append('@').append(Integer.toHexString(System.identityHashCode(this))).append('[');
+ sb.append("name");
+ sb.append('=');
+ sb.append(((this.name == null)?"":this.name));
+ sb.append(',');
+ sb.append("area");
+ sb.append('=');
+ sb.append(((this.area == null)?"":this.area));
+ sb.append(',');
+ sb.append("author");
+ sb.append('=');
+ sb.append(((this.author == null)?"":this.author));
+ sb.append(',');
+ sb.append("id");
+ sb.append('=');
+ sb.append(((this.id == null)?"":this.id));
+ sb.append(',');
+ sb.append("salary");
+ sb.append('=');
+ sb.append(((this.salary == null)?"":this.salary));
+ sb.append(',');
+ sb.append("topics");
+ sb.append('=');
+ sb.append(((this.topics == null)?"":this.topics));
+ sb.append(',');
+ sb.append("additionalProperties");
+ sb.append('=');
+ sb.append(((this.additionalProperties == null)?"":this.additionalProperties));
+ sb.append(',');
+ if (sb.charAt((sb.length()- 1)) == ',') {
+ sb.setCharAt((sb.length()- 1), ']');
+ } else {
+ sb.append(']');
+ }
+ return sb.toString();
+ }
+
+ @Override
+ public int hashCode() {
+ int result = 1;
+ result = ((result* 31)+((this.area == null)? 0 :this.area.hashCode()));
+ result = ((result* 31)+((this.author == null)? 0 :this.author.hashCode()));
+ result = ((result* 31)+((this.topics == null)? 0 :this.topics.hashCode()));
+ result = ((result* 31)+((this.name == null)? 0 :this.name.hashCode()));
+ result = ((result* 31)+((this.id == null)? 0 :this.id.hashCode()));
+ result = ((result* 31)+((this.additionalProperties == null)? 0 :this.additionalProperties.hashCode()));
+ result = ((result* 31)+((this.salary == null)? 0 :this.salary.hashCode()));
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == this) {
+ return true;
+ }
+ if ((other instanceof SamplePojo) == false) {
+ return false;
+ }
+ SamplePojo rhs = ((SamplePojo) other);
+ return ((((((((this.area == rhs.area)||((this.area!= null)&&this.area.equals(rhs.area)))&&((this.author == rhs.author)||((this.author!= null)&&this.author.equals(rhs.author))))&&((this.topics == rhs.topics)||((this.topics!= null)&&this.topics.equals(rhs.topics))))&&((this.name == rhs.name)||((this.name!= null)&&this.name.equals(rhs.name))))&&((this.id == rhs.id)||((this.id!= null)&&this.id.equals(rhs.id))))&&((this.additionalProperties == rhs.additionalProperties)||((this.additionalProperties!= null)&&this.additionalProperties.equals(rhs.additionalProperties))))&&((this.salary == rhs.salary)||((this.salary!= null)&&this.salary.equals(rhs.salary))));
+ }
+
+}
diff --git a/ksqldb/README.md b/ksqldb/README.md
new file mode 100644
index 0000000000..53ae7e35b2
--- /dev/null
+++ b/ksqldb/README.md
@@ -0,0 +1,3 @@
+### Relevant Articles:
+
+- [Introduction to ksqlDB](https://www.baeldung.com/ksqldb)
diff --git a/kubernetes/k8s-admission-controller/README.md b/kubernetes/k8s-admission-controller/README.md
index c446ab403d..9c824d76b3 100644
--- a/kubernetes/k8s-admission-controller/README.md
+++ b/kubernetes/k8s-admission-controller/README.md
@@ -1,3 +1,4 @@
## Relevant Articles:
- [Creating a Kubertes Admission Controller in Java](https://www.baeldung.com/java-kubernetes-admission-controller)
+- [Access Control Models](https://www.baeldung.com/java-access-control-models)
diff --git a/libraries-security/pom.xml b/libraries-security/pom.xml
index 0031b7bc06..46e12eb655 100644
--- a/libraries-security/pom.xml
+++ b/libraries-security/pom.xml
@@ -78,6 +78,29 @@
sshd-core
${apache-mina.version}
+
+ org.xacml4j
+ xacml-core
+ ${xacml4j.version}
+
+
+ org.slf4j
+ slf4j-log4j12
+
+
+
+
+ org.xacml4j
+ xacml-test
+ ${xacml4j.version}
+ test
+
+
+ org.slf4j
+ slf4j-log4j12
+
+
+
@@ -90,6 +113,7 @@
0.1.55
2.5.1
2.4.0.RELEASE
+ 1.4.0
\ No newline at end of file
diff --git a/libraries-security/src/main/java/com/baeldung/scribejava/ScribejavaApplication.java b/libraries-security/src/main/java/com/baeldung/scribejava/ScribejavaApplication.java
index bb86c497b0..5b18567b2d 100644
--- a/libraries-security/src/main/java/com/baeldung/scribejava/ScribejavaApplication.java
+++ b/libraries-security/src/main/java/com/baeldung/scribejava/ScribejavaApplication.java
@@ -2,9 +2,11 @@ package com.baeldung.scribejava;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.web.servlet.ServletComponentScan;
@SpringBootApplication
+@ServletComponentScan
public class ScribejavaApplication {
public static void main(String[] args) {
diff --git a/libraries-security/src/main/java/com/baeldung/scribejava/controller/RBACController.java b/libraries-security/src/main/java/com/baeldung/scribejava/controller/RBACController.java
new file mode 100644
index 0000000000..785f6228e8
--- /dev/null
+++ b/libraries-security/src/main/java/com/baeldung/scribejava/controller/RBACController.java
@@ -0,0 +1,27 @@
+package com.baeldung.scribejava.controller;
+
+import java.io.IOException;
+
+import javax.annotation.security.DeclareRoles;
+import javax.annotation.security.RolesAllowed;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.HttpConstraint;
+import javax.servlet.annotation.ServletSecurity;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@WebServlet(name="rbac", urlPatterns = {"/protected"})
+@DeclareRoles("USER")
+@ServletSecurity(
+ @HttpConstraint(rolesAllowed = "USER")
+)
+public class RBACController extends HttpServlet {
+
+ private static final long serialVersionUID = 1L;
+
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ resp.getWriter().println("Hello, USER");
+ }
+}
diff --git a/libraries-security/src/test/java/com/baeldung/xacml4j/NightlyWithdrawalPolicyUnitTest.java b/libraries-security/src/test/java/com/baeldung/xacml4j/NightlyWithdrawalPolicyUnitTest.java
new file mode 100644
index 0000000000..013c78370f
--- /dev/null
+++ b/libraries-security/src/test/java/com/baeldung/xacml4j/NightlyWithdrawalPolicyUnitTest.java
@@ -0,0 +1,233 @@
+package com.baeldung.xacml4j;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.Test;
+import org.xacml4j.v20.Xacml20TestUtility;
+import org.xacml4j.v30.Attribute;
+import org.xacml4j.v30.Categories;
+import org.xacml4j.v30.Category;
+import org.xacml4j.v30.CompositeDecisionRule;
+import org.xacml4j.v30.Decision;
+import org.xacml4j.v30.Entity;
+import org.xacml4j.v30.RequestContext;
+import org.xacml4j.v30.ResponseContext;
+import org.xacml4j.v30.Result;
+import org.xacml4j.v30.XacmlPolicyTestSupport;
+import org.xacml4j.v30.pdp.PolicyDecisionPoint;
+import org.xacml4j.v30.pdp.PolicyDecisionPointBuilder;
+import org.xacml4j.v30.spi.combine.DecisionCombiningAlgorithmProviderBuilder;
+import org.xacml4j.v30.spi.function.FunctionProviderBuilder;
+import org.xacml4j.v30.spi.pip.PolicyInformationPointBuilder;
+import org.xacml4j.v30.spi.repository.InMemoryPolicyRepository;
+import org.xacml4j.v30.spi.repository.PolicyRepository;
+import org.xacml4j.v30.types.DoubleExp;
+import org.xacml4j.v30.types.StringExp;
+import org.xacml4j.v30.types.TimeExp;
+
+public class NightlyWithdrawalPolicyUnitTest extends XacmlPolicyTestSupport {
+
+ private static final String POLICY_SET = "xacml4j/NightlyWithdrawalsPolicy.xml";
+
+ @Test
+ public void testWhenNightlyWithdrawalOver500_thenFail() throws Exception {
+
+ PolicyDecisionPoint pdp = buildPDP(POLICY_SET);
+
+ // Action category
+ Attribute actionAttribute = Attribute.builder("urn:oasis:names:tc:xacml:1.0:action:action-id")
+ .value(StringExp.of("withdrawal"))
+ .build();
+ Entity actionEntity = Entity.builder()
+ .attribute(actionAttribute)
+ .build();
+ Category actionCategory = Category.builder(Categories.ACTION)
+ .entity(actionEntity)
+ .build();
+
+ // Environment Category
+ Attribute timeAttribute = Attribute.builder("urn:oasis:names:tc:xacml:1.0:environment:current-time")
+ .includeInResult(false)
+ .value(TimeExp.of("21:00:00"))
+ .build();
+ Entity timeEntity = Entity.builder()
+ .attribute(timeAttribute)
+ .build();
+
+ Category environmentCategory = Category.builder(Categories.ENVIRONMENT)
+ .entity(timeEntity)
+ .build();
+
+ // ATM category
+ Attribute amountAttribute = Attribute.builder("urn:baeldung:atm:withdrawal:amount")
+ .value(DoubleExp.of("1200.00"))
+ .build();
+ Entity atmEntity = Entity.builder()
+ .attribute(amountAttribute)
+ .build();
+
+ Category atmCategory = Category.builder(Categories.parse("urn:baeldung:atm:withdrawal"))
+ .entity(atmEntity)
+ .build();
+
+ RequestContext request = RequestContext.builder()
+ .attributes(actionCategory, environmentCategory, atmCategory)
+ .build();
+
+ ResponseContext response = pdp.decide(request);
+ assertNotNull(response);
+ assertTrue("Shoud have at least one result", response.getResults() != null && !response.getResults()
+ .isEmpty());
+
+ Result result = response.getResults()
+ .iterator()
+ .next();
+ assertTrue("Evaluation should succeed", result.getStatus()
+ .isSuccess());
+ assertEquals("Should DENY withdrawal", Decision.DENY, result.getDecision());
+
+ }
+
+ @Test
+ public void testWhenNightlyWithdrawalUnder500_thenSuccess() throws Exception {
+
+ PolicyDecisionPoint pdp = buildPDP(POLICY_SET);
+
+ // Action category
+ Attribute actionAttribute = Attribute.builder("urn:oasis:names:tc:xacml:1.0:action:action-id")
+ .includeInResult(false)
+ .value(StringExp.of("withdrawal"))
+ .build();
+ Entity actionEntity = Entity.builder()
+ .attribute(actionAttribute)
+ .build();
+ Category actionCategory = Category.builder(Categories.ACTION)
+ .entity(actionEntity)
+ .build();
+
+ // Environment Category
+ Attribute timeAttribute = Attribute.builder("urn:oasis:names:tc:xacml:1.0:environment:current-time")
+ .includeInResult(false)
+ .value(TimeExp.of("21:00:00"))
+ .build();
+ Entity timeEntity = Entity.builder()
+ .attribute(timeAttribute)
+ .build();
+ Category environmentCategory = Category.builder(Categories.ENVIRONMENT)
+ .entity(timeEntity)
+ .build();
+
+ // ATM category
+ Attribute amountAttribute = Attribute.builder("urn:baeldung:atm:withdrawal:amount")
+ .value(DoubleExp.of("499.00"))
+ .build();
+ Entity atmEntity = Entity.builder()
+ .attribute(amountAttribute)
+ .build();
+ Category atmCategory = Category.builder(Categories.parse("urn:baeldung:atm:withdrawal"))
+ .entity(atmEntity)
+ .build();
+
+ RequestContext request = RequestContext.builder()
+ .attributes(actionCategory, environmentCategory, atmCategory)
+ .build();
+
+ ResponseContext response = pdp.decide(request);
+ assertNotNull(response);
+ assertTrue("Shoud have at least one result",
+ response.getResults() != null && !response.getResults().isEmpty());
+
+ Result result = response.getResults().iterator().next();
+ assertTrue("Evaluation should succeed", result.getStatus().isSuccess());
+ assertEquals("Should PERMIT withdrawal", Decision.PERMIT, result.getDecision());
+
+ }
+
+ @Test
+ public void testWhenBusinessHoursWithdrawalOver500_thenSuccess() throws Exception {
+
+ PolicyDecisionPoint pdp = buildPDP(POLICY_SET);
+
+ // Action category
+ Attribute actionAttribute = Attribute.builder("urn:oasis:names:tc:xacml:1.0:action:action-id")
+ .includeInResult(false)
+ .value(StringExp.of("withdrawal"))
+ .build();
+ Entity actionEntity = Entity.builder()
+ .attribute(actionAttribute)
+ .build();
+ Category actionCategory = Category.builder(Categories.ACTION)
+ .entity(actionEntity)
+ .build();
+
+ // Environment Category
+ Attribute timeAttribute = Attribute.builder("urn:oasis:names:tc:xacml:1.0:environment:current-time")
+ .includeInResult(false)
+ .value(TimeExp.of("12:00:00"))
+ .build();
+ Entity timeEntity = Entity.builder()
+ .attribute(timeAttribute)
+ .build();
+ Category environmentCategory = Category.builder(Categories.ENVIRONMENT)
+ .entity(timeEntity)
+ .build();
+
+ // ATM category
+ Attribute amountAttribute = Attribute.builder("urn:baeldung:atm:withdrawal:amount")
+ .value(DoubleExp.of("2000.00"))
+ .build();
+ Entity atmEntity = Entity.builder()
+ .attribute(amountAttribute)
+ .build();
+
+ Category atmCategory = Category.builder(Categories.parse("urn:baeldung:atm:withdrawal"))
+ .entity(atmEntity)
+ .build();
+
+ RequestContext request = RequestContext.builder()
+ .attributes(actionCategory, environmentCategory, atmCategory)
+ .build();
+
+ ResponseContext response = pdp.decide(request);
+ assertNotNull(response);
+ assertTrue("Shoud have at least one result", response.getResults() != null && !response.getResults()
+ .isEmpty());
+
+ Result result = response.getResults()
+ .iterator()
+ .next();
+ assertTrue("Evaluation should succeed", result.getStatus().isSuccess());
+ assertEquals("Should PERMIT withdrawal", Decision.PERMIT, result.getDecision());
+
+ }
+
+ private PolicyDecisionPoint buildPDP(String... policyResources) throws Exception {
+ PolicyRepository repository = new InMemoryPolicyRepository("tes-repository", FunctionProviderBuilder.builder()
+ .defaultFunctions()
+ .build(),
+ DecisionCombiningAlgorithmProviderBuilder.builder()
+ .withDefaultAlgorithms()
+ .create());
+
+ List policies = new ArrayList(policyResources.length);
+ for (String policyResource : policyResources) {
+ CompositeDecisionRule policy = repository.importPolicy(Xacml20TestUtility.getClasspathResource(policyResource));
+ log.info("Policy: {}", policy);
+ policies.add(policy);
+ }
+
+ return PolicyDecisionPointBuilder.builder("testPdp")
+ .policyRepository(repository)
+ .pip(PolicyInformationPointBuilder.builder("testPip")
+ .defaultResolvers()
+ .build())
+ .rootPolicy(policies.get(0))
+ .build();
+ }
+
+}
diff --git a/libraries-security/src/test/resources/xacml4j/NightlyWithdrawalsPolicy.xml b/libraries-security/src/test/resources/xacml4j/NightlyWithdrawalsPolicy.xml
new file mode 100644
index 0000000000..163df47f36
--- /dev/null
+++ b/libraries-security/src/test/resources/xacml4j/NightlyWithdrawalsPolicy.xml
@@ -0,0 +1,137 @@
+
+
+
+ Withdrawal policy example
+
+
+
+
+Deny withdrawals over $500 between 20:00 and 08:00
+
+
+
+
+
+ withdrawal
+
+
+
+
+
+
+
+
+
+
+
+
+ 08:00:00
+ 20:00:00
+
+
+
+
+
+
+ 500.00
+
+
+
+
+
+
+Permit withdrawals under $500 between 20:00 and 08:00
+
+
+
+
+
+ withdrawal
+
+
+
+
+
+
+
+
+
+
+
+
+ 08:00:00
+ 20:00:00
+
+
+
+
+
+
+ 500.00
+
+
+
+
+
+
+Permit withdrawals of any value between 08:00 and 20:00
+
+
+
+
+
+ withdrawal
+
+
+
+
+
+
+
+
+
+
+ 08:00:00
+ 20:00:00
+
+
+
+
+
diff --git a/libraries-security/src/test/resources/xacml4j/Request.xml b/libraries-security/src/test/resources/xacml4j/Request.xml
new file mode 100644
index 0000000000..105c7ad02f
--- /dev/null
+++ b/libraries-security/src/test/resources/xacml4j/Request.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+ withdrawal
+
+
+
+
+ 21:00:00
+
+
+
+
+ 1200
+
+
+
\ No newline at end of file
diff --git a/libraries-security/src/test/resources/xacml4j/Response.xml b/libraries-security/src/test/resources/xacml4j/Response.xml
new file mode 100644
index 0000000000..f82b16080d
--- /dev/null
+++ b/libraries-security/src/test/resources/xacml4j/Response.xml
@@ -0,0 +1,9 @@
+
+
+
+ NotApplicable
+
+
+
+
+
diff --git a/libraries/pom.xml b/libraries/pom.xml
index ffb2b09699..59e79f0775 100644
--- a/libraries/pom.xml
+++ b/libraries/pom.xml
@@ -40,6 +40,11 @@
javatuples
${javatuples.version}
+
+ org.javassist
+ javassist
+ ${javaassist.version}
+
org.assertj
@@ -51,42 +56,6 @@
javers-core
${javers.version}
-
- net.serenity-bdd
- serenity-core
- ${serenity.version}
- test
-
-
- org.asciidoctor
- asciidoctorj
-
-
-
-
- net.serenity-bdd
- serenity-junit
- ${serenity.version}
- test
-
-
- net.serenity-bdd
- serenity-jbehave
- ${serenity.jbehave.version}
- test
-
-
- net.serenity-bdd
- serenity-rest-assured
- ${serenity.version}
- test
-
-
- net.serenity-bdd
- serenity-jira-requirements-provider
- ${serenity.jira.version}
- test
-
org.datanucleus
@@ -139,30 +108,6 @@
spring-web
${spring.version}
-
- net.serenity-bdd
- serenity-spring
- ${serenity.version}
- test
-
-
- org.springframework
- spring-test
-
-
-
-
- net.serenity-bdd
- serenity-screenplay
- ${serenity.version}
- test
-
-
- net.serenity-bdd
- serenity-screenplay-webdriver
- ${serenity.version}
- test
-
org.lucee
@@ -253,29 +198,6 @@
-
- maven-failsafe-plugin
- ${maven-failsafe-plugin.version}
-
-
- chromedriver
-
-
-
-
- net.serenity-bdd.maven.plugins
- serenity-maven-plugin
- ${serenity.plugin.version}
-
-
- serenity-reports
- post-integration-test
-
- aggregate
-
-
-
-
org.datanucleus
@@ -380,6 +302,7 @@
4.3.8.RELEASE
3.0.3
2.3.0
+ 3.21.0-GA
0.9.12
3.0.2
3.6
diff --git a/libraries/serenity.properties b/libraries/serenity.properties
deleted file mode 100644
index c77df9c0f7..0000000000
--- a/libraries/serenity.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-jira.url=
-jira.project=
-jira.username=
-jira.password=
\ No newline at end of file
diff --git a/maven-modules/maven-parent-pom-resolution/README.md b/maven-modules/maven-parent-pom-resolution/README.md
new file mode 100644
index 0000000000..6f72b5e70b
--- /dev/null
+++ b/maven-modules/maven-parent-pom-resolution/README.md
@@ -0,0 +1,3 @@
+### Relevant Articles:
+
+- [Understanding the "relativePath" Tag - Maven Parent POM Resolution At A Glance](https://www.baeldung.com/maven-relativepath)
diff --git a/maven-modules/maven-parent-pom-resolution/aggregator/module1/pom.xml b/maven-modules/maven-parent-pom-resolution/aggregator/module1/pom.xml
new file mode 100644
index 0000000000..01b522748f
--- /dev/null
+++ b/maven-modules/maven-parent-pom-resolution/aggregator/module1/pom.xml
@@ -0,0 +1,15 @@
+
+
+ 4.0.0
+ module1
+
+ com.baeldung.maven-parent-pom-resolution
+ aggregator
+ 1.0.0-SNAPSHOT
+
+
+ pom
+
+
diff --git a/maven-modules/maven-parent-pom-resolution/aggregator/module2/module3/pom.xml b/maven-modules/maven-parent-pom-resolution/aggregator/module2/module3/pom.xml
new file mode 100644
index 0000000000..da0193be10
--- /dev/null
+++ b/maven-modules/maven-parent-pom-resolution/aggregator/module2/module3/pom.xml
@@ -0,0 +1,17 @@
+
+
+ 4.0.0
+ module3
+
+ com.baeldung.maven-parent-pom-resolution
+ aggregator
+ 1.0.0-SNAPSHOT
+
+
+ ../../pom.xml
+
+ pom
+
+
diff --git a/maven-modules/maven-parent-pom-resolution/aggregator/module2/pom.xml b/maven-modules/maven-parent-pom-resolution/aggregator/module2/pom.xml
new file mode 100644
index 0000000000..bf9c89ecf4
--- /dev/null
+++ b/maven-modules/maven-parent-pom-resolution/aggregator/module2/pom.xml
@@ -0,0 +1,20 @@
+
+
+ 4.0.0
+ module2
+
+ com.baeldung.maven-parent-pom-resolution
+ module1
+ 1.0.0-SNAPSHOT
+ ../module1/pom.xml
+
+
+ pom
+
+
+ module3
+
+
+
diff --git a/maven-modules/maven-parent-pom-resolution/aggregator/pom.xml b/maven-modules/maven-parent-pom-resolution/aggregator/pom.xml
new file mode 100644
index 0000000000..0067dfc009
--- /dev/null
+++ b/maven-modules/maven-parent-pom-resolution/aggregator/pom.xml
@@ -0,0 +1,21 @@
+
+
+ 4.0.0
+ com.baeldung.maven-parent-pom-resolution
+ aggregator
+
+ com.baeldung
+ maven-parent-pom-resolution
+ 1.0.0-SNAPSHOT
+
+
+ pom
+
+
+ module1
+ module2
+
+
+
diff --git a/maven-modules/maven-parent-pom-resolution/pom.xml b/maven-modules/maven-parent-pom-resolution/pom.xml
new file mode 100644
index 0000000000..d5a96c0998
--- /dev/null
+++ b/maven-modules/maven-parent-pom-resolution/pom.xml
@@ -0,0 +1,28 @@
+
+
+ 4.0.0
+ com.baeldung
+ maven-parent-pom-resolution
+ 1.0.0-SNAPSHOT
+ pom
+
+
+ aggregator
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 3.2.0
+
+
+
+
+
+
diff --git a/maven-modules/maven-properties/pom.xml b/maven-modules/maven-properties/pom.xml
index 2cd92da42f..9454664c3f 100644
--- a/maven-modules/maven-properties/pom.xml
+++ b/maven-modules/maven-properties/pom.xml
@@ -13,12 +13,12 @@
1.0.0-SNAPSHOT
../..
-
+
junit
junit
- 4.13
+ ${junit.version}
@@ -46,6 +46,7 @@
${project.name}
property-from-pom
+ 4.13
-
\ No newline at end of file
+
diff --git a/maven-modules/maven-surefire-plugin/README.md b/maven-modules/maven-surefire-plugin/README.md
new file mode 100644
index 0000000000..63cf5ade3b
--- /dev/null
+++ b/maven-modules/maven-surefire-plugin/README.md
@@ -0,0 +1,3 @@
+## Relevant Articles:
+
+- [Running a Single Test or Method With Maven](https://www.baeldung.com/maven-run-single-test)
diff --git a/maven-modules/pom.xml b/maven-modules/pom.xml
index a0c45234d2..fe3bbd2653 100644
--- a/maven-modules/pom.xml
+++ b/maven-modules/pom.xml
@@ -36,6 +36,7 @@
host-maven-repo-example
plugin-management
maven-surefire-plugin
+ maven-parent-pom-resolution
diff --git a/parent-spring-5/pom.xml b/parent-spring-5/pom.xml
index 6bedf9fb67..c4446ddda8 100644
--- a/parent-spring-5/pom.xml
+++ b/parent-spring-5/pom.xml
@@ -30,7 +30,7 @@
- 5.3.7
+ 5.3.9
5.2.3.RELEASE
1.5.10.RELEASE
diff --git a/patterns/design-patterns-architectural/README.md b/patterns/design-patterns-architectural/README.md
index a8a5a98b88..bb11eea5e1 100644
--- a/patterns/design-patterns-architectural/README.md
+++ b/patterns/design-patterns-architectural/README.md
@@ -3,3 +3,4 @@
- [The DAO Pattern in Java](https://www.baeldung.com/java-dao-pattern)
- [DAO vs Repository Patterns](https://www.baeldung.com/java-dao-vs-repository)
- [Difference Between MVC and MVP Patterns](https://www.baeldung.com/mvc-vs-mvp-pattern)
+- [The DTO Pattern (Data Transfer Object)](https://www.baeldung.com/java-dto-pattern)
diff --git a/patterns/design-patterns-architectural/pom.xml b/patterns/design-patterns-architectural/pom.xml
index c917744757..02716d7a10 100644
--- a/patterns/design-patterns-architectural/pom.xml
+++ b/patterns/design-patterns-architectural/pom.xml
@@ -15,6 +15,21 @@
+
+ org.springframework.boot
+ spring-boot-starter-web
+ ${spring-boot.version}
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ ${spring-boot.version}
+
+
+ io.rest-assured
+ rest-assured
+ ${rest-assured.version}
+
org.assertj
assertj-core
@@ -38,6 +53,9 @@
3.9.1
5.2.16.Final
6.0.6
+ 2.5.3
+ 3.3.0
+
\ No newline at end of file
diff --git a/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/Main.java b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/Main.java
new file mode 100644
index 0000000000..3177c06c46
--- /dev/null
+++ b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/Main.java
@@ -0,0 +1,12 @@
+package com.baeldung.dtopattern;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class Main {
+ public static void main(String[] args) {
+ SpringApplication.run(Main.class, args);
+ }
+}
+
diff --git a/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/api/Mapper.java b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/api/Mapper.java
new file mode 100644
index 0000000000..3440dad23c
--- /dev/null
+++ b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/api/Mapper.java
@@ -0,0 +1,28 @@
+package com.baeldung.dtopattern.api;
+
+import com.baeldung.dtopattern.domain.Role;
+import com.baeldung.dtopattern.domain.User;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static java.util.stream.Collectors.toList;
+
+@Component
+class Mapper {
+ public UserDTO toDto(User user) {
+ String name = user.getName();
+ List roles = user
+ .getRoles()
+ .stream()
+ .map(Role::getName)
+ .collect(toList());
+
+ return new UserDTO(name, roles);
+ }
+
+ public User toUser(UserCreationDTO userDTO) {
+ return new User(userDTO.getName(), userDTO.getPassword(), new ArrayList<>());
+ }
+}
diff --git a/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/api/UserController.java b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/api/UserController.java
new file mode 100644
index 0000000000..2abd483c81
--- /dev/null
+++ b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/api/UserController.java
@@ -0,0 +1,51 @@
+package com.baeldung.dtopattern.api;
+
+import com.baeldung.dtopattern.domain.RoleService;
+import com.baeldung.dtopattern.domain.User;
+import com.baeldung.dtopattern.domain.UserService;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+import static java.util.stream.Collectors.toList;
+
+@RestController
+@RequestMapping("/users")
+class UserController {
+
+ private UserService userService;
+ private RoleService roleService;
+ private Mapper mapper;
+
+ public UserController(UserService userService, RoleService roleService, Mapper mapper) {
+ this.userService = userService;
+ this.roleService = roleService;
+ this.mapper = mapper;
+ }
+
+ @GetMapping
+ @ResponseBody
+ public List getUsers() {
+ return userService.getAll()
+ .stream()
+ .map(mapper::toDto)
+ .collect(toList());
+ }
+
+
+ @PostMapping
+ @ResponseBody
+ public UserIdDTO create(@RequestBody UserCreationDTO userDTO) {
+ User user = mapper.toUser(userDTO);
+
+ userDTO.getRoles()
+ .stream()
+ .map(role -> roleService.getOrCreate(role))
+ .forEach(user::addRole);
+
+ userService.save(user);
+
+ return new UserIdDTO(user.getId());
+ }
+
+}
diff --git a/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/api/UserCreationDTO.java b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/api/UserCreationDTO.java
new file mode 100644
index 0000000000..47786a9f15
--- /dev/null
+++ b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/api/UserCreationDTO.java
@@ -0,0 +1,36 @@
+package com.baeldung.dtopattern.api;
+
+import java.util.List;
+
+public class UserCreationDTO {
+
+ private String name;
+ private String password;
+ private List roles;
+
+ UserCreationDTO() {}
+
+ public String getName() {
+ return name;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public List getRoles() {
+ return roles;
+ }
+
+ void setName(String name) {
+ this.name = name;
+ }
+
+ void setPassword(String password) {
+ this.password = password;
+ }
+
+ void setRoles(List roles) {
+ this.roles = roles;
+ }
+}
diff --git a/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/api/UserDTO.java b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/api/UserDTO.java
new file mode 100644
index 0000000000..c00de0077b
--- /dev/null
+++ b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/api/UserDTO.java
@@ -0,0 +1,22 @@
+package com.baeldung.dtopattern.api;
+
+import java.util.List;
+
+public class UserDTO {
+ private String name;
+ private List roles;
+
+ public UserDTO(String name, List roles) {
+ this.name = name;
+ this.roles = roles;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public List getRoles() {
+ return roles;
+ }
+
+}
diff --git a/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/api/UserIdDTO.java b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/api/UserIdDTO.java
new file mode 100644
index 0000000000..33bd336a4f
--- /dev/null
+++ b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/api/UserIdDTO.java
@@ -0,0 +1,14 @@
+package com.baeldung.dtopattern.api;
+
+public class UserIdDTO {
+
+ private String id;
+
+ public UserIdDTO(String id) {
+ this.id = id;
+ }
+
+ public String getId() {
+ return id;
+ }
+}
diff --git a/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/InMemoryRepository.java b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/InMemoryRepository.java
new file mode 100644
index 0000000000..e138b51328
--- /dev/null
+++ b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/InMemoryRepository.java
@@ -0,0 +1,49 @@
+package com.baeldung.dtopattern.domain;
+
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+
+@Service
+class InMemoryRepository implements UserRepository, RoleRepository {
+
+ private Map users = new LinkedHashMap<>();
+ private Map roles = new LinkedHashMap<>();
+
+ @Override
+ public List getAll() {
+ return new ArrayList<>(users.values());
+ }
+
+ @Override
+ public void save(User user) {
+ user.setId(UUID.randomUUID().toString());
+ users.put(user.getId(), user);
+ }
+
+ @Override
+ public void save(Role role) {
+ role.setId(UUID.randomUUID().toString());
+ roles.put(role.getId(), role);
+ }
+
+ @Override
+ public Role getRoleById(String id) {
+ return roles.get(id);
+ }
+
+ @Override
+ public Role getRoleByName(String name) {
+ return roles.values()
+ .stream()
+ .filter(role -> role.getName().equalsIgnoreCase(name))
+ .findFirst()
+ .orElse(null);
+ }
+
+ @Override
+ public void deleteAll() {
+ users.clear();
+ roles.clear();
+ }
+}
diff --git a/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/Role.java b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/Role.java
new file mode 100644
index 0000000000..fa049421f8
--- /dev/null
+++ b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/Role.java
@@ -0,0 +1,28 @@
+package com.baeldung.dtopattern.domain;
+
+import java.util.Objects;
+
+public class Role {
+ private String id;
+ private String name;
+
+ public Role(String name) {
+ this.name = Objects.requireNonNull(name);
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ void setId(String id) {
+ this.id = Objects.requireNonNull(id);
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = Objects.requireNonNull(name);
+ }
+}
diff --git a/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/RoleRepository.java b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/RoleRepository.java
new file mode 100644
index 0000000000..1e4383672b
--- /dev/null
+++ b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/RoleRepository.java
@@ -0,0 +1,7 @@
+package com.baeldung.dtopattern.domain;
+
+public interface RoleRepository {
+ Role getRoleById(String id);
+ Role getRoleByName(String name);
+ void save(Role role);
+}
diff --git a/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/RoleService.java b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/RoleService.java
new file mode 100644
index 0000000000..f1d6b639cb
--- /dev/null
+++ b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/RoleService.java
@@ -0,0 +1,32 @@
+package com.baeldung.dtopattern.domain;
+
+import org.springframework.stereotype.Service;
+
+import java.util.Objects;
+
+@Service
+public class RoleService {
+
+ private RoleRepository repository;
+
+ public RoleService(RoleRepository repository) {
+ this.repository = repository;
+ }
+
+ public Role getOrCreate(String name) {
+ Role role = repository.getRoleByName(name);
+
+ if (role == null) {
+ role = new Role(name);
+ repository.save(role);
+ }
+
+ return role;
+ }
+
+ public void save(Role role) {
+ Objects.requireNonNull(role);
+ repository.save(role);
+ }
+
+}
diff --git a/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/User.java b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/User.java
new file mode 100644
index 0000000000..fcc7629910
--- /dev/null
+++ b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/User.java
@@ -0,0 +1,80 @@
+package com.baeldung.dtopattern.domain;
+
+import javax.crypto.*;
+import javax.crypto.spec.SecretKeySpec;
+import java.nio.charset.StandardCharsets;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
+import java.util.Collections;
+import java.util.List;
+import java.util.Objects;
+
+public class User {
+
+ private static SecretKeySpec KEY = initKey();
+
+ static SecretKeySpec initKey(){
+ try {
+ SecretKey secretKey = KeyGenerator.getInstance("AES").generateKey();
+ return new SecretKeySpec(secretKey.getEncoded(), "AES");
+ } catch (NoSuchAlgorithmException ex) {
+ return null;
+ }
+ }
+
+ private String id;
+ private String name;
+ private String password;
+ private List roles;
+
+ public User(String name, String password, List roles) {
+ this.name = Objects.requireNonNull(name);
+ this.password = this.encrypt(password);
+ this.roles = Objects.requireNonNull(roles);
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public void addRole(Role role) {
+ roles.add(role);
+ }
+
+ public List getRoles() {
+ return Collections.unmodifiableList(roles);
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ void setId(String id) {
+ this.id = id;
+ }
+
+ String encrypt(String password) {
+ Objects.requireNonNull(password);
+ try {
+ Cipher cipher = Cipher.getInstance("AES");
+ cipher.init(Cipher.ENCRYPT_MODE, KEY);
+ final byte[] encryptedBytes = cipher.doFinal(password.getBytes(StandardCharsets.UTF_8));
+ return new String(encryptedBytes, StandardCharsets.UTF_8);
+ } catch (NoSuchAlgorithmException | NoSuchPaddingException | InvalidKeyException | IllegalBlockSizeException | BadPaddingException e) {
+ // do nothing
+ return "";
+ }
+ }
+}
diff --git a/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/UserRepository.java b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/UserRepository.java
new file mode 100644
index 0000000000..fe62c6c70e
--- /dev/null
+++ b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/UserRepository.java
@@ -0,0 +1,9 @@
+package com.baeldung.dtopattern.domain;
+
+import java.util.List;
+
+public interface UserRepository {
+ List getAll();
+ void save(User user);
+ void deleteAll();
+}
diff --git a/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/UserService.java b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/UserService.java
new file mode 100644
index 0000000000..ec65d61823
--- /dev/null
+++ b/patterns/design-patterns-architectural/src/main/java/com/baeldung/dtopattern/domain/UserService.java
@@ -0,0 +1,25 @@
+package com.baeldung.dtopattern.domain;
+
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Objects;
+
+@Service
+public class UserService {
+
+ private UserRepository repository;
+
+ public UserService(UserRepository repository) {
+ this.repository = repository;
+ }
+
+ public List getAll() {
+ return repository.getAll();
+ }
+
+ public void save(User user) {
+ Objects.requireNonNull(user);
+ repository.save(user);
+ }
+}
diff --git a/patterns/design-patterns-architectural/src/test/java/com/baeldung/dtopattern/api/MapperUnitTest.java b/patterns/design-patterns-architectural/src/test/java/com/baeldung/dtopattern/api/MapperUnitTest.java
new file mode 100644
index 0000000000..97ccad1feb
--- /dev/null
+++ b/patterns/design-patterns-architectural/src/test/java/com/baeldung/dtopattern/api/MapperUnitTest.java
@@ -0,0 +1,56 @@
+package com.baeldung.dtopattern.api;
+
+import com.baeldung.dtopattern.domain.Role;
+import com.baeldung.dtopattern.domain.User;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class MapperUnitTest {
+
+ @Test
+ void toDto_shouldMapFromDomainToDTO() {
+ String name = "Test";
+ String password = "test";
+ Role admin = new Role("admin");
+ List expectedRoles = Collections.singletonList("admin");
+
+ List roles = new ArrayList<>();
+ roles.add(admin);
+
+ User user = new User(name, password, roles);
+ Mapper mapper = new Mapper();
+
+ UserDTO dto = mapper.toDto(user);
+
+ assertEquals(name, dto.getName());
+ assertEquals(expectedRoles, dto.getRoles());
+ }
+
+ @Test
+ void toUser_shouldMapFromDTOToDomain() {
+ String name = "Test";
+ String password = "test";
+ String role = "admin";
+
+ UserCreationDTO dto = new UserCreationDTO();
+ dto.setName(name);
+ dto.setPassword(password);
+ dto.setRoles(Collections.singletonList("admin"));
+
+ User expectedUser = new User(name, password, new ArrayList<>());
+
+ Mapper mapper = new Mapper();
+
+ User user = mapper.toUser(dto);
+
+ assertEquals(name, user.getName());
+ assertEquals(expectedUser.getPassword(), user.getPassword());
+ assertEquals(Collections.emptyList(), user.getRoles());
+ }
+
+}
\ No newline at end of file
diff --git a/patterns/design-patterns-architectural/src/test/java/com/baeldung/dtopattern/api/UserControllerIntegrationTest.java b/patterns/design-patterns-architectural/src/test/java/com/baeldung/dtopattern/api/UserControllerIntegrationTest.java
new file mode 100644
index 0000000000..13739f4c83
--- /dev/null
+++ b/patterns/design-patterns-architectural/src/test/java/com/baeldung/dtopattern/api/UserControllerIntegrationTest.java
@@ -0,0 +1,80 @@
+package com.baeldung.dtopattern.api;
+
+import com.baeldung.dtopattern.domain.Role;
+import com.baeldung.dtopattern.domain.RoleRepository;
+import com.baeldung.dtopattern.domain.User;
+import com.baeldung.dtopattern.domain.UserRepository;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import io.restassured.http.ContentType;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.web.client.TestRestTemplate;
+import org.springframework.boot.web.server.LocalServerPort;
+
+import java.util.Collections;
+
+import static io.restassured.RestAssured.given;
+import static org.hamcrest.CoreMatchers.*;
+import static org.springframework.http.HttpStatus.OK;
+
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+class UserControllerIntegrationTest {
+
+ @Autowired
+ private TestRestTemplate restTemplate;
+
+ @Autowired
+ private UserRepository userRepository;
+
+ @Autowired
+ private RoleRepository roleRepository;
+
+ @LocalServerPort
+ int port;
+
+ @Autowired
+ private ObjectMapper objectMapper;
+
+ @Test
+ void create_shouldReturnUseId() throws Exception {
+ UserCreationDTO request = new UserCreationDTO();
+ request.setName("User 1");
+ request.setPassword("Test@123456");
+ request.setRoles(Collections.singletonList("admin"));
+
+ given()
+ .contentType(ContentType.JSON)
+ .body(objectMapper.writeValueAsString(request))
+ .when()
+ .port(port)
+ .post("/users")
+ .then()
+ .statusCode(OK.value())
+ .body("id", notNullValue());
+ }
+
+ @Test
+ void getAll_shouldReturnUseDTO() {
+
+ userRepository.deleteAll();
+
+ String roleName = "admin";
+ Role admin = new Role(roleName);
+ roleRepository.save(admin);
+
+ String name = "User 1";
+ User user = new User(name, "Test@123456", Collections.singletonList(admin));
+ userRepository.save(user);
+
+ given()
+ .port(port)
+ .when()
+ .get("/users")
+ .then()
+ .statusCode(OK.value())
+ .body("size()", is(1))
+ .body("[0].name", equalTo(name))
+ .body("[0].roles", hasItem(roleName));
+ }
+}
diff --git a/patterns/design-patterns-architectural/src/test/java/com/baeldung/dtopattern/domain/InMemoryRepositoryUnitTest.java b/patterns/design-patterns-architectural/src/test/java/com/baeldung/dtopattern/domain/InMemoryRepositoryUnitTest.java
new file mode 100644
index 0000000000..8b05e962fa
--- /dev/null
+++ b/patterns/design-patterns-architectural/src/test/java/com/baeldung/dtopattern/domain/InMemoryRepositoryUnitTest.java
@@ -0,0 +1,83 @@
+package com.baeldung.dtopattern.domain;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+class InMemoryRepositoryUnitTest {
+
+ @Test
+ void getAll_shouldReturnAllUsers() {
+
+ String name = "Test";
+ String password = "test123";
+ List roles = new ArrayList<>();
+
+ User user = new User(name, password, roles);
+ List expectedUsers = Collections.singletonList(user);
+
+ InMemoryRepository repository = new InMemoryRepository();
+ repository.save(user);
+
+ List users = repository.getAll();
+
+ assertEquals(expectedUsers, users);
+ }
+
+ @Test
+ void save_whenSavingUser_shouldSetId() {
+ String name = "Test";
+ String password = "test123";
+ List roles = new ArrayList<>();
+
+ User user = new User(name, password, roles);
+
+ InMemoryRepository repository = new InMemoryRepository();
+ repository.save(user);
+
+ assertNotNull(user.getId());
+ }
+
+ @Test
+ void save_whenSavingRole_shouldSetId() {
+ String name = "Test";
+ Role role = new Role(name);
+
+ InMemoryRepository repository = new InMemoryRepository();
+ repository.save(role);
+
+ assertNotNull(role.getId());
+ }
+
+ @Test
+ void getRoleById_shouldReturnRoleById() {
+ String name = "Test";
+ Role expectedRole = new Role(name);
+
+ InMemoryRepository repository = new InMemoryRepository();
+ repository.save(expectedRole);
+
+ Role role = repository.getRoleById(expectedRole.getId());
+
+ assertEquals(expectedRole, role);
+ }
+
+ @Test
+ void getRoleByName_shouldReturnRoleByName() {
+ String name = "Test";
+ Role expectedRole = new Role(name);
+
+ InMemoryRepository repository = new InMemoryRepository();
+ repository.save(expectedRole);
+
+ Role role = repository.getRoleByName(name);
+
+ assertEquals(expectedRole, role);
+ }
+
+}
\ No newline at end of file
diff --git a/patterns/design-patterns-architectural/src/test/java/com/baeldung/dtopattern/domain/UserUnitTest.java b/patterns/design-patterns-architectural/src/test/java/com/baeldung/dtopattern/domain/UserUnitTest.java
new file mode 100644
index 0000000000..9ee0568a0d
--- /dev/null
+++ b/patterns/design-patterns-architectural/src/test/java/com/baeldung/dtopattern/domain/UserUnitTest.java
@@ -0,0 +1,38 @@
+package com.baeldung.dtopattern.domain;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class UserUnitTest {
+
+
+ @Test
+ void whenUserIsCreated_shouldEncryptPassword() {
+ User user = new User("Test", "test", new ArrayList<>());
+
+ assertEquals(user.encrypt("test"), user.getPassword());
+ assertNotEquals(user.encrypt("Test"), user.getPassword());
+ }
+
+ @Test
+ void whenUserIsCreated_shouldFailIfNameIsNull() {
+ assertThrows(NullPointerException.class, () ->
+ new User(null, "test", new ArrayList<>()));
+ }
+
+ @Test
+ void whenUserIsCreated_shouldFailIfPasswordIsNull() {
+ assertThrows(NullPointerException.class, () ->
+ new User("Test", null, new ArrayList<>()));
+ }
+
+ @Test
+ void whenUserIsCreated_shouldFailIfRolesIsNull() {
+ assertThrows(NullPointerException.class, () ->
+ new User("Test", "Test", null));
+ }
+
+}
diff --git a/persistence-modules/java-jpa-3/README.md b/persistence-modules/java-jpa-3/README.md
index c024d7c540..202c97a830 100644
--- a/persistence-modules/java-jpa-3/README.md
+++ b/persistence-modules/java-jpa-3/README.md
@@ -13,3 +13,5 @@ This module contains articles about the Java Persistence API (JPA) in Java.
- [Returning an Auto-Generated Id with JPA](https://www.baeldung.com/jpa-get-auto-generated-id)
- [How to Return Multiple Entities In JPA Query](https://www.baeldung.com/jpa-return-multiple-entities)
- [Defining Unique Constraints in JPA](https://www.baeldung.com/jpa-unique-constraints)
+- [How to Check Field Existence in MongoDB?](https://www.baeldung.com/mongodb-check-field-exists)
+- [Connecting to a Specific Schema in JDBC](https://www.baeldung.com/jdbc-connect-to-schema)
diff --git a/persistence-modules/spring-data-mongodb-reactive/README.md b/persistence-modules/spring-data-mongodb-reactive/README.md
index 0931161700..4fbdb87785 100644
--- a/persistence-modules/spring-data-mongodb-reactive/README.md
+++ b/persistence-modules/spring-data-mongodb-reactive/README.md
@@ -8,5 +8,3 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring
### Relevant Articles
- [Spring Data Reactive Repositories with MongoDB](https://www.baeldung.com/spring-data-mongodb-reactive)
- [Spring Data MongoDB Tailable Cursors](https://www.baeldung.com/spring-data-mongodb-tailable-cursors)
-- [A Quick Look at R2DBC with Spring Data](https://www.baeldung.com/spring-data-r2dbc)
-- [Spring Data Reactive Repositories with Couchbase](https://www.baeldung.com/spring-data-reactive-couchbase)
diff --git a/pom.xml b/pom.xml
index 059c6dae25..b94283277b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1410,7 +1410,7 @@
1.2
2.3.1
1.2
- 2.11.1
+ 2.12.4
1.4
1.2.0
5.2.0
diff --git a/reactor-core/README.md b/reactor-core/README.md
index f7c36f5897..a4ced49096 100644
--- a/reactor-core/README.md
+++ b/reactor-core/README.md
@@ -11,3 +11,4 @@ This module contains articles about Reactor Core.
- [How to Convert Mono> Into Flux](https://www.baeldung.com/java-mono-list-to-flux)
- [Project Reactor: map() vs flatMap()](https://www.baeldung.com/java-reactor-map-flatmap)
- [What Does Mono.defer() Do?](https://www.baeldung.com/java-mono-defer)
+- [Handling Exceptions in Project Reactor](https://www.baeldung.com/reactor-exceptions)
diff --git a/reactor-core/pom.xml b/reactor-core/pom.xml
index 6bd725b3b5..c13dda63d5 100644
--- a/reactor-core/pom.xml
+++ b/reactor-core/pom.xml
@@ -41,8 +41,8 @@
- 3.3.9.RELEASE
+ 3.4.9
3.6.1
-
\ No newline at end of file
+
diff --git a/reactor-core/src/test/java/com/baeldung/reactor/exception/ExceptionUnitTest.java b/reactor-core/src/test/java/com/baeldung/reactor/exception/ExceptionUnitTest.java
new file mode 100644
index 0000000000..d1d2b3c4d6
--- /dev/null
+++ b/reactor-core/src/test/java/com/baeldung/reactor/exception/ExceptionUnitTest.java
@@ -0,0 +1,89 @@
+package com.baeldung.reactor.exception;
+
+import org.junit.Test;
+import org.reactivestreams.Publisher;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+import reactor.core.publisher.SynchronousSink;
+import reactor.test.StepVerifier;
+
+import java.util.function.BiConsumer;
+import java.util.function.Function;
+
+public class ExceptionUnitTest {
+ @Test
+ public void givenInvalidElement_whenPipelineThrowsException_thenErrorIsSentDownstream() {
+ Function mapper = input -> {
+ if (input.matches("\\D")) {
+ throw new NumberFormatException();
+ } else {
+ return Integer.parseInt(input);
+ }
+ };
+
+ Flux inFlux = Flux.just("1", "1.5", "2");
+ Flux outFlux = inFlux.map(mapper);
+
+ StepVerifier.create(outFlux)
+ .expectNext(1)
+ .expectError(NumberFormatException.class)
+ .verify();
+ }
+
+ @Test
+ public void givenInvalidElement_whenHandleCallsSinkErrorMethod_thenErrorIsSentDownstream() {
+ BiConsumer> handler = (input, sink) -> {
+ if (input.matches("\\D")) {
+ sink.error(new NumberFormatException());
+ } else {
+ sink.next(Integer.parseInt(input));
+ }
+ };
+
+ Flux inFlux = Flux.just("1", "1.5", "2");
+ Flux outFlux = inFlux.handle(handler);
+
+ StepVerifier.create(outFlux)
+ .expectNext(1)
+ .expectError(NumberFormatException.class)
+ .verify();
+ }
+
+ @Test
+ public void givenInvalidElement_whenFlatMapCallsMonoErrorMethod_thenErrorIsSentDownstream() {
+ Function> mapper = input -> {
+ if (input.matches("\\D")) {
+ return Mono.error(new NumberFormatException());
+ } else {
+ return Mono.just(Integer.parseInt(input));
+ }
+ };
+
+ Flux inFlux = Flux.just("1", "1.5", "2");
+ Flux outFlux = inFlux.flatMap(mapper);
+
+ StepVerifier.create(outFlux)
+ .expectNext(1)
+ .expectError(NumberFormatException.class)
+ .verify();
+ }
+
+ @Test
+ public void givenNullElement_whenPipelineOperatorExecutes_thenNpeIsSentDownstream() {
+ Function mapper = input -> {
+ if (input == null) {
+ return 0;
+ } else {
+ return Integer.parseInt(input);
+ }
+ };
+
+ Flux inFlux = Flux.just("1", null, "2");
+ Flux outFlux = inFlux.map(mapper);
+
+ StepVerifier.create(outFlux)
+ .expectNext(1)
+ .expectError(NullPointerException.class)
+ .verify();
+ }
+}
diff --git a/spring-5-data-reactive/README.md b/spring-5-data-reactive/README.md
index 0931161700..ecb6d01267 100644
--- a/spring-5-data-reactive/README.md
+++ b/spring-5-data-reactive/README.md
@@ -6,7 +6,5 @@ This module contains articles about reactive Spring 5 Data
The "REST With Spring" Classes: http://bit.ly/restwithspring
### Relevant Articles
-- [Spring Data Reactive Repositories with MongoDB](https://www.baeldung.com/spring-data-mongodb-reactive)
-- [Spring Data MongoDB Tailable Cursors](https://www.baeldung.com/spring-data-mongodb-tailable-cursors)
- [A Quick Look at R2DBC with Spring Data](https://www.baeldung.com/spring-data-r2dbc)
- [Spring Data Reactive Repositories with Couchbase](https://www.baeldung.com/spring-data-reactive-couchbase)
diff --git a/spring-kafka/README.md b/spring-kafka/README.md
index 2b71beaac9..0be741b393 100644
--- a/spring-kafka/README.md
+++ b/spring-kafka/README.md
@@ -8,6 +8,7 @@ This module contains articles about Spring with Kafka
- [Testing Kafka and Spring Boot](https://www.baeldung.com/spring-boot-kafka-testing)
- [Monitor the Consumer Lag in Apache Kafka](https://www.baeldung.com/java-kafka-consumer-lag)
- [Send Large Messages With Kafka](https://www.baeldung.com/java-kafka-send-large-message)
+- [Configuring Kafka SSL Using Spring Boot](https://www.baeldung.com/spring-boot-kafka-ssl)
### Intro
diff --git a/spring-kafka/pom.xml b/spring-kafka/pom.xml
index 2db62044b2..ed3767029e 100644
--- a/spring-kafka/pom.xml
+++ b/spring-kafka/pom.xml
@@ -28,6 +28,10 @@
com.fasterxml.jackson.core
jackson-databind
+
+ org.projectlombok
+ lombok
+
org.springframework.kafka
spring-kafka-test
@@ -41,9 +45,15 @@
test
- commons-collections
- commons-collections
- 3.2.1
+ org.testcontainers
+ junit-jupiter
+ ${testcontainers-kafka.version}
+ test
+
+
+ org.awaitility
+ awaitility
+ test
diff --git a/spring-kafka/src/main/java/com/baeldung/kafka/ssl/KafkaConsumer.java b/spring-kafka/src/main/java/com/baeldung/kafka/ssl/KafkaConsumer.java
new file mode 100644
index 0000000000..77df74b6c9
--- /dev/null
+++ b/spring-kafka/src/main/java/com/baeldung/kafka/ssl/KafkaConsumer.java
@@ -0,0 +1,25 @@
+package com.baeldung.kafka.ssl;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.kafka.clients.consumer.ConsumerRecord;
+import org.springframework.kafka.annotation.KafkaListener;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Component
+@Slf4j
+public class KafkaConsumer {
+
+ public static final String TOPIC = "test-topic";
+
+ public final List messages = new ArrayList<>();
+
+ @KafkaListener(topics = TOPIC)
+ public void receive(ConsumerRecord consumerRecord) {
+ log.info("Received payload: '{}'", consumerRecord.toString());
+ messages.add(consumerRecord.value());
+ }
+
+}
diff --git a/spring-kafka/src/main/java/com/baeldung/kafka/ssl/KafkaProducer.java b/spring-kafka/src/main/java/com/baeldung/kafka/ssl/KafkaProducer.java
new file mode 100644
index 0000000000..895d437c6b
--- /dev/null
+++ b/spring-kafka/src/main/java/com/baeldung/kafka/ssl/KafkaProducer.java
@@ -0,0 +1,23 @@
+package com.baeldung.kafka.ssl;
+
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.kafka.core.KafkaTemplate;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@AllArgsConstructor
+@Component
+public class KafkaProducer {
+
+ private final KafkaTemplate kafkaTemplate;
+
+ public void sendMessage(String message, String topic) {
+ log.info("Producing message: {}", message);
+ kafkaTemplate.send(topic, "key", message)
+ .addCallback(
+ result -> log.info("Message sent to topic: {}", message),
+ ex -> log.error("Failed to send message", ex)
+ );
+ }
+}
diff --git a/spring-kafka/src/main/java/com/baeldung/kafka/ssl/KafkaSslApplication.java b/spring-kafka/src/main/java/com/baeldung/kafka/ssl/KafkaSslApplication.java
new file mode 100644
index 0000000000..ae6df5bee2
--- /dev/null
+++ b/spring-kafka/src/main/java/com/baeldung/kafka/ssl/KafkaSslApplication.java
@@ -0,0 +1,15 @@
+package com.baeldung.kafka.ssl;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+@EnableAutoConfiguration
+public class KafkaSslApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(KafkaSslApplication.class, args);
+ }
+
+}
diff --git a/spring-kafka/src/main/resources/application-ssl.yml b/spring-kafka/src/main/resources/application-ssl.yml
new file mode 100644
index 0000000000..8974e62a4c
--- /dev/null
+++ b/spring-kafka/src/main/resources/application-ssl.yml
@@ -0,0 +1,18 @@
+spring:
+ kafka:
+ security:
+ protocol: "SSL"
+ bootstrap-servers: localhost:9093
+ ssl:
+ trust-store-location: classpath:/client-certs/kafka.client.truststore.jks
+ trust-store-password: password
+ key-store-location: classpath:/client-certs/kafka.client.keystore.jks
+ key-store-password: password
+ consumer:
+ group-id: demo-group-id
+ auto-offset-reset: earliest
+ key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
+ value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
+ producer:
+ key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
+ value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
\ No newline at end of file
diff --git a/spring-kafka/src/test/java/com/baeldung/kafka/ssl/KafkaSslApplicationLiveTest.java b/spring-kafka/src/test/java/com/baeldung/kafka/ssl/KafkaSslApplicationLiveTest.java
new file mode 100644
index 0000000000..e05298face
--- /dev/null
+++ b/spring-kafka/src/test/java/com/baeldung/kafka/ssl/KafkaSslApplicationLiveTest.java
@@ -0,0 +1,54 @@
+package com.baeldung.kafka.ssl;
+
+import lombok.extern.slf4j.Slf4j;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.ActiveProfiles;
+import org.testcontainers.containers.DockerComposeContainer;
+import org.testcontainers.containers.wait.strategy.Wait;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+
+import java.io.File;
+import java.time.Duration;
+import java.util.UUID;
+
+import static com.baeldung.kafka.ssl.KafkaConsumer.TOPIC;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.awaitility.Awaitility.await;
+
+@Slf4j
+@ActiveProfiles("ssl")
+@Testcontainers
+@SpringBootTest(classes = KafkaSslApplication.class)
+class KafkaSslApplicationLiveTest {
+
+ private static final File KAFKA_COMPOSE_FILE = new File("src/test/resources/docker/docker-compose.yml");
+ private static final String KAFKA_SERVICE = "kafka";
+ private static final int SSL_PORT = 9093;
+
+ @Container
+ public DockerComposeContainer> container =
+ new DockerComposeContainer<>(KAFKA_COMPOSE_FILE)
+ .withExposedService(KAFKA_SERVICE, SSL_PORT, Wait.forListeningPort());
+
+ @Autowired
+ private KafkaProducer kafkaProducer;
+
+ @Autowired
+ private KafkaConsumer kafkaConsumer;
+
+ @Test
+ void givenSslIsConfigured_whenProducerSendsMessageOverSsl_thenConsumerReceivesOverSsl() {
+ String message = generateSampleMessage();
+ kafkaProducer.sendMessage(message, TOPIC);
+
+ await().atMost(Duration.ofMinutes(2))
+ .untilAsserted(() -> assertThat(kafkaConsumer.messages).containsExactly(message));
+ }
+
+ private static String generateSampleMessage() {
+ return UUID.randomUUID().toString();
+ }
+}
diff --git a/spring-kafka/src/test/resources/client-certs/kafka.client.keystore.jks b/spring-kafka/src/test/resources/client-certs/kafka.client.keystore.jks
new file mode 100644
index 0000000000..62ddfe199d
Binary files /dev/null and b/spring-kafka/src/test/resources/client-certs/kafka.client.keystore.jks differ
diff --git a/spring-kafka/src/test/resources/client-certs/kafka.client.truststore.jks b/spring-kafka/src/test/resources/client-certs/kafka.client.truststore.jks
new file mode 100644
index 0000000000..2b07327b13
Binary files /dev/null and b/spring-kafka/src/test/resources/client-certs/kafka.client.truststore.jks differ
diff --git a/spring-kafka/src/test/resources/docker/certs/kafka.server.keystore.jks b/spring-kafka/src/test/resources/docker/certs/kafka.server.keystore.jks
new file mode 100644
index 0000000000..c038ad86b9
Binary files /dev/null and b/spring-kafka/src/test/resources/docker/certs/kafka.server.keystore.jks differ
diff --git a/spring-kafka/src/test/resources/docker/certs/kafka.server.truststore.jks b/spring-kafka/src/test/resources/docker/certs/kafka.server.truststore.jks
new file mode 100644
index 0000000000..1ec806b50d
Binary files /dev/null and b/spring-kafka/src/test/resources/docker/certs/kafka.server.truststore.jks differ
diff --git a/spring-kafka/src/test/resources/docker/certs/kafka_keystore_credentials b/spring-kafka/src/test/resources/docker/certs/kafka_keystore_credentials
new file mode 100644
index 0000000000..7aa311adf9
--- /dev/null
+++ b/spring-kafka/src/test/resources/docker/certs/kafka_keystore_credentials
@@ -0,0 +1 @@
+password
\ No newline at end of file
diff --git a/spring-kafka/src/test/resources/docker/certs/kafka_sslkey_credentials b/spring-kafka/src/test/resources/docker/certs/kafka_sslkey_credentials
new file mode 100644
index 0000000000..7aa311adf9
--- /dev/null
+++ b/spring-kafka/src/test/resources/docker/certs/kafka_sslkey_credentials
@@ -0,0 +1 @@
+password
\ No newline at end of file
diff --git a/spring-kafka/src/test/resources/docker/certs/kafka_truststore_credentials b/spring-kafka/src/test/resources/docker/certs/kafka_truststore_credentials
new file mode 100644
index 0000000000..7aa311adf9
--- /dev/null
+++ b/spring-kafka/src/test/resources/docker/certs/kafka_truststore_credentials
@@ -0,0 +1 @@
+password
\ No newline at end of file
diff --git a/spring-kafka/src/test/resources/docker/docker-compose.yml b/spring-kafka/src/test/resources/docker/docker-compose.yml
new file mode 100644
index 0000000000..d65dd58b19
--- /dev/null
+++ b/spring-kafka/src/test/resources/docker/docker-compose.yml
@@ -0,0 +1,30 @@
+---
+version: '2'
+services:
+ zookeeper:
+ image: confluentinc/cp-zookeeper:6.2.0
+ environment:
+ ZOOKEEPER_CLIENT_PORT: 2181
+ ZOOKEEPER_TICK_TIME: 2000
+
+ kafka:
+ image: confluentinc/cp-kafka:6.2.0
+ depends_on:
+ - zookeeper
+ ports:
+ - 9092:9092
+ - 9093:9093
+ environment:
+ KAFKA_BROKER_ID: 1
+ KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+ KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092,SSL://localhost:9093
+ KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
+ KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
+ KAFKA_SSL_CLIENT_AUTH: "required"
+ KAFKA_SSL_KEYSTORE_FILENAME: '/certs/kafka.server.keystore.jks'
+ KAFKA_SSL_KEYSTORE_CREDENTIALS: '/certs/kafka_keystore_credentials'
+ KAFKA_SSL_KEY_CREDENTIALS: '/certs/kafka_sslkey_credentials'
+ KAFKA_SSL_TRUSTSTORE_FILENAME: '/certs/kafka.server.truststore.jks'
+ KAFKA_SSL_TRUSTSTORE_CREDENTIALS: '/certs/kafka_truststore_credentials'
+ volumes:
+ - ./certs/:/etc/kafka/secrets/certs
diff --git a/spring-kafka/src/test/resources/logback.xml b/spring-kafka/src/test/resources/logback-test.xml
similarity index 56%
rename from spring-kafka/src/test/resources/logback.xml
rename to spring-kafka/src/test/resources/logback-test.xml
index 7d900d8ea8..74f126ebc1 100644
--- a/spring-kafka/src/test/resources/logback.xml
+++ b/spring-kafka/src/test/resources/logback-test.xml
@@ -10,4 +10,10 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-web-modules/spring-mvc-xml/src/test/java/com/baeldung/geoip/GeoIpIntegrationTest.java b/spring-web-modules/spring-mvc-xml/src/test/java/com/baeldung/geoip/GeoIpManualTest.java
similarity index 66%
rename from spring-web-modules/spring-mvc-xml/src/test/java/com/baeldung/geoip/GeoIpIntegrationTest.java
rename to spring-web-modules/spring-mvc-xml/src/test/java/com/baeldung/geoip/GeoIpManualTest.java
index 0aa23842b1..99a76099b2 100644
--- a/spring-web-modules/spring-mvc-xml/src/test/java/com/baeldung/geoip/GeoIpIntegrationTest.java
+++ b/spring-web-modules/spring-mvc-xml/src/test/java/com/baeldung/geoip/GeoIpManualTest.java
@@ -10,13 +10,18 @@ import com.maxmind.geoip2.DatabaseReader;
import com.maxmind.geoip2.exception.GeoIp2Exception;
import com.maxmind.geoip2.model.CityResponse;
-public class GeoIpIntegrationTest {
+public class GeoIpManualTest {
@Test
public void givenIP_whenFetchingCity_thenReturnsCityData() throws IOException, GeoIp2Exception {
ClassLoader classLoader = getClass().getClassLoader();
- File database = new File(classLoader.getResource("GeoLite2-City.mmdb").getFile());
+ /**
+ * Download the db file as shown in the article https://www.baeldung.com/geolocation-by-ip-with-maxmind,
+ * then replace the "your-path-to-db-file" string in the test with the file path before running the test
+ * HINT : Copy the downloaded file at spring-web-modules/spring-mvc-xml/src/test/resources/GeoLite2-City.mmdb
+ * **/
+ File database = new File("your-path-to-db-file");
DatabaseReader dbReader = new DatabaseReader.Builder(database).build();
InetAddress ipAddress = InetAddress.getByName("google.com");
diff --git a/spring-websockets/README.md b/spring-websockets/README.md
index 9cc84f0fda..7d69c21b78 100644
--- a/spring-websockets/README.md
+++ b/spring-websockets/README.md
@@ -6,3 +6,4 @@ This module contains articles about Spring WebSockets.
- [Intro to WebSockets with Spring](https://www.baeldung.com/websockets-spring)
- [A Quick Example of Spring Websockets’ @SendToUser Annotation](https://www.baeldung.com/spring-websockets-sendtouser)
- [Scheduled WebSocket Push with Spring Boot](https://www.baeldung.com/spring-boot-scheduled-websocket)
+- [Test WebSocket APIs With Postman](https://www.baeldung.com/postman-websocket-apis)
diff --git a/spring-websockets/src/main/java/com/baeldung/rawwebsocket/ServerWebSocketConfig.java b/spring-websockets/src/main/java/com/baeldung/rawwebsocket/ServerWebSocketConfig.java
new file mode 100644
index 0000000000..5218140d2c
--- /dev/null
+++ b/spring-websockets/src/main/java/com/baeldung/rawwebsocket/ServerWebSocketConfig.java
@@ -0,0 +1,23 @@
+package com.baeldung.rawwebsocket;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.socket.WebSocketHandler;
+import org.springframework.web.socket.config.annotation.EnableWebSocket;
+import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
+import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;
+
+@Configuration
+@EnableWebSocket
+public class ServerWebSocketConfig implements WebSocketConfigurer {
+
+ @Override
+ public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
+ registry.addHandler(webSocketHandler(), "/websocket");
+ }
+
+ @Bean
+ public WebSocketHandler webSocketHandler() {
+ return new ServerWebSocketHandler();
+ }
+}
diff --git a/spring-websockets/src/main/java/com/baeldung/rawwebsocket/ServerWebSocketHandler.java b/spring-websockets/src/main/java/com/baeldung/rawwebsocket/ServerWebSocketHandler.java
new file mode 100644
index 0000000000..ed1ac8edc3
--- /dev/null
+++ b/spring-websockets/src/main/java/com/baeldung/rawwebsocket/ServerWebSocketHandler.java
@@ -0,0 +1,72 @@
+package com.baeldung.rawwebsocket;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.web.socket.CloseStatus;
+import org.springframework.web.socket.SubProtocolCapable;
+import org.springframework.web.socket.TextMessage;
+import org.springframework.web.socket.WebSocketSession;
+import org.springframework.web.socket.handler.TextWebSocketHandler;
+import org.springframework.web.util.HtmlUtils;
+
+import java.io.IOException;
+import java.time.LocalTime;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+import java.util.concurrent.CopyOnWriteArraySet;
+
+public class ServerWebSocketHandler extends TextWebSocketHandler implements SubProtocolCapable {
+
+ private static final Logger logger = LoggerFactory.getLogger(ServerWebSocketHandler.class);
+
+ private final Set sessions = new CopyOnWriteArraySet<>();
+
+ @Override
+ public void afterConnectionEstablished(WebSocketSession session) throws Exception {
+ logger.info("Server connection opened");
+ sessions.add(session);
+
+ TextMessage message = new TextMessage("one-time message from server");
+ logger.info("Server sends: {}", message);
+ session.sendMessage(message);
+ }
+
+ @Override
+ public void afterConnectionClosed(WebSocketSession session, CloseStatus status) {
+ logger.info("Server connection closed: {}", status);
+ sessions.remove(session);
+ }
+
+ @Scheduled(fixedRate = 10000)
+ void sendPeriodicMessages() throws IOException {
+ for (WebSocketSession session : sessions) {
+ if (session.isOpen()) {
+ String broadcast = "server periodic message " + LocalTime.now();
+ logger.info("Server sends: {}", broadcast);
+ session.sendMessage(new TextMessage(broadcast));
+ }
+ }
+ }
+
+ @Override
+ public void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
+ String request = message.getPayload();
+ logger.info("Server received: {}", request);
+
+ String response = String.format("response from server to '%s'", HtmlUtils.htmlEscape(request));
+ logger.info("Server sends: {}", response);
+ session.sendMessage(new TextMessage(response));
+ }
+
+ @Override
+ public void handleTransportError(WebSocketSession session, Throwable exception) {
+ logger.info("Server transport error: {}", exception.getMessage());
+ }
+
+ @Override
+ public List getSubProtocols() {
+ return Collections.singletonList("subprotocol.demo.websocket");
+ }
+}
diff --git a/testing-modules/junit-5-advanced/README.md b/testing-modules/junit-5-advanced/README.md
index 4a31292683..5d70e6f058 100644
--- a/testing-modules/junit-5-advanced/README.md
+++ b/testing-modules/junit-5-advanced/README.md
@@ -3,3 +3,4 @@
- [JUnit 5 TestWatcher API](https://www.baeldung.com/junit-testwatcher)
- [JUnit Custom Display Name Generator API](https://www.baeldung.com/junit-custom-display-name-generator)
- [@TestInstance Annotation in JUnit 5](https://www.baeldung.com/junit-testinstance-annotation)
+- [Run JUnit Test Cases From the Command Line](https://www.baeldung.com/junit-run-from-command-line)
diff --git a/vaadin/src/main/webapp/VAADIN/themes/mytheme/styles.css b/vaadin/src/main/webapp/VAADIN/themes/mytheme/styles.css
deleted file mode 100644
index 75bf26f498..0000000000
--- a/vaadin/src/main/webapp/VAADIN/themes/mytheme/styles.css
+++ /dev/null
@@ -1,12986 +0,0 @@
-/**
- * Checks if a list contains a certain value.
- *
- * @param {list} $list - the list to check
- * @param {value} $var - the value to search for
- * @param {bool} $recursive (false) - should any contained lists be checked for the value
- *
- * @return {bool} true if the value is found from the list, false otherwise
- *
- * @group lists
- */
-
-/**
- * Cross-browser opacity.
- *
- * @param {number} $value - opacity value from 0 to 1
- * @param {bool} $important (false) - should the property value be declared with !important
- *
- * @group util
- */
-
-@-webkit-keyframes valo-animate-in-fade {
- 0% {
- opacity: 0;
- }
- }
-
-@-moz-keyframes valo-animate-in-fade {
- 0% {
- opacity: 0;
- }
- }
-
-@keyframes valo-animate-in-fade {
- 0% {
- opacity: 0;
- }
- }
-
-@-webkit-keyframes valo-animate-out-fade {
- 100% {
- opacity: 0;
- }
- }
-
-@-moz-keyframes valo-animate-out-fade {
- 100% {
- opacity: 0;
- }
- }
-
-@keyframes valo-animate-out-fade {
- 100% {
- opacity: 0;
- }
- }
-
-@-webkit-keyframes valo-animate-in-slide-down {
- 0% {
- -webkit-transform: translateY(-100%);
- }
- }
-
-@-moz-keyframes valo-animate-in-slide-down {
- 0% {
- -moz-transform: translateY(-100%);
- }
- }
-
-@keyframes valo-animate-in-slide-down {
- 0% {
- -webkit-transform: translateY(-100%);
- -moz-transform: translateY(-100%);
- -ms-transform: translateY(-100%);
- -o-transform: translateY(-100%);
- transform: translateY(-100%);
- }
- }
-
-@-webkit-keyframes valo-animate-in-slide-up {
- 0% {
- -webkit-transform: translateY(100%);
- }
- }
-
-@-moz-keyframes valo-animate-in-slide-up {
- 0% {
- -moz-transform: translateY(100%);
- }
- }
-
-@keyframes valo-animate-in-slide-up {
- 0% {
- -webkit-transform: translateY(100%);
- -moz-transform: translateY(100%);
- -ms-transform: translateY(100%);
- -o-transform: translateY(100%);
- transform: translateY(100%);
- }
- }
-
-@-webkit-keyframes valo-animate-in-slide-left {
- 0% {
- -webkit-transform: translateX(100%);
- }
- }
-
-@-moz-keyframes valo-animate-in-slide-left {
- 0% {
- -moz-transform: translateX(100%);
- }
- }
-
-@keyframes valo-animate-in-slide-left {
- 0% {
- -webkit-transform: translateX(100%);
- -moz-transform: translateX(100%);
- -ms-transform: translateX(100%);
- -o-transform: translateX(100%);
- transform: translateX(100%);
- }
- }
-
-@-webkit-keyframes valo-animate-in-slide-right {
- 0% {
- -webkit-transform: translateX(-100%);
- }
- }
-
-@-moz-keyframes valo-animate-in-slide-right {
- 0% {
- -moz-transform: translateX(-100%);
- }
- }
-
-@keyframes valo-animate-in-slide-right {
- 0% {
- -webkit-transform: translateX(-100%);
- -moz-transform: translateX(-100%);
- -ms-transform: translateX(-100%);
- -o-transform: translateX(-100%);
- transform: translateX(-100%);
- }
- }
-
-@-webkit-keyframes valo-animate-out-slide-down {
- 100% {
- -webkit-transform: translateY(100%);
- }
- }
-
-@-moz-keyframes valo-animate-out-slide-down {
- 100% {
- -moz-transform: translateY(100%);
- }
- }
-
-@keyframes valo-animate-out-slide-down {
- 100% {
- -webkit-transform: translateY(100%);
- -moz-transform: translateY(100%);
- -ms-transform: translateY(100%);
- -o-transform: translateY(100%);
- transform: translateY(100%);
- }
- }
-
-@-webkit-keyframes valo-animate-out-slide-up {
- 100% {
- -webkit-transform: translateY(-100%);
- }
- }
-
-@-moz-keyframes valo-animate-out-slide-up {
- 100% {
- -moz-transform: translateY(-100%);
- }
- }
-
-@keyframes valo-animate-out-slide-up {
- 100% {
- -webkit-transform: translateY(-100%);
- -moz-transform: translateY(-100%);
- -ms-transform: translateY(-100%);
- -o-transform: translateY(-100%);
- transform: translateY(-100%);
- }
- }
-
-@-webkit-keyframes valo-animate-out-slide-left {
- 100% {
- -webkit-transform: translateX(-100%);
- }
- }
-
-@-moz-keyframes valo-animate-out-slide-left {
- 100% {
- -moz-transform: translateX(-100%);
- }
- }
-
-@keyframes valo-animate-out-slide-left {
- 100% {
- -webkit-transform: translateX(-100%);
- -moz-transform: translateX(-100%);
- -ms-transform: translateX(-100%);
- -o-transform: translateX(-100%);
- transform: translateX(-100%);
- }
- }
-
-@-webkit-keyframes valo-animate-out-slide-right {
- 100% {
- -webkit-transform: translateX(100%);
- }
- }
-
-@-moz-keyframes valo-animate-out-slide-right {
- 100% {
- -moz-transform: translateX(100%);
- }
- }
-
-@keyframes valo-animate-out-slide-right {
- 100% {
- -webkit-transform: translateX(100%);
- -moz-transform: translateX(100%);
- -ms-transform: translateX(100%);
- -o-transform: translateX(100%);
- transform: translateX(100%);
- }
- }
-
-@-webkit-keyframes valo-overlay-animate-in {
- 0% {
- -webkit-transform: translatey(-4px);
- opacity: 0;
- }
- }
-
-@-moz-keyframes valo-overlay-animate-in {
- 0% {
- -moz-transform: translatey(-4px);
- opacity: 0;
- }
- }
-
-@keyframes valo-overlay-animate-in {
- 0% {
- -webkit-transform: translatey(-4px);
- -moz-transform: translatey(-4px);
- -ms-transform: translatey(-4px);
- -o-transform: translatey(-4px);
- transform: translatey(-4px);
- opacity: 0;
- }
- }
-
-@-webkit-keyframes valo-animate-out-slide-down-fade {
- 100% {
- opacity: 0;
- -webkit-transform: translatey(30%);
- }
- }
-
-@-moz-keyframes valo-animate-out-slide-down-fade {
- 100% {
- opacity: 0;
- -moz-transform: translatey(30%);
- }
- }
-
-@keyframes valo-animate-out-slide-down-fade {
- 100% {
- opacity: 0;
- -webkit-transform: translatey(30%);
- -moz-transform: translatey(30%);
- -ms-transform: translatey(30%);
- -o-transform: translatey(30%);
- transform: translatey(30%);
- }
- }
-
-/**
- * Outputs cross-browser Valo-specific linear gradient background-image declarations.
- *
- * @group style
- *
- * @param {color} $color ($v-background-color) - The base color for the gradient color stops
- * @param {list} $gradient ($v-gradient) - Valo-specific gradient value. See the documentation for $v-gradient.
- * @param {color} $fallback (null) - A fallback color for browser which do not support linear gradients (IE8 and IE9 in particular). If null, the base $color is used instead.
- * @param {string} $direction (to bottom) - the direction of the linear gradient. The color stops are by default so that a lighter shade is at the start and a darker shade is at the end.
- */
-
-/**
- * Computes a CSS border property value for the given base color.
- *
- * @group style
- *
- * @param {list} $border ($v-border) - CSS border value which can contain any of the color keywords
- * @param {color} $color ($v-background-color) - the base color to which the color keywords are applied to
- * @param {color} $context (null) - context/surrounding color where the border is expected to appear. The color of the final border is the darker of the two parameters passed to this function.
- * @param {number} $strength (1) - adjustment for the border contrast
- *
- * @return {list} The input $border value with any color keyword replaced with the corresponding actual color
- */
-
-/**
- * Ouput selectors and properties to vertically center elements inside their parent.
- *
- * @param {string} $to-align (()) - The selector to match the elements which you wish to align vertically. The targeted elements should be inline or inline-block elements.
- * @param {string} $align (middle) - The vertical-align value, e.g. top, middle, bottom
- * @param {string} $pseudo-element (after) - Which pseudo element to use for the vertical align guide
- *
- * @group util
- */
-
-@font-face {
- font-family: ThemeIcons;
- font-weight: normal;
- font-style: normal;
- src: url(../valo/util/bourbon/css3/../../../../base/fonts/themeicons-webfont.eot);
- src: url(../valo/util/bourbon/css3/../../../../base/fonts/themeicons-webfont.eot?#iefix) format("embedded-opentype"), url(../valo/util/bourbon/css3/../../../../base/fonts/themeicons-webfont.woff) format("woff"), url(../valo/util/bourbon/css3/../../../../base/fonts/themeicons-webfont.ttf) format("truetype"), url(../valo/util/bourbon/css3/../../../../base/fonts/themeicons-webfont.svg#ThemeIcons) format("svg");
-}
-
-.ThemeIcons {
- font-family: ThemeIcons;
- font-style: normal;
- font-weight: normal;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- display: inline-block;
- text-align: center;
-}
-
-@font-face {
- font-family: FontAwesome;
- font-weight: normal;
- font-style: normal;
- src: url(../valo/util/bourbon/css3/../../../../base/fonts/fontawesome-webfont.eot);
- src: url(../valo/util/bourbon/css3/../../../../base/fonts/fontawesome-webfont.eot?#iefix) format("embedded-opentype"), url(../valo/util/bourbon/css3/../../../../base/fonts/fontawesome-webfont.woff) format("woff"), url(../valo/util/bourbon/css3/../../../../base/fonts/fontawesome-webfont.ttf) format("truetype"), url(../valo/util/bourbon/css3/../../../../base/fonts/fontawesome-webfont.svg#FontAwesome) format("svg");
-}
-
-.FontAwesome {
- font-family: FontAwesome;
- font-style: normal;
- font-weight: normal;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- display: inline-block;
- text-align: center;
-}
-
-@font-face {
- font-family: "Open Sans";
- src: url(../valo/fonts/open-sans/OpenSans-Light-webfont.eot);
- src: url(../valo/fonts/open-sans/OpenSans-Light-webfont.eot?#iefix) format("embedded-opentype"), url(../valo/fonts/open-sans/OpenSans-Light-webfont.woff) format("woff"), url(../valo/fonts/open-sans/OpenSans-Light-webfont.ttf) format("truetype");
- font-weight: 300;
- font-style: normal;
-}
-
-@font-face {
- font-family: "Open Sans";
- src: url(../valo/fonts/open-sans/OpenSans-Regular-webfont.eot);
- src: url(../valo/fonts/open-sans/OpenSans-Regular-webfont.eot?#iefix) format("embedded-opentype"), url(../valo/fonts/open-sans/OpenSans-Regular-webfont.woff) format("woff"), url(../valo/fonts/open-sans/OpenSans-Regular-webfont.ttf) format("truetype");
- font-weight: 400;
- font-style: normal;
-}
-
-@font-face {
- font-family: "Open Sans";
- src: url(../valo/fonts/open-sans/OpenSans-Semibold-webfont.eot);
- src: url(../valo/fonts/open-sans/OpenSans-Semibold-webfont.eot?#iefix) format("embedded-opentype"), url(../valo/fonts/open-sans/OpenSans-Semibold-webfont.woff) format("woff"), url(../valo/fonts/open-sans/OpenSans-Semibold-webfont.ttf) format("truetype");
- font-weight: 600;
- font-style: normal;
-}
-
-@-webkit-keyframes v-rotate-360 {
- to {
- -webkit-transform: rotate(360deg);
- }
- }
-
-@-moz-keyframes v-rotate-360 {
- to {
- -moz-transform: rotate(360deg);
- }
- }
-
-@-o-keyframes v-rotate-360 {
- to {
- -o-transform: rotate(360deg);
- }
- }
-
-@keyframes v-rotate-360 {
- to {
- transform: rotate(360deg);
- }
- }
-
-@-webkit-keyframes v-progress-start {
- 0% {
- width: 0%;
- }
- 100% {
- width: 50%;
- }
- }
-
-@-moz-keyframes v-progress-start {
- 0% {
- width: 0%;
- }
- 100% {
- width: 50%;
- }
- }
-
-@keyframes v-progress-start {
- 0% {
- width: 0%;
- }
- 100% {
- width: 50%;
- }
- }
-
-@-webkit-keyframes v-progress-delay {
- 0% {
- width: 50%;
- }
- 100% {
- width: 90%;
- }
- }
-
-@-moz-keyframes v-progress-delay {
- 0% {
- width: 50%;
- }
- 100% {
- width: 90%;
- }
- }
-
-@keyframes v-progress-delay {
- 0% {
- width: 50%;
- }
- 100% {
- width: 90%;
- }
- }
-
-@-webkit-keyframes v-progress-wait {
- 0% {
- width: 90%;
- height: 4px;
- }
- 3% {
- width: 91%;
- height: 7px;
- }
- 100% {
- width: 96%;
- height: 7px;
- }
- }
-
-@-moz-keyframes v-progress-wait {
- 0% {
- width: 90%;
- height: 4px;
- }
- 3% {
- width: 91%;
- height: 7px;
- }
- 100% {
- width: 96%;
- height: 7px;
- }
- }
-
-@keyframes v-progress-wait {
- 0% {
- width: 90%;
- height: 4px;
- }
- 3% {
- width: 91%;
- height: 7px;
- }
- 100% {
- width: 96%;
- height: 7px;
- }
- }
-
-@-webkit-keyframes v-progress-wait-pulse {
- 0% {
- opacity: 1;
- }
- 50% {
- opacity: 0.1;
- }
- 100% {
- opacity: 1;
- }
- }
-
-@-moz-keyframes v-progress-wait-pulse {
- 0% {
- opacity: 1;
- }
- 50% {
- opacity: 0.1;
- }
- 100% {
- opacity: 1;
- }
- }
-
-@keyframes v-progress-wait-pulse {
- 0% {
- opacity: 1;
- }
- 50% {
- opacity: 0.1;
- }
- 100% {
- opacity: 1;
- }
- }
-
-/**
- * Outputs the context menu selectors and styles, which is used by Table and Tree for instance.
- *
- * @requires {mixin} valo-selection-item-style
- * @requires {mixin} valo-selection-item-selected-style
- */
-
-/**
- * The background color for overlay elements.
- *
- * @type color
- * @group overlay
- */
-
-.v-shadow, .v-shadow-window {
- display: none;
-}
-
-.v-ie8 .v-shadow, .v-ie8 .v-shadow-window {
- display: block;
-}
-
-.v-ie8 .v-shadow .top, .v-ie8 .v-shadow-window .top {
- position: absolute;
- top: -6px;
- right: 10px;
- bottom: 6px;
- left: -10px;
- background: black;
- filter: alpha(opacity=5) progid:DXImageTransform.Microsoft.blur(pixelradius=10, makeShadow=false);
-}
-
-.v-ie8 .v-shadow .top-left, .v-ie8 .v-shadow-window .top-left {
- position: absolute;
- top: -1px;
- right: -1px;
- bottom: -1px;
- left: -1px;
- background: black;
- filter: alpha(opacity=9) progid:DXImageTransform.Microsoft.blur(pixelradius=0, makeShadow=false);
-}
-
-/**
- * The backgound color for tooltips.
- *
- * @type color
- * @group tooltip
- */
-
-/**
- *
- *
- * @param {string} $primary-stylename (v-absolutelayout) -
- *
- * @group absolutelayout
- */
-
-/**
- * Outputs the selectors and properties for the Accordion component.
- *
- * @param {string} $primary-stylename (v-accordion) - the primary style name for the selectors
- * @param {bool} $include-additional-styles - should the mixin output all the different style variations of the component
- * @group accordion
- */
-
-/**
- * Outputs the selectors and properties for the Button component.
- *
- * @param {string} $primary-stylename (v-button) - the primary style name for the selectors
- * @param {bool} $include-additional-styles - should the mixin output all the different style variations of the component
- *
- * @group button
- */
-
-/**
- * A list of colors for custom event colors. Can be an empty list of you don't
- * need any custom event colors.
- *
- * @example javascript
- * // Java code
- * // 'event' is an instance of EditableCalendarEvent
- * event.setStyleName("color1"); // 1st color in the list
- * event.setStyleName("color2"); // 2nd color in the list
- * // etc.
- *
- * @group calendar
- */
-
-/**
- * Outputs the selectors and properties for the CheckBox component.
- *
- * @param {string} $primary-stylename (v-checkbox) - the primary style name for the selectors
- * @param {bool} $include-additional-styles - should the mixin output all the different style variations of the component
- *
- * @group checkbox
- */
-
-/**
- * Outputs the global selectors and properties for the ColorPicker component - styles which are
- * considered mandatory for the component to work properly.
- *
- * @param {string} $primary-stylename (v-colorpicker) - the primary style name for the selectors
- *
- * @group colorpicker
- */
-
-/**
- * Outputs the selectors and properties for the ComboBox component.
- *
- * @param {string} $primary-stylename (v-filterselect) - the primary style name for the selectors
- * @param {bool} $include-additional-styles - should the mixin output all the different style variations of the component
- *
- * @group combobox
- */
-
-/**
- * The amount of spacing between different widgets in a component group.
- * If null, a computed value is used ($v-border size * -1, or 1px if $v-border size is 0)
- *
- * @group csslayout
- */
-
-/**
- *
- *
- * @param {string} $primary-stylename (v-customcomponent) -
- *
- * @group customcomponent
- */
-
-/**
- *
- *
- * @param {string} $primary-stylename (v-customlayout) -
- *
- * @group customlayout
- */
-
-/**
- * Outputs the selectors and properties for the DateField component.
- *
- * @param {string} $primary-stylename (v-datefield) - the primary style name for the selectors
- * @param {bool} $include-additional-styles - should the mixin output all the different style variations of the component
- *
- * @group datefield
- */
-
-/**
- * Outputs the styles and selectors for the DragAndDropWrapper component.
- *
- * @param {string} $primary-stylename (v-ddwrapper) - the primary style name for the selectors
- *
- * @group drag-n-drop
- */
-
-/**
- *
- *
- * @param {string} $primary-stylename (v-form) -
- *
- * @group form
- */
-
-/**
- * Outputs the selectors and properties for the FormLayout component.
- *
- * @param {string} $primary-stylename (v-formlayout) - the primary style name for the selectors
- * @param {bool} $include-additional-styles - should the mixin output all the different style variations of the component
- *
- * @group formlayout
- */
-
-/**
- *
- * @group table
- */
-
-@-webkit-keyframes valo-grid-editor-footer-animate-in {
- 0% {
- margin-top: -37px;
- }
- }
-
-@-moz-keyframes valo-grid-editor-footer-animate-in {
- 0% {
- margin-top: -37px;
- }
- }
-
-@keyframes valo-grid-editor-footer-animate-in {
- 0% {
- margin-top: -37px;
- }
- }
-
-@-webkit-keyframes valo-grid-editor-footer-animate-in-alt {
- 0% {
- margin-bottom: -38px;
- }
- 100% {
- margin-bottom: -1px;
- }
- }
-
-@-moz-keyframes valo-grid-editor-footer-animate-in-alt {
- 0% {
- margin-bottom: -38px;
- }
- 100% {
- margin-bottom: -1px;
- }
- }
-
-@keyframes valo-grid-editor-footer-animate-in-alt {
- 0% {
- margin-bottom: -38px;
- }
- 100% {
- margin-bottom: -1px;
- }
- }
-
-/**
- *
- *
- * @param {string} $primary-stylename (v-gridlayout) -
- *
- * @group gridlayout
- */
-
-/**
- * The font weight for headers.
- *
- * @group label
- */
-
-/**
- *
- * @group link
- */
-
-/**
- *
- *
- * @param {string} $primary-stylename (v-loginform) -
- *
- * @group loginform
- */
-
-/**
- *
- *
- * @param {string} $primary-stylename (v-menubar) -
- * @param {bool} $include-additional-styles -
- *
- * @group menubar
- */
-
-/**
- *
- *
- * @param {string} $primary-stylename (v-nativebutton) -
- *
- * @group nativebutton
- */
-
-/**
- *
- *
- * @param {string} $primary-stylename (v-select) -
- *
- * @group nativeselect
- */
-
-/**
- *
- * @group notification
- */
-
-/**
- *
- *
- * @param {string} $primary-stylename (v-select-optiongroup) -
- * @param {bool} $include-additional-styles -
- *
- * @group optiongroup
- */
-
-/**
- *
- *
- *
- * @group orderedlayout
- */
-
-/**
- *
- * @group panel
- */
-
-@-webkit-keyframes v-popupview-animate-in {
- 0% {
- -webkit-transform: scale(0);
- }
- }
-
-@-moz-keyframes v-popupview-animate-in {
- 0% {
- -moz-transform: scale(0);
- }
- }
-
-@keyframes v-popupview-animate-in {
- 0% {
- -webkit-transform: scale(0);
- -moz-transform: scale(0);
- -ms-transform: scale(0);
- -o-transform: scale(0);
- transform: scale(0);
- }
- }
-
-/**
- *
- * @group progressbar
- */
-
-/**
- *
- * @group richtextarea
- */
-
-/**
- *
- * @group slider
- */
-
-/**
- *
- *
- * @param {string} $primary-stylename (v-splitpanel) -
- * @param {bool} $include-additional-styles -
- *
- * @group splitpanel
- */
-
-/**
- *
- * @group table
- */
-
-/**
- * Should the tabsheet content changes be animated.
- *
- * @group tabsheet
- */
-
-/**
- * The background color for text fields.
- * @group textfield
- */
-
-/**
- * Outputs the selectors and properties for the TextArea component.
- *
- * @param {string} $primary-stylename (v-textarea) - the primary style name for the selectors
- * @param {bool} $include-additional-styles - should the mixin output all the different style variations of the component
- *
- * @group textarea
- */
-
-/**
- *
- * @group tree
- */
-
-/**
- *
- *
- * @param {string} $primary-stylename (v-treetable) -
- *
- * @group treetable
- */
-
-/**
- *
- *
- * @param {string} $primary-stylename (v-select-twincol) -
- *
- * @group twin-column-select
- */
-
-/**
- *
- *
- * @param {string} $primary-stylename (v-upload) -
- *
- * @group upload
- */
-
-/**
- *
- */
-
-/**
- * @group window
- */
-
-@-webkit-keyframes valo-modal-window-indication {
- 0% {
- opacity: 0;
- }
- 100% {
- opacity: 1;
- }
- }
-
-@-moz-keyframes valo-modal-window-indication {
- 0% {
- opacity: 0;
- }
- 100% {
- opacity: 1;
- }
- }
-
-@keyframes valo-modal-window-indication {
- 0% {
- opacity: 0;
- }
- 100% {
- opacity: 1;
- }
- }
-
-@-webkit-keyframes valo-animate-out-scale-down-fade {
- 100% {
- -webkit-transform: scale(0.8);
- opacity: 0;
- }
- }
-
-@-moz-keyframes valo-animate-out-scale-down-fade {
- 100% {
- -moz-transform: scale(0.8);
- opacity: 0;
- }
- }
-
-@keyframes valo-animate-out-scale-down-fade {
- 100% {
- -webkit-transform: scale(0.8);
- -moz-transform: scale(0.8);
- -ms-transform: scale(0.8);
- -o-transform: scale(0.8);
- transform: scale(0.8);
- opacity: 0;
- }
- }
-
-/**
- * @group valo-menu
- */
-
-.v-vaadin-version:after {
- content: "7.7.10";
-}
-
-.v-widget {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- display: inline-block;
- vertical-align: top;
- text-align: left;
- white-space: normal;
-}
-
-.v-generated-body {
- overflow: hidden;
- margin: 0;
- padding: 0;
- border: 0;
-}
-
-.v-app {
- height: 100%;
- -webkit-tap-highlight-color: transparent;
- -webkit-text-size-adjust: 100%;
- -ms-text-size-adjust: 100%;
- -webkit-text-size-adjust: 100%;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-.v-app input[type="text"], .v-app .v-slot > .v-caption, .v-app .v-gridlayout-slot > .v-caption, .v-app .v-has-caption > .v-caption, .v-app .v-formlayout-captioncell > .v-caption, .v-app .v-csslayout > .v-caption {
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
-}
-
-.v-app input::-ms-clear {
- display: none;
-}
-
-.v-ui {
- position: relative;
-}
-
-.v-ui.v-ui-embedded {
- margin-top: -1px;
- border-top: 1px solid transparent;
-}
-
-.v-ui:focus {
- outline: none;
-}
-
-.v-overlay-container {
- width: 0;
- height: 0;
-}
-
-.v-drag-element {
- z-index: 60000;
- position: absolute !important;
- cursor: default;
-}
-
-.v-clip {
- overflow: hidden;
-}
-
-.v-scrollable {
- overflow: auto;
-}
-
-.v-scrollable > .v-widget {
- vertical-align: middle;
- overflow: hidden;
-}
-
-.v-ios.v-webkit .v-scrollable {
- -webkit-overflow-scrolling: touch;
-}
-
-.v-ios5.v-webkit .v-scrollable {
- -webkit-overflow-scrolling: none;
-}
-
-.v-webkit.v-ios .v-browserframe {
- -webkit-overflow-scrolling: touch;
- overflow: auto;
-}
-
-.v-assistive-device-only {
- position: absolute;
- top: -2000px;
- left: -2000px;
- width: 10px;
- overflow: hidden;
-}
-
-.v-icon {
- cursor: inherit;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-.v-icon, .v-errorindicator, .v-required-field-indicator {
- display: inline-block;
- line-height: inherit;
-}
-
-.v-caption {
- display: inline-block;
- white-space: nowrap;
- line-height: 1.55;
-}
-
-.v-captiontext {
- display: inline-block;
- line-height: inherit;
-}
-
-div.v-layout.v-horizontal.v-widget {
- white-space: nowrap;
-}
-
-.v-layout.v-vertical > .v-expand, .v-layout.v-horizontal > .v-expand {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- width: 100%;
- height: 100%;
-}
-
-.v-slot, .v-spacing {
- display: inline-block;
- white-space: nowrap;
- vertical-align: top;
-}
-
-.v-vertical > .v-slot:after {
- display: inline-block;
- clear: both;
- width: 0;
- height: 0;
- overflow: hidden;
-}
-
-.v-vertical > .v-slot, .v-vertical > .v-expand > .v-slot {
- display: block;
- clear: both;
-}
-
-.v-horizontal > .v-slot, .v-horizontal > .v-expand > .v-slot {
- height: 100%;
-}
-
-.v-horizontal > .v-expand > .v-slot {
- position: relative;
-}
-
-.v-vertical > .v-spacing, .v-vertical > .v-expand > .v-spacing {
- width: 0 !important;
- display: block;
- clear: both;
-}
-
-.v-horizontal > .v-spacing, .v-horizontal > .v-expand > .v-spacing {
- height: 0 !important;
-}
-
-.v-align-middle:before, .v-align-bottom:before, .v-expand > .v-align-middle:before, .v-expand > .v-align-bottom:before {
- content: "";
- display: inline-block;
- height: 100%;
- vertical-align: middle;
- width: 0;
-}
-
-.v-align-middle, .v-align-bottom {
- white-space: nowrap;
-}
-
-.v-align-middle > .v-widget, .v-align-bottom > .v-widget {
- display: inline-block;
-}
-
-.v-align-middle, .v-align-middle > .v-widget {
- vertical-align: middle;
-}
-
-.v-align-bottom, .v-align-bottom > .v-widget {
- vertical-align: bottom;
-}
-
-.v-align-center {
- text-align: center;
-}
-
-.v-align-center > .v-widget {
- margin-left: auto;
- margin-right: auto;
-}
-
-.v-align-right {
- text-align: right;
-}
-
-.v-align-right > .v-widget {
- margin-left: auto;
-}
-
-.v-has-caption, .v-has-caption > .v-caption {
- display: inline-block;
-}
-
-.v-caption-on-left, .v-caption-on-right {
- white-space: nowrap;
-}
-
-.v-caption-on-top > .v-caption, .v-caption-on-bottom > .v-caption {
- display: block;
-}
-
-.v-caption-on-left > .v-caption {
- padding-right: 0.5em;
-}
-
-.v-caption-on-left > .v-widget, .v-caption-on-right > .v-widget {
- display: inline-block;
-}
-
-.v-has-caption.v-has-width > .v-widget {
- width: 100% !important;
-}
-
-.v-has-caption.v-has-height > .v-widget {
- height: 100% !important;
-}
-
-.v-gridlayout {
- position: relative;
-}
-
-.v-gridlayout-slot {
- position: absolute;
- line-height: 1.55;
-}
-
-.v-gridlayout-spacing-on {
- overflow: hidden;
-}
-
-.v-gridlayout-spacing, .v-gridlayout-spacing-off {
- padding-left: 0;
- padding-top: 0;
-}
-
-.v-gridlayout-spacing-off {
- overflow: hidden;
-}
-
-.v-calendar-month-day-scrollable {
- overflow-y: scroll;
-}
-
-.v-calendar-week-wrapper {
- position: relative;
- overflow: hidden;
-}
-
-.v-calendar-current-time {
- position: absolute;
- left: 0;
- width: 100%;
- height: 1px;
- background: red;
- z-index: 2;
-}
-
-.v-calendar-event-resizetop, .v-calendar-event-resizebottom {
- position: absolute;
- height: 5%;
- min-height: 3px;
- width: 100%;
- z-index: 1;
-}
-
-.v-calendar-event-resizetop {
- cursor: row-resize;
- top: 0;
-}
-
-.v-calendar-event-resizebottom {
- cursor: row-resize;
- bottom: 0;
-}
-
-.v-calendar-header-month td:first-child {
- padding-left: 20px;
-}
-
-.v-calendar-month-sizedheight .v-calendar-month-day {
- height: 100px;
-}
-
-.v-calendar-month-sizedwidth .v-calendar-month-day {
- width: 100px;
-}
-
-.v-calendar-header-month-Hsized .v-calendar-header-day {
- width: 101px;
-}
-
-.v-calendar-header-month-Hsized td:first-child {
- padding-left: 21px;
-}
-
-.v-calendar-header-day-Hsized {
- width: 200px;
-}
-
-.v-calendar-week-numbers-Vsized .v-calendar-week-number {
- height: 100px;
- line-height: 100px;
-}
-
-.v-calendar-week-wrapper-Vsized {
- height: 400px;
- overflow-x: hidden !important;
-}
-
-.v-calendar-times-Vsized .v-calendar-time {
- height: 38px;
-}
-
-.v-calendar-times-Hsized .v-calendar-time {
- width: 42px;
-}
-
-.v-calendar-day-times-Vsized .v-datecellslot, .v-calendar-day-times-Vsized .v-datecellslot-even {
- height: 18px;
-}
-
-.v-calendar-day-times-Hsized, .v-calendar-day-times-Hsized .v-datecellslot, .v-calendar-day-times-Hsized .v-datecellslot-even {
- width: 200px;
-}
-
-.v-colorpicker-popup.v-window {
- min-width: 220px !important;
-}
-
-.v-colorpicker-gradient-container {
- overflow: visible !important;
-}
-
-.v-colorpicker-gradient-clicklayer {
- opacity: 0;
- filter: alpha(opacity=0) ;
-}
-
-.rgb-gradient .v-colorpicker-gradient-background {
- background: url(../valo/components/img/colorpicker/gradient2.png);
-}
-
-.hsv-gradient .v-colorpicker-gradient-foreground {
- background: url(../valo/components/img/colorpicker/gradient.png);
-}
-
-.v-colorpicker-gradient-higherbox:before {
- content: "";
- width: 11px;
- height: 11px;
- border-radius: 7px;
- border: 1px solid #fff;
- -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3), inset 0 0 0 1px rgba(0, 0, 0, 0.3);
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3), inset 0 0 0 1px rgba(0, 0, 0, 0.3);
- position: absolute;
- bottom: -6px;
- left: -6px;
-}
-
-.v-colorpicker-popup .v-slider.v-slider-red:before {
- background-color: red;
-}
-
-.v-colorpicker-popup .v-slider.v-slider-green:before {
- background-color: green;
-}
-
-.v-colorpicker-popup .v-slider.v-slider-blue:before {
- background-color: blue;
-}
-
-.v-colorpicker-popup .v-slider.hue-slider:before {
- background: url(../valo/components/img/colorpicker/slider_hue_bg.png);
-}
-
-.v-colorpicker-popup input.v-textfield-dark {
- color: #fff;
-}
-
-.v-colorpicker-popup input.v-textfield-light {
- color: #000;
-}
-
-.v-colorpicker-grid {
- height: 319px;
-}
-
-.v-colorpicker-popup .colorselect td {
- line-height: 15px;
-}
-
-.v-table-header table, .v-table-footer table, .v-table-table {
- border-spacing: 0;
- border-collapse: separate;
- margin: 0;
- padding: 0;
- border: 0;
- line-height: 1.55;
-}
-
-.v-table-resizer, .v-table-sort-indicator {
- float: right;
-}
-
-.v-table-caption-container-align-center {
- text-align: center;
-}
-
-.v-table-caption-container-align-right {
- text-align: right;
-}
-
-.v-table-header td, .v-table-footer td, .v-table-cell-content {
- padding: 0;
-}
-
-.v-table-sort-indicator {
- width: 0;
-}
-
-.v-tabsheet-hidetabs > .v-tabsheet-tabcontainer, .v-tabsheet-spacertd, .v-disabled .v-tabsheet-scroller, .v-tabsheet .v-disabled .v-tabsheet-caption-close {
- display: none;
-}
-
-.v-tabsheet {
- overflow: visible !important;
- position: relative;
-}
-
-.v-tabsheet-tabcontainer table, .v-tabsheet-tabcontainer tbody, .v-tabsheet-tabcontainer tr {
- display: inline-block;
- border-spacing: 0;
- border-collapse: collapse;
- vertical-align: top;
-}
-
-.v-tabsheet-tabcontainer td {
- display: inline-block;
- padding: 0;
-}
-
-.v-tabsheet-tabs {
- white-space: nowrap;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-.v-tabsheet-content {
- position: relative;
-}
-
-.v-tabsheet-content > div > .v-scrollable > .v-margin-top {
- padding-top: 12px;
-}
-
-.v-tabsheet-content > div > .v-scrollable > .v-margin-right {
- padding-right: 12px;
-}
-
-.v-tabsheet-content > div > .v-scrollable > .v-margin-bottom {
- padding-bottom: 12px;
-}
-
-.v-tabsheet-content > div > .v-scrollable > .v-margin-left {
- padding-left: 12px;
-}
-
-.v-splitpanel-vertical, .v-splitpanel-horizontal {
- overflow: hidden;
- white-space: nowrap;
-}
-
-.v-splitpanel-hsplitter {
- z-index: 100;
- cursor: e-resize;
- cursor: col-resize;
-}
-
-.v-splitpanel-vsplitter {
- z-index: 100;
- cursor: s-resize;
- cursor: row-resize;
-}
-
-.v-splitpanel-hsplitter:after, .v-splitpanel-vsplitter:after {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
-}
-
-.v-splitpanel-hsplitter div, .v-splitpanel-vsplitter div {
- width: inherit;
- height: inherit;
- overflow: hidden;
- position: relative;
-}
-
-.v-splitpanel-hsplitter div:before, .v-splitpanel-vsplitter div:before {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
-}
-
-.v-disabled [class$="splitter"] div {
- cursor: default;
-}
-
-.v-disabled [class$="splitter"] div:before {
- display: none;
-}
-
-.v-splitpanel-horizontal > div > .v-splitpanel-second-container {
- position: static !important;
- display: inline-block;
- vertical-align: top;
-}
-
-.v-splitpanel-horizontal > div > .v-splitpanel-first-container {
- display: inline-block;
- vertical-align: top;
-}
-
-.mytheme.v-app, .mytheme.v-app-loading {
- font: 300 16px/1.55 "Open Sans", sans-serif;
- color: #464646;
- background-color: #fafafa;
- cursor: default;
-}
-
-.mytheme .v-app-loading {
- width: 100%;
- height: 100%;
- background: #fafafa;
-}
-
-.mytheme .v-app-loading:before {
- content: "";
- position: fixed;
- z-index: 100;
- top: 45%;
- left: 50%;
- width: 28px;
- height: 28px;
- padding: 9px;
- margin-top: -24px;
- margin-left: -24px;
- background: #fff url(../valo/shared/img/spinner.gif) no-repeat 50%;
- border-radius: 4px;
-}
-
-.mytheme .v-loading-indicator {
- position: fixed !important;
- z-index: 99999;
- left: 0;
- right: auto;
- top: 0;
- width: 50%;
- opacity: 1;
- height: 4px;
- background-color: #197de1;
- pointer-events: none;
- -webkit-transition: none;
- -moz-transition: none;
- transition: none;
- -webkit-animation: v-progress-start 1000ms 200ms both;
- -moz-animation: v-progress-start 1000ms 200ms both;
- animation: v-progress-start 1000ms 200ms both;
-}
-
-.mytheme .v-loading-indicator[style*="none"] {
- display: block !important;
- width: 100% !important;
- opacity: 0;
- -webkit-animation: none;
- -moz-animation: none;
- animation: none;
- -webkit-transition: opacity 500ms 300ms, width 300ms;
- -moz-transition: opacity 500ms 300ms, width 300ms;
- transition: opacity 500ms 300ms, width 300ms;
-}
-
-.mytheme .v-loading-indicator-delay {
- width: 90%;
- -webkit-animation: v-progress-delay 3.8s forwards;
- -moz-animation: v-progress-delay 3.8s forwards;
- animation: v-progress-delay 3.8s forwards;
-}
-
-.v-ff .mytheme .v-loading-indicator-delay {
- width: 50%;
-}
-
-.mytheme .v-loading-indicator-wait {
- width: 96%;
- -webkit-animation: v-progress-wait 5s forwards, v-progress-wait-pulse 1s 4s infinite backwards;
- -moz-animation: v-progress-wait 5s forwards, v-progress-wait-pulse 1s 4s infinite backwards;
- animation: v-progress-wait 5s forwards, v-progress-wait-pulse 1s 4s infinite backwards;
-}
-
-.v-ff .mytheme .v-loading-indicator-wait {
- width: 90%;
-}
-
-.v-ie8 .mytheme .v-loading-indicator, .v-ie8 .mytheme .v-loading-indicator-delay, .v-ie8 .mytheme .v-loading-indicator-wait, .v-ie9 .mytheme .v-loading-indicator, .v-ie9 .mytheme .v-loading-indicator-delay, .v-ie9 .mytheme .v-loading-indicator-wait {
- width: 28px !important;
- height: 28px;
- padding: 9px;
- background: #fff url(../valo/shared/img/spinner.gif) no-repeat 50%;
- border-radius: 4px;
- top: 9px;
- right: 9px;
- left: auto;
- filter: alpha(opacity=50);
-}
-
-.v-ie8 .mytheme .v-loading-indicator[style*="none"], .v-ie8 .mytheme .v-loading-indicator-delay[style*="none"], .v-ie8 .mytheme .v-loading-indicator-wait[style*="none"], .v-ie9 .mytheme .v-loading-indicator[style*="none"], .v-ie9 .mytheme .v-loading-indicator-delay[style*="none"], .v-ie9 .mytheme .v-loading-indicator-wait[style*="none"] {
- display: none !important;
-}
-
-.v-ie8 .mytheme .v-loading-indicator-wait, .v-ie9 .mytheme .v-loading-indicator-wait {
- filter: alpha(opacity=100);
-}
-
-.mytheme .v-scrollable:focus {
- outline: none;
-}
-
-.mytheme img.v-icon {
- vertical-align: middle;
-}
-
-.mytheme .v-caption {
- font-size: 14px;
- font-weight: 400;
- padding-bottom: 0.3em;
- padding-left: 1px;
-}
-
-.mytheme .v-caption-on-left .v-caption, .mytheme .v-caption-on-right .v-caption {
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.mytheme .v-icon + .v-captiontext, .mytheme .v-icon + span {
- margin-left: 7px;
-}
-
-.mytheme .v-icon + .v-captiontext:empty, .mytheme .v-icon + span:empty {
- margin-left: 0;
-}
-
-.mytheme .v-errorindicator {
- color: #ed473b;
- font-weight: 600;
- width: 19px;
- text-align: center;
-}
-
-.mytheme .v-errorindicator:before {
- content: "!";
-}
-
-.mytheme .v-required-field-indicator {
- color: #ed473b;
- padding: 0 0.2em;
-}
-
-.mytheme select {
- font: inherit;
- font-weight: 400;
- line-height: inherit;
- padding: 5px;
- margin: 0;
- border-radius: 4px;
- border: 1px solid #c5c5c5;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- color: #464646;
-}
-
-.mytheme select:focus {
- outline: none;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme button {
- font: inherit;
- font-weight: 400;
- line-height: 1.55;
-}
-
-.mytheme a {
- cursor: pointer;
- color: #197de1;
- text-decoration: underline;
- font-weight: inherit;
- -webkit-transition: color 140ms;
- -moz-transition: color 140ms;
- transition: color 140ms;
-}
-
-.mytheme a:hover {
- color: #4396ea;
-}
-
-.mytheme a.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-disabled {
- cursor: default !important;
-}
-
-.mytheme .v-drag-element {
- background: #fafafa;
- color: #464646;
- -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
- box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
- border-radius: 4px;
- overflow: hidden;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-tooltip {
- background-color: #323232;
- background-color: rgba(50, 50, 50, 0.9);
- -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
- box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
- color: white;
- padding: 5px 9px;
- border-radius: 3px;
- max-width: 35em;
- overflow: hidden !important;
- font-size: 14px;
-}
-
-.mytheme .v-tooltip div[style*="width"] {
- width: auto !important;
-}
-
-.mytheme .v-tooltip .v-errormessage {
- background-color: white;
- background-color: #fff;
- color: #ed473b;
- margin: -5px -9px;
- padding: 5px 9px;
- max-height: 10em;
- overflow: auto;
- font-weight: 400;
-}
-
-.mytheme .v-tooltip .v-errormessage h2:only-child {
- font: inherit;
- line-height: inherit;
-}
-
-.mytheme .v-tooltip .v-tooltip-text {
- max-height: 10em;
- overflow: auto;
- margin-top: 10px;
-}
-
-.mytheme .v-tooltip .v-errormessage[aria-hidden="true"] + .v-tooltip-text {
- margin-top: 0;
-}
-
-.mytheme .v-tooltip h1, .mytheme .v-tooltip h2, .mytheme .v-tooltip h3, .mytheme .v-tooltip h4 {
- color: inherit;
-}
-
-.mytheme .v-contextmenu {
- padding: 4px 4px;
- border-radius: 4px;
- background-color: white;
- color: #474747;
- -webkit-box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.1), 0 3px 5px 0 rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(0, 0, 0, 0.09098);
- box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.1), 0 3px 5px 0 rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(0, 0, 0, 0.09098);
- -webkit-backface-visibility: hidden;
- -moz-backface-visibility: hidden;
- -ms-backface-visibility: hidden;
- backface-visibility: hidden;
- padding: 4px 4px;
-}
-
-.mytheme .v-contextmenu[class*="animate-in"] {
- -webkit-animation: valo-overlay-animate-in 120ms;
- -moz-animation: valo-overlay-animate-in 120ms;
- animation: valo-overlay-animate-in 120ms;
-}
-
-.mytheme .v-contextmenu[class*="animate-out"] {
- -webkit-animation: valo-animate-out-fade 120ms;
- -moz-animation: valo-animate-out-fade 120ms;
- animation: valo-animate-out-fade 120ms;
-}
-
-.mytheme .v-contextmenu table {
- border-spacing: 0;
-}
-
-.mytheme .v-contextmenu .gwt-MenuItem {
- cursor: pointer;
- line-height: 27px;
- padding: 0 20px 0 10px;
- border-radius: 3px;
- font-weight: 400;
- white-space: nowrap;
- position: relative;
- display: block;
-}
-
-.mytheme .v-contextmenu .gwt-MenuItem:active:before {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- background: #0957a6;
- opacity: 0.15;
- filter: alpha(opacity=15.0) ;
- pointer-events: none;
- border-radius: inherit;
-}
-
-.mytheme .v-contextmenu .gwt-MenuItem .v-icon {
- max-height: 27px;
- margin-right: 5px;
- min-width: 1em;
-}
-
-.mytheme .v-contextmenu .gwt-MenuItem-selected {
- background-color: #197de1;
- background-image: -webkit-linear-gradient(top, #1b87e3 2%, #166ed5 98%);
- background-image: linear-gradient(to bottom,#1b87e3 2%, #166ed5 98%);
- color: #ecf2f8;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.05);
-}
-
-.mytheme .v-reconnect-dialog {
- color: white;
- top: 12px;
- right: 12px;
- max-width: 100%;
- border-radius: 0;
- -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);
- box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);
- padding: 12px 15px;
- background-color: #444;
- background-color: rgba(68, 68, 68, 0.9);
- line-height: 22px;
- text-align: center;
-}
-
-.mytheme .v-reconnect-dialog .text {
- display: inline-block;
- padding-left: 10px;
-}
-
-.mytheme .v-reconnect-dialog .spinner {
- height: 24px !important;
- width: 24px !important;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- border: 2px solid rgba(25, 125, 225, 0.2);
- border-top-color: #197de1;
- border-right-color: #197de1;
- border-radius: 100%;
- -webkit-animation: v-rotate-360 500ms infinite linear;
- -moz-animation: v-rotate-360 500ms infinite linear;
- animation: v-rotate-360 500ms infinite linear;
- pointer-events: none;
- display: none;
- vertical-align: middle;
-}
-
-.v-ie8 .mytheme .v-reconnect-dialog .spinner, .v-ie9 .mytheme .v-reconnect-dialog .spinner {
- border: none;
- border-radius: 4px;
- background: #fff url(../valo/shared/img/spinner.gif) no-repeat 50% 50%;
- background-size: 80%;
-}
-
-.v-ie8 .mytheme .v-reconnect-dialog .spinner {
- min-width: 30px;
- min-height: 30px;
-}
-
-.mytheme .v-reconnect-dialog.active .spinner {
- display: inline-block;
-}
-
-.mytheme .v-absolutelayout-wrapper {
- position: absolute;
-}
-
-.mytheme .v-absolutelayout-margin, .mytheme .v-absolutelayout-canvas {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-.mytheme .v-absolutelayout.v-has-height > div, .mytheme .v-absolutelayout.v-has-height .v-absolutelayout-margin {
- height: 100%;
-}
-
-.mytheme .v-absolutelayout.v-has-height > div, .mytheme .v-absolutelayout.v-has-width .v-absolutelayout-margin {
- width: 100%;
-}
-
-.mytheme .v-margin-top {
- padding-top: 37px;
-}
-
-.mytheme .v-margin-right {
- padding-right: 37px;
-}
-
-.mytheme .v-margin-bottom {
- padding-bottom: 37px;
-}
-
-.mytheme .v-margin-left {
- padding-left: 37px;
-}
-
-.mytheme .v-spacing {
- width: 12px;
- height: 12px;
-}
-
-.mytheme .v-verticallayout-well, .mytheme .v-horizontallayout-well {
- background: #f5f5f5;
- color: #454545;
- -webkit-box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.05), inset 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.05), inset 0 2px 3px rgba(0, 0, 0, 0.05);
- border-radius: 4px;
- border: 1px solid #c5c5c5;
-}
-
-.mytheme .v-verticallayout-well > div > [class*="-caption"], .mytheme .v-horizontallayout-well > div > [class*="-caption"] {
- background: transparent;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-verticallayout-well > .v-margin-top, .mytheme .v-horizontallayout-well > .v-margin-top {
- padding-top: 12px;
-}
-
-.mytheme .v-verticallayout-well > .v-margin-right, .mytheme .v-horizontallayout-well > .v-margin-right {
- padding-right: 12px;
-}
-
-.mytheme .v-verticallayout-well > .v-margin-bottom, .mytheme .v-horizontallayout-well > .v-margin-bottom {
- padding-bottom: 12px;
-}
-
-.mytheme .v-verticallayout-well > .v-margin-left, .mytheme .v-horizontallayout-well > .v-margin-left {
- padding-left: 12px;
-}
-
-.mytheme .v-verticallayout-card, .mytheme .v-horizontallayout-card {
- background: white;
- color: #474747;
- border-radius: 4px;
- border: 1px solid #d5d5d5;
- -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
-}
-
-.mytheme .v-verticallayout-card > .v-margin-top, .mytheme .v-horizontallayout-card > .v-margin-top {
- padding-top: 12px;
-}
-
-.mytheme .v-verticallayout-card > .v-margin-right, .mytheme .v-horizontallayout-card > .v-margin-right {
- padding-right: 12px;
-}
-
-.mytheme .v-verticallayout-card > .v-margin-bottom, .mytheme .v-horizontallayout-card > .v-margin-bottom {
- padding-bottom: 12px;
-}
-
-.mytheme .v-verticallayout-card > .v-margin-left, .mytheme .v-horizontallayout-card > .v-margin-left {
- padding-left: 12px;
-}
-
-.mytheme .v-horizontallayout-wrapping {
- white-space: normal !important;
-}
-
-.mytheme .v-horizontallayout-wrapping > .v-spacing + .v-slot, .mytheme .v-horizontallayout-wrapping > .v-slot:first-child {
- margin-bottom: 12px;
-}
-
-.mytheme .v-horizontallayout-wrapping > .v-slot:first-child:last-child {
- margin-bottom: 0;
-}
-
-.mytheme .v-button {
- position: relative;
- text-align: center;
- white-space: nowrap;
- outline: none;
- -webkit-tap-highlight-color: transparent;
- -webkit-touch-callout: none;
- cursor: pointer;
- height: 37px;
- padding: 0 16px;
- color: #191919;
- font-weight: 400;
-
-
- border-radius: 4px;
- border: 1px solid #c5c5c5;
- border-top-color: #c5c5c5;
- border-bottom-color: #bcbcbc;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
-}
-
-.mytheme .v-button:before {
- content: "";
- display: inline-block;
- width: 0;
- height: 100%;
- vertical-align: middle;
-}
-
-.mytheme .v-button > div {
- vertical-align: middle;
-}
-
-.v-sa .mytheme .v-button:before {
- height: 110%;
-}
-
-.v-ff .mytheme .v-button:before {
- height: 107%;
-}
-
-.v-ie .mytheme .v-button:before {
- margin-top: 4px;
-}
-
-.mytheme .v-button:after {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- border-radius: inherit;
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
-}
-
-.mytheme .v-button:focus:after {
- -webkit-transition: none;
- -moz-transition: none;
- transition: none;
-}
-
-.mytheme .v-button.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-button.v-disabled:after {
- display: none;
-}
-
-.mytheme .v-button:after {
- border: inherit;
- top: -1px;
- right: -1px;
- bottom: -1px;
- left: -1px;
-}
-
-.mytheme .v-button:hover:after {
- background-color: rgba(186, 186, 186, 0.1);
-}
-
-.mytheme .v-button:focus:after {
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme .v-button:active:after {
- background-color: rgba(125, 125, 125, 0.2);
-}
-
-.mytheme .v-button-primary {
- height: 37px;
- padding: 0 16px;
- color: #ecf2f8;
- font-weight: 400;
-
-
- border-radius: 4px;
- border: 1px solid #1362b1;
- border-top-color: #156ab3;
- border-bottom-color: #1156a8;
- background-color: #197de1;
- background-image: -webkit-linear-gradient(top, #1b87e3 2%, #166ed5 98%);
- background-image: linear-gradient(to bottom,#1b87e3 2%, #166ed5 98%);
- -webkit-box-shadow: inset 0 1px 0 #4d98e6, inset 0 -1px 0 #166bca, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 0 #4d98e6, inset 0 -1px 0 #166bca, 0 2px 3px rgba(0, 0, 0, 0.05);
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.05);
- padding: 0 19px;
- font-weight: bold;
- min-width: 81px;
-}
-
-.mytheme .v-button-primary:after {
- border: inherit;
- top: -1px;
- right: -1px;
- bottom: -1px;
- left: -1px;
-}
-
-.mytheme .v-button-primary:hover:after {
- background-color: rgba(90, 163, 237, 0.1);
-}
-
-.mytheme .v-button-primary:focus:after {
- border: inherit;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme .v-button-primary:active:after {
- background-color: rgba(2, 62, 122, 0.2);
-}
-
-.v-ie8 .mytheme .v-button-primary {
- min-width: 43px;
-}
-
-.mytheme .v-button-friendly {
- height: 37px;
- padding: 0 16px;
- color: #eaf4e9;
- font-weight: 400;
-
-
- border-radius: 4px;
- border: 1px solid #227719;
- border-top-color: #257d1a;
- border-bottom-color: #1e6b15;
- background-color: #2c9720;
- background-image: -webkit-linear-gradient(top, #2f9f22 2%, #26881b 98%);
- background-image: linear-gradient(to bottom,#2f9f22 2%, #26881b 98%);
- -webkit-box-shadow: inset 0 1px 0 #46b33a, inset 0 -1px 0 #26811b, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 0 #46b33a, inset 0 -1px 0 #26811b, 0 2px 3px rgba(0, 0, 0, 0.05);
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.05);
-}
-
-.mytheme .v-button-friendly:after {
- border: inherit;
- top: -1px;
- right: -1px;
- bottom: -1px;
- left: -1px;
-}
-
-.mytheme .v-button-friendly:hover:after {
- background-color: rgba(65, 211, 48, 0.1);
-}
-
-.mytheme .v-button-friendly:focus:after {
- border: inherit;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme .v-button-friendly:active:after {
- background-color: rgba(14, 86, 6, 0.2);
-}
-
-.mytheme .v-button-danger {
- height: 37px;
- padding: 0 16px;
- color: #f9f0ef;
- font-weight: 400;
-
-
- border-radius: 4px;
- border: 1px solid #bb382e;
- border-top-color: #bc3c31;
- border-bottom-color: #b13028;
- background-color: #ed473b;
- background-image: -webkit-linear-gradient(top, #ee4c3f 2%, #e13e33 98%);
- background-image: linear-gradient(to bottom,#ee4c3f 2%, #e13e33 98%);
- -webkit-box-shadow: inset 0 1px 0 #ef786f, inset 0 -1px 0 #da3c31, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 0 #ef786f, inset 0 -1px 0 #da3c31, 0 2px 3px rgba(0, 0, 0, 0.05);
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.05);
-}
-
-.mytheme .v-button-danger:after {
- border: inherit;
- top: -1px;
- right: -1px;
- bottom: -1px;
- left: -1px;
-}
-
-.mytheme .v-button-danger:hover:after {
- background-color: rgba(243, 137, 129, 0.1);
-}
-
-.mytheme .v-button-danger:focus:after {
- border: inherit;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme .v-button-danger:active:after {
- background-color: rgba(146, 12, 2, 0.2);
-}
-
-.mytheme .v-button-borderless {
- border: none;
- -webkit-box-shadow: none;
- box-shadow: none;
- background: transparent;
- color: inherit;
-}
-
-.mytheme .v-button-borderless:hover:after {
- background: transparent;
-}
-
-.mytheme .v-button-borderless:active {
- opacity: 0.7;
- filter: alpha(opacity=70) ;
-}
-
-.mytheme .v-button-borderless:active:after {
- background: transparent;
-}
-
-.mytheme .v-button-borderless-colored {
- border: none;
- -webkit-box-shadow: none;
- box-shadow: none;
- background: transparent;
- color: #197de1;
-}
-
-.mytheme .v-button-borderless-colored:hover {
- color: #4396ea;
-}
-
-.mytheme .v-button-borderless-colored:hover:after {
- background: transparent;
-}
-
-.mytheme .v-button-borderless-colored:active {
- opacity: 0.7;
- filter: alpha(opacity=70) ;
-}
-
-.mytheme .v-button-borderless-colored:active:after {
- background: transparent;
-}
-
-.mytheme .v-button-quiet {
- visibility: hidden;
-}
-
-.mytheme .v-button-quiet:focus, .mytheme .v-button-quiet:hover {
- visibility: visible;
-}
-
-.mytheme .v-button-quiet [class*="wrap"] {
- visibility: visible;
-}
-
-.mytheme .v-button-quiet [class*="caption"] {
- display: inline-block;
-}
-
-.mytheme .v-button-link {
- border: none;
- -webkit-box-shadow: none;
- box-shadow: none;
- background: transparent;
- color: inherit;
- cursor: pointer;
- color: #197de1;
- text-decoration: underline;
- font-weight: inherit;
- -webkit-transition: color 140ms;
- -moz-transition: color 140ms;
- transition: color 140ms;
-}
-
-.mytheme .v-button-link:hover:after {
- background: transparent;
-}
-
-.mytheme .v-button-link:active {
- opacity: 0.7;
- filter: alpha(opacity=70) ;
-}
-
-.mytheme .v-button-link:active:after {
- background: transparent;
-}
-
-.mytheme .v-button-link:hover {
- color: #4396ea;
-}
-
-.mytheme .v-button-link.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-button-tiny {
- height: 28px;
- padding: 0 13px;
-
-
- font-size: 12px;
-
- border-radius: 4px;
-}
-
-.mytheme .v-button-tiny:after {
- border: inherit;
- top: -1px;
- right: -1px;
- bottom: -1px;
- left: -1px;
-}
-
-.mytheme .v-button-small {
- height: 31px;
- padding: 0 14px;
-
-
- font-size: 14px;
-
- border-radius: 4px;
-}
-
-.mytheme .v-button-small:after {
- border: inherit;
- top: -1px;
- right: -1px;
- bottom: -1px;
- left: -1px;
-}
-
-.mytheme .v-button-large {
- height: 44px;
- padding: 0 19px;
-
-
- font-size: 20px;
-
- border-radius: 4px;
-}
-
-.mytheme .v-button-large:after {
- border: inherit;
- top: -1px;
- right: -1px;
- bottom: -1px;
- left: -1px;
-}
-
-.mytheme .v-button-huge {
- height: 59px;
- padding: 0 26px;
-
-
- font-size: 26px;
-
- border-radius: 4px;
-}
-
-.mytheme .v-button-huge:after {
- border: inherit;
- top: -1px;
- right: -1px;
- bottom: -1px;
- left: -1px;
-}
-
-.mytheme .v-button-icon-align-right [class*="wrap"] {
- display: inline-block;
-}
-
-.mytheme .v-button-icon-align-right .v-icon {
- float: right;
- margin-left: 13px;
-}
-
-.mytheme .v-button-icon-align-right .v-icon + span:not(:empty) {
- margin-left: 0;
-}
-
-.mytheme .v-button-icon-align-top {
- height: auto;
- padding-top: 5px;
- padding-bottom: 5px;
-}
-
-.mytheme .v-button-icon-align-top [class*="wrap"] {
- display: inline-block;
-}
-
-.mytheme .v-button-icon-align-top .v-icon {
- display: block;
- margin-left: auto;
- margin-right: auto;
-}
-
-.mytheme .v-button-icon-align-top .v-icon + span:not(:empty) {
- margin-top: 7px;
- margin-left: 0;
-}
-
-.mytheme .v-button-icon-only {
- width: 37px;
- padding: 0;
-}
-
-.mytheme .v-button-icon-only.v-button-tiny {
- width: 28px;
-}
-
-.mytheme .v-button-icon-only.v-button-small {
- width: 31px;
-}
-
-.mytheme .v-button-icon-only.v-button-large {
- width: 44px;
-}
-
-.mytheme .v-button-icon-only.v-button-huge {
- width: 59px;
-}
-
-.mytheme .v-button-icon-only .v-button-caption {
- display: none;
-}
-
-.mytheme .v-checkbox {
- position: relative;
- line-height: 19px;
- white-space: nowrap;
-}
-
-.mytheme .v-checkbox.v-has-width label {
- white-space: normal;
-}
-
-:root .mytheme .v-checkbox {
- padding-left: 25px;
-}
-
-:root .mytheme .v-checkbox label {
- -webkit-tap-highlight-color: transparent;
- -webkit-touch-callout: none;
- cursor: pointer;
- display: inline-block;
-}
-
-:root .mytheme .v-checkbox > input {
- position: absolute;
- clip: rect(0, 0, 0, 0);
- left: 0.2em;
- top: 0.2em;
- z-index: 0;
- margin: 0;
-}
-
-:root .mytheme .v-checkbox > input:focus ~ label:before {
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
-}
-
-:root .mytheme .v-checkbox > input ~ label:before, :root .mytheme .v-checkbox > input ~ label:after {
- content: "";
- display: inline-block;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- width: 19px;
- height: 19px;
- position: absolute;
- top: 0;
- left: 0;
- border-radius: 4px;
- font-size: 13px;
- text-align: center;
-}
-
-:root .mytheme .v-checkbox > input ~ label:before {
- height: 18.5px;
- padding: 0 9px;
- color: #191919;
- font-weight: 400;
-
-
- border-radius: 4px;
- border: 1px solid #c5c5c5;
- border-top-color: #c5c5c5;
- border-bottom-color: #bcbcbc;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
- padding: 0;
- height: 19px;
-}
-
-:root .mytheme .v-checkbox > input ~ label:after {
- content: "\f00c";
- font-family: ThemeIcons;
- color: transparent;
- -webkit-transition: color 100ms;
- -moz-transition: color 100ms;
- transition: color 100ms;
-}
-
-:root .mytheme .v-checkbox > input:active ~ label:after {
- background-color: rgba(125, 125, 125, 0.2);
-}
-
-:root .mytheme .v-checkbox > input:checked ~ label:after {
- color: #197de1;
-}
-
-.mytheme .v-checkbox > .v-icon, .mytheme .v-checkbox > label .v-icon {
- margin: 0 6px 0 3px;
- min-width: 1em;
- cursor: pointer;
-}
-
-.mytheme .v-checkbox.v-disabled > label, .mytheme .v-checkbox.v-disabled > .v-icon {
- cursor: default;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-checkbox.v-disabled > label > .v-icon {
- cursor: default;
-}
-
-:root .mytheme .v-checkbox.v-disabled > input:active ~ label:after {
- background: transparent;
-}
-
-.mytheme .v-checkbox.v-readonly > label, .mytheme .v-checkbox.v-readonly > .v-icon {
- cursor: default;
-}
-
-.mytheme .v-checkbox.v-readonly > label > .v-icon {
- cursor: default;
-}
-
-:root .mytheme .v-checkbox.v-readonly > input:active ~ label:after {
- background: transparent;
-}
-
-:root .mytheme .v-checkbox.v-readonly > input ~ label:after {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-checkbox-small {
- position: relative;
- line-height: 16px;
- white-space: nowrap;
- font-size: 14px;
-}
-
-.mytheme .v-checkbox-small.v-has-width label {
- white-space: normal;
-}
-
-:root .mytheme .v-checkbox-small {
- padding-left: 21px;
-}
-
-:root .mytheme .v-checkbox-small label {
- -webkit-tap-highlight-color: transparent;
- -webkit-touch-callout: none;
- cursor: pointer;
- display: inline-block;
-}
-
-:root .mytheme .v-checkbox-small > input {
- position: absolute;
- clip: rect(0, 0, 0, 0);
- left: 0.2em;
- top: 0.2em;
- z-index: 0;
- margin: 0;
-}
-
-:root .mytheme .v-checkbox-small > input:focus ~ label:before {
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
-}
-
-:root .mytheme .v-checkbox-small > input ~ label:before, :root .mytheme .v-checkbox-small > input ~ label:after {
- content: "";
- display: inline-block;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- width: 16px;
- height: 16px;
- position: absolute;
- top: 0;
- left: 0;
- border-radius: 4px;
- font-size: 11px;
- text-align: center;
-}
-
-:root .mytheme .v-checkbox-small > input ~ label:before {
- height: 15.5px;
- padding: 0 7px;
- color: #191919;
- font-weight: 400;
-
-
- border-radius: 4px;
- border: 1px solid #c5c5c5;
- border-top-color: #c5c5c5;
- border-bottom-color: #bcbcbc;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
- padding: 0;
- height: 16px;
-}
-
-:root .mytheme .v-checkbox-small > input ~ label:after {
- content: "\f00c";
- font-family: ThemeIcons;
- color: transparent;
- -webkit-transition: color 100ms;
- -moz-transition: color 100ms;
- transition: color 100ms;
-}
-
-:root .mytheme .v-checkbox-small > input:active ~ label:after {
- background-color: rgba(125, 125, 125, 0.2);
-}
-
-:root .mytheme .v-checkbox-small > input:checked ~ label:after {
- color: #197de1;
-}
-
-.mytheme .v-checkbox-small > .v-icon, .mytheme .v-checkbox-small > label .v-icon {
- margin: 0 5px 0 3px;
- min-width: 1em;
- cursor: pointer;
-}
-
-.mytheme .v-checkbox-small.v-disabled > label, .mytheme .v-checkbox-small.v-disabled > .v-icon {
- cursor: default;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-checkbox-small.v-disabled > label > .v-icon {
- cursor: default;
-}
-
-:root .mytheme .v-checkbox-small.v-disabled > input:active ~ label:after {
- background: transparent;
-}
-
-.mytheme .v-checkbox-small.v-readonly > label, .mytheme .v-checkbox-small.v-readonly > .v-icon {
- cursor: default;
-}
-
-.mytheme .v-checkbox-small.v-readonly > label > .v-icon {
- cursor: default;
-}
-
-:root .mytheme .v-checkbox-small.v-readonly > input:active ~ label:after {
- background: transparent;
-}
-
-:root .mytheme .v-checkbox-small.v-readonly > input ~ label:after {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-checkbox-large {
- position: relative;
- line-height: 22px;
- white-space: nowrap;
- font-size: 20px;
-}
-
-.mytheme .v-checkbox-large.v-has-width label {
- white-space: normal;
-}
-
-:root .mytheme .v-checkbox-large {
- padding-left: 29px;
-}
-
-:root .mytheme .v-checkbox-large label {
- -webkit-tap-highlight-color: transparent;
- -webkit-touch-callout: none;
- cursor: pointer;
- display: inline-block;
-}
-
-:root .mytheme .v-checkbox-large > input {
- position: absolute;
- clip: rect(0, 0, 0, 0);
- left: 0.2em;
- top: 0.2em;
- z-index: 0;
- margin: 0;
-}
-
-:root .mytheme .v-checkbox-large > input:focus ~ label:before {
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
-}
-
-:root .mytheme .v-checkbox-large > input ~ label:before, :root .mytheme .v-checkbox-large > input ~ label:after {
- content: "";
- display: inline-block;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- width: 22px;
- height: 22px;
- position: absolute;
- top: 0;
- left: 0;
- border-radius: 4px;
- font-size: 15px;
- text-align: center;
-}
-
-:root .mytheme .v-checkbox-large > input ~ label:before {
- height: 22px;
- padding: 0 10px;
- color: #191919;
- font-weight: 400;
-
-
- border-radius: 4px;
- border: 1px solid #c5c5c5;
- border-top-color: #c5c5c5;
- border-bottom-color: #bcbcbc;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
- padding: 0;
- height: 22px;
-}
-
-:root .mytheme .v-checkbox-large > input ~ label:after {
- content: "\f00c";
- font-family: ThemeIcons;
- color: transparent;
- -webkit-transition: color 100ms;
- -moz-transition: color 100ms;
- transition: color 100ms;
-}
-
-:root .mytheme .v-checkbox-large > input:active ~ label:after {
- background-color: rgba(125, 125, 125, 0.2);
-}
-
-:root .mytheme .v-checkbox-large > input:checked ~ label:after {
- color: #197de1;
-}
-
-.mytheme .v-checkbox-large > .v-icon, .mytheme .v-checkbox-large > label .v-icon {
- margin: 0 7px 0 4px;
- min-width: 1em;
- cursor: pointer;
-}
-
-.mytheme .v-checkbox-large.v-disabled > label, .mytheme .v-checkbox-large.v-disabled > .v-icon {
- cursor: default;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-checkbox-large.v-disabled > label > .v-icon {
- cursor: default;
-}
-
-:root .mytheme .v-checkbox-large.v-disabled > input:active ~ label:after {
- background: transparent;
-}
-
-.mytheme .v-checkbox-large.v-readonly > label, .mytheme .v-checkbox-large.v-readonly > .v-icon {
- cursor: default;
-}
-
-.mytheme .v-checkbox-large.v-readonly > label > .v-icon {
- cursor: default;
-}
-
-:root .mytheme .v-checkbox-large.v-readonly > input:active ~ label:after {
- background: transparent;
-}
-
-:root .mytheme .v-checkbox-large.v-readonly > input ~ label:after {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-filterselect {
- position: relative;
- width: 185px;
- height: 37px;
- border-radius: 4px;
- white-space: nowrap;
-}
-
-.mytheme .v-filterselect [class*="input"] {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 37px;
- border-radius: 4px;
- padding: 4px 9px;
- border: 1px solid #c5c5c5;
- background: white;
- color: #474747;
- -webkit-box-shadow: inset 0 1px 0 #f7f7f7, 0 1px 0 rgba(255, 255, 255, 0.1);
- box-shadow: inset 0 1px 0 #f7f7f7, 0 1px 0 rgba(255, 255, 255, 0.1);
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- width: 100% !important;
- height: 100%;
- padding-right: 38px;
- border-radius: inherit;
-}
-
-.v-ie8 .mytheme .v-filterselect [class*="input"], .v-ie9 .mytheme .v-filterselect [class*="input"] {
- line-height: 37px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.mytheme .v-filterselect [class*="input"].v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-filterselect [class*="input"]:focus {
- outline: none;
- -webkit-transition: none;
- -moz-transition: none;
- transition: none;
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 #f7f7f7, 0 1px 0 rgba(255, 255, 255, 0.1);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 #f7f7f7, 0 1px 0 rgba(255, 255, 255, 0.1);
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme .v-filterselect [class*="input"][class*="prompt"] {
- color: #a3a3a3;
-}
-
-.mytheme .v-filterselect .v-icon + [class*="input"] {
- padding-left: 37px;
-}
-
-.mytheme .v-filterselect img.v-icon {
- max-height: 37px;
- margin-left: 9px;
-}
-
-.mytheme .v-filterselect span.v-icon {
- color: #474747;
- width: 37px;
- line-height: 1;
- padding-top: 0.12em;
-}
-
-.mytheme .v-filterselect[class*="prompt"] > [class*="input"] {
- color: #a3a3a3;
-}
-
-.mytheme .v-filterselect [class$="button"] {
- -webkit-tap-highlight-color: transparent;
- -webkit-touch-callout: none;
- cursor: pointer;
- position: absolute;
- width: 37px;
- top: 1px;
- right: 1px;
- bottom: 1px;
- border-left: 1px solid #e4e4e4;
- color: #a3a3a3;
- border-radius: 0 3px 3px 0;
-}
-
-.v-ie8 .mytheme .v-filterselect [class$="button"] {
- background-color: white;
-}
-
-.mytheme .v-filterselect [class$="button"]:before {
- font-family: ThemeIcons;
- content: "\f078";
- -webkit-transition: color 140ms;
- -moz-transition: color 140ms;
- transition: color 140ms;
- position: absolute;
- width: 37px;
- text-align: center;
- top: 50%;
- line-height: 1;
- margin-top: -0.47em;
-}
-
-.mytheme .v-filterselect [class$="button"]:hover:before {
- color: #474747;
-}
-
-.mytheme .v-filterselect [class$="button"]:active:after {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- border-radius: inherit;
- background-color: rgba(128, 128, 128, 0.2);
-}
-
-.mytheme .v-filterselect.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-filterselect.v-disabled [class$="button"] {
- cursor: default;
- pointer-events: none;
-}
-
-.mytheme .v-filterselect.v-disabled [class$="button"]:active:after {
- display: none;
-}
-
-.mytheme .v-filterselect.v-readonly [class*="input"] {
- background: #fafafa;
- color: #464646;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-filterselect.v-readonly [class*="input"]:focus {
- box-shadow: none;
- border-color: #c5c5c5;
-}
-
-.mytheme .v-filterselect.v-readonly [class$="button"] {
- cursor: default;
- pointer-events: none;
-}
-
-.mytheme .v-filterselect.v-readonly [class$="button"]:active:after {
- display: none;
-}
-
-.mytheme .v-filterselect .v-icon {
- position: absolute;
- pointer-events: none;
-}
-
-.mytheme .v-filterselect-error .v-filterselect-input {
- border-color: #ed473b !important;
- background: #fffbfb;
- color: #6c2621;
-}
-
-.mytheme .v-filterselect-error .v-filterselect-button {
- color: #ed473b;
- border-color: #ed473b;
-}
-
-.mytheme .v-filterselect-suggestpopup {
- margin-top: 5px !important;
-}
-
-.mytheme .v-filterselect-suggestpopup[class*="animate-in"] {
- -webkit-animation: valo-overlay-animate-in 120ms;
- -moz-animation: valo-overlay-animate-in 120ms;
- animation: valo-overlay-animate-in 120ms;
-}
-
-.mytheme .v-filterselect-suggestpopup [class$="suggestmenu"] {
- padding: 4px 4px;
- border-radius: 4px;
- background-color: white;
- color: #474747;
- -webkit-box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.1), 0 3px 5px 0 rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(0, 0, 0, 0.09098);
- box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.1), 0 3px 5px 0 rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(0, 0, 0, 0.09098);
- -webkit-backface-visibility: hidden;
- -moz-backface-visibility: hidden;
- -ms-backface-visibility: hidden;
- backface-visibility: hidden;
- padding: 4px 4px;
- -webkit-box-sizing: content-box;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
- position: relative;
- z-index: 1;
- display: block;
-}
-
-.mytheme .v-filterselect-suggestpopup table, .mytheme .v-filterselect-suggestpopup tbody, .mytheme .v-filterselect-suggestpopup tr, .mytheme .v-filterselect-suggestpopup td {
- display: block;
- width: 100%;
- overflow-y: hidden;
- float: left;
- clear: both;
-}
-
-.mytheme .v-filterselect-suggestpopup .gwt-MenuItem {
- cursor: pointer;
- line-height: 27px;
- padding: 0 20px 0 10px;
- border-radius: 3px;
- font-weight: 400;
- white-space: nowrap;
- position: relative;
- height: 27px;
- box-sizing: border-box;
- text-overflow: ellipsis;
- overflow-x: hidden;
-}
-
-.mytheme .v-filterselect-suggestpopup .gwt-MenuItem:active:before {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- background: #0957a6;
- opacity: 0.15;
- filter: alpha(opacity=15.0) ;
- pointer-events: none;
- border-radius: inherit;
-}
-
-.mytheme .v-filterselect-suggestpopup .gwt-MenuItem .v-icon {
- max-height: 27px;
- margin-right: 5px;
- min-width: 1em;
-}
-
-.mytheme .v-filterselect-suggestpopup .gwt-MenuItem-selected {
- background-color: #197de1;
- background-image: -webkit-linear-gradient(top, #1b87e3 2%, #166ed5 98%);
- background-image: linear-gradient(to bottom,#1b87e3 2%, #166ed5 98%);
- color: #ecf2f8;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.05);
-}
-
-.mytheme .v-filterselect-suggestpopup [class$="status"] {
- position: absolute;
- right: 4px;
- background: rgba(212, 212, 212, 0.9);
- color: #3b3b3b;
- border-radius: 0 0 4px 4px;
- height: 23px;
- bottom: -23px;
- font-size: 12px;
- line-height: 23px;
- padding: 0 6px;
- cursor: default;
- pointer-events: none;
- -webkit-animation: valo-animate-in-slide-down 200ms 80ms backwards;
- -moz-animation: valo-animate-in-slide-down 200ms 80ms backwards;
- animation: valo-animate-in-slide-down 200ms 80ms backwards;
-}
-
-.mytheme .v-filterselect-suggestpopup [class$="status"] > * {
- color: #3b3b3b;
- text-decoration: none;
-}
-
-.mytheme .v-filterselect-suggestpopup div[class*="page"] {
- position: absolute;
- z-index: 3;
- right: 0;
- opacity: 0.2;
- filter: alpha(opacity=20) ;
- cursor: pointer;
- -webkit-transition: all 200ms;
- -moz-transition: all 200ms;
- transition: all 200ms;
- width: 25px;
- height: 25px;
- line-height: 25px;
- text-align: center;
- font-family: ThemeIcons;
- -webkit-transform: scale(0.8);
- -moz-transform: scale(0.8);
- -ms-transform: scale(0.8);
- -o-transform: scale(0.8);
- transform: scale(0.8);
- color: #464646;
-}
-
-.mytheme .v-filterselect-suggestpopup div[class*="page"]:after {
- content: "";
- position: absolute;
- display: block;
- border-radius: 50%;
-}
-
-.mytheme .v-filterselect-suggestpopup div[class*="page"]:hover {
- opacity: 1;
- filter: none ;
- background: rgba(250, 250, 250, 0.5);
-}
-
-.mytheme .v-filterselect-suggestpopup div[class*="page"]:hover:after {
- top: -10px;
- bottom: -10px;
- left: -20px;
- right: -20px;
-}
-
-.mytheme .v-filterselect-suggestpopup div[class*="page"] span {
- display: none;
-}
-
-.mytheme .v-filterselect-suggestpopup:hover div[class*="page"] {
- -webkit-transform: scale(1);
- -moz-transform: scale(1);
- -ms-transform: scale(1);
- -o-transform: scale(1);
- transform: scale(1);
-}
-
-.mytheme .v-filterselect-suggestpopup div[class*="prev"] {
- top: 0;
- -webkit-transform-origin: 100% 0%;
- -moz-transform-origin: 100% 0%;
- -ms-transform-origin: 100% 0%;
- -o-transform-origin: 100% 0%;
- transform-origin: 100% 0%;
- border-radius: 0 4px 0 4px;
-}
-
-.mytheme .v-filterselect-suggestpopup div[class*="prev"]:before {
- content: "\f0d8";
-}
-
-.mytheme .v-filterselect-suggestpopup div[class*="next"] {
- bottom: 0;
- -webkit-transform-origin: 100% 100%;
- -moz-transform-origin: 100% 100%;
- -ms-transform-origin: 100% 100%;
- -o-transform-origin: 100% 100%;
- transform-origin: 100% 100%;
- border-radius: 4px 0 4px 0;
-}
-
-.mytheme .v-filterselect-suggestpopup div[class*="next"]:before {
- content: "\f0d7";
-}
-
-.mytheme .v-filterselect-suggestpopup div[class*="-off"] {
- display: none;
-}
-
-.mytheme .v-filterselect-no-input {
- cursor: pointer;
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
-}
-
-.mytheme .v-filterselect-no-input [class*="input"] {
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- cursor: inherit;
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- border: 1px solid #c5c5c5;
- border-top-color: #c5c5c5;
- border-bottom-color: #bcbcbc;
- text-shadow: inherit;
- text-overflow: ellipsis;
- border-radius: inherit;
-}
-
-.mytheme .v-filterselect-no-input [class*="input"]:focus {
- outline: none;
- -webkit-transition: none;
- -moz-transition: none;
- transition: none;
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme .v-filterselect-no-input [class$="button"] {
- border-left: none !important;
-}
-
-.mytheme .v-filterselect-no-input:hover [class$="button"]:before {
- color: inherit;
-}
-
-.mytheme .v-filterselect-borderless .v-filterselect-input {
- border: none;
- border-radius: 0;
- background: transparent;
- -webkit-box-shadow: none;
- box-shadow: none;
- color: inherit;
-}
-
-.mytheme .v-filterselect-borderless .v-filterselect-input:focus {
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-filterselect-borderless .v-filterselect-input[class*="prompt"] {
- color: inherit;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-filterselect-borderless .v-filterselect-button {
- border: none;
- color: inherit;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-filterselect-borderless.v-filterselect-prompt .v-filterselect-input {
- color: inherit;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-filterselect-align-right input {
- text-align: right;
-}
-
-.mytheme .v-filterselect-align-center input {
- text-align: center;
-}
-
-.mytheme .v-filterselect-tiny {
- height: 28px;
-
- font-size: 12px;
-}
-
-.mytheme .v-filterselect-tiny [class*="input"] {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 28px;
-
- padding: 3px 5px;
-
-
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- width: 100% !important;
- height: 100%;
- padding-right: 29px;
- border-radius: inherit;
-}
-
-.v-ie8 .mytheme .v-filterselect-tiny [class*="input"], .v-ie9 .mytheme .v-filterselect-tiny [class*="input"] {
- line-height: 28px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.mytheme .v-filterselect-tiny .v-icon + [class*="input"] {
- padding-left: 28px;
-}
-
-.mytheme .v-filterselect-tiny img.v-icon {
- max-height: 28px;
- margin-left: 5px;
-}
-
-.mytheme .v-filterselect-tiny span.v-icon {
-
- width: 28px;
- line-height: 1;
- padding-top: 0.12em;
-}
-
-.mytheme .v-filterselect-tiny [class$="button"] {
- -webkit-tap-highlight-color: transparent;
- -webkit-touch-callout: none;
- cursor: pointer;
- position: absolute;
- width: 28px;
- border-radius: 0 4px 4px 0;
-}
-
-.mytheme .v-filterselect-tiny [class$="button"]:before {
- font-family: ThemeIcons;
- content: "\f078";
- -webkit-transition: color 140ms;
- -moz-transition: color 140ms;
- transition: color 140ms;
- position: absolute;
- width: 28px;
- text-align: center;
- top: 50%;
- line-height: 1;
- margin-top: -0.47em;
-}
-
-.mytheme .v-filterselect-tiny [class$="button"]:active:after {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- border-radius: inherit;
-}
-
-.mytheme .v-filterselect-tiny.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-filterselect-tiny.v-disabled [class$="button"] {
- cursor: default;
- pointer-events: none;
-}
-
-.mytheme .v-filterselect-tiny.v-disabled [class$="button"]:active:after {
- display: none;
-}
-
-.mytheme .v-filterselect-tiny.v-readonly [class*="input"] {
- background: #fafafa;
- color: #464646;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-filterselect-tiny.v-readonly [class*="input"]:focus {
- box-shadow: none;
- border-color: #c5c5c5;
-}
-
-.mytheme .v-filterselect-tiny.v-readonly [class$="button"] {
- cursor: default;
- pointer-events: none;
-}
-
-.mytheme .v-filterselect-tiny.v-readonly [class$="button"]:active:after {
- display: none;
-}
-
-.mytheme .v-filterselect-compact, .mytheme .v-filterselect-small {
- height: 31px;
-
-}
-
-.mytheme .v-filterselect-compact [class*="input"], .mytheme .v-filterselect-small [class*="input"] {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 31px;
-
- padding: 3px 6px;
-
-
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- width: 100% !important;
- height: 100%;
- padding-right: 32px;
- border-radius: inherit;
-}
-
-.v-ie8 .mytheme .v-filterselect-compact [class*="input"], .v-ie9 .mytheme .v-filterselect-compact [class*="input"], .v-ie8 .mytheme .v-filterselect-small [class*="input"], .v-ie9 .mytheme .v-filterselect-small [class*="input"] {
- line-height: 31px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.mytheme .v-filterselect-compact .v-icon + [class*="input"], .mytheme .v-filterselect-small .v-icon + [class*="input"] {
- padding-left: 31px;
-}
-
-.mytheme .v-filterselect-compact img.v-icon, .mytheme .v-filterselect-small img.v-icon {
- max-height: 31px;
- margin-left: 6px;
-}
-
-.mytheme .v-filterselect-compact span.v-icon, .mytheme .v-filterselect-small span.v-icon {
-
- width: 31px;
- line-height: 1;
- padding-top: 0.12em;
-}
-
-.mytheme .v-filterselect-compact [class$="button"], .mytheme .v-filterselect-small [class$="button"] {
- -webkit-tap-highlight-color: transparent;
- -webkit-touch-callout: none;
- cursor: pointer;
- position: absolute;
- width: 31px;
- border-radius: 0 4px 4px 0;
-}
-
-.mytheme .v-filterselect-compact [class$="button"]:before, .mytheme .v-filterselect-small [class$="button"]:before {
- font-family: ThemeIcons;
- content: "\f078";
- -webkit-transition: color 140ms;
- -moz-transition: color 140ms;
- transition: color 140ms;
- position: absolute;
- width: 31px;
- text-align: center;
- top: 50%;
- line-height: 1;
- margin-top: -0.47em;
-}
-
-.mytheme .v-filterselect-compact [class$="button"]:active:after, .mytheme .v-filterselect-small [class$="button"]:active:after {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- border-radius: inherit;
-}
-
-.mytheme .v-filterselect-compact.v-disabled, .mytheme .v-filterselect-small.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-filterselect-compact.v-disabled [class$="button"], .mytheme .v-filterselect-small.v-disabled [class$="button"] {
- cursor: default;
- pointer-events: none;
-}
-
-.mytheme .v-filterselect-compact.v-disabled [class$="button"]:active:after, .mytheme .v-filterselect-small.v-disabled [class$="button"]:active:after {
- display: none;
-}
-
-.mytheme .v-filterselect-compact.v-readonly [class*="input"], .mytheme .v-filterselect-small.v-readonly [class*="input"] {
- background: #fafafa;
- color: #464646;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-filterselect-compact.v-readonly [class*="input"]:focus, .mytheme .v-filterselect-small.v-readonly [class*="input"]:focus {
- box-shadow: none;
- border-color: #c5c5c5;
-}
-
-.mytheme .v-filterselect-compact.v-readonly [class$="button"], .mytheme .v-filterselect-small.v-readonly [class$="button"] {
- cursor: default;
- pointer-events: none;
-}
-
-.mytheme .v-filterselect-compact.v-readonly [class$="button"]:active:after, .mytheme .v-filterselect-small.v-readonly [class$="button"]:active:after {
- display: none;
-}
-
-.mytheme .v-filterselect-small {
- font-size: 14px;
-}
-
-.mytheme .v-filterselect-large {
- height: 44px;
-
- font-size: 20px;
-}
-
-.mytheme .v-filterselect-large [class*="input"] {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 44px;
-
- padding: 5px 8px;
-
-
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- width: 100% !important;
- height: 100%;
- padding-right: 45px;
- border-radius: inherit;
-}
-
-.v-ie8 .mytheme .v-filterselect-large [class*="input"], .v-ie9 .mytheme .v-filterselect-large [class*="input"] {
- line-height: 44px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.mytheme .v-filterselect-large .v-icon + [class*="input"] {
- padding-left: 44px;
-}
-
-.mytheme .v-filterselect-large img.v-icon {
- max-height: 44px;
- margin-left: 8px;
-}
-
-.mytheme .v-filterselect-large span.v-icon {
-
- width: 44px;
- line-height: 1;
- padding-top: 0.12em;
-}
-
-.mytheme .v-filterselect-large [class$="button"] {
- -webkit-tap-highlight-color: transparent;
- -webkit-touch-callout: none;
- cursor: pointer;
- position: absolute;
- width: 44px;
- border-radius: 0 4px 4px 0;
-}
-
-.mytheme .v-filterselect-large [class$="button"]:before {
- font-family: ThemeIcons;
- content: "\f078";
- -webkit-transition: color 140ms;
- -moz-transition: color 140ms;
- transition: color 140ms;
- position: absolute;
- width: 44px;
- text-align: center;
- top: 50%;
- line-height: 1;
- margin-top: -0.47em;
-}
-
-.mytheme .v-filterselect-large [class$="button"]:active:after {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- border-radius: inherit;
-}
-
-.mytheme .v-filterselect-large.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-filterselect-large.v-disabled [class$="button"] {
- cursor: default;
- pointer-events: none;
-}
-
-.mytheme .v-filterselect-large.v-disabled [class$="button"]:active:after {
- display: none;
-}
-
-.mytheme .v-filterselect-large.v-readonly [class*="input"] {
- background: #fafafa;
- color: #464646;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-filterselect-large.v-readonly [class*="input"]:focus {
- box-shadow: none;
- border-color: #c5c5c5;
-}
-
-.mytheme .v-filterselect-large.v-readonly [class$="button"] {
- cursor: default;
- pointer-events: none;
-}
-
-.mytheme .v-filterselect-large.v-readonly [class$="button"]:active:after {
- display: none;
-}
-
-.mytheme .v-filterselect-huge {
- height: 59px;
-
- font-size: 26px;
-}
-
-.mytheme .v-filterselect-huge [class*="input"] {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 59px;
-
- padding: 7px 10px;
-
-
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- width: 100% !important;
- height: 100%;
- padding-right: 60px;
- border-radius: inherit;
-}
-
-.v-ie8 .mytheme .v-filterselect-huge [class*="input"], .v-ie9 .mytheme .v-filterselect-huge [class*="input"] {
- line-height: 59px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.mytheme .v-filterselect-huge .v-icon + [class*="input"] {
- padding-left: 59px;
-}
-
-.mytheme .v-filterselect-huge img.v-icon {
- max-height: 59px;
- margin-left: 10px;
-}
-
-.mytheme .v-filterselect-huge span.v-icon {
-
- width: 59px;
- line-height: 1;
- padding-top: 0.12em;
-}
-
-.mytheme .v-filterselect-huge [class$="button"] {
- -webkit-tap-highlight-color: transparent;
- -webkit-touch-callout: none;
- cursor: pointer;
- position: absolute;
- width: 59px;
- border-radius: 0 4px 4px 0;
-}
-
-.mytheme .v-filterselect-huge [class$="button"]:before {
- font-family: ThemeIcons;
- content: "\f078";
- -webkit-transition: color 140ms;
- -moz-transition: color 140ms;
- transition: color 140ms;
- position: absolute;
- width: 59px;
- text-align: center;
- top: 50%;
- line-height: 1;
- margin-top: -0.47em;
-}
-
-.mytheme .v-filterselect-huge [class$="button"]:active:after {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- border-radius: inherit;
-}
-
-.mytheme .v-filterselect-huge.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-filterselect-huge.v-disabled [class$="button"] {
- cursor: default;
- pointer-events: none;
-}
-
-.mytheme .v-filterselect-huge.v-disabled [class$="button"]:active:after {
- display: none;
-}
-
-.mytheme .v-filterselect-huge.v-readonly [class*="input"] {
- background: #fafafa;
- color: #464646;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-filterselect-huge.v-readonly [class*="input"]:focus {
- box-shadow: none;
- border-color: #c5c5c5;
-}
-
-.mytheme .v-filterselect-huge.v-readonly [class$="button"] {
- cursor: default;
- pointer-events: none;
-}
-
-.mytheme .v-filterselect-huge.v-readonly [class$="button"]:active:after {
- display: none;
-}
-
-.mytheme .v-csslayout-well {
- background: #f5f5f5;
- color: #454545;
- -webkit-box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.05), inset 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.05), inset 0 2px 3px rgba(0, 0, 0, 0.05);
- border-radius: 4px;
- border: 1px solid #c5c5c5;
-}
-
-.mytheme .v-csslayout-well > div > [class*="-caption"] {
- background: transparent;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-csslayout-well > .v-margin-top {
- padding-top: 12px;
-}
-
-.mytheme .v-csslayout-well > .v-margin-right {
- padding-right: 12px;
-}
-
-.mytheme .v-csslayout-well > .v-margin-bottom {
- padding-bottom: 12px;
-}
-
-.mytheme .v-csslayout-well > .v-margin-left {
- padding-left: 12px;
-}
-
-.mytheme .v-csslayout-card {
- background: white;
- color: #474747;
- border-radius: 4px;
- border: 1px solid #d5d5d5;
- -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
-}
-
-.mytheme .v-csslayout-card > .v-margin-top {
- padding-top: 12px;
-}
-
-.mytheme .v-csslayout-card > .v-margin-right {
- padding-right: 12px;
-}
-
-.mytheme .v-csslayout-card > .v-margin-bottom {
- padding-bottom: 12px;
-}
-
-.mytheme .v-csslayout-card > .v-margin-left {
- padding-left: 12px;
-}
-
-.mytheme .v-csslayout-v-component-group {
- white-space: nowrap;
- position: relative;
-}
-
-.mytheme .v-csslayout-v-component-group .v-widget ~ .v-widget:not(:last-child) {
- border-radius: 0;
-}
-
-.mytheme .v-csslayout-v-component-group .v-widget:last-child {
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
-}
-
-.mytheme .v-csslayout-v-component-group .v-widget:first-child, .mytheme .v-csslayout-v-component-group .v-caption:first-child + .v-widget {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-
-.mytheme .v-csslayout-v-component-group .v-widget ~ .v-widget.first.first {
- border-radius: 4px 0 0 4px;
-}
-
-.mytheme .v-csslayout-v-component-group .v-widget ~ .v-widget.last.last {
- border-radius: 0 4px 4px 0;
-}
-
-.mytheme .v-csslayout-v-component-group .v-widget {
- vertical-align: middle;
- margin-left: -1px;
-}
-
-.mytheme .v-csslayout-v-component-group .v-widget:first-child {
- margin-left: 0;
-}
-
-.mytheme .v-csslayout-v-component-group .v-widget:focus, .mytheme .v-csslayout-v-component-group .v-widget[class*="focus"], .mytheme .v-csslayout-v-component-group .v-widget [class*="focus"] {
- position: relative;
- z-index: 5;
-}
-
-.mytheme .v-form fieldset {
- border: none;
- padding: 0;
- margin: 0;
- height: 100%;
-}
-
-.mytheme .v-form-content {
- height: 100%;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-.mytheme [class*="spacing"] > tbody > [class*="row"] > td {
- padding-top: 12px;
-}
-
-.mytheme [class*="spacing"] > tbody > [class*="firstrow"] > td {
- padding-top: 0;
-}
-
-.mytheme [class*="margin-top"] > tbody > [class*="firstrow"] > td {
- padding-top: 37px;
-}
-
-.mytheme [class*="margin-bottom"] > tbody > [class*="lastrow"] > td {
- padding-bottom: 37px;
-}
-
-.mytheme [class*="margin-left"] > tbody > [class*="row"] > [class*="captioncell"] {
- padding-left: 37px;
-}
-
-.mytheme [class*="margin-left"] > tbody > [class*="row"] > [class*="contentcell"] > .v-label-h2, .mytheme [class*="margin-left"] > tbody > [class*="row"] > [class*="contentcell"] > .v-label-h3, .mytheme [class*="margin-left"] > tbody > [class*="row"] > [class*="contentcell"] > .v-label-h4 {
- left: 37px;
-}
-
-.mytheme [class*="margin-right"] > tbody > [class*="row"] > [class*="contentcell"] {
- padding-right: 37px;
-}
-
-.mytheme [class*="margin-right"] > tbody > [class*="row"] > [class*="contentcell"] > .v-label-h2, .mytheme [class*="margin-right"] > tbody > [class*="row"] > [class*="contentcell"] > .v-label-h3, .mytheme [class*="margin-right"] > tbody > [class*="row"] > [class*="contentcell"] > .v-label-h4 {
- right: 37px;
-}
-
-.mytheme .v-formlayout > table {
- border-spacing: 0;
- position: relative;
-}
-
-.mytheme .v-formlayout.v-has-width > table, .mytheme .v-formlayout.v-has-width .v-formlayout-contentcell {
- width: 100%;
-}
-
-.mytheme .v-formlayout-error-indicator {
- width: 19px;
-}
-
-.mytheme .v-formlayout-captioncell {
- vertical-align: top;
- line-height: 36px;
-}
-
-.mytheme .v-formlayout-captioncell .v-caption {
- padding-bottom: 0;
-}
-
-.mytheme .v-formlayout-captioncell .v-caption-h2, .mytheme .v-formlayout-captioncell .v-caption-h3, .mytheme .v-formlayout-captioncell .v-caption-h4 {
- height: 3em;
-}
-
-.mytheme .v-formlayout-contentcell .v-checkbox, .mytheme .v-formlayout-contentcell .v-radiobutton {
- font-weight: 400;
-}
-
-.mytheme .v-formlayout-contentcell > .v-label-h2, .mytheme .v-formlayout-contentcell > .v-label-h3, .mytheme .v-formlayout-contentcell > .v-label-h4 {
- position: absolute;
- left: 0;
- right: 0;
- width: auto !important;
- margin-top: -0.5em;
- padding-bottom: 0.5em;
- border-bottom: 1px solid #dfdfdf;
-}
-
-.mytheme .v-formlayout.light > table {
- padding: 0;
-}
-
-.mytheme .v-formlayout.light > table > tbody > tr > td {
- padding-top: 0;
- height: 37px;
- border-bottom: 1px solid #eaeaea;
-}
-
-.mytheme .v-formlayout.light > table > tbody > [class*="lastrow"] > td {
- border-bottom: none;
-}
-
-.mytheme .v-formlayout.light > table > tbody > tr > [class*="captioncell"] {
- color: #7d7d7d;
- text-align: right;
- padding-left: 13px;
- line-height: 37px;
-}
-
-.mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] {
- padding-right: 0;
-}
-
-.mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-textfield, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-textarea, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-filterselect, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-datefield, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-filterselect-input, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-datefield-textfield {
- width: 100%;
-}
-
-.mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-textfield, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-textarea, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-filterselect input, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-datefield input, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-richtextarea {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 37px;
- border-radius: 0;
- padding: 4px 7px;
-
- -webkit-box-shadow: none;
- box-shadow: none;
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- background: transparent;
- border: none;
- color: inherit;
-}
-
-.v-ie8 .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-textfield, .v-ie9 .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-textfield, .v-ie8 .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-textarea, .v-ie9 .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-textarea, .v-ie8 .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-filterselect input, .v-ie9 .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-filterselect input, .v-ie8 .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-datefield input, .v-ie9 .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-datefield input, .v-ie8 .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-richtextarea, .v-ie9 .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-richtextarea {
- line-height: 37px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-textfield.v-disabled, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-textarea.v-disabled, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-filterselect input.v-disabled, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-datefield input.v-disabled, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-richtextarea.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-textfield:focus, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-textarea:focus, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-filterselect input:focus, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-datefield input:focus, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-richtextarea:focus {
- outline: none;
- -webkit-transition: none;
- -moz-transition: none;
- transition: none;
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), none;
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), none;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-textfield:focus, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-textarea:focus, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-filterselect input:focus, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-datefield input:focus, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-richtextarea:focus {
- box-shadow: none;
-}
-
-.mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-textfield-prompt, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-textarea-prompt, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-filterselect-prompt input, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-datefield-prompt input {
- color: #a3a3a3;
-}
-
-.mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-textarea, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-richtextarea {
- height: auto;
-}
-
-.mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-label-h2, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-label-h3, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-label-h4 {
- border-bottom: none;
- left: 0;
- right: 0;
-}
-
-.mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-label-h3, .mytheme .v-formlayout.light > table > tbody > [class*="row"] > [class*="contentcell"] > .v-label-h4 {
- margin-top: 0;
-}
-
-.mytheme .v-formlayout.light .v-richtextarea {
- margin: 5px 0;
-}
-
-.mytheme .v-formlayout.light .v-filterselect-button, .mytheme .v-formlayout.light .v-datefield-button {
- border: none;
-}
-
-.mytheme .v-formlayout.light .v-filterselect-button:active:after, .mytheme .v-formlayout.light .v-datefield-button:active:after {
- display: none;
-}
-
-.mytheme .v-formlayout.light .v-datefield-button {
- right: 0;
- left: auto;
-}
-
-.mytheme .v-formlayout.light .v-checkbox {
- margin-left: 7px;
-}
-
-.mytheme .v-grid {
- position: relative;
-}
-
-.mytheme .v-grid-scroller {
- position: absolute;
- z-index: 1;
- outline: none;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-.mytheme .v-grid-scroller-horizontal {
- left: 0;
- right: 0;
- bottom: 0;
- overflow-y: hidden;
- -ms-overflow-y: hidden;
-}
-
-.mytheme .v-grid-scroller-vertical {
- right: 0;
- top: 0;
- bottom: 0;
- overflow-x: hidden;
- -ms-overflow-x: hidden;
-}
-
-.mytheme .v-grid-tablewrapper {
- position: absolute;
- overflow: hidden;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- z-index: 5;
-}
-
-.mytheme .v-grid-tablewrapper > table {
- border-spacing: 0;
- table-layout: fixed;
- width: inherit;
-}
-
-.mytheme .v-grid-header-deco, .mytheme .v-grid-footer-deco {
- position: absolute;
- right: 0;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-.mytheme .v-grid-horizontal-scrollbar-deco {
- position: absolute;
- bottom: 0;
- left: 0;
- right: 0;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-.mytheme .v-grid-header, .mytheme .v-grid-body, .mytheme .v-grid-footer {
- position: absolute;
- left: 0;
- width: inherit;
- z-index: 10;
-}
-
-.mytheme .v-grid-header, .mytheme .v-grid-header-deco {
- top: 0;
-}
-
-.mytheme .v-grid-footer, .mytheme .v-grid-footer-deco {
- bottom: 0;
-}
-
-.mytheme .v-grid-body {
- -ms-touch-action: none;
- touch-action: none;
- z-index: 0;
- top: 0;
-}
-
-.mytheme .v-grid-body .v-grid-row {
- position: absolute;
- top: 0;
- left: 0;
-}
-
-.mytheme .v-grid-row {
- display: block;
-}
-
-.v-ie8 .mytheme .v-grid-row, .v-ie9 .mytheme .v-grid-row {
- float: left;
- clear: left;
- margin-top: 0;
-}
-
-.mytheme .v-grid-row > td, .mytheme .v-grid-row > th {
- background-color: white;
-}
-
-.mytheme .v-grid-row {
- width: inherit;
-}
-
-.mytheme .v-grid-cell {
- display: block;
- float: left;
- padding: 2px;
- white-space: nowrap;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- overflow: hidden;
- font-size: 16px;
-}
-
-.mytheme .v-grid-cell.frozen {
- position: relative;
- z-index: 1;
-}
-
-.mytheme .v-grid-spacer {
- position: absolute;
- display: block;
- background-color: white;
-}
-
-.mytheme .v-grid-spacer > td {
- width: 100%;
- height: 100%;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-.v-ie8 .mytheme .v-grid-spacer, .v-ie9 .mytheme .v-grid-spacer {
- margin-top: 0;
-}
-
-.mytheme .v-grid {
- outline: none;
-}
-
-.mytheme .v-grid-scroller-vertical, .mytheme .v-grid-scroller-horizontal {
- border: 1px solid #d4d4d4;
-}
-
-.mytheme .v-grid-scroller-vertical {
- border-left: none;
-}
-
-.mytheme .v-grid-scroller-horizontal {
- border-top: none;
-}
-
-.mytheme .v-grid-tablewrapper {
- border: 1px solid #d4d4d4;
-}
-
-.mytheme .v-grid .header-drag-table {
- border-spacing: 0;
- position: relative;
- table-layout: fixed;
- width: inherit;
-}
-
-.mytheme .v-grid .header-drag-table .v-grid-header {
- position: absolute;
-}
-
-.mytheme .v-grid .header-drag-table .v-grid-header > .v-grid-cell {
- border: 1px solid #d4d4d4;
- margin-top: -10px;
- opacity: 0.9;
- filter: alpha(opacity=90);
- z-index: 30000;
-}
-
-.mytheme .v-grid .header-drag-table .v-grid-header > .v-grid-drop-marker {
- background-color: #197de1;
- position: absolute;
- width: 3px;
-}
-
-.mytheme .v-grid-sidebar.v-contextmenu {
- -webkit-box-shadow: none;
- box-shadow: none;
- border-radius: 0;
- position: absolute;
- top: 0;
- right: 0;
- background-color: #fafafa;
- border: 1px solid #d4d4d4;
- padding: 0;
- z-index: 5;
-}
-
-.mytheme .v-grid-sidebar.v-contextmenu.v-grid-sidebar-popup {
- right: auto;
-}
-
-.mytheme .v-grid-sidebar.v-contextmenu .v-grid-sidebar-button {
- background: transparent;
- border: none;
- color: inherit;
- cursor: pointer;
- outline: none;
- padding: 0 4px;
- text-align: right;
- line-height: 1;
-}
-
-.mytheme .v-grid-sidebar.v-contextmenu .v-grid-sidebar-button[disabled] {
- cursor: default;
-}
-
-.mytheme .v-grid-sidebar.v-contextmenu .v-grid-sidebar-button::-moz-focus-inner {
- border: 0;
-}
-
-.mytheme .v-grid-sidebar.v-contextmenu .v-grid-sidebar-button:after {
- content: "\f0c9";
- display: block;
- font-family: ThemeIcons, sans-serif;
- font-size: 14px;
-}
-
-.mytheme .v-grid-sidebar.v-contextmenu.closed {
- border-radius: 0;
-}
-
-.mytheme .v-grid-sidebar.v-contextmenu.open .v-grid-sidebar-button {
- width: 100%;
-}
-
-.mytheme .v-grid-sidebar.v-contextmenu.open .v-grid-sidebar-button:after {
- content: "\f0c9";
- font-size: 14px;
- line-height: 1;
-}
-
-.v-ie .mytheme .v-grid-sidebar.v-contextmenu.open .v-grid-sidebar-button {
- vertical-align: middle;
-}
-
-.v-ie8 .mytheme .v-grid-sidebar.v-contextmenu.open .v-grid-sidebar-button:after {
- vertical-align: middle;
- text-align: center;
- display: inline;
-}
-
-.mytheme .v-grid-sidebar.v-contextmenu .v-grid-sidebar-content {
- padding: 4px 0;
- overflow-y: auto;
- overflow-x: hidden;
-}
-
-.mytheme .v-grid-sidebar.v-contextmenu .v-grid-sidebar-content .gwt-MenuBar .gwt-MenuItem .column-hiding-toggle {
- text-shadow: none;
-}
-
-.mytheme .v-grid-cell {
- background-color: white;
- padding: 0 18px;
- line-height: 37px;
- text-overflow: ellipsis;
-}
-
-.mytheme .v-grid-cell > * {
- line-height: 1.55;
- vertical-align: middle;
-}
-
-.mytheme .v-grid-cell > div {
- display: inline-block;
-}
-
-.mytheme .v-grid-cell.frozen {
- -webkit-box-shadow: 1px 0 2px rgba(0, 0, 0, 0.1);
- box-shadow: 1px 0 2px rgba(0, 0, 0, 0.1);
- border-right: 1px solid #d4d4d4;
-}
-
-.mytheme .v-grid-cell.frozen + th, .mytheme .v-grid-cell.frozen + td {
- border-left: none;
-}
-
-.mytheme .v-grid-row > td, .mytheme .v-grid-editor-cells > div {
- border-left: 1px solid #d4d4d4;
- border-bottom: 1px solid #d4d4d4;
-}
-
-.mytheme .v-grid-row > td:first-child, .mytheme .v-grid-editor-cells > div:first-child {
- border-left: none;
-}
-
-.mytheme .v-grid-editor-cells.frozen > div {
- -webkit-box-shadow: 1px 0 2px rgba(0, 0, 0, 0.1);
- box-shadow: 1px 0 2px rgba(0, 0, 0, 0.1);
- border-right: 1px solid #d4d4d4;
- border-left: none;
-}
-
-.mytheme .v-grid-row-stripe > td {
- background-color: #f5f5f5;
-}
-
-.mytheme .v-grid-row-selected > td {
- background: #197de1;
-}
-
-.mytheme .v-grid-row-focused > td {
-
-}
-
-.mytheme .v-grid-header th {
- position: relative;
- background-color: #fafafa;
- font-size: 14px;
- font-weight: inherit;
- border-left: 1px solid #d4d4d4;
- border-bottom: 1px solid #d4d4d4;
-
- text-align: left;
-}
-
-.mytheme .v-grid-header th:first-child {
- border-left: none;
-}
-
-.mytheme .v-grid-header .sort-asc, .mytheme .v-grid-header .sort-desc {
- padding-right: 35px;
-}
-
-.mytheme .v-grid-header .sort-asc:after, .mytheme .v-grid-header .sort-desc:after {
- font-family: ThemeIcons, sans-serif;
- content: "\f0de" " " attr(sort-order);
- position: absolute;
- right: 18px;
- font-size: 12px;
-}
-
-.mytheme .v-grid-header .sort-desc:after {
- content: "\f0dd" " " attr(sort-order);
-}
-
-.mytheme .v-grid-column-resize-handle {
- position: absolute;
- width: 36px;
- right: -18px;
- top: 0px;
- bottom: 0px;
- cursor: col-resize;
- z-index: 10;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-.mytheme .v-grid-column-resize-simple-indicator {
- position: absolute;
- width: 3px;
- top: 0px;
- left: 18px;
- z-index: 9001;
- background: #fff;
- box-shadow: 0px 0px 5px #000;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-.mytheme .v-grid-footer td {
- background-color: #fafafa;
- font-size: 14px;
- font-weight: inherit;
- border-left: 1px solid #d4d4d4;
- border-top: 1px solid #d4d4d4;
- border-bottom: none;
-
-}
-
-.mytheme .v-grid-footer td:first-child {
- border-left: none;
-}
-
-.mytheme .v-grid-header .v-grid-cell, .mytheme .v-grid-footer .v-grid-cell {
- overflow: visible;
-}
-
-.mytheme .v-grid-column-header-content, .mytheme .v-grid-column-footer-content {
- width: 100%;
- overflow: hidden;
- text-overflow: ellipsis;
- line-height: 37px;
- vertical-align: baseline;
-}
-
-.mytheme .v-grid-header-deco {
- border-top: 1px solid #d4d4d4;
- border-right: 1px solid #d4d4d4;
- background-color: #fafafa;
-}
-
-.mytheme .v-grid-footer-deco {
- border-bottom: 1px solid #d4d4d4;
- border-right: 1px solid #d4d4d4;
- background-color: #fafafa;
-}
-
-.mytheme .v-grid-horizontal-scrollbar-deco {
- background-color: #fafafa;
- border: 1px solid #d4d4d4;
- border-top: none;
-}
-
-.mytheme .v-grid-cell-focused {
- position: relative;
-}
-
-.mytheme .v-grid-cell-focused:before {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- border: 2px solid #197de1;
- display: none;
- pointer-events: none;
-}
-
-.ie8 .mytheme .v-grid-cell-focused:before, .ie9 .mytheme .v-grid-cell-focused:before, .ie10 .mytheme .v-grid-cell-focused:before {
- content: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==);
-}
-
-.mytheme .v-grid:focus .v-grid-cell-focused:before {
- display: block;
-}
-
-.mytheme .v-grid.v-disabled:focus .v-grid-cell-focused:before {
- display: none;
-}
-
-.mytheme .v-grid-editor {
- position: absolute;
- z-index: 20;
- overflow: hidden;
- left: 0;
- right: 0;
- border: 1px solid #d4d4d4;
- box-sizing: border-box;
- -moz-box-sizing: border-box;
- margin-top: -1px;
- -webkit-box-shadow: 0 0 9px rgba(0, 0, 0, 0.2);
- box-shadow: 0 0 9px rgba(0, 0, 0, 0.2);
-}
-
-.mytheme .v-grid-editor.unbuffered .v-grid-editor-footer {
- width: 100%;
-}
-
-.mytheme .v-grid-editor-cells {
- position: relative;
- white-space: nowrap;
-}
-
-.mytheme .v-grid-editor-cells.frozen {
- z-index: 2;
-}
-
-.mytheme .v-grid-editor-cells > div {
- display: inline-block;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- vertical-align: middle;
- background: white;
-}
-
-.mytheme .v-grid-editor-cells > div:first-child {
- border-left: none;
-}
-
-.mytheme .v-grid-editor-cells > div > * {
- vertical-align: middle;
- display: inline-block;
-}
-
-.mytheme .v-grid-editor-cells > div .v-filterselect {
- padding-left: 0;
-}
-
-.mytheme .v-grid-editor-cells > div input[type="text"], .mytheme .v-grid-editor-cells > div input[type="text"].v-filterselect-input, .mytheme .v-grid-editor-cells > div input[type="password"] {
- padding-left: 18px;
-}
-
-.mytheme .v-grid-editor-cells > div input[type="text"]:not(.v-filterselect-input), .mytheme .v-grid-editor-cells > div input[type="password"] {
- padding-right: 9px;
-}
-
-.mytheme .v-grid-editor-cells > div input[type="checkbox"] {
- margin-left: 18px;
-}
-
-.mytheme .v-grid-editor-cells > div .v-textfield, .mytheme .v-grid-editor-cells > div .v-datefield, .mytheme .v-grid-editor-cells > div .v-filterselect {
- min-width: 100%;
- max-width: 100%;
- min-height: 100%;
- max-height: 100%;
-}
-
-.v-ie8 .mytheme .v-grid-editor-cells > div .v-datefield-button {
- margin-left: -37px;
-}
-
-.v-ie8 .mytheme .v-grid-editor-cells > div .v-filterselect-button {
- margin-left: -25px;
-}
-
-.mytheme .v-grid-editor-cells > div .v-select, .mytheme .v-grid-editor-cells > div .v-select-select {
- min-width: 100%;
- max-width: 100%;
-}
-
-.mytheme .v-grid-editor-cells > div.not-editable.v-grid-cell {
- float: none;
-}
-
-.mytheme .v-grid-editor-cells .error::before {
- position: absolute;
- display: block;
- height: 0;
- width: 0;
- content: "";
- border-top: 5px solid red;
- border-right: 5px solid transparent;
-}
-
-.mytheme .v-grid-editor-cells .error, .mytheme .v-grid-editor-cells .error > input {
- background-color: #fee;
-}
-
-.mytheme .v-grid-editor-footer {
- display: table;
- height: 37px;
- border-top: 1px solid #d4d4d4;
- margin-top: -1px;
- background: white;
- padding: 0 5px;
-}
-
-.mytheme .v-grid-editor-footer + .v-grid-editor-cells > div {
- border-bottom: none;
- border-top: 1px solid #d4d4d4;
-}
-
-.mytheme .v-grid-editor-footer:first-child {
- border-top: none;
- margin-top: 0;
- border-bottom: 1px solid #d4d4d4;
- margin-bottom: -1px;
-}
-
-.mytheme .v-grid-editor-message, .mytheme .v-grid-editor-buttons {
- display: table-cell;
- white-space: nowrap;
- vertical-align: middle;
-}
-
-.mytheme .v-grid-editor-message {
- width: 100%;
- position: relative;
-}
-
-.mytheme .v-grid-editor-message > div {
- position: absolute;
- width: 100%;
- overflow: hidden;
- text-overflow: ellipsis;
- line-height: 37px;
- top: 0;
-}
-
-.mytheme .v-grid-editor-save {
- margin-right: 4px;
-}
-
-.mytheme .v-grid-spacer {
- padding-left: 1px;
-}
-
-.mytheme .v-grid-spacer > td {
- display: block;
- padding: 0;
- background-color: white;
- border-top: 1px solid #eeeeee;
- border-bottom: 1px solid #d4d4d4;
-}
-
-.mytheme .v-grid-spacer.stripe > td {
- background-color: #f5f5f5;
- border-top: 1px solid #e5e5e5;
- border-bottom: 1px solid #d4d4d4;
-}
-
-.mytheme .v-grid-spacer-deco-container {
- border-top: 1px solid transparent;
- position: relative;
- top: 0;
- z-index: 5;
-}
-
-.mytheme .v-grid-spacer-deco {
- top: 0;
- left: 0;
- width: 2px;
- background-color: #197de1;
- position: absolute;
- height: 100%;
- pointer-events: none;
-}
-
-.ie8 .mytheme .v-grid-spacer-deco:before, .ie9 .mytheme .v-grid-spacer-deco:before, .ie10 .mytheme .v-grid-spacer-deco:before {
- content: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==);
-}
-
-.mytheme .v-grid-cell > .v-progressbar {
- width: 100%;
-}
-
-.mytheme .v-grid {
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- background-color: #fafafa;
-}
-
-.mytheme .v-grid.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-grid-header .v-grid-cell {
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
-}
-
-.mytheme .v-grid-header .v-grid-cell.dragged {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
- -webkit-transition: opacity 0.3s ease-in-out;
- -moz-transition: opacity 0.3s ease-in-out;
- transition: opacity 0.3s ease-in-out;
-}
-
-.mytheme .v-grid-header .v-grid-cell.dragged-column-header {
- margin-top: -19px;
-}
-
-.mytheme .v-grid-footer .v-grid-cell {
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
-}
-
-.mytheme .v-grid-header-deco {
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
-}
-
-.mytheme .v-grid-footer-deco, .mytheme .v-grid-horizontal-scrollbar-deco {
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
-}
-
-.mytheme .v-grid-row-selected > .v-grid-cell {
- background-color: #197de1;
- background-image: -webkit-linear-gradient(top, #1b87e3 2%, #166ed5 98%);
- background-image: linear-gradient(to bottom,#1b87e3 2%, #166ed5 98%);
- color: #c8dbed;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.05);
- border-color: #1d69b4;
-}
-
-.mytheme .v-grid-row-selected > .v-grid-cell-focused:before {
- border-color: #71b0ef;
-}
-
-.mytheme .v-grid-editor {
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- border-color: #197de1;
-}
-
-.mytheme .v-grid-editor-footer {
- font-size: 14px;
- padding: 0 6px;
- background: #fafafa;
- -webkit-animation: valo-grid-editor-footer-animate-in 200ms 120ms backwards;
- -moz-animation: valo-grid-editor-footer-animate-in 200ms 120ms backwards;
- animation: valo-grid-editor-footer-animate-in 200ms 120ms backwards;
-}
-
-.mytheme .v-grid-editor-footer:first-child {
- -webkit-animation: valo-grid-editor-footer-animate-in-alt 200ms 120ms backwards;
- -moz-animation: valo-grid-editor-footer-animate-in-alt 200ms 120ms backwards;
- animation: valo-grid-editor-footer-animate-in-alt 200ms 120ms backwards;
-}
-
-.mytheme .v-grid-editor-cells {
- z-index: 1;
-}
-
-.mytheme .v-grid-editor-cells > div:before {
- content: "";
- display: inline-block;
- height: 100%;
- vertical-align: middle;
-}
-
-.mytheme .v-grid-editor-cells > div.not-editable.v-grid-cell {
- float: none;
-}
-
-.mytheme .v-grid-editor-cells > div .error::before {
- border-top: 9px solid #ed473b;
- border-right: 9px solid transparent;
-}
-
-.mytheme .v-grid-editor-cells > div .error, .mytheme .v-grid-editor-cells > div .error > input {
- background-color: #fffbfb;
-}
-
-.mytheme .v-grid-editor-cells > div .v-textfield, .mytheme .v-grid-editor-cells > div .v-textfield-focus, .mytheme .v-grid-editor-cells > div .v-datefield, .mytheme .v-grid-editor-cells > div .v-datefield .v-textfield-focus, .mytheme .v-grid-editor-cells > div .v-filterselect-input, .mytheme .v-grid-editor-cells > div .v-filterselect-input:focus {
- border: none;
- border-radius: 0;
- background: transparent;
- -webkit-box-shadow: inset 0 1px 0 #f2f2f2;
- box-shadow: inset 0 1px 0 #f2f2f2;
-}
-
-.mytheme .v-grid-editor-cells > div input[type="text"].v-datefield-textfield {
- padding-left: 44.4px;
-}
-
-.v-ie8 .mytheme .v-grid-editor-cells > div .v-datefield-button {
- margin-left: 0px;
-}
-
-.v-ie8 .mytheme .v-grid-editor-cells > div .v-filterselect-button {
- margin-left: 0px;
-}
-
-.mytheme .v-grid-editor-cells > div .v-textfield-focus, .mytheme .v-grid-editor-cells > div .v-datefield .v-textfield-focus, .mytheme .v-grid-editor-cells > div .v-filterselect-input:focus {
- position: relative;
-}
-
-.mytheme .v-grid-editor-cells > div .v-select {
- padding-left: 9px;
- padding-right: 9px;
-}
-
-.mytheme .v-grid-editor-cells > div .v-checkbox {
- margin: 0 9px 0 18px;
-}
-
-.mytheme .v-grid-editor-cells > div .v-checkbox > input[type="checkbox"] {
- margin-left: 0;
-}
-
-.mytheme .v-grid-editor-cells > div .v-checkbox > label {
- white-space: nowrap;
-}
-
-.mytheme .v-grid-editor-message > div:before {
- display: inline-block;
- color: #ed473b;
- font-weight: 600;
- width: 19px;
- text-align: center;
- content: "!";
-}
-
-.mytheme .v-grid-editor-save, .mytheme .v-grid-editor-cancel {
- cursor: pointer;
- color: #197de1;
- text-decoration: underline;
- font-weight: inherit;
- -webkit-transition: color 140ms;
- -moz-transition: color 140ms;
- transition: color 140ms;
- font-weight: 400;
- text-decoration: none;
- border: none;
- background: transparent;
- padding: 6px 6px;
- margin: 0;
- outline: none;
-}
-
-.mytheme .v-grid-editor-save:hover, .mytheme .v-grid-editor-cancel:hover {
- color: #4396ea;
-}
-
-.mytheme .v-grid-editor-save.v-disabled, .mytheme .v-grid-editor-cancel.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-grid-spacer {
- margin-top: -1px;
-}
-
-.mytheme .v-grid-sidebar.v-contextmenu.open .v-grid-sidebar-content {
- margin: 0 0 2px;
- padding: 4px 4px 2px;
- overflow-y: auto;
- overflow-x: hidden;
-}
-
-.mytheme .v-grid-sidebar.v-contextmenu.closed {
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
-}
-
-.mytheme .v-grid-scroller::-webkit-scrollbar {
- border: none;
-}
-
-.mytheme .v-grid-scroller::-webkit-scrollbar-thumb {
- border-radius: 10px;
- border: 4px solid transparent;
- background: rgba(0, 0, 0, 0.3);
- -webkit-background-clip: content-box;
- background-clip: content-box;
-}
-
-.mytheme .v-grid-scroller-vertical::-webkit-scrollbar-thumb {
- min-height: 30px;
-}
-
-.mytheme .v-grid-scroller-horizontal::-webkit-scrollbar-thumb {
- min-width: 30px;
-}
-
-.mytheme .v-textfield {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 37px;
- border-radius: 4px;
- padding: 4px 9px;
- border: 1px solid #c5c5c5;
- background: white;
- color: #474747;
- -webkit-box-shadow: inset 0 1px 0 #f7f7f7, 0 1px 0 rgba(255, 255, 255, 0.1);
- box-shadow: inset 0 1px 0 #f7f7f7, 0 1px 0 rgba(255, 255, 255, 0.1);
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- width: 185px;
-}
-
-.v-ie8 .mytheme .v-textfield, .v-ie9 .mytheme .v-textfield {
- line-height: 37px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.mytheme .v-textfield.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-textfield:focus {
- outline: none;
- -webkit-transition: none;
- -moz-transition: none;
- transition: none;
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 #f7f7f7, 0 1px 0 rgba(255, 255, 255, 0.1);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 #f7f7f7, 0 1px 0 rgba(255, 255, 255, 0.1);
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme .v-textfield[class*="prompt"] {
- color: #a3a3a3;
-}
-
-.mytheme .v-textfield-readonly {
- background: #fafafa;
- color: #464646;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-textfield-readonly:focus {
- box-shadow: none;
- border-color: #c5c5c5;
-}
-
-.mytheme .v-textfield-error {
- border-color: #ed473b !important;
- background: #fffbfb;
- color: #6c2621;
-}
-
-.mytheme .v-textfield-borderless {
- border: none;
- border-radius: 0;
- background: transparent;
- -webkit-box-shadow: none;
- box-shadow: none;
- color: inherit;
-}
-
-.mytheme .v-textfield-borderless:focus {
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-textfield-borderless[class*="prompt"] {
- color: inherit;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-textfield-tiny {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 28px;
- border-radius: 4px;
- padding: 3px 7px;
-
-
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- font-size: 12px;
-}
-
-.v-ie8 .mytheme .v-textfield-tiny, .v-ie9 .mytheme .v-textfield-tiny {
- line-height: 28px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.mytheme .v-textfield-compact, .mytheme .v-textfield-small {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 31px;
- border-radius: 4px;
- padding: 3px 8px;
-
-
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
-}
-
-.v-ie8 .mytheme .v-textfield-compact, .v-ie9 .mytheme .v-textfield-compact, .v-ie8 .mytheme .v-textfield-small, .v-ie9 .mytheme .v-textfield-small {
- line-height: 31px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.mytheme .v-textfield-small {
- font-size: 14px;
-}
-
-.mytheme .v-textfield-large {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 44px;
- border-radius: 4px;
- padding: 5px 10px;
-
-
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- font-size: 20px;
-}
-
-.v-ie8 .mytheme .v-textfield-large, .v-ie9 .mytheme .v-textfield-large {
- line-height: 44px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.mytheme .v-textfield-huge {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 59px;
- border-radius: 4px;
- padding: 7px 12px;
-
-
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- font-size: 26px;
-}
-
-.v-ie8 .mytheme .v-textfield-huge, .v-ie9 .mytheme .v-textfield-huge {
- line-height: 59px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.mytheme .v-slot-inline-icon {
- position: relative;
-}
-
-.mytheme .v-caption-inline-icon {
- padding: 0;
-}
-
-.mytheme .v-caption-inline-icon .v-captiontext {
- font-size: 14px;
- font-weight: 400;
- padding-bottom: 0.3em;
- padding-left: 1px;
- margin: 0;
-}
-
-.mytheme .v-caption-inline-icon .v-icon {
- position: absolute;
- z-index: 10;
-}
-
-.mytheme .v-caption-inline-icon span.v-icon {
- left: 1px;
- bottom: 1px;
- width: 37px;
- line-height: 35px;
- text-align: center;
- font-size: 16px;
-}
-
-.mytheme .v-caption-inline-icon img.v-icon {
- left: 11px;
- bottom: 11px;
-}
-
-.mytheme .v-textfield-inline-icon {
- padding-left: 37px;
-}
-
-.mytheme .v-slot-inline-icon.v-slot-tiny {
- position: relative;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-tiny {
- padding: 0;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-tiny .v-captiontext {
- font-size: 14px;
- font-weight: 400;
- padding-bottom: 0.3em;
- padding-left: 1px;
- margin: 0;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-tiny .v-icon {
- position: absolute;
- z-index: 10;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-tiny span.v-icon {
- left: 1px;
- bottom: 1px;
- width: 28px;
- line-height: 26px;
- text-align: center;
- font-size: 12px;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-tiny img.v-icon {
- left: 6px;
- bottom: 6px;
-}
-
-.mytheme .v-textfield-inline-icon.v-textfield-tiny {
- padding-left: 28px;
-}
-
-.mytheme .v-slot-inline-icon.v-slot-compact {
- position: relative;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-compact {
- padding: 0;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-compact .v-captiontext {
- font-size: 14px;
- font-weight: 400;
- padding-bottom: 0.3em;
- padding-left: 1px;
- margin: 0;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-compact .v-icon {
- position: absolute;
- z-index: 10;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-compact span.v-icon {
- left: 1px;
- bottom: 1px;
- width: 31px;
- line-height: 29px;
- text-align: center;
- font-size: 16px;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-compact img.v-icon {
- left: 8px;
- bottom: 8px;
-}
-
-.mytheme .v-textfield-inline-icon.v-textfield-compact {
- padding-left: 31px;
-}
-
-.mytheme .v-slot-inline-icon.v-slot-small {
- position: relative;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-small {
- padding: 0;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-small .v-captiontext {
- font-size: 14px;
- font-weight: 400;
- padding-bottom: 0.3em;
- padding-left: 1px;
- margin: 0;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-small .v-icon {
- position: absolute;
- z-index: 10;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-small span.v-icon {
- left: 1px;
- bottom: 1px;
- width: 31px;
- line-height: 29px;
- text-align: center;
- font-size: 14px;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-small img.v-icon {
- left: 8px;
- bottom: 8px;
-}
-
-.mytheme .v-textfield-inline-icon.v-textfield-small {
- padding-left: 31px;
-}
-
-.mytheme .v-slot-inline-icon.v-slot-large {
- position: relative;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-large {
- padding: 0;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-large .v-captiontext {
- font-size: 14px;
- font-weight: 400;
- padding-bottom: 0.3em;
- padding-left: 1px;
- margin: 0;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-large .v-icon {
- position: absolute;
- z-index: 10;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-large span.v-icon {
- left: 1px;
- bottom: 1px;
- width: 44px;
- line-height: 42px;
- text-align: center;
- font-size: 20px;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-large img.v-icon {
- left: 14px;
- bottom: 14px;
-}
-
-.mytheme .v-textfield-inline-icon.v-textfield-large {
- padding-left: 44px;
-}
-
-.mytheme .v-slot-inline-icon.v-slot-huge {
- position: relative;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-huge {
- padding: 0;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-huge .v-captiontext {
- font-size: 14px;
- font-weight: 400;
- padding-bottom: 0.3em;
- padding-left: 1px;
- margin: 0;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-huge .v-icon {
- position: absolute;
- z-index: 10;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-huge span.v-icon {
- left: 1px;
- bottom: 1px;
- width: 59px;
- line-height: 57px;
- text-align: center;
- font-size: 26px;
-}
-
-.mytheme .v-caption-inline-icon.v-caption-huge img.v-icon {
- left: 22px;
- bottom: 22px;
-}
-
-.mytheme .v-textfield-inline-icon.v-textfield-huge {
- padding-left: 59px;
-}
-
-.mytheme .v-textfield-align-right {
- text-align: right;
-}
-
-.mytheme .v-textfield-align-center {
- text-align: center;
-}
-
-.mytheme .v-textarea {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 37px;
- border-radius: 4px;
- padding: 6px;
- border: 1px solid #c5c5c5;
- background: white;
- color: #474747;
- -webkit-box-shadow: inset 0 1px 0 #f7f7f7, 0 1px 0 rgba(255, 255, 255, 0.1);
- box-shadow: inset 0 1px 0 #f7f7f7, 0 1px 0 rgba(255, 255, 255, 0.1);
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- height: auto;
- resize: none;
- white-space: pre-wrap;
- width: 185px;
-}
-
-.v-ie8 .mytheme .v-textarea, .v-ie9 .mytheme .v-textarea {
- line-height: 37px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.mytheme .v-textarea.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-textarea:focus {
- outline: none;
- -webkit-transition: none;
- -moz-transition: none;
- transition: none;
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 #f7f7f7, 0 1px 0 rgba(255, 255, 255, 0.1);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 #f7f7f7, 0 1px 0 rgba(255, 255, 255, 0.1);
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme .v-textarea[class*="prompt"] {
- color: #a3a3a3;
-}
-
-.v-ie8 .mytheme .v-textarea, .v-ie9 .mytheme .v-textarea {
- line-height: inherit;
- padding-top: 4px;
- padding-bottom: 4px;
-}
-
-.mytheme .v-textarea-readonly {
- background: #fafafa;
- color: #464646;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-textarea-readonly:focus {
- box-shadow: none;
- border-color: #c5c5c5;
-}
-
-.mytheme .v-textarea-error {
- border-color: #ed473b !important;
- background: #fffbfb;
- color: #6c2621;
-}
-
-.mytheme .v-textarea-borderless {
- border: none;
- border-radius: 0;
- background: transparent;
- -webkit-box-shadow: none;
- box-shadow: none;
- color: inherit;
-}
-
-.mytheme .v-textarea-borderless:focus {
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-textarea-borderless[class*="prompt"] {
- color: inherit;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-textarea-tiny {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 28px;
- border-radius: 4px;
- padding: 6px;
-
-
-
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- height: auto;
- resize: none;
- white-space: pre-wrap;
- font-size: 12px;
-}
-
-.v-ie8 .mytheme .v-textarea-tiny, .v-ie9 .mytheme .v-textarea-tiny {
- line-height: 28px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.v-ie8 .mytheme .v-textarea-tiny, .v-ie9 .mytheme .v-textarea-tiny {
- line-height: inherit;
- padding-top: 3px;
- padding-bottom: 3px;
-}
-
-.mytheme .v-textarea-small {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 31px;
- border-radius: 4px;
- padding: 6px;
-
-
-
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- height: auto;
- resize: none;
- white-space: pre-wrap;
- font-size: 14px;
-}
-
-.v-ie8 .mytheme .v-textarea-small, .v-ie9 .mytheme .v-textarea-small {
- line-height: 31px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.v-ie8 .mytheme .v-textarea-small, .v-ie9 .mytheme .v-textarea-small {
- line-height: inherit;
- padding-top: 3px;
- padding-bottom: 3px;
-}
-
-.mytheme .v-textarea-large {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 44px;
- border-radius: 4px;
- padding: 6px;
-
-
-
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- height: auto;
- resize: none;
- white-space: pre-wrap;
- font-size: 20px;
-}
-
-.v-ie8 .mytheme .v-textarea-large, .v-ie9 .mytheme .v-textarea-large {
- line-height: 44px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.v-ie8 .mytheme .v-textarea-large, .v-ie9 .mytheme .v-textarea-large {
- line-height: inherit;
- padding-top: 5px;
- padding-bottom: 5px;
-}
-
-.mytheme .v-textarea-huge {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 59px;
- border-radius: 4px;
- padding: 6px;
-
-
-
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- height: auto;
- resize: none;
- white-space: pre-wrap;
- font-size: 26px;
-}
-
-.v-ie8 .mytheme .v-textarea-huge, .v-ie9 .mytheme .v-textarea-huge {
- line-height: 59px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.v-ie8 .mytheme .v-textarea-huge, .v-ie9 .mytheme .v-textarea-huge {
- line-height: inherit;
- padding-top: 7px;
- padding-bottom: 7px;
-}
-
-.mytheme .v-textarea-align-right {
- text-align: right;
-}
-
-.mytheme .v-textarea-align-center {
- text-align: center;
-}
-
-.mytheme .v-datefield {
- position: relative;
- width: 185px;
- height: 37px;
- border-radius: 4px;
-}
-
-.mytheme .v-datefield [class*="textfield"] {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 37px;
- border-radius: 4px;
- padding: 4px 9px;
- border: 1px solid #c5c5c5;
- background: white;
- color: #474747;
- -webkit-box-shadow: inset 0 1px 0 #f7f7f7, 0 1px 0 rgba(255, 255, 255, 0.1);
- box-shadow: inset 0 1px 0 #f7f7f7, 0 1px 0 rgba(255, 255, 255, 0.1);
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- padding-left: 44.4px;
- width: 100%;
- height: 100%;
- border-radius: inherit;
-}
-
-.v-ie8 .mytheme .v-datefield [class*="textfield"], .v-ie9 .mytheme .v-datefield [class*="textfield"] {
- line-height: 37px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.mytheme .v-datefield [class*="textfield"].v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-datefield [class*="textfield"]:focus {
- outline: none;
- -webkit-transition: none;
- -moz-transition: none;
- transition: none;
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 #f7f7f7, 0 1px 0 rgba(255, 255, 255, 0.1);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 #f7f7f7, 0 1px 0 rgba(255, 255, 255, 0.1);
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme .v-datefield [class*="textfield"][class*="prompt"] {
- color: #a3a3a3;
-}
-
-.mytheme .v-datefield[class*="prompt"] > [class*="textfield"] {
- color: #a3a3a3;
-}
-
-.mytheme .v-datefield [class*="button"] {
- -webkit-tap-highlight-color: transparent;
- -webkit-touch-callout: none;
- cursor: pointer;
- -webkit-appearance: none;
- background: transparent;
- padding: 0;
- position: absolute;
- z-index: 10;
- width: 37px;
- line-height: 35px;
- text-align: center;
- font: inherit;
- outline: none;
- margin: 0;
- top: 1px;
- bottom: 1px;
- left: 1px;
- border: none;
- border-right: 1px solid #e4e4e4;
- color: #a3a3a3;
- border-radius: 3px 0 0 3px;
-}
-
-.mytheme .v-datefield [class*="button"]:hover {
- color: #474747;
-}
-
-.mytheme .v-datefield [class*="button"]:before {
- font-family: ThemeIcons;
- content: "\f073";
- -webkit-transition: color 140ms;
- -moz-transition: color 140ms;
- transition: color 140ms;
-}
-
-.mytheme .v-datefield [class*="button"]:active:after {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- background-color: rgba(128, 128, 128, 0.2);
- border-radius: inherit;
-}
-
-.mytheme .v-datefield.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-datefield.v-disabled [class*="button"] {
- cursor: default;
- pointer-events: none;
-}
-
-.mytheme .v-datefield.v-disabled [class*="button"]:active:after {
- display: none;
-}
-
-.mytheme .v-datefield.v-readonly [class*="textfield"] {
- background: #fafafa;
- color: #464646;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-datefield.v-readonly [class*="textfield"]:focus {
- box-shadow: none;
- border-color: #c5c5c5;
-}
-
-.mytheme .v-datefield.v-readonly [class*="button"] {
- cursor: default;
- pointer-events: none;
-}
-
-.mytheme .v-datefield.v-readonly [class*="button"]:active:after {
- display: none;
-}
-
-.mytheme .v-datefield-error .v-datefield-textfield {
- border-color: #ed473b !important;
- background: #fffbfb;
- color: #6c2621;
-}
-
-.mytheme .v-datefield-error .v-datefield-button {
- color: #ed473b;
- border-color: #ed473b;
-}
-
-.mytheme .v-datefield-full {
- width: 240px;
-}
-
-.mytheme .v-datefield-day {
- width: 185px;
-}
-
-.mytheme .v-datefield-month {
- width: 120px;
-}
-
-.mytheme .v-datefield-year {
- width: 104px;
-}
-
-.mytheme .v-datefield-popup {
- padding: 4px 4px;
- border-radius: 4px;
- background-color: white;
- color: #474747;
- -webkit-box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.1), 0 3px 5px 0 rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(0, 0, 0, 0.09098);
- box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.1), 0 3px 5px 0 rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(0, 0, 0, 0.09098);
- -webkit-backface-visibility: hidden;
- -moz-backface-visibility: hidden;
- -ms-backface-visibility: hidden;
- backface-visibility: hidden;
- margin-top: 5px !important;
- margin-bottom: 5px !important;
- margin-right: 5px !important;
- cursor: default;
- width: auto;
-}
-
-.mytheme .v-datefield-popup[class*="animate-in"] {
- -webkit-animation: valo-overlay-animate-in 120ms;
- -moz-animation: valo-overlay-animate-in 120ms;
- animation: valo-overlay-animate-in 120ms;
-}
-
-.mytheme .v-datefield-popup[class*="animate-out"] {
- -webkit-animation: valo-animate-out-fade 120ms;
- -moz-animation: valo-animate-out-fade 120ms;
- animation: valo-animate-out-fade 120ms;
-}
-
-.mytheme .v-datefield-popup table {
- border-collapse: collapse;
- border-spacing: 0;
- margin: 0 auto;
-}
-
-.mytheme .v-datefield-popup td {
- padding: 2px;
-}
-
-.mytheme .v-datefield-popup .v-datefield-calendarpanel {
- font-size: 16px;
- text-align: center;
-}
-
-.mytheme .v-datefield-popup .v-datefield-calendarpanel:focus {
- outline: none;
-}
-
-.mytheme .v-datefield-popup .v-datefield-calendarpanel-day {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- width: 30px;
- height: 26px;
- border: 1px solid transparent;
- line-height: 26px;
- text-align: center;
- font-size: 14px;
- background: #fafafa;
- border-radius: 2px;
- -webkit-transition: color 200ms;
- -moz-transition: color 200ms;
- transition: color 200ms;
- display: inline-block;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- cursor: pointer;
-}
-
-.mytheme .v-datefield-popup .v-datefield-calendarpanel-day:hover {
- color: #197de1;
-}
-
-.mytheme .v-datefield-popup .v-datefield-calendarpanel-day-offmonth {
- color: #a0a0a0;
- background: transparent;
-}
-
-.mytheme .v-datefield-popup .v-datefield-calendarpanel-day-today {
- color: #191919;
- font-weight: 600;
- border-color: #afafaf;
-}
-
-.mytheme .v-datefield-popup .v-datefield-calendarpanel-day.v-datefield-calendarpanel-day-selected, .mytheme .v-datefield-popup .v-datefield-calendarpanel-day.v-datefield-calendarpanel-day-selected:hover {
- color: #c8dbed;
- background-color: #197de1;
- background-image: -webkit-linear-gradient(top, #1b87e3 2%, #166ed5 98%);
- background-image: linear-gradient(to bottom,#1b87e3 2%, #166ed5 98%);
- border: none;
- font-weight: 600;
-}
-
-.mytheme .v-datefield-popup .v-datefield-calendarpanel-day.v-datefield-calendarpanel-day-focused {
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- position: relative;
-}
-
-.v-ie8 .mytheme .v-datefield-popup .v-datefield-calendarpanel-day.v-datefield-calendarpanel-day-focused {
- border-color: #197de1;
-}
-
-.mytheme .v-datefield-popup .v-datefield-calendarpanel-day.v-datefield-calendarpanel-day-outside-range, .mytheme .v-datefield-popup .v-datefield-calendarpanel-day.v-datefield-calendarpanel-day-outside-range:hover {
- color: #a0a0a0;
- cursor: not-allowed;
-}
-
-.mytheme .v-datefield-popup .v-datefield-calendarpanel-weekdays {
- height: 26px;
- color: rgba(133, 133, 133, 0.85);
-}
-
-.mytheme .v-datefield-popup .v-datefield-calendarpanel-weekdays strong {
- font: inherit;
- font-size: 14px;
-}
-
-.mytheme .v-datefield-popup .v-datefield-calendarpanel-header {
- white-space: nowrap;
-}
-
-.mytheme .v-datefield-popup td[class*="year"] button, .mytheme .v-datefield-popup td[class*="month"] button {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- border: none;
- background: transparent;
- padding: 0;
- margin: 0;
- cursor: pointer;
- color: transparent;
- font-size: 0;
- width: 19px;
- height: 25px;
- outline: none;
- position: relative;
- vertical-align: middle;
-}
-
-.mytheme .v-datefield-popup td[class*="year"] button:before, .mytheme .v-datefield-popup td[class*="month"] button:before {
- color: #a0a0a0;
- font-size: 21px;
- line-height: 24px;
- -webkit-transition: color 200ms;
- -moz-transition: color 200ms;
- transition: color 200ms;
-}
-
-.mytheme .v-datefield-popup td[class*="year"] button:hover:before, .mytheme .v-datefield-popup td[class*="month"] button:hover:before {
- color: #197de1;
-}
-
-.mytheme .v-datefield-popup td[class*="year"] button.outside-range, .mytheme .v-datefield-popup td[class*="month"] button.outside-range {
- cursor: default;
- opacity: 0.3;
- filter: alpha(opacity=30.0) ;
-}
-
-.mytheme .v-datefield-popup td[class*="year"] button.outside-range:hover:before, .mytheme .v-datefield-popup td[class*="month"] button.outside-range:hover:before {
- color: #a0a0a0;
-}
-
-.mytheme .v-datefield-popup .v-button-prevyear:before {
- font-family: ThemeIcons;
- content: "\f100";
-}
-
-.mytheme .v-datefield-popup .v-button-prevmonth:before {
- font-family: ThemeIcons;
- content: "\f104";
-}
-
-.mytheme .v-datefield-popup .v-button-nextyear:before {
- font-family: ThemeIcons;
- content: "\f101";
-}
-
-.mytheme .v-datefield-popup .v-button-nextmonth:before {
- font-family: ThemeIcons;
- content: "\f105";
-}
-
-.mytheme .v-datefield-popup td.v-datefield-calendarpanel-month {
- width: 148px;
- color: #197de1;
-}
-
-.mytheme .v-datefield-popup .v-datefield-calendarpanel-year td.v-datefield-calendarpanel-month {
- width: 74px;
-}
-
-.mytheme .v-datefield-popup .v-datefield-calendarpanel-weeknumber, .mytheme .v-datefield-popup .v-datefield-calendarpanel-weekdays.v-datefield-calendarpanel-weeknumbers td:first-child {
- width: 30px;
- color: rgba(133, 133, 133, 0.85);
- font-size: 14px;
- display: inline-block;
- text-align: left;
-}
-
-.mytheme .v-datefield-popup .v-datefield-calendarpanel-weeknumber {
- position: relative;
-}
-
-.mytheme .v-datefield-popup .v-datefield-calendarpanel-weeknumbers .v-first:before {
- content: "";
- position: absolute;
- top: 38px;
- bottom: 0;
- left: 0;
- width: 34px;
- border-top: 1px solid #eaeaea;
- border-right: 1px solid #eaeaea;
- border-top-right-radius: 4px;
- border-bottom-left-radius: 4px;
- background: #fafafa;
-}
-
-.mytheme .v-datefield-popup td.v-datefield-calendarpanel-time {
- width: 100%;
- font-size: 14px;
-}
-
-.mytheme .v-datefield-popup td.v-datefield-calendarpanel-time .v-label {
- display: inline;
- margin: 0 0.1em;
- font-weight: 400;
-}
-
-.mytheme .v-datefield-calendarpanel {
- font-size: 16px;
- text-align: center;
-}
-
-.mytheme .v-datefield-calendarpanel:focus {
- outline: none;
-}
-
-.mytheme .v-datefield-calendarpanel-day {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- width: 30px;
- height: 26px;
- border: 1px solid transparent;
- line-height: 26px;
- text-align: center;
- font-size: 14px;
- background: #fafafa;
- border-radius: 2px;
- -webkit-transition: color 200ms;
- -moz-transition: color 200ms;
- transition: color 200ms;
- display: inline-block;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- cursor: pointer;
-}
-
-.mytheme .v-datefield-calendarpanel-day:hover {
- color: #197de1;
-}
-
-.mytheme .v-datefield-calendarpanel-day-offmonth {
- color: #a0a0a0;
- background: transparent;
-}
-
-.mytheme .v-datefield-calendarpanel-day-today {
- color: #191919;
- font-weight: 600;
- border-color: #afafaf;
-}
-
-.mytheme .v-datefield-calendarpanel-day.v-datefield-calendarpanel-day-selected, .mytheme .v-datefield-calendarpanel-day.v-datefield-calendarpanel-day-selected:hover {
- color: #c8dbed;
- background-color: #197de1;
- background-image: -webkit-linear-gradient(top, #1b87e3 2%, #166ed5 98%);
- background-image: linear-gradient(to bottom,#1b87e3 2%, #166ed5 98%);
- border: none;
- font-weight: 600;
-}
-
-.mytheme .v-datefield-calendarpanel-day.v-datefield-calendarpanel-day-focused {
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- position: relative;
-}
-
-.v-ie8 .mytheme .v-datefield-calendarpanel-day.v-datefield-calendarpanel-day-focused {
- border-color: #197de1;
-}
-
-.mytheme .v-datefield-calendarpanel-day.v-datefield-calendarpanel-day-outside-range, .mytheme .v-datefield-calendarpanel-day.v-datefield-calendarpanel-day-outside-range:hover {
- color: #a0a0a0;
- cursor: not-allowed;
-}
-
-.mytheme .v-datefield-calendarpanel-weekdays {
- height: 26px;
- color: rgba(133, 133, 133, 0.85);
-}
-
-.mytheme .v-datefield-calendarpanel-weekdays strong {
- font: inherit;
- font-size: 14px;
-}
-
-.mytheme .v-datefield-calendarpanel-header {
- white-space: nowrap;
-}
-
-.mytheme td[class*="year"] button, .mytheme td[class*="month"] button {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- border: none;
- background: transparent;
- padding: 0;
- margin: 0;
- cursor: pointer;
- color: transparent;
- font-size: 0;
- width: 19px;
- height: 25px;
- outline: none;
- position: relative;
- vertical-align: middle;
-}
-
-.mytheme td[class*="year"] button:before, .mytheme td[class*="month"] button:before {
- color: #a0a0a0;
- font-size: 21px;
- line-height: 24px;
- -webkit-transition: color 200ms;
- -moz-transition: color 200ms;
- transition: color 200ms;
-}
-
-.mytheme td[class*="year"] button:hover:before, .mytheme td[class*="month"] button:hover:before {
- color: #197de1;
-}
-
-.mytheme td[class*="year"] button.outside-range, .mytheme td[class*="month"] button.outside-range {
- cursor: default;
- opacity: 0.3;
- filter: alpha(opacity=30.0) ;
-}
-
-.mytheme td[class*="year"] button.outside-range:hover:before, .mytheme td[class*="month"] button.outside-range:hover:before {
- color: #a0a0a0;
-}
-
-.mytheme .v-button-prevyear:before {
- font-family: ThemeIcons;
- content: "\f100";
-}
-
-.mytheme .v-button-prevmonth:before {
- font-family: ThemeIcons;
- content: "\f104";
-}
-
-.mytheme .v-button-nextyear:before {
- font-family: ThemeIcons;
- content: "\f101";
-}
-
-.mytheme .v-button-nextmonth:before {
- font-family: ThemeIcons;
- content: "\f105";
-}
-
-.mytheme td.v-datefield-calendarpanel-month {
- width: 148px;
- color: #197de1;
-}
-
-.mytheme .v-datefield-calendarpanel-year td.v-datefield-calendarpanel-month {
- width: 74px;
-}
-
-.mytheme .v-datefield-calendarpanel-weeknumber, .mytheme .v-datefield-calendarpanel-weekdays.v-datefield-calendarpanel-weeknumbers td:first-child {
- width: 30px;
- color: rgba(133, 133, 133, 0.85);
- font-size: 14px;
- display: inline-block;
- text-align: left;
-}
-
-.mytheme .v-datefield-calendarpanel-weeknumber {
- position: relative;
-}
-
-.mytheme .v-datefield-calendarpanel-weeknumbers .v-first:before {
- content: "";
- position: absolute;
- top: 38px;
- bottom: 0;
- left: 0;
- width: 34px;
- border-top: 1px solid #eaeaea;
- border-right: 1px solid #eaeaea;
- border-top-right-radius: 4px;
- border-bottom-left-radius: 4px;
- background: #fafafa;
-}
-
-.mytheme td.v-datefield-calendarpanel-time {
- width: 100%;
- font-size: 14px;
-}
-
-.mytheme td.v-datefield-calendarpanel-time .v-label {
- display: inline;
- margin: 0 0.1em;
- font-weight: 400;
-}
-
-.mytheme .v-datefield-borderless .v-datefield-textfield {
- border: none;
- border-radius: 0;
- background: transparent;
- -webkit-box-shadow: none;
- box-shadow: none;
- color: inherit;
-}
-
-.mytheme .v-datefield-borderless .v-datefield-textfield:focus {
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-datefield-borderless .v-datefield-textfield[class*="prompt"] {
- color: inherit;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-datefield-borderless .v-datefield-button {
- border: none;
- color: inherit;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-datefield-align-right input {
- text-align: right;
-}
-
-.mytheme .v-datefield-align-center input {
- text-align: center;
-}
-
-.mytheme .v-datefield-tiny {
- height: 28px;
- border-radius: 4px;
- font-size: 12px;
-}
-
-.mytheme .v-datefield-tiny [class*="textfield"] {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 28px;
- border-radius: 4px;
- padding: 3px 7px;
-
-
-
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- padding-left: 33.6px;
- width: 100%;
- height: 100%;
- border-radius: inherit;
-}
-
-.v-ie8 .mytheme .v-datefield-tiny [class*="textfield"], .v-ie9 .mytheme .v-datefield-tiny [class*="textfield"] {
- line-height: 28px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.mytheme .v-datefield-tiny [class*="button"] {
- -webkit-tap-highlight-color: transparent;
- -webkit-touch-callout: none;
- cursor: pointer;
- -webkit-appearance: none;
- background: transparent;
- padding: 0;
- position: absolute;
- z-index: 10;
- width: 28px;
- line-height: 28px;
- text-align: center;
- font: inherit;
- outline: none;
- margin: 0;
- border-radius: 4px 0 0 4px;
-}
-
-.mytheme .v-datefield-tiny [class*="button"]:before {
- font-family: ThemeIcons;
- content: "\f073";
- -webkit-transition: color 140ms;
- -moz-transition: color 140ms;
- transition: color 140ms;
-}
-
-.mytheme .v-datefield-tiny [class*="button"]:active:after {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- border-radius: inherit;
-}
-
-.mytheme .v-datefield-tiny.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-datefield-tiny.v-disabled [class*="button"] {
- cursor: default;
- pointer-events: none;
-}
-
-.mytheme .v-datefield-tiny.v-disabled [class*="button"]:active:after {
- display: none;
-}
-
-.mytheme .v-datefield-tiny.v-readonly [class*="textfield"] {
- background: #fafafa;
- color: #464646;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-datefield-tiny.v-readonly [class*="textfield"]:focus {
- box-shadow: none;
- border-color: #c5c5c5;
-}
-
-.mytheme .v-datefield-tiny.v-readonly [class*="button"] {
- cursor: default;
- pointer-events: none;
-}
-
-.mytheme .v-datefield-tiny.v-readonly [class*="button"]:active:after {
- display: none;
-}
-
-.mytheme .v-datefield-compact, .mytheme .v-datefield-small {
- height: 31px;
- border-radius: 4px;
-}
-
-.mytheme .v-datefield-compact [class*="textfield"], .mytheme .v-datefield-small [class*="textfield"] {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 31px;
- border-radius: 4px;
- padding: 3px 8px;
-
-
-
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- padding-left: 37.2px;
- width: 100%;
- height: 100%;
- border-radius: inherit;
-}
-
-.v-ie8 .mytheme .v-datefield-compact [class*="textfield"], .v-ie9 .mytheme .v-datefield-compact [class*="textfield"], .v-ie8 .mytheme .v-datefield-small [class*="textfield"], .v-ie9 .mytheme .v-datefield-small [class*="textfield"] {
- line-height: 31px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.mytheme .v-datefield-compact [class*="button"], .mytheme .v-datefield-small [class*="button"] {
- -webkit-tap-highlight-color: transparent;
- -webkit-touch-callout: none;
- cursor: pointer;
- -webkit-appearance: none;
- background: transparent;
- padding: 0;
- position: absolute;
- z-index: 10;
- width: 31px;
- line-height: 31px;
- text-align: center;
- font: inherit;
- outline: none;
- margin: 0;
- border-radius: 4px 0 0 4px;
-}
-
-.mytheme .v-datefield-compact [class*="button"]:before, .mytheme .v-datefield-small [class*="button"]:before {
- font-family: ThemeIcons;
- content: "\f073";
- -webkit-transition: color 140ms;
- -moz-transition: color 140ms;
- transition: color 140ms;
-}
-
-.mytheme .v-datefield-compact [class*="button"]:active:after, .mytheme .v-datefield-small [class*="button"]:active:after {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- border-radius: inherit;
-}
-
-.mytheme .v-datefield-compact.v-disabled, .mytheme .v-datefield-small.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-datefield-compact.v-disabled [class*="button"], .mytheme .v-datefield-small.v-disabled [class*="button"] {
- cursor: default;
- pointer-events: none;
-}
-
-.mytheme .v-datefield-compact.v-disabled [class*="button"]:active:after, .mytheme .v-datefield-small.v-disabled [class*="button"]:active:after {
- display: none;
-}
-
-.mytheme .v-datefield-compact.v-readonly [class*="textfield"], .mytheme .v-datefield-small.v-readonly [class*="textfield"] {
- background: #fafafa;
- color: #464646;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-datefield-compact.v-readonly [class*="textfield"]:focus, .mytheme .v-datefield-small.v-readonly [class*="textfield"]:focus {
- box-shadow: none;
- border-color: #c5c5c5;
-}
-
-.mytheme .v-datefield-compact.v-readonly [class*="button"], .mytheme .v-datefield-small.v-readonly [class*="button"] {
- cursor: default;
- pointer-events: none;
-}
-
-.mytheme .v-datefield-compact.v-readonly [class*="button"]:active:after, .mytheme .v-datefield-small.v-readonly [class*="button"]:active:after {
- display: none;
-}
-
-.mytheme .v-datefield-small {
- font-size: 14px;
-}
-
-.mytheme .v-datefield-large {
- height: 44px;
- border-radius: 4px;
- font-size: 20px;
-}
-
-.mytheme .v-datefield-large [class*="textfield"] {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 44px;
- border-radius: 4px;
- padding: 5px 10px;
-
-
-
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- padding-left: 52.8px;
- width: 100%;
- height: 100%;
- border-radius: inherit;
-}
-
-.v-ie8 .mytheme .v-datefield-large [class*="textfield"], .v-ie9 .mytheme .v-datefield-large [class*="textfield"] {
- line-height: 44px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.mytheme .v-datefield-large [class*="button"] {
- -webkit-tap-highlight-color: transparent;
- -webkit-touch-callout: none;
- cursor: pointer;
- -webkit-appearance: none;
- background: transparent;
- padding: 0;
- position: absolute;
- z-index: 10;
- width: 44px;
- line-height: 44px;
- text-align: center;
- font: inherit;
- outline: none;
- margin: 0;
- border-radius: 4px 0 0 4px;
-}
-
-.mytheme .v-datefield-large [class*="button"]:before {
- font-family: ThemeIcons;
- content: "\f073";
- -webkit-transition: color 140ms;
- -moz-transition: color 140ms;
- transition: color 140ms;
-}
-
-.mytheme .v-datefield-large [class*="button"]:active:after {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- border-radius: inherit;
-}
-
-.mytheme .v-datefield-large.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-datefield-large.v-disabled [class*="button"] {
- cursor: default;
- pointer-events: none;
-}
-
-.mytheme .v-datefield-large.v-disabled [class*="button"]:active:after {
- display: none;
-}
-
-.mytheme .v-datefield-large.v-readonly [class*="textfield"] {
- background: #fafafa;
- color: #464646;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-datefield-large.v-readonly [class*="textfield"]:focus {
- box-shadow: none;
- border-color: #c5c5c5;
-}
-
-.mytheme .v-datefield-large.v-readonly [class*="button"] {
- cursor: default;
- pointer-events: none;
-}
-
-.mytheme .v-datefield-large.v-readonly [class*="button"]:active:after {
- display: none;
-}
-
-.mytheme .v-datefield-huge {
- height: 59px;
- border-radius: 4px;
- font-size: 26px;
-}
-
-.mytheme .v-datefield-huge [class*="textfield"] {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 59px;
- border-radius: 4px;
- padding: 7px 12px;
-
-
-
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- padding-left: 70.8px;
- width: 100%;
- height: 100%;
- border-radius: inherit;
-}
-
-.v-ie8 .mytheme .v-datefield-huge [class*="textfield"], .v-ie9 .mytheme .v-datefield-huge [class*="textfield"] {
- line-height: 59px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.mytheme .v-datefield-huge [class*="button"] {
- -webkit-tap-highlight-color: transparent;
- -webkit-touch-callout: none;
- cursor: pointer;
- -webkit-appearance: none;
- background: transparent;
- padding: 0;
- position: absolute;
- z-index: 10;
- width: 59px;
- line-height: 59px;
- text-align: center;
- font: inherit;
- outline: none;
- margin: 0;
- border-radius: 4px 0 0 4px;
-}
-
-.mytheme .v-datefield-huge [class*="button"]:before {
- font-family: ThemeIcons;
- content: "\f073";
- -webkit-transition: color 140ms;
- -moz-transition: color 140ms;
- transition: color 140ms;
-}
-
-.mytheme .v-datefield-huge [class*="button"]:active:after {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- border-radius: inherit;
-}
-
-.mytheme .v-datefield-huge.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-datefield-huge.v-disabled [class*="button"] {
- cursor: default;
- pointer-events: none;
-}
-
-.mytheme .v-datefield-huge.v-disabled [class*="button"]:active:after {
- display: none;
-}
-
-.mytheme .v-datefield-huge.v-readonly [class*="textfield"] {
- background: #fafafa;
- color: #464646;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-datefield-huge.v-readonly [class*="textfield"]:focus {
- box-shadow: none;
- border-color: #c5c5c5;
-}
-
-.mytheme .v-datefield-huge.v-readonly [class*="button"] {
- cursor: default;
- pointer-events: none;
-}
-
-.mytheme .v-datefield-huge.v-readonly [class*="button"]:active:after {
- display: none;
-}
-
-.mytheme .v-inline-datefield-calendarpanel {
- font-size: 16px;
- text-align: center;
-}
-
-.mytheme .v-inline-datefield-calendarpanel:focus {
- outline: none;
-}
-
-.mytheme .v-inline-datefield-calendarpanel-day {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- width: 30px;
- height: 26px;
- border: 1px solid transparent;
- line-height: 26px;
- text-align: center;
- font-size: 14px;
- background: #fafafa;
- border-radius: 2px;
- -webkit-transition: color 200ms;
- -moz-transition: color 200ms;
- transition: color 200ms;
- display: inline-block;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- cursor: pointer;
-}
-
-.mytheme .v-inline-datefield-calendarpanel-day:hover {
- color: #197de1;
-}
-
-.mytheme .v-inline-datefield-calendarpanel-day-offmonth {
- color: #a0a0a0;
- background: transparent;
-}
-
-.mytheme .v-inline-datefield-calendarpanel-day-today {
- color: #191919;
- font-weight: 600;
- border-color: #afafaf;
-}
-
-.mytheme .v-inline-datefield-calendarpanel-day.v-inline-datefield-calendarpanel-day-selected, .mytheme .v-inline-datefield-calendarpanel-day.v-inline-datefield-calendarpanel-day-selected:hover {
- color: #c8dbed;
- background-color: #197de1;
- background-image: -webkit-linear-gradient(top, #1b87e3 2%, #166ed5 98%);
- background-image: linear-gradient(to bottom,#1b87e3 2%, #166ed5 98%);
- border: none;
- font-weight: 600;
-}
-
-.mytheme .v-inline-datefield-calendarpanel-day.v-inline-datefield-calendarpanel-day-focused {
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- position: relative;
-}
-
-.v-ie8 .mytheme .v-inline-datefield-calendarpanel-day.v-inline-datefield-calendarpanel-day-focused {
- border-color: #197de1;
-}
-
-.mytheme .v-inline-datefield-calendarpanel-day.v-inline-datefield-calendarpanel-day-outside-range, .mytheme .v-inline-datefield-calendarpanel-day.v-inline-datefield-calendarpanel-day-outside-range:hover {
- color: #a0a0a0;
- cursor: not-allowed;
-}
-
-.mytheme .v-inline-datefield-calendarpanel-weekdays {
- height: 26px;
- color: rgba(133, 133, 133, 0.85);
-}
-
-.mytheme .v-inline-datefield-calendarpanel-weekdays strong {
- font: inherit;
- font-size: 14px;
-}
-
-.mytheme .v-inline-datefield-calendarpanel-header {
- white-space: nowrap;
-}
-
-.mytheme td[class*="year"] button, .mytheme td[class*="month"] button {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- border: none;
- background: transparent;
- padding: 0;
- margin: 0;
- cursor: pointer;
- color: transparent;
- font-size: 0;
- width: 19px;
- height: 25px;
- outline: none;
- position: relative;
- vertical-align: middle;
-}
-
-.mytheme td[class*="year"] button:before, .mytheme td[class*="month"] button:before {
- color: #a0a0a0;
- font-size: 21px;
- line-height: 24px;
- -webkit-transition: color 200ms;
- -moz-transition: color 200ms;
- transition: color 200ms;
-}
-
-.mytheme td[class*="year"] button:hover:before, .mytheme td[class*="month"] button:hover:before {
- color: #197de1;
-}
-
-.mytheme td[class*="year"] button.outside-range, .mytheme td[class*="month"] button.outside-range {
- cursor: default;
- opacity: 0.3;
- filter: alpha(opacity=30.0) ;
-}
-
-.mytheme td[class*="year"] button.outside-range:hover:before, .mytheme td[class*="month"] button.outside-range:hover:before {
- color: #a0a0a0;
-}
-
-.mytheme .v-button-prevyear:before {
- font-family: ThemeIcons;
- content: "\f100";
-}
-
-.mytheme .v-button-prevmonth:before {
- font-family: ThemeIcons;
- content: "\f104";
-}
-
-.mytheme .v-button-nextyear:before {
- font-family: ThemeIcons;
- content: "\f101";
-}
-
-.mytheme .v-button-nextmonth:before {
- font-family: ThemeIcons;
- content: "\f105";
-}
-
-.mytheme td.v-inline-datefield-calendarpanel-month {
- width: 148px;
- color: #197de1;
-}
-
-.mytheme .v-inline-datefield-calendarpanel-year td.v-inline-datefield-calendarpanel-month {
- width: 74px;
-}
-
-.mytheme .v-inline-datefield-calendarpanel-weeknumber, .mytheme .v-inline-datefield-calendarpanel-weekdays.v-inline-datefield-calendarpanel-weeknumbers td:first-child {
- width: 30px;
- color: rgba(133, 133, 133, 0.85);
- font-size: 14px;
- display: inline-block;
- text-align: left;
-}
-
-.mytheme .v-inline-datefield-calendarpanel-weeknumber {
- position: relative;
-}
-
-.mytheme .v-inline-datefield-calendarpanel-weeknumbers .v-first:before {
- content: "";
- position: absolute;
- top: 38px;
- bottom: 0;
- left: 0;
- width: 34px;
- border-top: 1px solid #eaeaea;
- border-right: 1px solid #eaeaea;
- border-top-right-radius: 4px;
- border-bottom-left-radius: 4px;
- background: #fafafa;
-}
-
-.mytheme td.v-inline-datefield-calendarpanel-time {
- width: 100%;
- font-size: 14px;
-}
-
-.mytheme td.v-inline-datefield-calendarpanel-time .v-label {
- display: inline;
- margin: 0 0.1em;
- font-weight: 400;
-}
-
-.mytheme .v-inline-datefield-calendarpanel {
- position: relative;
- background: white;
- padding: 6px;
-}
-
-.mytheme .v-gridlayout-margin-top {
- padding-top: 37px;
-}
-
-.mytheme .v-gridlayout-margin-bottom {
- padding-bottom: 37px;
-}
-
-.mytheme .v-gridlayout-margin-left {
- padding-left: 37px;
-}
-
-.mytheme .v-gridlayout-margin-right {
- padding-right: 37px;
-}
-
-.mytheme .v-gridlayout-spacing-on {
- padding-left: 12px;
- padding-top: 12px;
-}
-
-.mytheme .v-menubar {
- position: relative;
- text-align: center;
- white-space: nowrap;
- outline: none;
- -webkit-tap-highlight-color: transparent;
- -webkit-touch-callout: none;
- cursor: pointer;
- height: 37px;
- padding: 0 16px;
- color: #191919;
- font-weight: 400;
-
- cursor: default;
- border-radius: 4px;
- border: 1px solid #c5c5c5;
- border-top-color: #c5c5c5;
- border-bottom-color: #bcbcbc;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
- padding: 0;
- text-align: left;
- line-height: 35px;
-}
-
-.mytheme .v-menubar:after {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- border-radius: inherit;
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
-}
-
-.mytheme .v-menubar:focus:after {
- -webkit-transition: none;
- -moz-transition: none;
- transition: none;
-}
-
-.mytheme .v-menubar.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-menubar.v-disabled:after {
- display: none;
-}
-
-.mytheme .v-menubar:after {
- border: inherit;
- top: -1px;
- right: -1px;
- bottom: -1px;
- left: -1px;
-}
-
-.mytheme .v-menubar:focus:after {
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme .v-menubar > .v-menubar-menuitem {
- padding: 0 14px;
-}
-
-.mytheme .v-menubar > .v-menubar-menuitem[class*="-icon-only"] {
- width: 37px;
-}
-
-.mytheme .v-menubar:active:after {
- background: transparent;
-}
-
-.mytheme .v-menubar > .v-menubar-menuitem {
- position: relative;
- z-index: 1;
- display: inline-block;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- height: 37px;
- padding: 0 15px;
- color: inherit;
- font-weight: 400;
-
- cursor: pointer;
- border-radius: 0;
- border: 1px solid #c5c5c5;
- border-top-color: #c5c5c5;
- border-bottom-color: #bcbcbc;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7;
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7;
- background: transparent;
- -webkit-box-shadow: none;
- box-shadow: none;
- border-width: 0 1px 0 0;
- border-color: inherit;
- height: 100%;
- line-height: inherit;
- vertical-align: top;
- text-align: center;
-}
-
-.mytheme .v-menubar > .v-menubar-menuitem:first-child {
- border-left-width: 0;
- border-radius: 3px 0 0 3px;
-}
-
-.mytheme .v-menubar > .v-menubar-menuitem:last-child {
- border-radius: 0 3px 3px 0;
- border-right-width: 0;
-}
-
-.mytheme .v-menubar > .v-menubar-menuitem:first-child:last-child {
- border-radius: 3px;
-}
-
-.mytheme .v-menubar > .v-menubar-menuitem:before {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- border-radius: inherit;
-}
-
-.mytheme .v-menubar > .v-menubar-menuitem:hover {
- zoom: 1;
-}
-
-.mytheme .v-menubar > .v-menubar-menuitem:hover:before {
- background-color: rgba(186, 186, 186, 0.1);
- border: none;
-}
-
-.mytheme .v-menubar > .v-menubar-menuitem:active:before {
- background-color: rgba(125, 125, 125, 0.2);
-}
-
-.mytheme .v-menubar > .v-menubar-menuitem .v-icon {
- margin: 0 4px 0 -4px;
- cursor: inherit;
-}
-
-.mytheme .v-menubar > .v-menubar-menuitem[class*="-icon-only"] {
- width: 37px;
- padding: 0;
-}
-
-.mytheme .v-menubar > .v-menubar-menuitem[class*="-icon-only"] .v-icon {
- margin: 0;
-}
-
-.mytheme .v-menubar > .v-menubar-menuitem-checked {
- -webkit-box-shadow: none;
- box-shadow: none;
- background-color: #ededed;
- background-image: -webkit-linear-gradient(bottom, #ededed 2%, #e9e9e9 98%);
- background-image: linear-gradient(to top,#ededed 2%, #e9e9e9 98%);
- color: #181818;
-}
-
-.mytheme .v-disabled > .v-menubar-menuitem, .mytheme .v-menubar > .v-menubar-menuitem-disabled {
- cursor: default;
-}
-
-.mytheme .v-disabled > .v-menubar-menuitem:before, .mytheme .v-menubar > .v-menubar-menuitem-disabled:before {
- display: none;
-}
-
-.mytheme .v-menubar-menuitem-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-menubar > .v-menubar-menuitem-selected {
- color: #ecf2f8;
-
-
-
- border-radius: 0;
- border: 1px solid #1362b1;
- border-top-color: #156ab3;
- border-bottom-color: #1156a8;
- background-color: #197de1;
- background-image: -webkit-linear-gradient(top, #1b87e3 2%, #166ed5 98%);
- background-image: linear-gradient(to bottom,#1b87e3 2%, #166ed5 98%);
- -webkit-box-shadow: inset 0 1px 0 #4d98e6, inset 0 -1px 0 #166bca;
- box-shadow: inset 0 1px 0 #4d98e6, inset 0 -1px 0 #166bca;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.05);
- border-top-width: 0;
- border-left-width: 0;
- border-bottom-width: 0;
- z-index: 2;
-}
-
-.mytheme .v-menubar > .v-menubar-menuitem-selected:hover:before {
- background: none;
-}
-
-.mytheme .v-menubar .v-menubar-submenu-indicator {
- display: none;
-}
-
-.mytheme .v-menubar .v-menubar-submenu-indicator + .v-menubar-menuitem-caption:after {
- font-family: ThemeIcons;
- content: "\f078";
- font-size: 0.7em;
- vertical-align: 0.15em;
- margin: 0 -0.2em 0 0.5em;
- opacity: 0.5;
-}
-
-.mytheme .v-menubar .v-menubar-submenu-indicator + .v-menubar-menuitem-caption:empty:after {
- margin-left: -0.2em;
-}
-
-.mytheme .v-menubar-popup {
- padding: 4px 4px;
- border-radius: 4px;
- background-color: white;
- color: #474747;
- -webkit-box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.1), 0 3px 5px 0 rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(0, 0, 0, 0.09098);
- box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.1), 0 3px 5px 0 rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(0, 0, 0, 0.09098);
- -webkit-backface-visibility: hidden;
- -moz-backface-visibility: hidden;
- -ms-backface-visibility: hidden;
- backface-visibility: hidden;
- padding: 4px 4px;
- margin: 5px 0 0 1px !important;
-}
-
-.mytheme .v-menubar-popup[class*="animate-in"] {
- -webkit-animation: valo-overlay-animate-in 120ms;
- -moz-animation: valo-overlay-animate-in 120ms;
- animation: valo-overlay-animate-in 120ms;
-}
-
-.mytheme .v-menubar-popup[class*="animate-out"] {
- -webkit-animation: valo-animate-out-fade 120ms;
- -moz-animation: valo-animate-out-fade 120ms;
- animation: valo-animate-out-fade 120ms;
-}
-
-.mytheme .v-menubar-popup .v-menubar-submenu {
- outline: none;
-}
-
-.mytheme .v-menubar-popup .v-menubar-menuitem {
- display: block;
- cursor: pointer;
- line-height: 27px;
- padding: 0 20px 0 10px;
- border-radius: 3px;
- font-weight: 400;
- white-space: nowrap;
- position: relative;
- padding-left: 32px;
- padding-right: 37px;
- position: relative;
-}
-
-.mytheme .v-menubar-popup .v-menubar-menuitem:active:before {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- background: #0957a6;
- opacity: 0.15;
- filter: alpha(opacity=15.0) ;
- pointer-events: none;
- border-radius: inherit;
-}
-
-.mytheme .v-menubar-popup .v-menubar-menuitem .v-icon {
- max-height: 27px;
- margin-right: 5px;
- min-width: 1em;
-}
-
-.mytheme .v-menubar-popup .v-menubar-submenu-indicator {
- display: none;
-}
-
-.mytheme .v-menubar-popup .v-menubar-submenu-indicator + .v-menubar-menuitem-caption:after {
- position: absolute;
- right: 10px;
- font-family: ThemeIcons;
- content: "\f054";
- line-height: 29px;
-}
-
-.mytheme .v-menubar-popup .v-menubar-menuitem-selected {
- background-color: #197de1;
- background-image: -webkit-linear-gradient(top, #1b87e3 2%, #166ed5 98%);
- background-image: linear-gradient(to bottom,#1b87e3 2%, #166ed5 98%);
- color: #ecf2f8;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.05);
-}
-
-.mytheme .v-menubar-popup .v-menubar-separator {
- display: block;
- margin: 4px 0;
- height: 0;
- overflow: hidden;
- border-bottom: 1px solid #e4e4e4;
-}
-
-.mytheme .v-menubar-popup [class*="checked"] .v-menubar-menuitem-caption:before {
- content: "\f00c";
- font-family: ThemeIcons;
- position: absolute;
- left: 10px;
-}
-
-.mytheme .v-menubar-popup [class*="unchecked"] .v-menubar-menuitem-caption:before {
- content: "";
-}
-
-.mytheme .v-menubar-popup [class*="disabled"] {
- cursor: default;
-}
-
-.mytheme .v-menubar-small {
- height: 31px;
- padding: 0 14px;
-
- font-weight: 400;
-
- cursor: default;
- border-radius: 4px;
- padding: 0;
- text-align: left;
- line-height: 29px;
- font-size: 14px;
-}
-
-.mytheme .v-menubar-small:after {
- border: inherit;
- top: -1px;
- right: -1px;
- bottom: -1px;
- left: -1px;
-}
-
-.mytheme .v-menubar-small > .v-menubar-menuitem {
- padding: 0 12px;
-}
-
-.mytheme .v-menubar-small > .v-menubar-menuitem[class*="-icon-only"] {
- width: 31px;
-}
-
-.mytheme .v-menubar-borderless {
- border: none;
- border-radius: 0;
- padding: 1px;
- -webkit-box-shadow: none;
- box-shadow: none;
- text-shadow: none;
- background: transparent;
- color: inherit;
-}
-
-.mytheme .v-menubar-borderless:focus:after {
- display: none;
-}
-
-.mytheme .v-menubar-borderless .v-menubar-menuitem {
- -webkit-box-shadow: none;
- box-shadow: none;
- border: none;
- margin-right: 1px;
- border-radius: 4px;
- color: #197de1;
- padding: 0 12px;
- -webkit-transition: color 140ms;
- -moz-transition: color 140ms;
- transition: color 140ms;
-}
-
-.mytheme .v-menubar-borderless .v-menubar-menuitem:first-child, .mytheme .v-menubar-borderless .v-menubar-menuitem:last-child, .mytheme .v-menubar-borderless .v-menubar-menuitem:first-child:last-child {
- border-radius: 4px;
-}
-
-.mytheme .v-menubar-borderless .v-menubar-menuitem:before {
- content: none;
-}
-
-.mytheme .v-menubar-borderless .v-menubar-menuitem:hover {
- color: #4396ea;
-}
-
-.mytheme .v-menubar-borderless .v-menubar-menuitem:active {
- color: inherit;
-}
-
-.mytheme .v-menubar-borderless .v-menubar-menuitem-checked, .mytheme .v-menubar-borderless .v-menubar-menuitem-checked:first-child {
- border: 1px solid #c5c5c5;
- color: #197de1;
-}
-
-.mytheme .v-menubar-borderless .v-menubar-menuitem-checked .v-menubar-menuitem-caption, .mytheme .v-menubar-borderless .v-menubar-menuitem-checked:first-child .v-menubar-menuitem-caption {
- position: relative;
- top: -1px;
-}
-
-.mytheme .v-menubar-borderless .v-menubar-menuitem-selected {
- color: #ecf2f8;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.05);
-}
-
-.mytheme .v-menubar-borderless .v-menubar-menuitem-selected:hover {
- color: #ecf2f8;
-}
-
-.mytheme .v-menubar-borderless .v-menubar-menuitem-disabled, .mytheme .v-menubar-borderless .v-menubar-menuitem-disabled:hover {
- color: inherit;
-}
-
-.mytheme .v-radiobutton {
- position: relative;
- line-height: 19px;
- white-space: nowrap;
-}
-
-.mytheme .v-radiobutton.v-has-width label {
- white-space: normal;
-}
-
-:root .mytheme .v-radiobutton {
- padding-left: 25px;
-}
-
-:root .mytheme .v-radiobutton label {
- -webkit-tap-highlight-color: transparent;
- -webkit-touch-callout: none;
- cursor: pointer;
- display: inline-block;
-}
-
-:root .mytheme .v-radiobutton > input {
- position: absolute;
- clip: rect(0, 0, 0, 0);
- left: 0.2em;
- top: 0.2em;
- z-index: 0;
- margin: 0;
-}
-
-:root .mytheme .v-radiobutton > input:focus ~ label:before {
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
-}
-
-:root .mytheme .v-radiobutton > input ~ label:before, :root .mytheme .v-radiobutton > input ~ label:after {
- content: "";
- display: inline-block;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- width: 19px;
- height: 19px;
- position: absolute;
- top: 0;
- left: 0;
- border-radius: 4px;
- font-size: 13px;
- text-align: center;
-}
-
-:root .mytheme .v-radiobutton > input ~ label:before {
- height: 18.5px;
- padding: 0 9px;
- color: #191919;
- font-weight: 400;
-
-
- border-radius: 4px;
- border: 1px solid #c5c5c5;
- border-top-color: #c5c5c5;
- border-bottom-color: #bcbcbc;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
- padding: 0;
- height: 19px;
-}
-
-:root .mytheme .v-radiobutton > input ~ label:after {
- content: "\f00c";
- font-family: ThemeIcons;
- color: transparent;
- -webkit-transition: color 100ms;
- -moz-transition: color 100ms;
- transition: color 100ms;
-}
-
-:root .mytheme .v-radiobutton > input:active ~ label:after {
- background-color: rgba(125, 125, 125, 0.2);
-}
-
-:root .mytheme .v-radiobutton > input:checked ~ label:after {
- color: #197de1;
-}
-
-.mytheme .v-radiobutton > .v-icon, .mytheme .v-radiobutton > label .v-icon {
- margin: 0 6px 0 3px;
- min-width: 1em;
- cursor: pointer;
-}
-
-.mytheme .v-radiobutton.v-disabled > label, .mytheme .v-radiobutton.v-disabled > .v-icon {
- cursor: default;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-radiobutton.v-disabled > label > .v-icon {
- cursor: default;
-}
-
-:root .mytheme .v-radiobutton.v-disabled > input:active ~ label:after {
- background: transparent;
-}
-
-.mytheme .v-radiobutton.v-readonly > label, .mytheme .v-radiobutton.v-readonly > .v-icon {
- cursor: default;
-}
-
-.mytheme .v-radiobutton.v-readonly > label > .v-icon {
- cursor: default;
-}
-
-:root .mytheme .v-radiobutton.v-readonly > input:active ~ label:after {
- background: transparent;
-}
-
-:root .mytheme .v-radiobutton.v-readonly > input ~ label:after {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-:root .mytheme .v-radiobutton > input:checked ~ label:after {
- width: 7px;
- height: 7px;
- top: 6px;
- left: 6px;
- background: #197de1;
-}
-
-:root .mytheme .v-radiobutton > input ~ label:before, :root .mytheme .v-radiobutton > input ~ label:after {
- border-radius: 50%;
- content: "";
-}
-
-.mytheme .v-select-optiongroup .v-radiobutton, .mytheme .v-select-optiongroup .v-checkbox {
- display: block;
- margin: 9px 16px 0 0;
-}
-
-.mytheme .v-select-optiongroup .v-radiobutton:first-child, .mytheme .v-select-optiongroup .v-checkbox:first-child {
- margin-top: 6px;
-}
-
-.mytheme .v-select-optiongroup .v-radiobutton:last-child, .mytheme .v-select-optiongroup .v-checkbox:last-child {
- margin-bottom: 6px;
-}
-
-.mytheme .v-select-optiongroup.v-has-width label {
- white-space: normal;
-}
-
-.mytheme .v-select-optiongroup-small {
- font-size: 14px;
-}
-
-.mytheme .v-select-optiongroup-small .v-checkbox {
- position: relative;
- line-height: 16px;
- white-space: nowrap;
-}
-
-.mytheme .v-select-optiongroup-small .v-checkbox.v-has-width label {
- white-space: normal;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-checkbox {
- padding-left: 21px;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-checkbox label {
- -webkit-tap-highlight-color: transparent;
- -webkit-touch-callout: none;
- cursor: pointer;
- display: inline-block;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-checkbox > input {
- position: absolute;
- clip: rect(0, 0, 0, 0);
- left: 0.2em;
- top: 0.2em;
- z-index: 0;
- margin: 0;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-checkbox > input:focus ~ label:before {
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
-}
-
-:root .mytheme .v-select-optiongroup-small .v-checkbox > input ~ label:before, :root .mytheme .v-select-optiongroup-small .v-checkbox > input ~ label:after {
- content: "";
- display: inline-block;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- width: 16px;
- height: 16px;
- position: absolute;
- top: 0;
- left: 0;
- border-radius: 4px;
- font-size: 11px;
- text-align: center;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-checkbox > input ~ label:before {
- height: 15.5px;
- padding: 0 7px;
- color: #191919;
- font-weight: 400;
-
-
- border-radius: 4px;
- border: 1px solid #c5c5c5;
- border-top-color: #c5c5c5;
- border-bottom-color: #bcbcbc;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
- padding: 0;
- height: 16px;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-checkbox > input ~ label:after {
- content: "\f00c";
- font-family: ThemeIcons;
- color: transparent;
- -webkit-transition: color 100ms;
- -moz-transition: color 100ms;
- transition: color 100ms;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-checkbox > input:active ~ label:after {
- background-color: rgba(125, 125, 125, 0.2);
-}
-
-:root .mytheme .v-select-optiongroup-small .v-checkbox > input:checked ~ label:after {
- color: #197de1;
-}
-
-.mytheme .v-select-optiongroup-small .v-checkbox > .v-icon, .mytheme .v-select-optiongroup-small .v-checkbox > label .v-icon {
- margin: 0 5px 0 3px;
- min-width: 1em;
- cursor: pointer;
-}
-
-.mytheme .v-select-optiongroup-small .v-checkbox.v-disabled > label, .mytheme .v-select-optiongroup-small .v-checkbox.v-disabled > .v-icon {
- cursor: default;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-select-optiongroup-small .v-checkbox.v-disabled > label > .v-icon {
- cursor: default;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-checkbox.v-disabled > input:active ~ label:after {
- background: transparent;
-}
-
-.mytheme .v-select-optiongroup-small .v-checkbox.v-readonly > label, .mytheme .v-select-optiongroup-small .v-checkbox.v-readonly > .v-icon {
- cursor: default;
-}
-
-.mytheme .v-select-optiongroup-small .v-checkbox.v-readonly > label > .v-icon {
- cursor: default;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-checkbox.v-readonly > input:active ~ label:after {
- background: transparent;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-checkbox.v-readonly > input ~ label:after {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-select-optiongroup-small .v-radiobutton {
- position: relative;
- line-height: 16px;
- white-space: nowrap;
-}
-
-.mytheme .v-select-optiongroup-small .v-radiobutton.v-has-width label {
- white-space: normal;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-radiobutton {
- padding-left: 21px;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-radiobutton label {
- -webkit-tap-highlight-color: transparent;
- -webkit-touch-callout: none;
- cursor: pointer;
- display: inline-block;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-radiobutton > input {
- position: absolute;
- clip: rect(0, 0, 0, 0);
- left: 0.2em;
- top: 0.2em;
- z-index: 0;
- margin: 0;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-radiobutton > input:focus ~ label:before {
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
-}
-
-:root .mytheme .v-select-optiongroup-small .v-radiobutton > input ~ label:before, :root .mytheme .v-select-optiongroup-small .v-radiobutton > input ~ label:after {
- content: "";
- display: inline-block;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- width: 16px;
- height: 16px;
- position: absolute;
- top: 0;
- left: 0;
- border-radius: 4px;
- font-size: 11px;
- text-align: center;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-radiobutton > input ~ label:before {
- height: 15.5px;
- padding: 0 7px;
- color: #191919;
- font-weight: 400;
-
-
- border-radius: 4px;
- border: 1px solid #c5c5c5;
- border-top-color: #c5c5c5;
- border-bottom-color: #bcbcbc;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
- padding: 0;
- height: 16px;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-radiobutton > input ~ label:after {
- content: "\f00c";
- font-family: ThemeIcons;
- color: transparent;
- -webkit-transition: color 100ms;
- -moz-transition: color 100ms;
- transition: color 100ms;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-radiobutton > input:active ~ label:after {
- background-color: rgba(125, 125, 125, 0.2);
-}
-
-:root .mytheme .v-select-optiongroup-small .v-radiobutton > input:checked ~ label:after {
- color: #197de1;
-}
-
-.mytheme .v-select-optiongroup-small .v-radiobutton > .v-icon, .mytheme .v-select-optiongroup-small .v-radiobutton > label .v-icon {
- margin: 0 5px 0 3px;
- min-width: 1em;
- cursor: pointer;
-}
-
-.mytheme .v-select-optiongroup-small .v-radiobutton.v-disabled > label, .mytheme .v-select-optiongroup-small .v-radiobutton.v-disabled > .v-icon {
- cursor: default;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-select-optiongroup-small .v-radiobutton.v-disabled > label > .v-icon {
- cursor: default;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-radiobutton.v-disabled > input:active ~ label:after {
- background: transparent;
-}
-
-.mytheme .v-select-optiongroup-small .v-radiobutton.v-readonly > label, .mytheme .v-select-optiongroup-small .v-radiobutton.v-readonly > .v-icon {
- cursor: default;
-}
-
-.mytheme .v-select-optiongroup-small .v-radiobutton.v-readonly > label > .v-icon {
- cursor: default;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-radiobutton.v-readonly > input:active ~ label:after {
- background: transparent;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-radiobutton.v-readonly > input ~ label:after {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-radiobutton > input:checked ~ label:after {
- width: 6px;
- height: 6px;
- top: 5px;
- left: 5px;
- background: #197de1;
-}
-
-:root .mytheme .v-select-optiongroup-small .v-radiobutton > input ~ label:before, :root .mytheme .v-select-optiongroup-small .v-radiobutton > input ~ label:after {
- border-radius: 50%;
- content: "";
-}
-
-.mytheme .v-select-optiongroup-small .v-radiobutton, .mytheme .v-select-optiongroup-small .v-checkbox {
- display: block;
- margin: 8px 16px 0 0;
-}
-
-.mytheme .v-select-optiongroup-small .v-radiobutton:first-child, .mytheme .v-select-optiongroup-small .v-checkbox:first-child {
- margin-top: 5px;
-}
-
-.mytheme .v-select-optiongroup-small .v-radiobutton:last-child, .mytheme .v-select-optiongroup-small .v-checkbox:last-child {
- margin-bottom: 5px;
-}
-
-.mytheme .v-select-optiongroup-small.v-has-width label {
- white-space: normal;
-}
-
-.mytheme .v-select-optiongroup-large {
- font-size: 20px;
-}
-
-.mytheme .v-select-optiongroup-large .v-checkbox {
- position: relative;
- line-height: 22px;
- white-space: nowrap;
-}
-
-.mytheme .v-select-optiongroup-large .v-checkbox.v-has-width label {
- white-space: normal;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-checkbox {
- padding-left: 29px;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-checkbox label {
- -webkit-tap-highlight-color: transparent;
- -webkit-touch-callout: none;
- cursor: pointer;
- display: inline-block;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-checkbox > input {
- position: absolute;
- clip: rect(0, 0, 0, 0);
- left: 0.2em;
- top: 0.2em;
- z-index: 0;
- margin: 0;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-checkbox > input:focus ~ label:before {
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
-}
-
-:root .mytheme .v-select-optiongroup-large .v-checkbox > input ~ label:before, :root .mytheme .v-select-optiongroup-large .v-checkbox > input ~ label:after {
- content: "";
- display: inline-block;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- width: 22px;
- height: 22px;
- position: absolute;
- top: 0;
- left: 0;
- border-radius: 4px;
- font-size: 15px;
- text-align: center;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-checkbox > input ~ label:before {
- height: 22px;
- padding: 0 10px;
- color: #191919;
- font-weight: 400;
-
-
- border-radius: 4px;
- border: 1px solid #c5c5c5;
- border-top-color: #c5c5c5;
- border-bottom-color: #bcbcbc;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
- padding: 0;
- height: 22px;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-checkbox > input ~ label:after {
- content: "\f00c";
- font-family: ThemeIcons;
- color: transparent;
- -webkit-transition: color 100ms;
- -moz-transition: color 100ms;
- transition: color 100ms;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-checkbox > input:active ~ label:after {
- background-color: rgba(125, 125, 125, 0.2);
-}
-
-:root .mytheme .v-select-optiongroup-large .v-checkbox > input:checked ~ label:after {
- color: #197de1;
-}
-
-.mytheme .v-select-optiongroup-large .v-checkbox > .v-icon, .mytheme .v-select-optiongroup-large .v-checkbox > label .v-icon {
- margin: 0 7px 0 4px;
- min-width: 1em;
- cursor: pointer;
-}
-
-.mytheme .v-select-optiongroup-large .v-checkbox.v-disabled > label, .mytheme .v-select-optiongroup-large .v-checkbox.v-disabled > .v-icon {
- cursor: default;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-select-optiongroup-large .v-checkbox.v-disabled > label > .v-icon {
- cursor: default;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-checkbox.v-disabled > input:active ~ label:after {
- background: transparent;
-}
-
-.mytheme .v-select-optiongroup-large .v-checkbox.v-readonly > label, .mytheme .v-select-optiongroup-large .v-checkbox.v-readonly > .v-icon {
- cursor: default;
-}
-
-.mytheme .v-select-optiongroup-large .v-checkbox.v-readonly > label > .v-icon {
- cursor: default;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-checkbox.v-readonly > input:active ~ label:after {
- background: transparent;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-checkbox.v-readonly > input ~ label:after {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-select-optiongroup-large .v-radiobutton {
- position: relative;
- line-height: 22px;
- white-space: nowrap;
-}
-
-.mytheme .v-select-optiongroup-large .v-radiobutton.v-has-width label {
- white-space: normal;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-radiobutton {
- padding-left: 29px;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-radiobutton label {
- -webkit-tap-highlight-color: transparent;
- -webkit-touch-callout: none;
- cursor: pointer;
- display: inline-block;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-radiobutton > input {
- position: absolute;
- clip: rect(0, 0, 0, 0);
- left: 0.2em;
- top: 0.2em;
- z-index: 0;
- margin: 0;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-radiobutton > input:focus ~ label:before {
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5), inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
-}
-
-:root .mytheme .v-select-optiongroup-large .v-radiobutton > input ~ label:before, :root .mytheme .v-select-optiongroup-large .v-radiobutton > input ~ label:after {
- content: "";
- display: inline-block;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- width: 22px;
- height: 22px;
- position: absolute;
- top: 0;
- left: 0;
- border-radius: 4px;
- font-size: 15px;
- text-align: center;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-radiobutton > input ~ label:before {
- height: 22px;
- padding: 0 10px;
- color: #191919;
- font-weight: 400;
-
-
- border-radius: 4px;
- border: 1px solid #c5c5c5;
- border-top-color: #c5c5c5;
- border-bottom-color: #bcbcbc;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
- padding: 0;
- height: 22px;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-radiobutton > input ~ label:after {
- content: "\f00c";
- font-family: ThemeIcons;
- color: transparent;
- -webkit-transition: color 100ms;
- -moz-transition: color 100ms;
- transition: color 100ms;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-radiobutton > input:active ~ label:after {
- background-color: rgba(125, 125, 125, 0.2);
-}
-
-:root .mytheme .v-select-optiongroup-large .v-radiobutton > input:checked ~ label:after {
- color: #197de1;
-}
-
-.mytheme .v-select-optiongroup-large .v-radiobutton > .v-icon, .mytheme .v-select-optiongroup-large .v-radiobutton > label .v-icon {
- margin: 0 7px 0 4px;
- min-width: 1em;
- cursor: pointer;
-}
-
-.mytheme .v-select-optiongroup-large .v-radiobutton.v-disabled > label, .mytheme .v-select-optiongroup-large .v-radiobutton.v-disabled > .v-icon {
- cursor: default;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-select-optiongroup-large .v-radiobutton.v-disabled > label > .v-icon {
- cursor: default;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-radiobutton.v-disabled > input:active ~ label:after {
- background: transparent;
-}
-
-.mytheme .v-select-optiongroup-large .v-radiobutton.v-readonly > label, .mytheme .v-select-optiongroup-large .v-radiobutton.v-readonly > .v-icon {
- cursor: default;
-}
-
-.mytheme .v-select-optiongroup-large .v-radiobutton.v-readonly > label > .v-icon {
- cursor: default;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-radiobutton.v-readonly > input:active ~ label:after {
- background: transparent;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-radiobutton.v-readonly > input ~ label:after {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-radiobutton > input:checked ~ label:after {
- width: 8px;
- height: 8px;
- top: 7px;
- left: 7px;
- background: #197de1;
-}
-
-:root .mytheme .v-select-optiongroup-large .v-radiobutton > input ~ label:before, :root .mytheme .v-select-optiongroup-large .v-radiobutton > input ~ label:after {
- border-radius: 50%;
- content: "";
-}
-
-.mytheme .v-select-optiongroup-large .v-radiobutton, .mytheme .v-select-optiongroup-large .v-checkbox {
- display: block;
- margin: 11px 16px 0 0;
-}
-
-.mytheme .v-select-optiongroup-large .v-radiobutton:first-child, .mytheme .v-select-optiongroup-large .v-checkbox:first-child {
- margin-top: 7px;
-}
-
-.mytheme .v-select-optiongroup-large .v-radiobutton:last-child, .mytheme .v-select-optiongroup-large .v-checkbox:last-child {
- margin-bottom: 7px;
-}
-
-.mytheme .v-select-optiongroup-large.v-has-width label {
- white-space: normal;
-}
-
-.mytheme .v-select-optiongroup-horizontal {
- white-space: nowrap;
-}
-
-.mytheme .v-select-optiongroup-horizontal .v-radiobutton, .mytheme .v-select-optiongroup-horizontal .v-checkbox {
- display: inline-block;
-}
-
-.mytheme .v-select-optiongroup-horizontal.v-has-width {
- white-space: normal;
-}
-
-.mytheme .v-select-optiongroup-horizontal.v-has-width label {
- white-space: nowrap;
-}
-
-.mytheme .v-link {
- cursor: pointer;
- color: #197de1;
- text-decoration: underline;
- font-weight: inherit;
- -webkit-transition: color 140ms;
- -moz-transition: color 140ms;
- transition: color 140ms;
-}
-
-.mytheme .v-link:hover {
- color: #4396ea;
-}
-
-.mytheme .v-link.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-link a {
- cursor: inherit;
- color: inherit;
- text-decoration: inherit;
- -webkit-transition: inherit;
- -moz-transition: inherit;
- transition: inherit;
-}
-
-.mytheme .v-link .v-icon {
- cursor: inherit;
-}
-
-.mytheme .v-link-small {
- font-size: 14px;
-}
-
-.mytheme .v-link-large {
- font-size: 20px;
-}
-
-.mytheme .v-window {
- padding: 4px 4px;
- border-radius: 4px;
- background-color: white;
- color: #474747;
- -webkit-box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.1), 0 3px 5px 0 rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(0, 0, 0, 0.09098);
- box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.1), 0 3px 5px 0 rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(0, 0, 0, 0.09098);
- -webkit-backface-visibility: hidden;
- -moz-backface-visibility: hidden;
- -ms-backface-visibility: hidden;
- backface-visibility: hidden;
- -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1), 0 16px 80px -6px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.09098);
- box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1), 0 16px 80px -6px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.09098);
- padding: 0;
- min-width: 148px !important;
- min-height: 37px !important;
- white-space: nowrap;
- overflow: hidden !important;
- -webkit-transition: width 200ms, height 200ms, top 200ms, left 200ms;
- -moz-transition: width 200ms, height 200ms, top 200ms, left 200ms;
- transition: width 200ms, height 200ms, top 200ms, left 200ms;
-}
-
-.mytheme .v-window[class*="animate-in"] {
- -webkit-animation: valo-animate-in-fade 140ms;
- -moz-animation: valo-animate-in-fade 140ms;
- animation: valo-animate-in-fade 140ms;
-}
-
-.mytheme .v-window[class*="animate-out"] {
- -webkit-animation: valo-animate-out-scale-down-fade 100ms;
- -moz-animation: valo-animate-out-scale-down-fade 100ms;
- animation: valo-animate-out-scale-down-fade 100ms;
-}
-
-.mytheme .v-window.v-window-animate-in {
- -webkit-transition: none;
- -moz-transition: none;
- transition: none;
-}
-
-.mytheme .v-window-modalitycurtain {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- background-color: #222;
- background-image: -webkit-radial-gradient(50% 50%, circle, #222, #0e0e0e);
- background-image: radial-gradient( circle at 50% 50%, #222, #0e0e0e);
- opacity: 0.72;
- filter: alpha(opacity=72) ;
- -webkit-animation: valo-animate-in-fade 400ms 100ms backwards;
- -moz-animation: valo-animate-in-fade 400ms 100ms backwards;
- animation: valo-animate-in-fade 400ms 100ms backwards;
-}
-
-.v-op12 .mytheme .v-window-modalitycurtain {
- -webkit-animation: none;
- -moz-animation: none;
- animation: none;
-}
-
-.mytheme .v-window-draggingCurtain {
- position: fixed !important;
-}
-
-.mytheme .v-window-resizingCurtain + .v-window, .mytheme .v-window-draggingCurtain + .v-window {
- -webkit-transition: none;
- -moz-transition: none;
- transition: none;
-}
-
-.mytheme .v-window-outerheader {
- cursor: move;
- position: absolute;
- z-index: 2;
- top: 0;
- left: 0;
- right: 0;
- -webkit-transform: translatez(0);
- -moz-transform: translatez(0);
- -ms-transform: translatez(0);
- -o-transform: translatez(0);
- transform: translatez(0);
-}
-
-.mytheme .v-window-outerheader:after {
- content: "";
- position: absolute;
- bottom: -1px;
- right: 0;
- left: 0;
- height: 0;
- border-top: 1px solid #dfdfdf;
- border-color: rgba(197, 197, 197, 0.5);
-}
-
-.mytheme .v-window-header {
- line-height: 36px;
- padding-left: 12px;
- margin-right: 74px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- color: #7e7e7e;
-}
-
-.mytheme .v-window-restorebox-disabled ~ .v-window-closebox ~ .v-window-header, .mytheme .v-window-maximizebox-disabled ~ .v-window-closebox ~ .v-window-header {
- margin-right: 37px;
-}
-
-.mytheme .v-window-restorebox-disabled ~ .v-window-closebox-disabled ~ .v-window-header, .mytheme .v-window-maximizebox-disabled ~ .v-window-closebox-disabled ~ .v-window-header {
- margin-right: 12px;
-}
-
-.mytheme .v-window-closebox, .mytheme .v-window-maximizebox, .mytheme .v-window-restorebox {
- position: absolute;
- z-index: 3;
- top: 0;
- right: 0;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- width: 33px;
- height: 36px;
- background-color: white;
- line-height: 34px;
- text-align: center;
- cursor: pointer;
- font-size: 21px;
- color: #999999;
- -webkit-transition: color 140ms;
- -moz-transition: color 140ms;
- transition: color 140ms;
-}
-
-.mytheme .v-window-closebox:focus, .mytheme .v-window-maximizebox:focus, .mytheme .v-window-restorebox:focus {
- outline: none;
-}
-
-.mytheme .v-window-closebox:hover, .mytheme .v-window-maximizebox:hover, .mytheme .v-window-restorebox:hover {
- opacity: 1;
- filter: none ;
- color: #197de1;
-}
-
-.mytheme .v-window-closebox:active, .mytheme .v-window-maximizebox:active, .mytheme .v-window-restorebox:active {
- color: inherit;
-}
-
-.mytheme .v-window-closebox {
- padding-right: 4px;
- border-radius: 0 4px 0 4px;
-}
-
-.mytheme .v-window-closebox:before {
- content: "\00d7";
-}
-
-.mytheme .v-window-maximizebox, .mytheme .v-window-restorebox {
- right: 33px;
- padding-left: 4px;
- border-radius: 0 0 0 4px;
-}
-
-.mytheme .v-window-maximizebox + .v-window-closebox, .mytheme .v-window-restorebox + .v-window-closebox {
- border-bottom-left-radius: 0;
-}
-
-.mytheme .v-window-closebox-disabled, .mytheme .v-window-resizebox-disabled, .mytheme .v-window-restorebox-disabled, .mytheme .v-window-maximizebox-disabled {
- display: none;
-}
-
-.mytheme .v-window-closebox-disabled + .v-window-closebox, .mytheme .v-window-resizebox-disabled + .v-window-closebox, .mytheme .v-window-restorebox-disabled + .v-window-closebox, .mytheme .v-window-maximizebox-disabled + .v-window-closebox {
- width: 37px;
- padding-right: 0;
- border-bottom-left-radius: 4px;
-}
-
-.mytheme .v-window-maximizebox:before {
- content: "+";
-}
-
-.mytheme .v-window-restorebox:before {
- content: "\2013";
-}
-
-.mytheme .v-window > .popupContent, .mytheme .v-window-wrap, .mytheme .v-window-contents, .mytheme .v-window-contents > .v-scrollable {
- height: 100%;
-}
-
-.mytheme .v-window-contents {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- border-radius: 4px;
- margin-top: 0 !important;
-}
-
-.mytheme .v-window-contents > .v-scrollable {
- position: relative;
-}
-
-.mytheme .v-window-contents > .v-scrollable > .v-margin-top {
- padding-top: 12px;
-}
-
-.mytheme .v-window-contents > .v-scrollable > .v-margin-right {
- padding-right: 12px;
-}
-
-.mytheme .v-window-contents > .v-scrollable > .v-margin-bottom {
- padding-bottom: 12px;
-}
-
-.mytheme .v-window-contents > .v-scrollable > .v-margin-left {
- padding-left: 12px;
-}
-
-.mytheme .v-window-contents > .v-scrollable > .v-formlayout [class*="margin-top"] > tbody > [class*="firstrow"] > td {
- padding-top: 12px;
-}
-
-.mytheme .v-window-contents > .v-scrollable > .v-formlayout [class*="margin-bottom"] > tbody > [class*="lastrow"] > td {
- padding-bottom: 12px;
-}
-
-.mytheme .v-window-contents > .v-scrollable > .v-formlayout [class*="margin-left"] > tbody > [class*="row"] > [class*="captioncell"] {
- padding-left: 12px;
-}
-
-.mytheme .v-window-contents > .v-scrollable > .v-formlayout [class*="margin-left"] > tbody > [class*="row"] > [class*="contentcell"] > .v-label-h2, .mytheme .v-window-contents > .v-scrollable > .v-formlayout [class*="margin-left"] > tbody > [class*="row"] > [class*="contentcell"] > .v-label-h3, .mytheme .v-window-contents > .v-scrollable > .v-formlayout [class*="margin-left"] > tbody > [class*="row"] > [class*="contentcell"] > .v-label-h4 {
- left: 12px;
-}
-
-.mytheme .v-window-contents > .v-scrollable > .v-formlayout [class*="margin-right"] > tbody > [class*="row"] > [class*="contentcell"] {
- padding-right: 12px;
-}
-
-.mytheme .v-window-contents > .v-scrollable > .v-formlayout [class*="margin-right"] > tbody > [class*="row"] > [class*="contentcell"] > .v-label-h2, .mytheme .v-window-contents > .v-scrollable > .v-formlayout [class*="margin-right"] > tbody > [class*="row"] > [class*="contentcell"] > .v-label-h3, .mytheme .v-window-contents > .v-scrollable > .v-formlayout [class*="margin-right"] > tbody > [class*="row"] > [class*="contentcell"] > .v-label-h4 {
- right: 12px;
-}
-
-.mytheme .v-window-contents > .v-scrollable:focus {
- outline: none;
-}
-
-.mytheme .v-window-contents > .v-scrollable:before {
- content: "";
- position: absolute;
- z-index: 2;
- top: 0;
- height: 0;
- border-top: 1px solid white;
- left: 0;
- right: 0;
-}
-
-.mytheme .v-window-contents > .v-scrollable .v-panel-captionwrap:after {
- border-color: #dfdfdf;
-}
-
-.mytheme .v-window-contents > .v-scrollable .v-panel-content:before {
- border-color: white;
-}
-
-.mytheme .v-window-footer {
- height: 0;
-}
-
-.mytheme .v-window-resizebox {
- position: absolute;
- z-index: 1000;
- right: 0;
- bottom: 0;
- width: 19px;
- height: 19px;
- cursor: nwse-resize;
-}
-
-.v-ie8 .mytheme .v-window-resizebox {
- background: #000;
- filter: alpha(opacity=0.1);
-}
-
-.v-ie8 .mytheme .v-window-resizebox, .v-ie9 .mytheme .v-window-resizebox {
- cursor: se-resize;
-}
-
-.mytheme .v-window-modalitycurtain:active ~ .v-window {
- -webkit-animation: none;
- -moz-animation: none;
- animation: none;
-}
-
-.mytheme .v-window-top-toolbar > .v-widget, .mytheme .v-window-bottom-toolbar > .v-widget {
- vertical-align: top;
-}
-
-.mytheme .v-window-top-toolbar .v-label, .mytheme .v-window-bottom-toolbar .v-label {
- line-height: 36px;
-}
-
-.mytheme .v-window-top-toolbar .v-spacing, .mytheme .v-window-bottom-toolbar .v-spacing {
- width: 6px;
-}
-
-.mytheme .v-window-top-toolbar.v-layout {
- padding: 7px 12px;
- position: relative;
- z-index: 2;
- border-top: 1px solid #dfdfdf;
- border-bottom: 1px solid #dfdfdf;
- background-color: #fafafa;
-}
-
-.mytheme .v-window-top-toolbar.v-menubar {
- margin: 12px 12px 6px;
-}
-
-.mytheme .v-window-top-toolbar.v-menubar-borderless {
- padding-left: 6px;
- padding-right: 6px;
- margin: 5px 0;
-}
-
-.mytheme .v-window-bottom-toolbar.v-layout {
- padding: 7px 12px;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #f0f0f0 0, #fafafa 4px);
- background-image: linear-gradient(to bottom,#f0f0f0 0, #fafafa 4px);
- border-top: 1px solid #dfdfdf;
- border-radius: 0 0 4px 4px;
-}
-
-.mytheme .v-margin-left.v-margin-right.v-margin-top .v-window-top-toolbar.v-layout {
- -webkit-box-sizing: content-box;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
- margin: -12px -12px 0;
-}
-
-.mytheme .v-margin-left.v-margin-right.v-margin-top .v-window-top-toolbar.v-menubar {
- margin: 0;
-}
-
-.mytheme .v-margin-left.v-margin-right.v-margin-top .v-window-top-toolbar.v-menubar-borderless {
- margin: -6px -6px 0;
- padding: 0;
-}
-
-.mytheme .v-margin-left.v-margin-right.v-margin-bottom .v-window-bottom-toolbar.v-layout {
- -webkit-box-sizing: content-box;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
- margin: 0 -12px -12px;
-}
-
-.mytheme .v-tree {
- position: relative;
- white-space: nowrap;
-}
-
-.mytheme .v-tree:focus {
- outline: none;
-}
-
-.mytheme .v-tree-node:before {
- content: "";
- position: absolute;
- display: inline-block;
- z-index: 3;
- width: 1.9em;
- height: 28px;
- cursor: pointer;
- background: red;
- opacity: 0;
-}
-
-.v-ie8 .mytheme .v-tree-node:before {
- position: static;
- margin-left: -1.9em;
- vertical-align: top;
- content: "\f0da";
- font-family: ThemeIcons;
- text-align: center;
- background: transparent;
-}
-
-.v-ie8 .mytheme .v-tree-node {
- padding-left: 1.9em;
-}
-
-.mytheme .v-tree-node-caption {
- height: 28px;
- line-height: 27px;
- overflow: hidden;
- white-space: nowrap;
- vertical-align: top;
-}
-
-.mytheme .v-tree-node-caption > div {
- display: inline-block;
- width: 100%;
- position: relative;
- z-index: 2;
-}
-
-.mytheme .v-tree-node-caption > div:before {
- content: "\f0da";
- font-family: ThemeIcons;
- display: inline-block;
- width: 0.5em;
- text-align: center;
- margin: 0 0.6em 0 0.8em;
- -webkit-transition: all 100ms;
- -moz-transition: all 100ms;
- transition: all 100ms;
-}
-
-.v-ie8 .mytheme .v-tree-node-caption > div:before {
- display: none;
-}
-
-.mytheme .v-tree-node-caption span {
- padding-right: 28px;
- cursor: pointer;
- display: inline-block;
- width: 100%;
-}
-
-.v-ie .mytheme .v-tree-node-caption span {
- width: auto;
-}
-
-.mytheme .v-tree-node-caption .v-icon {
- padding-right: 0;
- width: auto;
- min-width: 1em;
-}
-
-.mytheme .v-tree-node-caption:after {
- content: "";
- display: block;
- vertical-align: top;
- position: absolute;
- z-index: 1;
- left: 0;
- margin-top: -28px;
- width: 100%;
- height: 28px;
- border-radius: 4px;
- opacity: 0;
- -webkit-transition: opacity 120ms;
- -moz-transition: opacity 120ms;
- transition: opacity 120ms;
-}
-
-.v-ie8 .mytheme .v-tree-node-caption:after {
- content: none;
-}
-
-.v-ie8 .mytheme .v-tree-node-caption {
- display: inline-block;
-}
-
-.mytheme .v-tree-node-expanded > .v-tree-node-caption > div:before {
- -webkit-transform: rotate(90deg);
- -moz-transform: rotate(90deg);
- -ms-transform: rotate(90deg);
- -o-transform: rotate(90deg);
- transform: rotate(90deg);
- content: "\f0da";
- font-family: ThemeIcons;
-}
-
-.v-ie8 .mytheme .v-tree-node-expanded:before {
- content: "\f0d7";
- font-family: ThemeIcons;
-}
-
-.mytheme .v-tree-node-leaf:before, .mytheme .v-tree-node-leaf > .v-tree-node-caption > div:before {
- visibility: hidden;
-}
-
-.mytheme .v-tree-node-focused:after {
- opacity: 1;
- border: 1px solid #197de1;
-}
-
-.v-ie8 .mytheme .v-tree-node-focused {
- outline: 1px dotted #197de1;
-}
-
-.mytheme .v-tree-node-selected {
- color: #ecf2f8;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.05);
-}
-
-.mytheme .v-tree-node-selected:after {
- opacity: 1;
- background-color: #197de1;
- background-image: -webkit-linear-gradient(top, #1b87e3 2%, #166ed5 98%);
- background-image: linear-gradient(to bottom,#1b87e3 2%, #166ed5 98%);
- border: none;
-}
-
-.v-ie8 .mytheme .v-tree-node-selected {
- background-color: #197de1;
- background-image: -webkit-linear-gradient(top, #1b87e3 2%, #166ed5 98%);
- background-image: linear-gradient(to bottom,#1b87e3 2%, #166ed5 98%);
-}
-
-.mytheme .v-tree-node-children {
- padding-left: 19px;
-}
-
-.v-ie8 .mytheme .v-tree-node-children {
- padding-left: 0;
-}
-
-.mytheme .v-tree-node-drag-top:before, .mytheme .v-tree-node-drag-bottom:after, .mytheme .v-tree-node-drag-bottom.v-tree-node-dragfolder.v-tree-node-expanded > .v-tree-node-children:before {
- content: "\2022";
- display: block;
- position: absolute;
- height: 2px;
- width: 100%;
- background: #197de1;
- font-size: 32px;
- line-height: 2px;
- color: #197de1;
- text-indent: -4px;
- text-shadow: 0 0 1px #fafafa, 0 0 1px #fafafa;
- opacity: 1;
- visibility: visible;
-}
-
-.mytheme .v-tree-node-drag-bottom.v-tree-node-dragfolder.v-tree-node-expanded:after {
- content: none;
-}
-
-.mytheme .v-tree-node-caption-drag-center {
- -webkit-box-shadow: 0 0 0 2px #197de1;
- box-shadow: 0 0 0 2px #197de1;
- position: relative;
- border-radius: 4px;
-}
-
-.v-ie8 .mytheme .v-tree-node-caption-drag-center {
- outline: 2px solid #197de1;
-}
-
-.v-ff .mytheme .v-tree-node-drag-top:before, .v-ff .mytheme .v-tree-node-drag-bottom:after {
- line-height: 1px;
-}
-
-.v-ie8 .mytheme .v-tree-node-drag-top:before, .v-ie8 .mytheme .v-tree-node-drag-bottom:after {
- line-height: 0;
-}
-
-.mytheme .v-table {
- position: relative;
- background: #fafafa;
- color: #464646;
- overflow: hidden;
-}
-
-.mytheme .v-table-header table, .mytheme .v-table-footer table, .mytheme .v-table-table {
- -webkit-box-shadow: 0 0 0 1px #d4d4d4;
- box-shadow: 0 0 0 1px #d4d4d4;
-}
-
-.v-ie8 .mytheme .v-table-header table, .v-ie8 .mytheme .v-table-footer table, .v-ie8 .mytheme .v-table-table {
- outline: 1px solid #d4d4d4;
-}
-
-.mytheme .v-table-header-wrap, .mytheme .v-table-footer-wrap, .mytheme .v-table-header-drag {
- border: 1px solid #d4d4d4;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- white-space: nowrap;
- font-size: 14px;
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
-}
-
-.mytheme .v-table-header-wrap {
- position: relative;
- border-bottom: none;
-}
-
-.mytheme .v-table-footer-wrap {
- border-top: none;
-}
-
-.mytheme .v-table-footer td {
- border-left: 1px solid #d4d4d4;
-}
-
-.mytheme .v-table-footer-container, .mytheme .v-table-caption-container {
- overflow: hidden;
- line-height: 1;
- min-height: 37px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-.v-ie8 .mytheme .v-table-footer-container, .v-ie8 .mytheme .v-table-caption-container {
- min-height: 14px;
-}
-
-.mytheme .v-table-footer-container {
- padding: 11px 12px 12px;
- float: right;
-}
-
-.mytheme [class^="v-table-header-cell"] {
- position: relative;
-}
-
-.mytheme .v-table-caption-container, .mytheme .v-table-header-drag {
- padding: 12px 12px 11px;
- border-left: 1px solid #d4d4d4;
-}
-
-.mytheme .v-table-caption-container-align-right {
- padding-right: 4px;
-}
-
-.mytheme .v-table-resizer {
- height: 37px;
- width: 8px;
- cursor: e-resize;
- cursor: col-resize;
- position: relative;
- right: -4px;
- z-index: 1;
- margin-left: -8px;
-}
-
-.mytheme .v-table-cell-content {
- border-left: 1px solid #d4d4d4;
- overflow: hidden;
- height: 37px;
- vertical-align: middle;
-}
-
-.mytheme .v-table-cell-content:first-child {
- border-left: none;
- padding-left: 1px;
-}
-
-.mytheme .v-table-header td:first-child .v-table-caption-container, .mytheme .v-table-footer td:first-child {
- border-left-color: transparent;
-}
-
-.mytheme .v-table-cell-wrapper {
- line-height: 1;
- padding: 0 12px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- margin-right: 0 !important;
-}
-
-.mytheme .v-table-cell-wrapper > .v-widget {
- margin: 3px -6px;
-}
-
-.mytheme .v-table-cell-wrapper > .v-widget.v-label, .mytheme .v-table-cell-wrapper > .v-widget.v-checkbox, .mytheme .v-table-cell-wrapper > .v-widget.v-select-optiongroup {
- margin: 0;
-}
-
-.mytheme .v-table-cell-wrapper > .v-widget.v-progressbar {
- margin-left: 0;
- margin-right: 0;
-}
-
-.mytheme .v-table-body {
- border: 1px solid #d4d4d4;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
-}
-
-.mytheme .v-table-table {
- background-color: white;
- white-space: nowrap;
-}
-
-.mytheme .v-table-table td {
- border-top: 1px solid #d4d4d4;
-}
-
-.mytheme .v-table-table tr:first-child > td {
- border-top: none;
-}
-
-.mytheme .v-table-row {
- background-color: white;
- cursor: pointer;
-}
-
-.mytheme .v-table-row-odd {
- background-color: #f5f5f5;
- cursor: pointer;
-}
-
-.mytheme .v-table-body-noselection .v-table-row, .mytheme .v-table-body-noselection .v-table-row-odd {
- cursor: default;
-}
-
-.mytheme .v-table [class*="-row"].v-selected {
- background-color: #197de1;
- background-image: -webkit-linear-gradient(top, #1b87e3 2%, #166ed5 98%);
- background-image: linear-gradient(to bottom,#1b87e3 2%, #166ed5 98%);
- background-origin: border-box;
- color: #ecf2f8;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.05);
-}
-
-.mytheme .v-table [class*="-row"].v-selected + .v-selected {
- background: #166ed5;
-}
-
-.mytheme .v-table [class*="-row"].v-selected + .v-selected td {
- border-top-color: #166ed5;
-}
-
-.mytheme .v-table [class*="-row"].v-selected .v-table-cell-content {
- border-color: transparent;
- border-left-color: #1d69b4;
-}
-
-.mytheme .v-table [class*="-row"].v-selected .v-table-cell-content:first-child {
- border-left-color: transparent;
-}
-
-.mytheme .v-table-header-cell-asc .v-table-sort-indicator, .mytheme .v-table-header-cell-desc .v-table-sort-indicator {
- background: transparent;
- width: 19px;
- height: 37px;
- line-height: 37px;
- margin-left: -19px;
-}
-
-.mytheme .v-table-header-cell-asc .v-table-sort-indicator:before, .mytheme .v-table-header-cell-desc .v-table-sort-indicator:before {
- font-style: normal;
- font-weight: normal;
- display: inline-block;
-}
-
-.mytheme .v-table-header-cell-asc .v-table-sort-indicator:before {
- content: "\f0de";
- font-family: ThemeIcons;
-}
-
-.mytheme .v-table-header-cell-desc .v-table-sort-indicator:before {
- content: "\f0dd";
- font-family: ThemeIcons;
-}
-
-.mytheme [class*="rowheader"] span.v-icon {
- min-width: 1em;
-}
-
-.mytheme .v-table-focus {
- outline: 1px solid #197de1;
- outline-offset: -1px;
-}
-
-.mytheme .v-drag-element.v-table-focus, .mytheme .v-drag-element .v-table-focus {
- outline: none;
-}
-
-.mytheme .v-table-header-drag {
- position: absolute;
- opacity: 0.9;
- filter: alpha(opacity=90) ;
- margin-top: -19px;
- z-index: 30000;
- line-height: 1;
-}
-
-.mytheme .v-table-focus-slot-right {
- border-right: 3px solid #197de1;
- right: -2px;
- margin-left: -11px !important;
-}
-
-.mytheme .v-table-focus-slot-left {
- float: left;
- border-left: 3px solid #197de1;
- left: -1px;
- right: auto;
- margin-left: 0 !important;
- margin-right: -11px;
-}
-
-.mytheme .v-table-column-selector {
- height: 37px;
- padding: 0 16px;
- color: #191919;
- font-weight: 400;
-
-
- border-radius: 4px;
- border: 1px solid #c5c5c5;
- border-top-color: #c5c5c5;
- border-bottom-color: #bcbcbc;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7;
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7;
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
- position: absolute;
- z-index: 2;
- top: 0;
- right: 0;
- width: 19px;
- height: 19px;
- line-height: 19px;
- padding: 0;
- border-top-width: 0;
- border-right-width: 0;
- border-radius: 0 0 0 4px;
- cursor: pointer;
- text-align: center;
- opacity: 0;
- filter: alpha(opacity=0) ;
- -webkit-transition: opacity 200ms 2s;
- -moz-transition: opacity 200ms 2s;
- transition: opacity 200ms 2s;
-}
-
-.mytheme .v-table-column-selector:after {
- border: inherit;
- top: -1px;
- right: -1px;
- bottom: -1px;
- left: -1px;
-}
-
-.mytheme .v-table-column-selector:hover:after {
- background-color: rgba(186, 186, 186, 0.1);
-}
-
-.mytheme .v-table-column-selector:focus:after {
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme .v-table-column-selector:active:after {
- background-color: rgba(125, 125, 125, 0.2);
-}
-
-.mytheme .v-table-column-selector:after {
- content: "";
- position: absolute;
- border: none;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
-}
-
-.mytheme .v-table-column-selector:active:after {
- background-color: rgba(125, 125, 125, 0.2);
-}
-
-.mytheme .v-table-column-selector:before {
- font-family: ThemeIcons;
- content: "\f013";
-}
-
-.mytheme .v-table-header-wrap:hover .v-table-column-selector {
- opacity: 1;
- filter: none ;
- -webkit-transition-delay: 200ms;
- -moz-transition-delay: 200ms;
- transition-delay: 200ms;
-}
-
-.mytheme .v-on:before, .mytheme .v-off:before {
- content: "\f00c";
- font-family: ThemeIcons;
- font-size: 0.9em;
- margin-right: 6px;
-}
-
-.mytheme .v-on div, .mytheme .v-off div {
- display: inline;
-}
-
-.mytheme .v-on.v-disabled, .mytheme .v-off.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-off:before {
- visibility: hidden;
-}
-
-.mytheme tbody.v-drag-element {
- display: block;
- overflow: visible;
- -webkit-box-shadow: none;
- box-shadow: none;
- background: transparent;
- opacity: 1;
- filter: none ;
-}
-
-.mytheme tbody.v-drag-element tr {
- display: block;
-
-
- -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
- box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
- border-radius: 4px;
- overflow: hidden;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
- background: white;
-}
-
-.mytheme .v-table-body {
- position: relative;
- z-index: 1;
-}
-
-.mytheme .v-table-scrollposition {
- position: absolute;
- top: 50%;
- width: 100%;
- height: 37px;
- line-height: 37px;
- margin: -19px 0 0 !important;
- text-align: center;
-}
-
-.mytheme .v-table-drag {
- overflow: visible;
-}
-
-.mytheme .v-table-drag .v-table-body {
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- border-color: #197de1;
-}
-
-.v-ie8 .mytheme .v-table-drag .v-table-body {
- border-color: #197de1;
-}
-
-.mytheme .v-table-drag .v-table-body .v-table-focus {
- outline: none;
-}
-
-.mytheme .v-table-row-drag-middle .v-table-cell-content {
- background-color: #d1e5f9;
- color: #214060;
-}
-
-.mytheme .v-table-row-drag-bottom td.v-table-cell-content {
- border-bottom: 2px solid #197de1;
- height: 35px;
-}
-
-.mytheme .v-table-row-drag-bottom .v-table-cell-wrapper {
- margin-bottom: -2px;
-}
-
-.mytheme .v-table-row-drag-top td.v-table-cell-content {
- border-top: 2px solid #197de1;
- height: 36px;
-}
-
-.mytheme .v-table-row-drag-top .v-table-cell-wrapper {
- margin-top: -1px;
-}
-
-.mytheme .v-table-no-stripes .v-table-row, .mytheme .v-table-no-stripes .v-table-row-odd {
- background: transparent;
-}
-
-.mytheme .v-table-no-vertical-lines .v-table-cell-content {
- border-left: none;
- padding-left: 1px;
-}
-
-.mytheme .v-table-no-vertical-lines.v-treetable .v-table-cell-content {
- padding-left: 13px;
-}
-
-.mytheme .v-table-no-horizontal-lines .v-table-cell-content {
- border-top: none;
- border-bottom: none;
-}
-
-.mytheme .v-table-no-horizontal-lines .v-table-row-drag-top .v-table-cell-content, .mytheme .v-table-no-horizontal-lines .v-table-row-drag-bottom .v-table-cell-content {
- height: 36px;
-}
-
-.mytheme .v-table-no-header .v-table-header-wrap {
- display: none;
-}
-
-.mytheme .v-table-borderless .v-table-header-wrap, .mytheme .v-table-borderless .v-table-footer-wrap, .mytheme .v-table-borderless .v-table-header-drag, .mytheme .v-table-borderless .v-table-body {
- border: none;
-}
-
-.mytheme .v-table-borderless .v-table-header-wrap {
- border-bottom: 1px solid #d9d9d9;
-}
-
-.mytheme .v-table-borderless .v-table-footer-wrap {
- border-top: 1px solid #d9d9d9;
-}
-
-.mytheme .v-table-compact .v-table-header-wrap, .mytheme .v-table-compact .v-table-footer-wrap, .mytheme .v-table-compact .v-table-header-drag, .mytheme .v-table-small .v-table-header-wrap, .mytheme .v-table-small .v-table-footer-wrap, .mytheme .v-table-small .v-table-header-drag {
- font-size: 14px;
-}
-
-.mytheme .v-table-compact .v-table-footer-container, .mytheme .v-table-small .v-table-footer-container {
- padding: 8px 7px 9px;
-}
-
-.mytheme .v-table-compact .v-table-caption-container, .mytheme .v-table-compact .v-table-header-drag, .mytheme .v-table-small .v-table-caption-container, .mytheme .v-table-small .v-table-header-drag {
- padding-top: 9px;
- padding-bottom: 8px;
- padding-left: 6px;
- padding-right: 6px;
-}
-
-.mytheme .v-table-compact .v-table-caption-container-align-right, .mytheme .v-table-small .v-table-caption-container-align-right {
- padding-right: 0;
-}
-
-.mytheme .v-table-compact .v-table-resizer, .mytheme .v-table-small .v-table-resizer {
- height: 31px;
-}
-
-.mytheme .v-table-compact .v-table-cell-content, .mytheme .v-table-small .v-table-cell-content {
- height: 31px;
-}
-
-.mytheme .v-table-compact .v-table-cell-wrapper, .mytheme .v-table-small .v-table-cell-wrapper {
- padding-left: 6px;
- padding-right: 6px;
-}
-
-.mytheme .v-table-compact .v-table-cell-wrapper > .v-widget, .mytheme .v-table-small .v-table-cell-wrapper > .v-widget {
- margin: 2px -3px;
-}
-
-.mytheme .v-table-compact .v-table-cell-wrapper > .v-widget.v-label, .mytheme .v-table-compact .v-table-cell-wrapper > .v-widget.v-checkbox, .mytheme .v-table-compact .v-table-cell-wrapper > .v-widget.v-select-optiongroup, .mytheme .v-table-small .v-table-cell-wrapper > .v-widget.v-label, .mytheme .v-table-small .v-table-cell-wrapper > .v-widget.v-checkbox, .mytheme .v-table-small .v-table-cell-wrapper > .v-widget.v-select-optiongroup {
- margin: 0;
-}
-
-.mytheme .v-table-compact .v-table-cell-wrapper > .v-widget.v-progressbar, .mytheme .v-table-small .v-table-cell-wrapper > .v-widget.v-progressbar {
- margin-left: 0;
- margin-right: 0;
-}
-
-.mytheme .v-table-compact .v-table-header-cell-asc .v-table-sort-indicator, .mytheme .v-table-compact .v-table-header-cell-desc .v-table-sort-indicator, .mytheme .v-table-small .v-table-header-cell-asc .v-table-sort-indicator, .mytheme .v-table-small .v-table-header-cell-desc .v-table-sort-indicator {
- height: 31px;
- line-height: 31px;
-}
-
-.mytheme .v-table-compact .v-table-header-drag, .mytheme .v-table-small .v-table-header-drag {
- margin-top: -16px;
-}
-
-.mytheme .v-table-compact.v-treetable .v-table-cell-wrapper, .mytheme .v-table-small.v-treetable .v-table-cell-wrapper {
- padding-left: 0;
- padding-right: 0;
- min-height: 16px;
-}
-
-.mytheme .v-table-compact.v-treetable .v-table-cell-content, .mytheme .v-table-small.v-treetable .v-table-cell-content {
- padding-left: 6px;
- padding-right: 6px;
-}
-
-.mytheme .v-table-compact.v-treetable .v-table-cell-content:first-child, .mytheme .v-table-small.v-treetable .v-table-cell-content:first-child {
- padding-left: 7px;
-}
-
-.mytheme .v-table-compact.v-treetable .v-table-footer-container, .mytheme .v-table-small.v-treetable .v-table-footer-container {
- padding-left: 6px;
- padding-right: 6px;
-}
-
-.mytheme .v-table-compact .v-table-row-drag-top .v-table-cell-content, .mytheme .v-table-compact .v-table-row-drag-bottom .v-table-cell-content, .mytheme .v-table-small .v-table-row-drag-top .v-table-cell-content, .mytheme .v-table-small .v-table-row-drag-bottom .v-table-cell-content {
- height: 30px;
-}
-
-.mytheme .v-table-small {
- font-size: 14px;
-}
-
-.mytheme .v-table-small.v-treetable .v-table-cell-wrapper {
- min-height: 14px;
-}
-
-.mytheme .v-treetable [class*="caption-container"], .mytheme .v-treetable [class*="footer-container"], .mytheme .v-treetable [class*="cell-wrapper"] {
- -webkit-box-sizing: content-box;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
- padding-left: 0;
- padding-right: 0;
-}
-
-.mytheme .v-treetable [class*="caption-container"], .mytheme .v-treetable [class*="footer-container"] {
- min-height: 14px;
-}
-
-.mytheme .v-treetable [class*="cell-wrapper"] {
- min-height: 16px;
-}
-
-.mytheme .v-treetable [class*="caption-container"] {
- padding-left: 12px;
-}
-
-.mytheme .v-treetable [class*="caption-container-align-right"] {
- padding-left: 20px;
-}
-
-.mytheme .v-treetable [class*="footer-container"] {
- padding-right: 12px;
-}
-
-.mytheme .v-treetable [class*="cell-content"] {
- padding-left: 12px;
- padding-right: 12px;
-}
-
-.mytheme .v-treetable [class*="cell-content"]:first-child {
- padding-left: 13px;
-}
-
-.mytheme .v-treetable-treespacer {
- display: inline-block;
- position: absolute;
- width: 19px !important;
- margin-left: -25px;
- text-align: center;
- cursor: pointer;
-}
-
-.mytheme .v-treetable-node-closed:before {
- content: "\f0da";
- font-family: ThemeIcons;
-}
-
-.mytheme .v-treetable-node-open:before {
- content: "\f0d7";
- font-family: ThemeIcons;
-}
-
-.mytheme .v-splitpanel-horizontal > div > .v-splitpanel-hsplitter {
- width: 1px;
-}
-
-.mytheme .v-splitpanel-horizontal > div > .v-splitpanel-hsplitter:after {
- left: -6px;
- right: -6px;
-}
-
-.mytheme .v-splitpanel-horizontal > div > .v-splitpanel-hsplitter div:before {
- height: 37px;
- padding: 0 16px;
- color: #191919;
- font-weight: 400;
-
-
- border-radius: 4px;
- border: 1px solid #c5c5c5;
- border-top-color: #c5c5c5;
- border-bottom-color: #bcbcbc;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, none;
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, none;
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
- height: auto;
- padding: 0;
- border-radius: 0;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(left, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to right,#fafafa 2%, #efefef 98%);
-}
-
-.mytheme .v-splitpanel-horizontal > div > .v-splitpanel-hsplitter div:before:after {
- border: inherit;
- top: -1px;
- right: -1px;
- bottom: -1px;
- left: -1px;
-}
-
-.mytheme .v-splitpanel-horizontal > div > .v-splitpanel-hsplitter div:before:hover:after {
- background-color: rgba(186, 186, 186, 0.1);
-}
-
-.mytheme .v-splitpanel-horizontal > div > .v-splitpanel-hsplitter div:before:focus:after {
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme .v-splitpanel-horizontal > div > .v-splitpanel-hsplitter div:before:active:after {
- background-color: rgba(125, 125, 125, 0.2);
-}
-
-.mytheme .v-splitpanel-horizontal > div > .v-splitpanel-second-container {
- margin-left: 1px;
-}
-
-.mytheme .v-splitpanel-vertical > div > .v-splitpanel-vsplitter {
- height: 1px;
-}
-
-.mytheme .v-splitpanel-vertical > div > .v-splitpanel-vsplitter:after {
- top: -6px;
- bottom: -6px;
-}
-
-.mytheme .v-splitpanel-vertical > div > .v-splitpanel-vsplitter div:before {
- height: 37px;
- padding: 0 16px;
- color: #191919;
- font-weight: 400;
-
-
- border-radius: 4px;
- border: 1px solid #c5c5c5;
- border-top-color: #c5c5c5;
- border-bottom-color: #bcbcbc;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, none;
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, none;
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
- height: auto;
- padding: 0;
- border-radius: 0;
-}
-
-.mytheme .v-splitpanel-vertical > div > .v-splitpanel-vsplitter div:before:after {
- border: inherit;
- top: -1px;
- right: -1px;
- bottom: -1px;
- left: -1px;
-}
-
-.mytheme .v-splitpanel-vertical > div > .v-splitpanel-vsplitter div:before:hover:after {
- background-color: rgba(186, 186, 186, 0.1);
-}
-
-.mytheme .v-splitpanel-vertical > div > .v-splitpanel-vsplitter div:before:focus:after {
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme .v-splitpanel-vertical > div > .v-splitpanel-vsplitter div:before:active:after {
- background-color: rgba(125, 125, 125, 0.2);
-}
-
-.mytheme .v-splitpanel-horizontal.large > div > .v-splitpanel-hsplitter {
- width: 12px;
-}
-
-.mytheme .v-splitpanel-horizontal.large > div > .v-splitpanel-hsplitter:after {
- left: 0px;
- right: 0px;
-}
-
-.mytheme .v-splitpanel-horizontal.large > div > .v-splitpanel-hsplitter div:before {
- height: 37px;
- padding: 0 16px;
- color: #191919;
- font-weight: 400;
-
-
- border-radius: 4px;
- border: 1px solid #c5c5c5;
- border-top-color: #c5c5c5;
- border-bottom-color: #bcbcbc;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, none;
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, none;
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
- height: auto;
- padding: 0;
- border-radius: 0;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(left, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to right,#fafafa 2%, #efefef 98%);
-}
-
-.mytheme .v-splitpanel-horizontal.large > div > .v-splitpanel-hsplitter div:before:after {
- border: inherit;
- top: -1px;
- right: -1px;
- bottom: -1px;
- left: -1px;
-}
-
-.mytheme .v-splitpanel-horizontal.large > div > .v-splitpanel-hsplitter div:before:hover:after {
- background-color: rgba(186, 186, 186, 0.1);
-}
-
-.mytheme .v-splitpanel-horizontal.large > div > .v-splitpanel-hsplitter div:before:focus:after {
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme .v-splitpanel-horizontal.large > div > .v-splitpanel-hsplitter div:before:active:after {
- background-color: rgba(125, 125, 125, 0.2);
-}
-
-.mytheme .v-splitpanel-horizontal.large > div > .v-splitpanel-hsplitter div:after {
- content: "";
- border: 1px solid #dadada;
- border-top-color: #bababa;
- border-left-color: #bababa;
- position: absolute;
- top: 50%;
- left: 50%;
- width: 0;
- height: 37px;
- margin-left: -1px;
- margin-top: -19px;
-}
-
-.mytheme .v-splitpanel-horizontal.large > div > .v-splitpanel-second-container {
- margin-left: 12px;
-}
-
-.mytheme .v-splitpanel-vertical.large > div > .v-splitpanel-vsplitter {
- height: 12px;
-}
-
-.mytheme .v-splitpanel-vertical.large > div > .v-splitpanel-vsplitter:after {
- top: 0px;
- bottom: 0px;
-}
-
-.mytheme .v-splitpanel-vertical.large > div > .v-splitpanel-vsplitter div:before {
- height: 37px;
- padding: 0 16px;
- color: #191919;
- font-weight: 400;
-
-
- border-radius: 4px;
- border: 1px solid #c5c5c5;
- border-top-color: #c5c5c5;
- border-bottom-color: #bcbcbc;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, none;
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, none;
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
- height: auto;
- padding: 0;
- border-radius: 0;
-}
-
-.mytheme .v-splitpanel-vertical.large > div > .v-splitpanel-vsplitter div:before:after {
- border: inherit;
- top: -1px;
- right: -1px;
- bottom: -1px;
- left: -1px;
-}
-
-.mytheme .v-splitpanel-vertical.large > div > .v-splitpanel-vsplitter div:before:hover:after {
- background-color: rgba(186, 186, 186, 0.1);
-}
-
-.mytheme .v-splitpanel-vertical.large > div > .v-splitpanel-vsplitter div:before:focus:after {
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme .v-splitpanel-vertical.large > div > .v-splitpanel-vsplitter div:before:active:after {
- background-color: rgba(125, 125, 125, 0.2);
-}
-
-.mytheme .v-splitpanel-vertical.large > div > .v-splitpanel-vsplitter div:after {
- content: "";
- border: 1px solid #dadada;
- border-top-color: #bababa;
- border-left-color: #bababa;
- position: absolute;
- top: 50%;
- left: 50%;
- width: 37px;
- height: 0;
- margin-left: -19px;
- margin-top: -1px;
-}
-
-.mytheme .v-progressbar-wrapper {
- border-radius: 4px;
- height: 9px;
- background-color: #d4d4d4;
- background-image: -webkit-linear-gradient(bottom, #d7d7d7 2%, #c7c7c7 98%);
- background-image: linear-gradient(to top,#d7d7d7 2%, #c7c7c7 98%);
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- min-width: 74px;
-}
-
-.mytheme .v-progressbar-indicator {
- border-radius: 4px;
- height: inherit;
- background-color: #197de1;
- background-image: -webkit-linear-gradient(top, #1b87e3 2%, #166ed5 98%);
- background-image: linear-gradient(to bottom,#1b87e3 2%, #166ed5 98%);
-
-
- border: 1px solid #1362b1;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- max-width: 100%;
- min-width: 8px;
- -webkit-transition: width 160ms;
- -moz-transition: width 160ms;
- transition: width 160ms;
-}
-
-.mytheme .v-progressbar-point .v-progressbar-indicator {
- background: transparent;
- -webkit-box-shadow: none;
- box-shadow: none;
- border: none;
- text-align: right;
- overflow: hidden;
-}
-
-.mytheme .v-progressbar-point .v-progressbar-indicator:before {
- content: "";
- display: inline-block;
- border-radius: 4px;
- height: inherit;
- background-color: #197de1;
- background-image: -webkit-linear-gradient(top, #1b87e3 2%, #166ed5 98%);
- background-image: linear-gradient(to bottom,#1b87e3 2%, #166ed5 98%);
-
-
- border: 1px solid #1362b1;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- max-width: 100%;
- width: 9px;
- vertical-align: top;
-}
-
-.mytheme .v-progressbar-indeterminate {
- height: 24px !important;
- width: 24px !important;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- border: 2px solid rgba(25, 125, 225, 0.2);
- border-top-color: #197de1;
- border-right-color: #197de1;
- border-radius: 100%;
- -webkit-animation: v-rotate-360 500ms infinite linear;
- -moz-animation: v-rotate-360 500ms infinite linear;
- animation: v-rotate-360 500ms infinite linear;
- pointer-events: none;
-}
-
-.v-ie8 .mytheme .v-progressbar-indeterminate, .v-ie9 .mytheme .v-progressbar-indeterminate {
- border: none;
- border-radius: 4px;
- background: #fff url(../valo/shared/img/spinner.gif) no-repeat 50% 50%;
- background-size: 80%;
-}
-
-.v-ie8 .mytheme .v-progressbar-indeterminate {
- min-width: 30px;
- min-height: 30px;
-}
-
-.mytheme .v-progressbar-indeterminate .v-progressbar-wrapper {
- display: none;
-}
-
-.mytheme .v-slider {
- position: relative;
-}
-
-.mytheme .v-slider:focus {
- outline: none;
-}
-
-.mytheme .v-slider:focus .v-slider-handle:after {
- opacity: 1;
-}
-
-.v-ie8 .mytheme .v-slider:focus .v-slider-handle:after {
- visibility: visible;
-}
-
-.mytheme .v-slider.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-slider-base {
- border-radius: 4px;
- height: 9px;
- background-color: #d4d4d4;
- background-image: -webkit-linear-gradient(bottom, #d7d7d7 2%, #c7c7c7 98%);
- background-image: linear-gradient(to top,#d7d7d7 2%, #c7c7c7 98%);
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- min-width: 74px;
- height: 6px;
- margin: 16px 11px;
- white-space: nowrap;
- overflow: hidden;
-
-}
-
-.mytheme .v-slider-base:before {
- content: "";
- position: absolute;
- top: 16px;
- bottom: 16px;
- left: 11px;
- width: 8px;
- border-radius: 4px;
- border-left: 1px solid #1362b1;
-}
-
-.mytheme .v-slider-base:after {
- border-radius: 4px;
- height: inherit;
- background-color: #197de1;
- background-image: -webkit-linear-gradient(top, #1b87e3 2%, #166ed5 98%);
- background-image: linear-gradient(to bottom,#1b87e3 2%, #166ed5 98%);
-
-
- border: 1px solid #1362b1;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- max-width: 100%;
- content: "";
- display: inline-block;
- margin-left: -100%;
- width: 100%;
- vertical-align: top;
-}
-
-.v-ie8 .mytheme .v-slider-base:after {
- position: relative;
- left: -11px;
-}
-
-.mytheme .v-has-width > .v-slider-base {
- min-width: 0;
-}
-
-.mytheme .v-slider-handle {
- margin-top: -16px;
- width: 0.1px;
- display: inline-block;
- vertical-align: top;
-}
-
-.mytheme .v-slider-handle:before {
- height: 37px;
- padding: 0 16px;
- color: #191919;
- font-weight: 400;
-
-
- border-radius: 4px;
- border: 1px solid #c5c5c5;
- border-top-color: #c5c5c5;
- border-bottom-color: #bcbcbc;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7, 0 2px 3px rgba(0, 0, 0, 0.05);
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
-}
-
-.mytheme .v-slider-handle:before:after {
- border: inherit;
- top: -1px;
- right: -1px;
- bottom: -1px;
- left: -1px;
-}
-
-.mytheme .v-slider-handle:before:hover:after {
- background-color: rgba(186, 186, 186, 0.1);
-}
-
-.mytheme .v-slider-handle:before:focus:after {
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme .v-slider-handle:before:active:after {
- background-color: rgba(125, 125, 125, 0.2);
-}
-
-.mytheme .v-slider-handle:after {
- border: 1px solid #c5c5c5;
- border-color: #197de1;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- opacity: 0;
- -webkit-transition: opacity 200ms;
- -moz-transition: opacity 200ms;
- transition: opacity 200ms;
-}
-
-.v-ie8 .mytheme .v-slider-handle:after {
- visibility: hidden;
-}
-
-.mytheme .v-slider-handle:before, .mytheme .v-slider-handle:after {
- content: "";
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- padding: 0;
- width: 22px;
- height: 22px;
- border-radius: 11px;
- position: absolute;
- z-index: 1;
- margin-top: 8px;
- margin-left: -11px;
-}
-
-.mytheme .v-slider-feedback {
- background-color: #323232;
- background-color: rgba(50, 50, 50, 0.9);
- -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
- box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
- color: white;
- padding: 5px 9px;
- border-radius: 3px;
- max-width: 35em;
- overflow: hidden !important;
- font-size: 14px;
-}
-
-.mytheme .v-slider-vertical {
- padding: 11px 0;
- height: 96px;
-}
-
-.mytheme .v-slider-vertical .v-slider-base {
- background-color: #d4d4d4;
- background-image: -webkit-linear-gradient(right, #d7d7d7 2%, #c7c7c7 98%);
- background-image: linear-gradient(to left,#d7d7d7 2%, #c7c7c7 98%);
- width: 6px;
- height: 100% !important;
- min-width: 0;
- margin: 0 16px;
-}
-
-.mytheme .v-slider-vertical .v-slider-base:before {
- top: auto;
- bottom: 11px;
- left: 16px;
- right: 16px;
- width: auto;
- height: 8px;
- border-left: none;
- border-bottom: 1px solid #1362b1;
-}
-
-.mytheme .v-slider-vertical .v-slider-base:after {
- height: 101%;
- margin-left: 0;
- background-color: #197de1;
- background-image: -webkit-linear-gradient(left, #1b87e3 2%, #166ed5 98%);
- background-image: linear-gradient(to right,#1b87e3 2%, #166ed5 98%);
-}
-
-.v-ie8 .mytheme .v-slider-vertical .v-slider-base:after {
- top: 11px;
- left: 0;
- height: 130%;
-}
-
-.mytheme .v-slider-vertical .v-slider-handle {
- width: 0;
- height: 0.1px;
- width: 37px;
- display: block;
-}
-
-.mytheme .v-slider-vertical .v-slider-handle:before, .mytheme .v-slider-vertical .v-slider-handle:after {
- width: 22px;
- height: 22px;
- margin-top: -11px;
- margin-left: -8px;
-}
-
-.mytheme .v-slider-no-indicator .v-slider-base:before, .mytheme .v-slider-no-indicator .v-slider-base:after {
- display: none;
-}
-
-.mytheme .v-tabsheet:not(.v-has-width) {
- width: auto !important;
-}
-
-.mytheme .v-tabsheet-spacertd {
- display: none !important;
-}
-
-.mytheme .v-tabsheet-tabcontainer {
- position: relative;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-.mytheme .v-tabsheet-tabcontainer:before {
- content: "";
- position: absolute;
- height: 0;
- border-top: 1px solid #dfdfdf;
- bottom: 0;
- left: 0;
- right: 0;
-}
-
-.mytheme .v-tabsheet-tabcontainer .v-tabsheet-tabs {
- position: relative;
-}
-
-.mytheme .v-tabsheet-tabitemcell {
- vertical-align: bottom;
-}
-
-.mytheme .v-tabsheet-tabitemcell .v-tabsheet-tabitem {
- line-height: 0;
- overflow: hidden;
-}
-
-.mytheme .v-tabsheet-tabitemcell .v-caption {
- margin-left: 19px;
- padding: 0 4px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- cursor: pointer;
- text-align: center;
- line-height: 37px;
- font-size: 15px;
- font-weight: 300;
- color: #696969;
- width: auto !important;
- overflow: hidden;
- text-overflow: ellipsis;
- border-bottom: 2px solid transparent;
- position: relative;
- -webkit-transition: border-bottom 200ms, color 200ms;
- -moz-transition: border-bottom 200ms, color 200ms;
- transition: border-bottom 200ms, color 200ms;
-}
-
-.mytheme .v-tabsheet-tabitemcell .v-caption .v-captiontext {
- display: inline;
-}
-
-.mytheme .v-tabsheet-tabitemcell .v-caption .v-icon + .v-captiontext {
- margin-left: 9px;
-}
-
-.mytheme .v-tabsheet-tabitemcell .v-caption:hover {
- color: #197de1;
-}
-
-.mytheme .v-tabsheet-tabitemcell .v-caption.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
- cursor: default;
- color: inherit !important;
-}
-
-.mytheme .v-tabsheet-tabitemcell:first-child .v-caption, .mytheme .v-tabsheet-tabitemcell[aria-hidden="true"] + td .v-caption {
- margin-left: 0;
-}
-
-.mytheme .v-tabsheet-tabitemcell:focus {
- outline: none;
-}
-
-.mytheme .v-tabsheet-tabitemcell:focus .v-caption {
- color: #197de1;
-}
-
-.mytheme .v-tabsheet-tabitemcell .v-tabsheet-tabitem-selected .v-caption.v-caption {
- border-bottom-color: #197de1;
- color: #197de1;
-}
-
-.mytheme .v-tabsheet-tabitemcell .v-caption-closable {
- padding-right: 22px;
-}
-
-.mytheme .v-tabsheet-tabitemcell.icons-on-top .v-caption-closable {
- padding-right: 4px;
-}
-
-.mytheme .v-tabsheet-tabitemcell .v-tabsheet-caption-close {
- position: absolute;
- right: 0;
- top: 50%;
- margin: -8px 0 0;
- font-size: 18px;
- line-height: 18px;
- width: 18px;
- text-align: center;
- border-radius: 2px;
- color: #969696;
-}
-
-.mytheme .v-tabsheet-tabitemcell .v-tabsheet-caption-close:hover {
- background: rgba(0, 0, 0, 0.03);
- color: #197de1;
-}
-
-.mytheme .v-tabsheet-tabitemcell .v-tabsheet-caption-close:active {
- background: #197de1;
- color: #c8dbed;
-}
-
-.mytheme .v-tabsheet-scroller {
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- padding-left: 19px;
- background-color: transparent;
- background-image: -webkit-linear-gradient(right, #fafafa 70%, rgba(250, 250, 250, 0) 100%);
- background-image: linear-gradient(to left,#fafafa 70%, rgba(250, 250, 250, 0) 100%);
- pointer-events: none;
-}
-
-.mytheme .v-tabsheet-scroller:after {
- content: "";
- height: 1px;
- position: absolute;
- bottom: 0;
- left: 0;
- right: 0;
- display: block;
- background-color: transparent;
- background-image: -webkit-linear-gradient(right, #dfdfdf 70%, rgba(223, 223, 223, 0) 100%);
- background-image: linear-gradient(to left,#dfdfdf 70%, rgba(223, 223, 223, 0) 100%);
-}
-
-.v-ie8 .mytheme .v-tabsheet-scroller, .v-ie9 .mytheme .v-tabsheet-scroller {
- background-color: #fafafa;
-}
-
-.v-ie8 .mytheme .v-tabsheet-scroller:after, .v-ie9 .mytheme .v-tabsheet-scroller:after {
- background-color: #dfdfdf;
-}
-
-.mytheme .v-tabsheet-scroller button {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- border: none;
- background: transparent;
- font: inherit;
- color: inherit;
- height: 100%;
- margin: 0;
- padding: 0 9px;
- outline: none;
- cursor: pointer;
- pointer-events: auto;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-tabsheet-scroller button:hover {
- opacity: 1;
- filter: none ;
- color: #197de1;
-}
-
-.mytheme .v-tabsheet-scroller button:active {
- opacity: 0.7;
- filter: alpha(opacity=70) ;
- color: #197de1;
-}
-
-.mytheme .v-tabsheet-scroller button::-moz-focus-inner {
- padding: 0;
- border: 0;
-}
-
-.mytheme .v-tabsheet-scroller [class*="Next"] {
- padding-left: 5px;
-}
-
-.mytheme .v-tabsheet-scroller [class*="Next"]:before {
- font-family: ThemeIcons;
- content: "\f054";
-}
-
-.mytheme .v-tabsheet-scroller [class*="Prev"] {
- padding-right: 5px;
-}
-
-.mytheme .v-tabsheet-scroller [class*="Prev"]:before {
- font-family: ThemeIcons;
- content: "\f053";
-}
-
-.mytheme .v-tabsheet-scroller [class*="disabled"] {
- cursor: default;
- color: inherit !important;
- opacity: 0.1 !important;
- filter: alpha(opacity=10) !important;
-}
-
-.mytheme .v-tabsheet-tabsheetpanel > .v-scrollable > .v-widget {
- -webkit-animation: valo-animate-in-fade 300ms backwards;
- -moz-animation: valo-animate-in-fade 300ms backwards;
- animation: valo-animate-in-fade 300ms backwards;
-}
-
-.mytheme .v-tabsheet-deco {
- height: 20px !important;
- width: 20px !important;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- border: 2px solid rgba(25, 125, 225, 0.2);
- border-top-color: #197de1;
- border-right-color: #197de1;
- border-radius: 100%;
- -webkit-animation: v-rotate-360 500ms infinite linear;
- -moz-animation: v-rotate-360 500ms infinite linear;
- animation: v-rotate-360 500ms infinite linear;
- pointer-events: none;
- display: none;
- position: absolute;
- z-index: 1;
- bottom: 50%;
- margin-bottom: -29px;
- left: 50%;
- margin-left: -10px;
-}
-
-.v-ie8 .mytheme .v-tabsheet-deco, .v-ie9 .mytheme .v-tabsheet-deco {
- border: none;
- border-radius: 4px;
- background: #fff url(../valo/shared/img/spinner.gif) no-repeat 50% 50%;
- background-size: 80%;
-}
-
-.v-ie8 .mytheme .v-tabsheet-deco {
- min-width: 30px;
- min-height: 30px;
-}
-
-.mytheme .v-tabsheet-loading .v-tabsheet-deco {
- display: block;
-}
-
-.mytheme .v-tabsheet-equal-width-tabs > .v-tabsheet-tabcontainer table, .mytheme .v-tabsheet-equal-width-tabs > .v-tabsheet-tabcontainer tbody, .mytheme .v-tabsheet-equal-width-tabs > .v-tabsheet-tabcontainer tr {
- width: 100%;
-}
-
-.mytheme .v-tabsheet-equal-width-tabs > .v-tabsheet-tabcontainer tr {
- display: table;
- table-layout: fixed;
-}
-
-.mytheme .v-tabsheet-equal-width-tabs > .v-tabsheet-tabcontainer td {
- display: table-cell;
-}
-
-.mytheme .v-tabsheet-equal-width-tabs > .v-tabsheet-tabcontainer .v-caption {
- margin: 0;
- display: block;
-}
-
-.mytheme .v-tabsheet-framed > .v-tabsheet-tabcontainer .v-caption {
- margin-left: 4px;
- padding: 0 12px;
- background-color: #fafafa;
- border: 1px solid transparent;
- line-height: 36px;
- border-radius: 4px 4px 0 0;
- font-weight: 400;
- -webkit-transition: background-color 160ms;
- -moz-transition: background-color 160ms;
- transition: background-color 160ms;
-}
-
-.mytheme .v-tabsheet-framed > .v-tabsheet-tabcontainer .v-caption:hover {
- background-color: #f2f2f2;
- border-bottom-color: #dfdfdf;
-}
-
-.mytheme .v-tabsheet-framed > .v-tabsheet-tabcontainer .v-caption.v-disabled:hover {
- background-color: #fafafa;
-}
-
-.mytheme .v-tabsheet-framed > .v-tabsheet-tabcontainer .v-caption-closable {
- padding-right: 30px;
-}
-
-.mytheme .v-tabsheet-framed > .v-tabsheet-tabcontainer .v-tabsheet-caption-close {
- top: 4px;
- right: 4px;
- margin-top: 0;
-}
-
-.mytheme .v-tabsheet-framed > .v-tabsheet-tabcontainer td:first-child .v-caption, .mytheme .v-tabsheet-framed > .v-tabsheet-tabcontainer [aria-hidden="true"] + td .v-caption {
- margin-left: 0;
-}
-
-.mytheme .v-tabsheet-framed > .v-tabsheet-tabcontainer .v-tabsheet-tabitem .v-caption {
- border-color: #dfdfdf;
-}
-
-.mytheme .v-tabsheet-framed > .v-tabsheet-tabcontainer .v-tabsheet-tabitem-selected .v-caption {
- background: white;
- border-color: #dfdfdf;
- border-bottom: none;
- padding-bottom: 1px;
-}
-
-.mytheme .v-tabsheet-framed > .v-tabsheet-content {
- border: 1px solid #dfdfdf;
- border-top: none;
-}
-
-.mytheme .v-tabsheet-framed > .v-tabsheet-content > div {
- background: white;
-}
-
-.mytheme .v-tabsheet-framed.padded-tabbar > .v-tabsheet-tabcontainer {
- border: 1px solid #dfdfdf;
- border-bottom: none;
- background: #fafafa;
- padding-top: 6px;
-}
-
-.mytheme .v-tabsheet-framed.icons-on-top > .v-tabsheet-tabcontainer .v-tabsheet-tabitem-selected .v-caption {
- padding-bottom: 7px;
-}
-
-.mytheme .v-tabsheet-centered-tabs > .v-tabsheet-tabcontainer {
- text-align: center;
-}
-
-.mytheme .v-tabsheet-right-aligned-tabs > .v-tabsheet-tabcontainer {
- text-align: right;
-}
-
-.mytheme .v-tabsheet-padded-tabbar > .v-tabsheet-tabcontainer .v-tabsheet-tabs {
- padding: 0 9px;
-}
-
-.mytheme .v-tabsheet-icons-on-top > .v-tabsheet-tabcontainer .v-caption {
- padding-top: 6px;
- padding-bottom: 6px;
- line-height: 1.2;
-}
-
-.mytheme .v-tabsheet-icons-on-top > .v-tabsheet-tabcontainer .v-icon {
- display: block;
-}
-
-.mytheme .v-tabsheet-icons-on-top > .v-tabsheet-tabcontainer .v-icon + .v-captiontext.v-captiontext {
- margin-left: 0;
-}
-
-.mytheme .v-tabsheet-icons-on-top > .v-tabsheet-tabcontainer .v-caption-closable {
- padding-right: 12px;
-}
-
-.mytheme .v-tabsheet-icons-on-top > .v-tabsheet-tabcontainer .v-tabsheet-caption-close {
- top: 4px;
- margin-top: 0;
-}
-
-.mytheme .v-tabsheet-compact-tabbar > .v-tabsheet-tabcontainer-compact-tabbar .v-caption {
- line-height: 1.8;
-}
-
-.mytheme .v-tabsheet-only-selected-closable > .v-tabsheet-tabcontainer .v-tabsheet-caption-close {
- visibility: hidden;
-}
-
-.mytheme .v-tabsheet-only-selected-closable > .v-tabsheet-tabcontainer .v-tabsheet-tabitem-selected .v-tabsheet-caption-close {
- visibility: visible;
-}
-
-.mytheme .v-colorpicker-popup.v-window {
- min-width: 220px !important;
-}
-
-.mytheme .v-colorpicker-popup .v-tabsheet-tabs {
- padding: 0 9px;
-}
-
-.mytheme .v-colorpicker-popup [class$="sliders"] {
- padding: 12px;
-}
-
-.mytheme .v-colorpicker-popup [class$="sliders"] .v-widget {
- width: 100% !important;
- vertical-align: middle;
-}
-
-.mytheme .v-colorpicker-popup [class$="sliders"] .v-has-caption {
- white-space: nowrap;
- padding-left: 48px;
-}
-
-.mytheme .v-colorpicker-popup [class$="sliders"] .v-caption {
- display: inline-block;
- margin-left: -48px;
- width: 48px;
-}
-
-.mytheme .v-colorpicker-popup [class$="sliders"] .v-slot-hue-slider + .v-slot .v-has-caption {
- padding-left: 80px;
-}
-
-.mytheme .v-colorpicker-popup [class$="sliders"] .v-slot-hue-slider + .v-slot .v-caption {
- margin-left: -80px;
- width: 80px;
-}
-
-.mytheme .v-colorpicker-popup .v-slider-red .v-slider-base:after {
- background: red;
- border: none;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-colorpicker-popup .v-slider-green .v-slider-base:after {
- background: green;
- border: none;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-colorpicker-popup .v-slider-blue .v-slider-base:after {
- background: blue;
- border: none;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-colorpicker-popup .v-margin-bottom {
- padding-bottom: 0;
-}
-
-.mytheme .v-colorpicker-popup .resize-button {
- width: 100% !important;
- height: auto !important;
- text-align: center;
- outline: none;
-}
-
-.mytheme .v-colorpicker-popup .resize-button:before {
- font-family: ThemeIcons;
- content: "\f141";
-}
-
-.mytheme .v-colorpicker-popup .resize-button-caption {
- display: none;
-}
-
-.mytheme .v-colorpicker-popup .v-horizontallayout {
- height: auto !important;
- padding: 9px 0;
- background-color: #fafafa;
- border-top: 1px solid #ededed;
-}
-
-.mytheme .v-colorpicker-popup .v-horizontallayout .v-expand {
- overflow: visible;
-}
-
-.mytheme .v-colorpicker-popup .v-horizontallayout .v-button {
- width: 80% !important;
-}
-
-.mytheme .v-colorpicker-preview {
- width: 100% !important;
- height: auto !important;
- padding: 9px;
-}
-
-.mytheme .v-colorpicker-preview-textfield {
- height: auto !important;
- text-align: center;
- border: none;
-}
-
-.mytheme .v-colorpicker {
- width: auto;
-}
-
-.mytheme .v-colorpicker-button-color {
- position: absolute;
- top: 6px;
- right: 6px;
- bottom: 6px;
- left: 6px;
- border-radius: 3px;
- border: 1px solid rgba(0, 0, 0, 0.5);
- max-width: 23px;
-}
-
-.mytheme .v-colorpicker-button-color + .v-button-caption:not(:empty) {
- margin-left: 19px;
-}
-
-.v-ie8 .mytheme .v-colorpicker-button-color {
- position: relative;
- top: auto;
- right: auto;
- bottom: auto;
- left: auto;
- width: 16px;
- height: 16px;
- display: inline-block;
- vertical-align: middle;
- margin: 0 -8px;
-}
-
-.v-ie8 .mytheme .v-colorpicker-button-color + .v-button-caption {
- margin-left: 19px;
-}
-
-.mytheme .v-panel {
- background: white;
- color: #474747;
- border-radius: 4px;
- border: 1px solid #d5d5d5;
- -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
- overflow: visible !important;
-}
-
-.mytheme .v-panel-caption {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- padding: 0 12px;
- line-height: 36px;
- border-bottom: 1px solid #d5d5d5;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #f6f6f6 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #f6f6f6 98%);
- color: #464646;
- font-weight: 400;
- font-size: 14px;
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #eeeeee;
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #eeeeee;
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
- border-radius: 3px 3px 0 0;
-}
-
-.mytheme .v-panel-content {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- width: 100%;
- height: 100%;
-}
-
-.mytheme .v-panel-content > .v-margin-top {
- padding-top: 12px;
-}
-
-.mytheme .v-panel-content > .v-margin-right {
- padding-right: 12px;
-}
-
-.mytheme .v-panel-content > .v-margin-bottom {
- padding-bottom: 12px;
-}
-
-.mytheme .v-panel-content > .v-margin-left {
- padding-left: 12px;
-}
-
-.mytheme .v-panel-borderless {
- background: transparent;
- color: inherit;
- border: none;
- border-radius: 0;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-panel-borderless > div > [class*="-caption"] {
- background: transparent;
- -webkit-box-shadow: none;
- box-shadow: none;
- color: inherit;
- padding: 0;
- margin: 0 12px;
- border-bottom: none;
-}
-
-.mytheme .v-panel-well {
- background: #f5f5f5;
- color: #454545;
- -webkit-box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.05), inset 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.05), inset 0 2px 3px rgba(0, 0, 0, 0.05);
- border-radius: 4px;
- border: 1px solid #c5c5c5;
-}
-
-.mytheme .v-panel-well > div > [class*="-caption"] {
- background: transparent;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-panel-scroll-divider > [class*="-captionwrap"] {
- position: relative;
- z-index: 2;
-}
-
-.mytheme .v-panel-scroll-divider > [class*="-captionwrap"]:after {
- content: "";
- position: absolute;
- bottom: -1px;
- right: 0;
- left: 0;
- height: 0;
- border-top: 1px solid #dfdfdf;
- border-color: rgba(197, 197, 197, 0.5);
-}
-
-.mytheme .v-panel-scroll-divider > [class*="-content"]:before {
- content: "";
- position: absolute;
- z-index: 2;
- top: 0;
- height: 0;
- border-top: 1px solid #fafafa;
- left: 0;
- right: 0;
-}
-
-.mytheme .v-panel-caption.v-horizontallayout {
- height: auto !important;
- line-height: 0;
-}
-
-.mytheme .v-panel-caption.v-horizontallayout .v-slot {
- vertical-align: middle;
-}
-
-.mytheme .v-panel-caption.v-horizontallayout .v-label {
- line-height: 37px;
-}
-
-.mytheme .v-accordion {
- background: white;
- color: #474747;
- border-radius: 4px;
- border: 1px solid #d5d5d5;
- -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #f4f4f4 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #f4f4f4 98%);
- overflow: hidden;
-}
-
-.mytheme .v-accordion-item {
- position: relative;
-}
-
-.mytheme .v-accordion-item:first-child {
- border-top-left-radius: 3px;
- border-top-right-radius: 3px;
-}
-
-.mytheme .v-accordion-item:last-child {
- border-bottom-left-radius: 3px;
- border-bottom-right-radius: 3px;
-}
-
-.mytheme .v-accordion-item:last-child [class*="item-content"] {
- border-radius: inherit;
-}
-
-.mytheme .v-accordion-item[class*="item-open"]:last-child > div > .v-caption {
- border-radius: 0;
-}
-
-.mytheme .v-accordion-item:not([class*="item-open"]):last-child > div > .v-caption {
- border-bottom: none;
- margin-bottom: 0;
-}
-
-.mytheme .v-accordion-item[class*="item-open"] + [class*="item"] {
- border-top: 1px solid #d9d9d9;
-}
-
-.mytheme .v-accordion-item-caption {
- border-radius: inherit;
-}
-
-.mytheme .v-accordion-item-caption > .v-caption {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- padding: 0 12px;
- line-height: 36px;
- border-bottom: 1px solid #d5d5d5;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #f6f6f6 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #f6f6f6 98%);
- color: #464646;
- font-weight: 400;
- font-size: 14px;
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #eeeeee;
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #eeeeee;
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
- display: block;
- background: transparent;
- border-bottom-color: #c9c9c9;
- border-radius: inherit;
- cursor: pointer;
- position: relative;
-}
-
-.mytheme .v-accordion-item-caption > .v-caption:hover:before, .mytheme .v-accordion-item-caption > .v-caption:active:before {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- border-radius: inherit;
-}
-
-.mytheme .v-accordion-item-caption > .v-caption:hover:before {
- background-color: rgba(186, 186, 186, 0.1);
- border: none;
-}
-
-.mytheme .v-accordion-item-caption > .v-caption:active:before {
- background-color: rgba(125, 125, 125, 0.2);
-}
-
-.mytheme .v-accordion-item-content {
- -webkit-box-shadow: inset 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 2px 3px rgba(0, 0, 0, 0.05);
- background-color: white;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-.mytheme .v-accordion-item-content > .v-margin-top {
- padding-top: 12px;
-}
-
-.mytheme .v-accordion-item-content > .v-margin-right {
- padding-right: 12px;
-}
-
-.mytheme .v-accordion-item-content > .v-margin-bottom {
- padding-bottom: 12px;
-}
-
-.mytheme .v-accordion-item-content > .v-margin-left {
- padding-left: 12px;
-}
-
-.mytheme .v-accordion-borderless {
- border: none;
- border-radius: 0;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.mytheme .v-accordion-borderless > .v-accordion-item, .mytheme .v-accordion-borderless > .v-accordion-item > div > .v-caption, .mytheme .v-accordion-borderless > .v-accordion-item > .v-accordion-item-content {
- border-radius: 0;
-}
-
-.mytheme .v-select-twincol {
- white-space: normal;
-}
-
-.mytheme .v-select-twincol select {
- border: 1px solid #c5c5c5;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- color: #464646;
-}
-
-.mytheme .v-select-twincol select:focus {
- outline: none;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme .v-select-twincol .v-textfield, .mytheme .v-select-twincol .v-nativebutton {
- width: auto !important;
- margin-top: 9px;
-}
-
-.mytheme .v-select-twincol .v-nativebutton {
- margin-left: 9px;
-}
-
-.mytheme .v-select-twincol-caption-left, .mytheme .v-select-twincol-caption-right {
- font-size: 14px;
- font-weight: 400;
- padding-bottom: 0.3em;
- padding-left: 1px;
-}
-
-.mytheme .v-select-twincol-buttons {
- white-space: nowrap;
- display: inline-block;
- vertical-align: top;
- position: relative;
- min-width: 3.5em;
-}
-
-.mytheme .v-select-twincol-buttons .v-button {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- display: inline-block;
- vertical-align: top;
- text-align: left;
- white-space: normal;
- position: absolute;
- left: 9px;
- right: 9px;
- top: 36px;
- padding: 0;
- text-align: center;
-}
-
-.mytheme .v-select-twincol-buttons .v-button:first-child {
- top: 0;
-}
-
-.mytheme .v-select-twincol-buttons .v-button-caption {
- display: none;
-}
-
-.mytheme .v-select-twincol-buttons .v-button:focus {
- z-index: 1;
-}
-
-.mytheme .v-select-twincol-buttons .v-button:first-child {
- border-radius: 4px 4px 0 0;
-}
-
-.mytheme .v-select-twincol-buttons .v-button:last-child {
- border-radius: 0 0 4px 4px;
-}
-
-.mytheme .v-select-twincol-buttons .v-button-wrap:before {
- font-family: ThemeIcons;
- content: "\f053";
-}
-
-.mytheme .v-select-twincol-buttons .v-button:first-child .v-button-wrap:before {
- font-family: ThemeIcons;
- content: "\f054";
-}
-
-.mytheme .v-select-twincol-error .v-select-twincol-options, .mytheme .v-select-twincol-error .v-select-twincol-selections {
- border-color: #ed473b !important;
- background: #fffbfb;
- color: #6c2621;
-}
-
-.mytheme .v-select select {
- border: 1px solid #c5c5c5;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- color: #464646;
-}
-
-.mytheme .v-select select:focus {
- outline: none;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme .v-select-select {
- display: block;
-}
-
-.mytheme .v-select-select + .v-textfield {
- width: auto !important;
- margin-top: 9px;
-}
-
-.mytheme .v-select-select + .v-textfield + .v-nativebutton {
- margin-top: 9px;
- margin-left: 9px;
-}
-
-.mytheme .v-select-error .v-select-select {
- border-color: #ed473b !important;
- background: #fffbfb;
- color: #6c2621;
-}
-
-.mytheme .v-calendar-header-day {
- font-weight: 400;
- text-align: center;
- padding: 7px 0;
-}
-
-.mytheme .v-calendar-header-week .v-calendar-back, .mytheme .v-calendar-header-week .v-calendar-next {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- background: transparent;
- border: none;
- padding: 0;
- margin: 0;
- cursor: pointer;
- outline: none;
- color: inherit;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-calendar-header-week .v-calendar-back:focus, .mytheme .v-calendar-header-week .v-calendar-next:focus {
- outline: none;
-}
-
-.mytheme .v-calendar-header-week .v-calendar-back:hover, .mytheme .v-calendar-header-week .v-calendar-next:hover {
- opacity: 1;
- filter: none ;
-}
-
-.mytheme .v-calendar-header-week .v-calendar-back:active, .mytheme .v-calendar-header-week .v-calendar-next:active {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-calendar-header-week .v-calendar-back:before {
- font-family: ThemeIcons;
- content: "\f053";
-}
-
-.mytheme .v-calendar-header-week .v-calendar-next:before {
- font-family: ThemeIcons;
- content: "\f054";
-}
-
-.mytheme .v-calendar-month {
- outline: none;
- overflow: hidden;
-}
-
-.mytheme .v-calendar-month td {
- vertical-align: top;
-}
-
-.mytheme .v-calendar-week-number {
- cursor: pointer;
- width: 20px;
- text-align: center;
- font-size: 0.8em;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-calendar-week-number:hover {
- opacity: 1;
- filter: none ;
-}
-
-.mytheme .v-calendar-month-day {
- outline: none;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- line-height: 1.2;
-}
-
-.mytheme .v-calendar-bottom-spacer, .mytheme .v-calendar-spacer, .mytheme .v-calendar-bottom-spacer-empty {
- height: 19px;
- margin-bottom: 3px;
-}
-
-.mytheme .v-calendar-bottom-spacer {
- font-size: 0.8em;
- padding: 0 5px;
- cursor: pointer;
-}
-
-.mytheme .v-calendar-bottom-spacer:hover {
- color: #197de1;
-}
-
-.mytheme .v-calendar-day-number {
- line-height: 25px;
- font-size: 16px;
- text-align: right;
- margin: 0 5px;
- white-space: nowrap;
- border-top: 1px solid #f2f2f2;
- cursor: pointer;
-}
-
-.mytheme .v-calendar-day-number:hover {
- color: #197de1;
-}
-
-.mytheme .v-calendar-month-day-today {
- background: #eef3f8;
-}
-
-.mytheme .v-calendar-month-day-today .v-calendar-day-number {
- font-weight: 400;
- color: #197de1;
- border-top: 2px solid #197de1;
- line-height: 24px;
- margin: 0;
- padding: 0 5px;
-}
-
-.mytheme .v-calendar-month-day-selected {
- background-color: #e3edf7;
-}
-
-.mytheme .v-calendar-month-day-dragemphasis {
- background-color: #a8a8a8;
-}
-
-.mytheme .v-calendar-month-day-scrollable {
- overflow-y: scroll;
-}
-
-.mytheme .v-calendar-weekly-longevents {
- margin-left: 50px;
- border-bottom: 3px solid #e0e0e0;
-}
-
-.mytheme .v-calendar-weekly-longevents .v-calendar-event-all-day {
- height: 22px;
- line-height: 1.6;
- margin-bottom: 3px;
-}
-
-.mytheme .v-calendar-header-week td {
- vertical-align: middle !important;
-}
-
-.mytheme .v-calendar-header-week .v-calendar-header-day {
- cursor: pointer;
-}
-
-.mytheme .v-calendar-times {
- width: 50px;
- font-size: 0.77em;
- line-height: 1;
- white-space: nowrap;
-}
-
-.mytheme .v-calendar-time {
- text-align: right;
- padding-right: 9px;
- margin-top: -6px;
- padding-bottom: 6px;
-}
-
-.mytheme .v-calendar-day-times, .mytheme .v-calendar-day-times-today {
- outline: none;
- border-right: 1px solid transparent;
-}
-
-.mytheme .v-calendar-day-times:focus, .mytheme .v-calendar-day-times-today:focus {
- outline: none;
-}
-
-.mytheme .v-calendar .v-datecellslot, .mytheme .v-calendar .v-datecellslot-even {
- border-top: 1px solid #dfdfdf;
-}
-
-.mytheme .v-calendar .v-datecellslot:first-child, .mytheme .v-calendar .v-datecellslot-even:first-child {
- border-top-color: transparent;
-}
-
-.mytheme .v-calendar .v-datecellslot {
- border-top-style: dotted;
-}
-
-.mytheme .v-calendar .v-datecellslot, .mytheme .v-calendar .v-datecellslot-even {
- margin-right: 5px;
-}
-
-.mytheme .v-calendar-current-time {
- background: #197de1;
- line-height: 1px;
- pointer-events: none;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-calendar-current-time:before {
- content: "\2022";
- color: #197de1;
- font-size: 22px;
- margin-left: -0.07em;
-}
-
-.mytheme .v-calendar .v-daterange {
- position: relative;
-}
-
-.mytheme .v-calendar .v-daterange:before {
- content: "";
- position: absolute;
- top: 0;
- right: 0;
- bottom: -1px;
- left: 0;
- background: #197de1;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
- border-radius: 4px 4px 0 0;
-}
-
-.mytheme .v-calendar .v-daterange + .v-daterange {
- border-color: transparent;
-}
-
-.mytheme .v-calendar .v-daterange + .v-daterange:before {
- border-radius: 0;
-}
-
-.mytheme .v-calendar-event {
- font-size: 0.85em;
- overflow: hidden;
- cursor: pointer;
- outline: none;
- border-radius: 4px;
-}
-
-.mytheme .v-calendar-event:focus {
- outline: none;
-}
-
-.mytheme .v-calendar-event-month {
- padding: 0 5px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- margin-bottom: 3px;
- white-space: nowrap;
- text-overflow: ellipsis;
- height: 19px;
- line-height: 19px;
-}
-
-.mytheme .v-calendar-event-month .v-calendar-event-time {
- float: right;
- font-size: 0.9em;
- line-height: 19px;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-calendar-event-month:before {
- content: "\25cf";
- margin-right: 0.2em;
-}
-
-.mytheme .v-calendar-event-all-day {
- padding: 0 5px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- height: 19px;
- line-height: 19px;
- border-radius: 0;
- margin-left: -1px;
- white-space: nowrap;
-}
-
-.mytheme .v-calendar-event-all-day:before {
- content: "";
-}
-
-.mytheme .v-calendar-event-start {
- overflow: visible;
- margin-left: 0;
-}
-
-.mytheme .v-calendar-event-start.v-calendar-event-continued-to, .mytheme .v-calendar-event-start.v-calendar-event-end {
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-.mytheme .v-calendar-event-start {
- border-top-left-radius: 4px;
- border-bottom-left-radius: 4px;
- margin-left: 5px;
-}
-
-.mytheme .v-calendar-event-end {
- border-top-right-radius: 4px;
- border-bottom-right-radius: 4px;
- margin-right: 5px;
-}
-
-.mytheme .v-calendar-event-caption {
- font-weight: 500;
- line-height: 1.2;
- padding: 5px 0;
- position: absolute;
- overflow: hidden;
- right: 9px;
- left: 5px;
- bottom: 0;
- top: 0;
-}
-
-.mytheme .v-calendar-event-caption span {
- font-weight: 300;
- white-space: nowrap;
-}
-
-.mytheme .v-calendar-week-wrapper .v-calendar-event {
- overflow: visible;
-}
-
-.mytheme .v-calendar-week-wrapper .v-calendar-event-content {
- margin-top: -1px;
- border-radius: 5px;
- border: 1px solid #fafafa;
- padding-top: 3px;
- margin-right: 5px;
-}
-
-.mytheme .v-calendar-event-month:before {
- color: #00ace0;
-}
-
-.mytheme .v-calendar-event-all-day {
- background-color: #c8eaf4;
- background-color: rgba(200, 234, 244, 0.8);
- color: #00ace0;
-}
-
-.mytheme .v-calendar-week-wrapper .v-calendar-event {
- color: #00ace0;
-}
-
-.mytheme .v-calendar-week-wrapper .v-calendar-event .v-calendar-event-content {
- background-color: #c8eaf4;
- background-color: rgba(200, 234, 244, 0.8);
-}
-
-.mytheme .v-calendar-event-month[class*="color2"]:before {
- color: #2d9f19;
-}
-
-.mytheme .v-calendar-event-all-day[class*="color2"] {
- background-color: #d1e7cd;
- background-color: rgba(209, 231, 205, 0.8);
- color: #2d9f19;
-}
-
-.mytheme .v-calendar-week-wrapper .v-calendar-event[class*="color2"] {
- color: #2d9f19;
-}
-
-.mytheme .v-calendar-week-wrapper .v-calendar-event[class*="color2"] .v-calendar-event-content {
- background-color: #d1e7cd;
- background-color: rgba(209, 231, 205, 0.8);
-}
-
-.mytheme .v-calendar-event-month[class*="color3"]:before {
- color: #d18100;
-}
-
-.mytheme .v-calendar-event-all-day[class*="color3"] {
- background-color: #f1e1c8;
- background-color: rgba(241, 225, 200, 0.8);
- color: #d18100;
-}
-
-.mytheme .v-calendar-week-wrapper .v-calendar-event[class*="color3"] {
- color: #d18100;
-}
-
-.mytheme .v-calendar-week-wrapper .v-calendar-event[class*="color3"] .v-calendar-event-content {
- background-color: #f1e1c8;
- background-color: rgba(241, 225, 200, 0.8);
-}
-
-.mytheme .v-calendar-event-month[class*="color4"]:before {
- color: #ce3812;
-}
-
-.mytheme .v-calendar-event-all-day[class*="color4"] {
- background-color: #f1d3cb;
- background-color: rgba(241, 211, 203, 0.8);
- color: #ce3812;
-}
-
-.mytheme .v-calendar-week-wrapper .v-calendar-event[class*="color4"] {
- color: #ce3812;
-}
-
-.mytheme .v-calendar-week-wrapper .v-calendar-event[class*="color4"] .v-calendar-event-content {
- background-color: #f1d3cb;
- background-color: rgba(241, 211, 203, 0.8);
-}
-
-.mytheme .v-calendar-event-month[class*="color5"]:before {
- color: #2d55cd;
-}
-
-.mytheme .v-calendar-event-all-day[class*="color5"] {
- background-color: #d1d9f1;
- background-color: rgba(209, 217, 241, 0.8);
- color: #2d55cd;
-}
-
-.mytheme .v-calendar-week-wrapper .v-calendar-event[class*="color5"] {
- color: #2d55cd;
-}
-
-.mytheme .v-calendar-week-wrapper .v-calendar-event[class*="color5"] .v-calendar-event-content {
- background-color: #d1d9f1;
- background-color: rgba(209, 217, 241, 0.8);
-}
-
-.mytheme .v-calendar.v-disabled * {
- cursor: default;
-}
-
-.mytheme .v-label {
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
-}
-
-.mytheme .v-label.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-label-undef-w {
- white-space: nowrap;
-}
-
-.mytheme h1, .mytheme .v-label-h1, .mytheme h2, .mytheme .v-label-h2, .mytheme h3, .mytheme .v-label-h3 {
- line-height: 1.1;
- font-weight: 200;
- color: #141414;
-}
-
-.mytheme h1, .mytheme .v-label-h1 {
- font-size: 2.4em;
- margin-top: 1.4em;
- margin-bottom: 1em;
-
- letter-spacing: -0.03em;
-}
-
-.mytheme h2, .mytheme .v-label-h2 {
- font-size: 1.6em;
-
- margin-top: 1.6em;
- margin-bottom: 0.77em;
- letter-spacing: -0.02em;
-}
-
-.mytheme h3, .mytheme .v-label-h3 {
- font-size: 1.2em;
-
- margin-top: 1.8em;
- margin-bottom: 0.77em;
- letter-spacing: 0;
-}
-
-.mytheme h4, .mytheme .v-label-h4 {
- line-height: 1.1;
- font-weight: 500;
- font-size: 14px;
- color: #414141;
- text-transform: uppercase;
- letter-spacing: 0;
- margin-top: 2.4em;
- margin-bottom: 0.8em;
-}
-
-.mytheme .v-csslayout > h1:first-child, .mytheme .v-csslayout > h2:first-child, .mytheme .v-csslayout > h3:first-child, .mytheme .v-csslayout > h4 > .v-label-h1:first-child, .mytheme .v-csslayout > .v-label-h2:first-child, .mytheme .v-csslayout > .v-label-h3:first-child, .mytheme .v-csslayout > .v-label-h4:first-child {
- margin-top: 16px;
-}
-
-.mytheme .v-verticallayout > .v-slot:first-child h1, .mytheme .v-verticallayout > .v-slot:first-child .v-label-h1, .mytheme .v-verticallayout > .v-slot:first-child h2, .mytheme .v-verticallayout > .v-slot:first-child .v-label-h2, .mytheme .v-verticallayout > .v-slot:first-child h3, .mytheme .v-verticallayout > .v-slot:first-child .v-label-h3, .mytheme .v-verticallayout > .v-slot:first-child h4, .mytheme .v-verticallayout > .v-slot:first-child .v-label-h4, .mytheme .v-verticallayout > div > .v-slot:first-child h1, .mytheme .v-verticallayout > div > .v-slot:first-child .v-label-h1, .mytheme .v-verticallayout > div > .v-slot:first-child h2, .mytheme .v-verticallayout > div > .v-slot:first-child .v-label-h2, .mytheme .v-verticallayout > div > .v-slot:first-child h3, .mytheme .v-verticallayout > div > .v-slot:first-child .v-label-h3, .mytheme .v-verticallayout > div > .v-slot:first-child h4, .mytheme .v-verticallayout > div > .v-slot:first-child .v-label-h4 {
- margin-top: 16px;
-}
-
-.mytheme .v-verticallayout > .v-slot:first-child .v-formlayout-contentcell h1, .mytheme .v-verticallayout > .v-slot:first-child .v-formlayout-contentcell .v-label-h1, .mytheme .v-verticallayout > .v-slot:first-child .v-formlayout-contentcell h2, .mytheme .v-verticallayout > .v-slot:first-child .v-formlayout-contentcell .v-label-h2, .mytheme .v-verticallayout > .v-slot:first-child .v-formlayout-contentcell h3, .mytheme .v-verticallayout > .v-slot:first-child .v-formlayout-contentcell .v-label-h3, .mytheme .v-verticallayout > .v-slot:first-child .v-formlayout-contentcell h4, .mytheme .v-verticallayout > .v-slot:first-child .v-formlayout-contentcell .v-label-h4, .mytheme .v-verticallayout > div > .v-slot:first-child .v-formlayout-contentcell h1, .mytheme .v-verticallayout > div > .v-slot:first-child .v-formlayout-contentcell .v-label-h1, .mytheme .v-verticallayout > div > .v-slot:first-child .v-formlayout-contentcell h2, .mytheme .v-verticallayout > div > .v-slot:first-child .v-formlayout-contentcell .v-label-h2, .mytheme .v-verticallayout > div > .v-slot:first-child .v-formlayout-contentcell h3, .mytheme .v-verticallayout > div > .v-slot:first-child .v-formlayout-contentcell .v-label-h3, .mytheme .v-verticallayout > div > .v-slot:first-child .v-formlayout-contentcell h4, .mytheme .v-verticallayout > div > .v-slot:first-child .v-formlayout-contentcell .v-label-h4 {
- margin-top: -0.5em;
-}
-
-.mytheme h1.no-margin, .mytheme .v-label-h1.no-margin, .mytheme h2.no-margin, .mytheme .v-label-h2.no-margin, .mytheme h3.no-margin, .mytheme .v-label-h3.no-margin, .mytheme h4.no-margin, .mytheme .v-label-h4.no-margin {
- margin: 0 !important;
-}
-
-.mytheme .v-label-colored {
- color: #197de1;
-}
-
-.mytheme .v-label-large {
- font-size: 20px;
-}
-
-.mytheme .v-label-small {
- font-size: 14px;
-}
-
-.mytheme .v-label-tiny {
- font-size: 12px;
-}
-
-.mytheme .v-label-huge {
- font-size: 26px;
-}
-
-.mytheme .v-label-bold {
- font-weight: 500;
-}
-
-.mytheme .v-label-light {
- font-weight: 200;
- color: #7d7d7d;
-}
-
-.mytheme .v-label-align-right {
- text-align: right;
-}
-
-.mytheme .v-label-align-center {
- text-align: center;
-}
-
-.mytheme .v-label-spinner {
- height: 24px !important;
- width: 24px !important;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- border: 2px solid rgba(25, 125, 225, 0.2);
- border-top-color: #197de1;
- border-right-color: #197de1;
- border-radius: 100%;
- -webkit-animation: v-rotate-360 500ms infinite linear;
- -moz-animation: v-rotate-360 500ms infinite linear;
- animation: v-rotate-360 500ms infinite linear;
- pointer-events: none;
-}
-
-.v-ie8 .mytheme .v-label-spinner, .v-ie9 .mytheme .v-label-spinner {
- border: none;
- border-radius: 4px;
- background: #fff url(../valo/shared/img/spinner.gif) no-repeat 50% 50%;
- background-size: 80%;
-}
-
-.v-ie8 .mytheme .v-label-spinner {
- min-width: 30px;
- min-height: 30px;
-}
-
-.mytheme .v-label-success, .mytheme .v-label-failure {
- background: white;
- color: #474747;
- border: 2px solid #2c9720;
- border-radius: 4px;
- padding: 7px 19px 7px 37px;
- font-weight: 400;
- font-size: 15px;
-}
-
-.mytheme .v-label-success:before, .mytheme .v-label-failure:before {
- font-family: ThemeIcons;
- content: "\f00c";
- margin-right: 0.5em;
- margin-left: -19px;
- color: #2c9720;
-}
-
-.mytheme .v-label-failure {
- border-color: #ed473b;
-}
-
-.mytheme .v-label-failure:before {
- content: "\f05e";
- color: #ed473b;
-}
-
-.mytheme [draggable=true] {
- -khtml-user-drag: element;
- -webkit-user-drag: element;
-}
-
-.mytheme .v-ddwrapper {
- position: relative;
-}
-
-.mytheme .v-ddwrapper-over:before, .mytheme .v-ddwrapper-over:after {
- content: "";
- position: absolute;
- z-index: 10;
- top: -1px;
- right: -1px;
- bottom: -1px;
- left: -1px;
- border: 0 solid #197de1;
-}
-
-.mytheme .v-ddwrapper-over-top:before {
- border-top-width: 2px;
-}
-
-.mytheme .v-ddwrapper-over-right:before {
- border-right-width: 2px;
-}
-
-.mytheme .v-ddwrapper-over-bottom:before {
- border-bottom-width: 2px;
-}
-
-.mytheme .v-ddwrapper-over-left:before {
- border-left-width: 2px;
-}
-
-.mytheme .no-vertical-drag-hints .v-ddwrapper-over-top:before, .mytheme .no-vertical-drag-hints.v-ddwrapper-over-top:before {
- border-top-width: 0;
-}
-
-.mytheme .no-vertical-drag-hints .v-ddwrapper-over-top:after, .mytheme .no-vertical-drag-hints.v-ddwrapper-over-top:after {
- border-width: 2px;
- border-radius: 4px;
- opacity: 0.3;
- filter: alpha(opacity=30.0) ;
- background: #8abef2;
-}
-
-.mytheme .no-vertical-drag-hints .v-ddwrapper-over-bottom:before, .mytheme .no-vertical-drag-hints.v-ddwrapper-over-bottom:before {
- border-bottom-width: 0;
-}
-
-.mytheme .no-vertical-drag-hints .v-ddwrapper-over-bottom:after, .mytheme .no-vertical-drag-hints.v-ddwrapper-over-bottom:after {
- border-width: 2px;
- border-radius: 4px;
- opacity: 0.3;
- filter: alpha(opacity=30.0) ;
- background: #8abef2;
-}
-
-.mytheme .no-horizontal-drag-hints.v-ddwrapper-over-left:before, .mytheme .no-horizontal-drag-hints .v-ddwrapper-over-left:before {
- border-left-width: 0;
-}
-
-.mytheme .no-horizontal-drag-hints.v-ddwrapper-over-left:after, .mytheme .no-horizontal-drag-hints .v-ddwrapper-over-left:after {
- border-width: 2px;
- border-radius: 4px;
- opacity: 0.3;
- filter: alpha(opacity=30.0) ;
- background: #8abef2;
-}
-
-.mytheme .no-horizontal-drag-hints.v-ddwrapper-over-right:before, .mytheme .no-horizontal-drag-hints .v-ddwrapper-over-right:before {
- border-right-width: 0;
-}
-
-.mytheme .no-horizontal-drag-hints.v-ddwrapper-over-right:after, .mytheme .no-horizontal-drag-hints .v-ddwrapper-over-right:after {
- border-width: 2px;
- border-radius: 4px;
- opacity: 0.3;
- filter: alpha(opacity=30.0) ;
- background: #8abef2;
-}
-
-.mytheme .v-ddwrapper-over-middle:after, .mytheme .v-ddwrapper-over-center:after {
- border-width: 2px;
- border-radius: 4px;
- opacity: 0.3;
- filter: alpha(opacity=30.0) ;
- background: #8abef2;
-}
-
-.mytheme .no-box-drag-hints.v-ddwrapper:after, .mytheme .no-box-drag-hints .v-ddwrapper:after {
- display: none !important;
- content: none;
-}
-
-.mytheme .v-nativebutton {
- -webkit-touch-callout: none;
-}
-
-.mytheme .v-select select {
- border: 1px solid #c5c5c5;
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- color: #464646;
-}
-
-.mytheme .v-select select:focus {
- outline: none;
- -webkit-box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
- box-shadow: 0 0 0 2px rgba(25, 125, 225, 0.5);
-}
-
-.mytheme .v-select-select {
- display: block;
-}
-
-.mytheme .v-select-select + .v-textfield {
- width: auto !important;
- margin-top: 9px;
-}
-
-.mytheme .v-select-select + .v-textfield + .v-nativebutton {
- margin-top: 9px;
- margin-left: 9px;
-}
-
-.mytheme .v-select-error .v-select-select {
- border-color: #ed473b !important;
- background: #fffbfb;
- color: #6c2621;
-}
-
-.mytheme .v-popupview {
- cursor: pointer;
- color: #197de1;
- text-decoration: underline;
- font-weight: inherit;
- -webkit-transition: color 140ms;
- -moz-transition: color 140ms;
- transition: color 140ms;
-}
-
-.mytheme .v-popupview:hover {
- color: #4396ea;
-}
-
-.mytheme .v-popupview.v-disabled {
- opacity: 0.5;
- filter: alpha(opacity=50) ;
-}
-
-.mytheme .v-popupview-popup {
- padding: 4px 4px;
- border-radius: 4px;
- background-color: white;
- color: #474747;
- -webkit-box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.1), 0 3px 5px 0 rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(0, 0, 0, 0.09098);
- box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.1), 0 3px 5px 0 rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(0, 0, 0, 0.09098);
- -webkit-backface-visibility: hidden;
- -moz-backface-visibility: hidden;
- -ms-backface-visibility: hidden;
- backface-visibility: hidden;
-}
-
-.mytheme .v-popupview-popup[class*="animate-in"] {
- -webkit-animation: v-popupview-animate-in 120ms;
- -moz-animation: v-popupview-animate-in 120ms;
- animation: v-popupview-animate-in 120ms;
-}
-
-.mytheme .v-popupview-popup[class*="animate-out"] {
- -webkit-animation: valo-animate-out-fade 120ms;
- -moz-animation: valo-animate-out-fade 120ms;
- animation: valo-animate-out-fade 120ms;
-}
-
-.mytheme .v-popupview-popup .popupContent > .v-margin-top {
- padding-top: 12px;
-}
-
-.mytheme .v-popupview-popup .popupContent > .v-margin-right {
- padding-right: 12px;
-}
-
-.mytheme .v-popupview-popup .popupContent > .v-margin-bottom {
- padding-bottom: 12px;
-}
-
-.mytheme .v-popupview-popup .popupContent > .v-margin-left {
- padding-left: 12px;
-}
-
-.mytheme .v-popupview-loading {
- margin: 12px 12px;
- height: 24px !important;
- width: 24px !important;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- border: 2px solid rgba(25, 125, 225, 0.2);
- border-top-color: #197de1;
- border-right-color: #197de1;
- border-radius: 100%;
- -webkit-animation: v-rotate-360 500ms infinite linear;
- -moz-animation: v-rotate-360 500ms infinite linear;
- animation: v-rotate-360 500ms infinite linear;
- pointer-events: none;
-}
-
-.v-ie8 .mytheme .v-popupview-loading, .v-ie9 .mytheme .v-popupview-loading {
- border: none;
- border-radius: 4px;
- background: #fff url(../valo/shared/img/spinner.gif) no-repeat 50% 50%;
- background-size: 80%;
-}
-
-.v-ie8 .mytheme .v-popupview-loading {
- min-width: 30px;
- min-height: 30px;
-}
-
-.mytheme .v-richtextarea {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
- margin: 0;
- font: inherit;
-
- font-weight: 400;
- line-height: normal;
- height: 37px;
- border-radius: 4px;
- padding: 0;
- border: 1px solid #c5c5c5;
- background: white;
- color: #474747;
- -webkit-box-shadow: inset 0 1px 0 #f7f7f7, 0 1px 0 rgba(255, 255, 255, 0.1);
- box-shadow: inset 0 1px 0 #f7f7f7, 0 1px 0 rgba(255, 255, 255, 0.1);
- -webkit-transition: box-shadow 180ms, border 180ms;
- -moz-transition: box-shadow 180ms, border 180ms;
- transition: box-shadow 180ms, border 180ms;
- height: auto;
- overflow: hidden;
-}
-
-.v-ie8 .mytheme .v-richtextarea, .v-ie9 .mytheme .v-richtextarea {
- line-height: 37px;
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.mytheme .v-richtextarea[class*="prompt"] {
- color: #a3a3a3;
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar {
- background-color: #fafafa;
- background-image: -webkit-linear-gradient(top, #fafafa 2%, #efefef 98%);
- background-image: linear-gradient(to bottom,#fafafa 2%, #efefef 98%);
- -webkit-box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7;
- box-shadow: inset 0 1px 0 white, inset 0 -1px 0 #e7e7e7;
- border-bottom: 1px solid #c5c5c5;
- color: #464646;
-}
-
-.mytheme .v-richtextarea .gwt-ToggleButton, .mytheme .v-richtextarea .gwt-PushButton {
- display: inline-block;
- line-height: 37px;
- width: 37px;
- text-align: center;
- outline: none;
-}
-
-.mytheme .v-richtextarea .gwt-ToggleButton:hover, .mytheme .v-richtextarea .gwt-PushButton:hover {
- color: black;
-}
-
-.mytheme .v-richtextarea .gwt-ToggleButton-down, .mytheme .v-richtextarea .gwt-ToggleButton-down-hovering {
- background-color: #e0e0e0;
- background-image: -webkit-linear-gradient(bottom, #e0e0e0 2%, #dcdcdc 98%);
- background-image: linear-gradient(to top,#e0e0e0 2%, #dcdcdc 98%);
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-top img {
- display: none;
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-top div:before {
- font-family: ThemeIcons;
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-top div[title="Toggle Bold"]:before {
- content: "\f032";
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-top div[title="Toggle Italic"]:before {
- content: "\f033";
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-top div[title="Toggle Underline"]:before {
- content: "\f0cd";
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-top div[title="Toggle Subscript"]:before {
- content: "\f12c";
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-top div[title="Toggle Superscript"]:before {
- content: "\f12b";
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-top div[title="Left Justify"]:before {
- content: "\f036";
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-top div[title="Center"]:before {
- content: "\f037";
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-top div[title="Right Justify"]:before {
- content: "\f038";
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-top div[title="Toggle Strikethrough"]:before {
- content: "\f0cc";
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-top div[title="Indent Right"]:before {
- content: "\f03c";
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-top div[title="Indent Left"]:before {
- content: "\f03b";
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-top div[title="Insert Horizontal Rule"]:before {
- content: "\2014";
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-top div[title="Insert Ordered List"]:before {
- content: "\f0cb";
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-top div[title="Insert Unordered List"]:before {
- content: "\f0ca";
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-top div[title="Insert Image"]:before {
- content: "\f03e";
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-top div[title="Create Link"]:before {
- content: "\f0c1";
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-top div[title="Remove Link"]:before {
- content: "\f127";
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-top div[title="Remove Formatting"]:before {
- content: "\f12d";
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-bottom {
- font-size: 13px;
- padding: 0 9px 9px 0;
-}
-
-.mytheme .v-richtextarea .gwt-RichTextToolbar-bottom select {
- margin: 9px 0 0 9px;
-}
-
-.mytheme .v-richtextarea .gwt-RichTextArea {
- background: #fff;
- border: none;
- display: block;
-}
-
-.mytheme .v-richtextarea-readonly {
- padding: 5px 7px;
- background: transparent;
-}
-
-.mytheme .v-upload .v-button {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- display: inline-block;
- vertical-align: top;
- text-align: left;
- white-space: normal;
-}
-
-.mytheme .v-upload-immediate .v-button {
- width: 100%;
-}
-
-.mytheme .v-upload-immediate input[type="file"] {
- opacity: 0;
- filter: alpha(opacity=0) ;
- z-index: -1;
- position: absolute;
- right: 0;
- height: 37px;
- text-align: right;
- border: none;
- background: transparent;
-}
-
-.mytheme .v-Notification.v-position-top {
- top: 12px;
-}
-
-.mytheme .v-Notification.v-position-right {
- right: 12px;
-}
-
-.mytheme .v-Notification.v-position-bottom {
- bottom: 12px;
-}
-
-.mytheme .v-Notification.v-position-left {
- left: 12px;
-}
-
-.mytheme .v-Notification.v-position-assistive {
- top: -9999px;
- left: -9999px;
-}
-
-.mytheme .v-Notification-animate-in {
- -webkit-animation: valo-animate-in-fade 180ms 10ms backwards;
- -moz-animation: valo-animate-in-fade 180ms 10ms backwards;
- animation: valo-animate-in-fade 180ms 10ms backwards;
-}
-
-.mytheme .v-Notification-animate-in.v-position-top {
- -webkit-animation: valo-animate-in-slide-down 400ms 10ms backwards;
- -moz-animation: valo-animate-in-slide-down 400ms 10ms backwards;
- animation: valo-animate-in-slide-down 400ms 10ms backwards;
-}
-
-.mytheme .v-Notification-animate-in.v-position-bottom {
- -webkit-animation: valo-animate-in-slide-up 400ms 10ms backwards;
- -moz-animation: valo-animate-in-slide-up 400ms 10ms backwards;
- animation: valo-animate-in-slide-up 400ms 10ms backwards;
-}
-
-.mytheme .v-Notification-animate-out {
- -webkit-animation: valo-animate-out-fade 150ms;
- -moz-animation: valo-animate-out-fade 150ms;
- animation: valo-animate-out-fade 150ms;
-}
-
-.mytheme .v-Notification-animate-out.v-position-top, .mytheme .v-Notification-animate-out.v-position-bottom {
- -webkit-animation: valo-animate-out-slide-down-fade 200ms;
- -moz-animation: valo-animate-out-slide-down-fade 200ms;
- animation: valo-animate-out-slide-down-fade 200ms;
-}
-
-.mytheme .v-Notification {
- border-radius: 4px;
- text-align: center;
- position: fixed !important;
- -webkit-backface-visibility: hidden;
- -moz-backface-visibility: hidden;
- -ms-backface-visibility: hidden;
- backface-visibility: hidden;
- background: white;
- -webkit-box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.15);
- box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.15);
- padding: 19px 22px;
-}
-
-.mytheme .v-Notification .v-Notification-caption {
- color: #197de1;
- font-size: 19px;
- line-height: 1;
-}
-
-.mytheme .v-Notification .v-Notification-description {
- line-height: 1.4;
-}
-
-.mytheme .v-Notification-caption {
- margin: 0;
- display: inline-block;
- text-align: left;
- font-weight: inherit;
- line-height: inherit;
- white-space: nowrap;
- letter-spacing: 0;
-}
-
-.mytheme .v-Notification-description, .mytheme .v-Notification-details {
- margin: 0;
- display: inline-block;
- vertical-align: middle;
- max-width: 30em;
- text-align: left;
- max-height: 20em;
- overflow: auto;
-}
-
-.mytheme .v-Notification-caption ~ .v-Notification-description, .mytheme .v-Notification-caption ~ .v-Notification-details {
- margin-left: 24px;
-}
-
-.mytheme .v-icon + .v-Notification-caption {
- margin-left: 16px;
-}
-
-.mytheme .v-Notification-system {
- left: 0 !important;
- right: 0;
- max-width: 100%;
- margin: 0 !important;
- border-radius: 0;
- -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);
- box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);
- padding: 12px 15px;
- background-color: #444;
- background-color: rgba(68, 68, 68, 0.9);
- font-weight: 400;
- line-height: 22px;
-}
-
-.mytheme .v-Notification-system .v-Notification-description, .mytheme .v-Notification-system .v-Notification-details {
- max-width: 50em;
-}
-
-.mytheme .v-Notification-system.v-position-top {
- top: 0;
-}
-
-.mytheme .v-Notification-system.v-position-top[class*="animate-in"] {
- -webkit-animation: valo-animate-in-slide-down 300ms 10ms backwards;
- -moz-animation: valo-animate-in-slide-down 300ms 10ms backwards;
- animation: valo-animate-in-slide-down 300ms 10ms backwards;
-}
-
-.mytheme .v-Notification-system.v-position-top[class*="animate-out"] {
- -webkit-animation: valo-animate-out-slide-up 200ms;
- -moz-animation: valo-animate-out-slide-up 200ms;
- animation: valo-animate-out-slide-up 200ms;
-}
-
-.mytheme .v-Notification-system.v-position-bottom {
- bottom: 0;
-}
-
-.mytheme .v-Notification-system.v-position-bottom[class*="animate-in"] {
- -webkit-animation: valo-animate-in-slide-up 300ms 10ms backwards;
- -moz-animation: valo-animate-in-slide-up 300ms 10ms backwards;
- animation: valo-animate-in-slide-up 300ms 10ms backwards;
-}
-
-.mytheme .v-Notification-system.v-position-bottom[class*="animate-out"] {
- -webkit-animation: valo-animate-out-slide-down 200ms;
- -moz-animation: valo-animate-out-slide-down 200ms;
- animation: valo-animate-out-slide-down 200ms;
-}
-
-.mytheme .v-Notification-system .v-Notification-caption {
- color: #fff;
- vertical-align: middle;
-}
-
-.mytheme .v-Notification-system .v-Notification-description, .mytheme .v-Notification-system .v-Notification-details {
- color: #e6e6e6;
-}
-
-.mytheme .v-Notification-system u {
- text-decoration: none;
-}
-
-.mytheme .v-Notification.tray {
- text-align: left;
-}
-
-.mytheme .v-Notification.tray .v-Notification-caption + .v-Notification-description {
- display: block;
- margin: 0.5em 0 0;
-}
-
-.mytheme .v-Notification.warning {
- background: #FFF3D2;
-}
-
-.mytheme .v-Notification.warning .v-Notification-caption {
- color: #AC7C00;
-}
-
-.mytheme .v-Notification.warning .v-Notification-description {
- color: #9D874D;
-}
-
-.mytheme .v-Notification.error {
- background: #ed473b;
- font-weight: 400;
- -webkit-box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.25);
- box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.25);
-}
-
-.mytheme .v-Notification.error .v-Notification-caption {
- color: white;
-}
-
-.mytheme .v-Notification.error .v-Notification-description {
- color: #f4e0df;
-}
-
-.mytheme .v-Notification.dark {
- background-color: #444;
- background-color: rgba(68, 68, 68, 0.9);
- font-weight: 400;
- line-height: 22px;
-}
-
-.mytheme .v-Notification.dark .v-Notification-caption {
- color: #fff;
- vertical-align: middle;
-}
-
-.mytheme .v-Notification.dark .v-Notification-description, .mytheme .v-Notification.dark .v-Notification-details {
- color: #e6e6e6;
-}
-
-.mytheme .v-Notification.bar {
- left: 0 !important;
- right: 0;
- max-width: 100%;
- margin: 0 !important;
- border-radius: 0;
- -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);
- box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);
- padding: 12px 15px;
-}
-
-.mytheme .v-Notification.bar .v-Notification-description, .mytheme .v-Notification.bar .v-Notification-details {
- max-width: 50em;
-}
-
-.mytheme .v-Notification.bar.v-position-top {
- top: 0;
-}
-
-.mytheme .v-Notification.bar.v-position-top[class*="animate-in"] {
- -webkit-animation: valo-animate-in-slide-down 300ms 10ms backwards;
- -moz-animation: valo-animate-in-slide-down 300ms 10ms backwards;
- animation: valo-animate-in-slide-down 300ms 10ms backwards;
-}
-
-.mytheme .v-Notification.bar.v-position-top[class*="animate-out"] {
- -webkit-animation: valo-animate-out-slide-up 200ms;
- -moz-animation: valo-animate-out-slide-up 200ms;
- animation: valo-animate-out-slide-up 200ms;
-}
-
-.mytheme .v-Notification.bar.v-position-bottom {
- bottom: 0;
-}
-
-.mytheme .v-Notification.bar.v-position-bottom[class*="animate-in"] {
- -webkit-animation: valo-animate-in-slide-up 300ms 10ms backwards;
- -moz-animation: valo-animate-in-slide-up 300ms 10ms backwards;
- animation: valo-animate-in-slide-up 300ms 10ms backwards;
-}
-
-.mytheme .v-Notification.bar.v-position-bottom[class*="animate-out"] {
- -webkit-animation: valo-animate-out-slide-down 200ms;
- -moz-animation: valo-animate-out-slide-down 200ms;
- animation: valo-animate-out-slide-down 200ms;
-}
-
-.mytheme .v-Notification.small {
- padding: 11px 13px;
-}
-
-.mytheme .v-Notification.small .v-Notification-caption {
- font-size: 16px;
-}
-
-.mytheme .v-Notification.small .v-Notification-description {
- font-size: 14px;
-}
-
-.mytheme .v-Notification.closable {
- padding-right: 59px;
- overflow: hidden !important;
- cursor: pointer;
-}
-
-.mytheme .v-Notification.closable:after {
- content: "\00d7";
- font-size: 1.5em;
- position: absolute;
- top: 50%;
- margin-top: -12px;
- right: 12px;
- width: 25px;
- height: 25px;
- line-height: 24px;
- cursor: pointer;
- color: #000;
- opacity: 0.5;
- filter: alpha(opacity=50) ;
- text-align: center;
- border: 1px solid #000;
- border-color: rgba(0, 0, 0, 0.3);
- border-radius: 50%;
- -webkit-transition: opacity 200ms;
- -moz-transition: opacity 200ms;
- transition: opacity 200ms;
-}
-
-.mytheme .v-Notification.closable:hover:after {
- opacity: 1;
- filter: none ;
-}
-
-.mytheme .v-Notification.closable:active:after {
- background-color: #000;
- color: #fff;
- opacity: 0.3;
- filter: alpha(opacity=30.0) ;
- -webkit-transition: none 200ms;
- -moz-transition: none 200ms;
- transition: none 200ms;
-}
-
-.mytheme .v-Notification.closable.dark:after, .mytheme .v-Notification.closable.error:after, .mytheme .v-Notification.closable.system:after {
- color: #fff;
- border-color: #fff;
- border-color: rgba(255, 255, 255, 0.3);
-}
-
-.mytheme .v-Notification.closable.dark:active:after, .mytheme .v-Notification.closable.error:active:after, .mytheme .v-Notification.closable.system:active:after {
- background-color: #fff;
- color: #000;
-}
-
-.mytheme .v-Notification.closable.tray:after {
- top: 16px;
- margin-top: 0;
-}
-
-.mytheme .v-Notification.success, .mytheme .v-Notification.failure {
- background: #fff;
- color: #555;
- border: 2px solid #2c9720;
-}
-
-.mytheme .v-Notification.success .v-Notification-caption, .mytheme .v-Notification.failure .v-Notification-caption {
- color: #2c9720;
- font-weight: 400;
-}
-
-.mytheme .v-Notification.success .v-Notification-caption:before, .mytheme .v-Notification.failure .v-Notification-caption:before {
- font-family: ThemeIcons;
- content: "\f00c";
- margin-right: 0.5em;
-}
-
-.mytheme .v-Notification.success.bar, .mytheme .v-Notification.failure.bar {
- margin: -2px !important;
-}
-
-.mytheme .v-Notification.failure {
- border-color: #ed473b;
-}
-
-.mytheme .v-Notification.failure .v-Notification-caption {
- color: #ed473b;
-}
-
-.mytheme .v-Notification.failure .v-Notification-caption:before {
- content: "\f05e";
-}
-
-.mytheme .valo-menu {
- height: 100%;
- background-color: #4b4b4b;
- background-image: -webkit-linear-gradient(right, #414141 0%, #4b4b4b 9px);
- background-image: linear-gradient(to left,#414141 0%, #4b4b4b 9px);
- color: #a5a5a5;
- font-size: 14px;
- line-height: 30px;
- border-right: 1px solid #3b3b3b;
- white-space: nowrap;
-}
-
-.mytheme .valo-menu-toggle {
- display: none;
- position: fixed;
- z-index: 200;
- top: 3px;
- left: 3px;
- min-width: 0;
-}
-
-.mytheme .valo-menu-part {
- border-left: 1px solid #414141;
- height: 100%;
- padding-bottom: 37px;
- overflow: auto;
-}
-
-.mytheme .valo-menu-part:first-child {
- border-left: none;
-}
-
-.mytheme .valo-menu-title, .mytheme .valo-menu-subtitle, .mytheme .valo-menu-item {
- display: block;
- line-height: inherit;
- white-space: nowrap;
- position: relative;
-}
-
-.mytheme .valo-menu-title .valo-menu-badge, .mytheme .valo-menu-subtitle .valo-menu-badge, .mytheme .valo-menu-item .valo-menu-badge {
- position: absolute;
- right: 19px;
-}
-
-.mytheme .valo-menu-title {
- line-height: 1.2;
- background-color: #197de1;
- background-image: -webkit-linear-gradient(top, #1b87e3 2%, #166ed5 98%);
- background-image: linear-gradient(to bottom,#1b87e3 2%, #166ed5 98%);
- color: white;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.05);
- padding: 12px 19px;
- font-size: 14px;
- border-bottom: 1px solid #1362b1;
- -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
- text-align: center;
-}
-
-.mytheme .valo-menu-title .v-menubar.v-menubar {
- background: transparent;
- border-color: #1362b1;
- color: inherit;
- -webkit-box-shadow: none;
- box-shadow: none;
- text-shadow: inherit;
-}
-
-.mytheme .valo-menu-title .v-menubar-menuitem {
- background: transparent;
- -webkit-box-shadow: inset 0 1px 0 #4d98e6, inset 0 -1px 0 #166bca;
- box-shadow: inset 0 1px 0 #4d98e6, inset 0 -1px 0 #166bca;
- text-shadow: inherit;
- font-size: 16px;
- border-color: inherit;
-}
-
-.mytheme .valo-menu-title h1, .mytheme .valo-menu-title .v-label-h1, .mytheme .valo-menu-title h2, .mytheme .valo-menu-title .v-label-h2, .mytheme .valo-menu-title h3, .mytheme .valo-menu-title .v-label-h3, .mytheme .valo-menu-title h4, .mytheme .valo-menu-title .v-label-h4 {
- margin-top: 0;
- margin-bottom: 0;
- color: inherit;
-}
-
-.mytheme .v-menubar-user-menu {
- border: none;
- border-radius: 0;
- padding: 1px;
- -webkit-box-shadow: none;
- box-shadow: none;
- text-shadow: none;
- background: transparent;
- color: inherit;
- margin: 19px 7px;
- display: block;
- overflow: hidden;
- text-align: center;
- height: auto;
- color: inherit;
-}
-
-.mytheme .v-menubar-user-menu:focus:after {
- display: none;
-}
-
-.mytheme .v-menubar-user-menu .v-menubar-menuitem {
- -webkit-box-shadow: none;
- box-shadow: none;
- border: none;
- margin-right: 1px;
- border-radius: 4px;
- color: #197de1;
- padding: 0 12px;
- -webkit-transition: color 140ms;
- -moz-transition: color 140ms;
- transition: color 140ms;
-}
-
-.mytheme .v-menubar-user-menu .v-menubar-menuitem:first-child, .mytheme .v-menubar-user-menu .v-menubar-menuitem:last-child, .mytheme .v-menubar-user-menu .v-menubar-menuitem:first-child:last-child {
- border-radius: 4px;
-}
-
-.mytheme .v-menubar-user-menu .v-menubar-menuitem:before {
- content: none;
-}
-
-.mytheme .v-menubar-user-menu .v-menubar-menuitem:hover {
- color: #4396ea;
-}
-
-.mytheme .v-menubar-user-menu .v-menubar-menuitem:active {
- color: inherit;
-}
-
-.mytheme .v-menubar-user-menu .v-menubar-menuitem-checked, .mytheme .v-menubar-user-menu .v-menubar-menuitem-checked:first-child {
- border: 1px solid #c5c5c5;
- color: #197de1;
-}
-
-.mytheme .v-menubar-user-menu .v-menubar-menuitem-checked .v-menubar-menuitem-caption, .mytheme .v-menubar-user-menu .v-menubar-menuitem-checked:first-child .v-menubar-menuitem-caption {
- position: relative;
- top: -1px;
-}
-
-.mytheme .v-menubar-user-menu .v-menubar-menuitem-selected {
- color: #ecf2f8;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.05);
-}
-
-.mytheme .v-menubar-user-menu .v-menubar-menuitem-selected:hover {
- color: #ecf2f8;
-}
-
-.mytheme .v-menubar-user-menu .v-menubar-menuitem-disabled, .mytheme .v-menubar-user-menu .v-menubar-menuitem-disabled:hover {
- color: inherit;
-}
-
-.mytheme .v-menubar-user-menu > .v-menubar-menuitem {
- color: inherit;
- white-space: normal;
- line-height: 1.4;
- margin: 0;
-}
-
-.mytheme .v-menubar-user-menu > .v-menubar-menuitem img.v-icon {
- width: 56px;
- height: 56px;
- border-radius: 29px;
- box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
- display: block;
- margin: 0 auto 0.3em;
- border: 1px solid #c5c5c5;
-}
-
-.mytheme .v-menubar-user-menu > .v-menubar-menuitem:after {
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
-}
-
-.mytheme .v-menubar-user-menu .v-menubar-menuitem-selected {
- background: transparent;
-}
-
-.mytheme .valo-menu-subtitle {
- color: #868686;
- margin: 7px 0 7px 19px;
- border-bottom: 1px solid #666666;
-}
-
-.mytheme .valo-menu-subtitle [class*="badge"] {
- color: #73a5d7;
-}
-
-.mytheme .valo-menuitems {
- display: block;
-}
-
-.mytheme .valo-menu-item {
- outline: none;
- font-weight: 400;
- padding: 0 37px 0 19px;
- cursor: pointer;
- position: relative;
- overflow: hidden;
- text-shadow: 0 2px 0 rgba(0, 0, 0, 0.05);
- -webkit-transition: background-color 300ms, color 60ms;
- -moz-transition: background-color 300ms, color 60ms;
- transition: background-color 300ms, color 60ms;
-}
-
-.mytheme .valo-menu-item [class*="caption"] {
- vertical-align: middle;
- display: inline-block;
- width: 90%;
- max-width: 15em;
- padding-right: 19px;
- text-overflow: ellipsis;
- overflow: hidden;
-}
-
-.mytheme .valo-menu-item [class*="badge"] {
- color: #73a5d7;
-}
-
-.mytheme .valo-menu-item.selected {
- background: #434343;
-}
-
-.mytheme .valo-menu-item.selected .v-icon {
- color: #197de1;
-}
-
-.mytheme .valo-menu-item.selected [class*="badge"] {
- background-color: #197de1;
- background-image: -webkit-linear-gradient(top, #1b87e3 2%, #166ed5 98%);
- background-image: linear-gradient(to bottom,#1b87e3 2%, #166ed5 98%);
- color: #c8dbed;
-}
-
-.mytheme .valo-menu-item:focus, .mytheme .valo-menu-item:hover, .mytheme .valo-menu-item.selected {
- color: white;
-}
-
-.mytheme .valo-menu-item span.v-icon {
- min-width: 1em;
- margin-right: 19px;
- text-align: center;
- vertical-align: middle;
- -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(black), to(rgba(0, 0, 0, 0.75)));
-}
-
-.mytheme .valo-menu-item span.v-icon + span {
- margin-left: 0;
-}
-
-.mytheme .valo-menu-item [class*="badge"] {
- background-color: #585858;
- -webkit-transition: background-color 300ms;
- -moz-transition: background-color 300ms;
- transition: background-color 300ms;
- line-height: 1;
- padding: 4px 6px;
- min-width: 11px;
- text-align: center;
- top: 4px;
- border-radius: 4px;
-}
-
-.mytheme .valo-menu-part.large-icons {
- background-color: #4b4b4b;
- min-width: 74px;
- max-width: 111px;
-}
-
-.mytheme .valo-menu-part.large-icons .valo-menu-title {
- font-size: 12px;
-}
-
-.mytheme .valo-menu-part.large-icons .valo-menu-title .v-label-undef-w {
- white-space: normal;
-}
-
-.mytheme .valo-menu-part.large-icons .v-menubar-user-menu {
- margin-left: 0;
- margin-right: 0;
- font-size: 11px;
-}
-
-.mytheme .valo-menu-part.large-icons .v-menubar-user-menu img.v-icon {
- width: 28px;
- height: 28px;
-}
-
-.mytheme .valo-menu-part.large-icons [class*="subtitle"] {
- margin: 9px 0 0;
- padding: 7px 25px 7px 9px;
- line-height: 1;
- border: none;
- text-overflow: ellipsis;
- overflow: hidden;
- background: #3c3c3c;
- font-size: 13px;
- box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
-}
-
-.mytheme .valo-menu-part.large-icons [class*="subtitle"] [class*="badge"] {
- right: 9px;
-}
-
-.mytheme .valo-menu-part.large-icons [class*="subtitle"] + .valo-menu-item {
- border-top: none;
-}
-
-.mytheme .valo-menu-part.large-icons .valo-menu-item {
- display: block;
- font-size: 26px;
- line-height: 1;
- padding: 12px;
- text-align: center;
- border-top: 1px solid #555555;
-}
-
-.mytheme .valo-menu-part.large-icons .valo-menu-item:first-child {
- border-top: none;
-}
-
-.mytheme .valo-menu-part.large-icons .valo-menu-item [class*="caption"] {
- display: block;
- width: auto;
- margin: 0.3em 0 0;
- padding: 0;
- font-size: 11px;
- line-height: 1.3;
-}
-
-.mytheme .valo-menu-part.large-icons .valo-menu-item .v-icon {
- margin: 0;
-}
-
-.mytheme .valo-menu-part.large-icons .valo-menu-item span.v-icon {
- opacity: 0.8;
-}
-
-.mytheme .valo-menu-part.large-icons .valo-menu-item.selected {
- background: #434343;
-}
-
-.mytheme .valo-menu-part.large-icons .valo-menu-item.selected .v-icon {
- opacity: 1;
-}
-
-.mytheme .valo-menu-part.large-icons .valo-menu-item.selected [class*="badge"] {
- border-color: #434343;
-}
-
-.mytheme .valo-menu-part.large-icons .valo-menu-item [class*="badge"] {
- padding-left: 4px;
- padding-right: 4px;
- top: 7px;
- right: 7px;
- border: 2px solid #4b4b4b;
-}
-
-.mytheme .valo-menu-logo {
- display: block;
- overflow: hidden;
- width: 44px !important;
- height: 44px;
- border-radius: 4px;
- text-align: center;
- background-color: #197de1;
- background-image: -webkit-linear-gradient(top, #1b87e3 2%, #166ed5 98%);
- background-image: linear-gradient(to bottom,#1b87e3 2%, #166ed5 98%);
- color: white;
- font-size: 25px;
- line-height: 44px;
- margin: 19px auto;
- -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
- box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
-}
-
-.mytheme .valo-menu-logo:focus {
- outline: none;
-}
-
-.mytheme .valo-menu-responsive[width-range~="801px-1100px"] .valo-menu-part {
- background-color: #4b4b4b;
- min-width: 74px;
- max-width: 111px;
-}
-
-.mytheme .valo-menu-responsive[width-range~="801px-1100px"] .valo-menu-part .valo-menu-title {
- font-size: 12px;
-}
-
-.mytheme .valo-menu-responsive[width-range~="801px-1100px"] .valo-menu-part .valo-menu-title .v-label-undef-w {
- white-space: normal;
-}
-
-.mytheme .valo-menu-responsive[width-range~="801px-1100px"] .valo-menu-part .v-menubar-user-menu {
- margin-left: 0;
- margin-right: 0;
- font-size: 11px;
-}
-
-.mytheme .valo-menu-responsive[width-range~="801px-1100px"] .valo-menu-part .v-menubar-user-menu img.v-icon {
- width: 28px;
- height: 28px;
-}
-
-.mytheme .valo-menu-responsive[width-range~="801px-1100px"] .valo-menu-part [class*="subtitle"] {
- margin: 9px 0 0;
- padding: 7px 25px 7px 9px;
- line-height: 1;
- border: none;
- text-overflow: ellipsis;
- overflow: hidden;
- background: #3c3c3c;
- font-size: 13px;
- box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
-}
-
-.mytheme .valo-menu-responsive[width-range~="801px-1100px"] .valo-menu-part [class*="subtitle"] [class*="badge"] {
- right: 9px;
-}
-
-.mytheme .valo-menu-responsive[width-range~="801px-1100px"] .valo-menu-part [class*="subtitle"] + .valo-menu-item {
- border-top: none;
-}
-
-.mytheme .valo-menu-responsive[width-range~="801px-1100px"] .valo-menu-part .valo-menu-item {
- display: block;
- font-size: 26px;
- line-height: 1;
- padding: 12px;
- text-align: center;
- border-top: 1px solid #555555;
-}
-
-.mytheme .valo-menu-responsive[width-range~="801px-1100px"] .valo-menu-part .valo-menu-item:first-child {
- border-top: none;
-}
-
-.mytheme .valo-menu-responsive[width-range~="801px-1100px"] .valo-menu-part .valo-menu-item [class*="caption"] {
- display: block;
- width: auto;
- margin: 0.3em 0 0;
- padding: 0;
- font-size: 11px;
- line-height: 1.3;
-}
-
-.mytheme .valo-menu-responsive[width-range~="801px-1100px"] .valo-menu-part .valo-menu-item .v-icon {
- margin: 0;
-}
-
-.mytheme .valo-menu-responsive[width-range~="801px-1100px"] .valo-menu-part .valo-menu-item span.v-icon {
- opacity: 0.8;
-}
-
-.mytheme .valo-menu-responsive[width-range~="801px-1100px"] .valo-menu-part .valo-menu-item.selected {
- background: #434343;
-}
-
-.mytheme .valo-menu-responsive[width-range~="801px-1100px"] .valo-menu-part .valo-menu-item.selected .v-icon {
- opacity: 1;
-}
-
-.mytheme .valo-menu-responsive[width-range~="801px-1100px"] .valo-menu-part .valo-menu-item.selected [class*="badge"] {
- border-color: #434343;
-}
-
-.mytheme .valo-menu-responsive[width-range~="801px-1100px"] .valo-menu-part .valo-menu-item [class*="badge"] {
- padding-left: 4px;
- padding-right: 4px;
- top: 7px;
- right: 7px;
- border: 2px solid #4b4b4b;
-}
-
-.mytheme .valo-menu-responsive[width-range~="0-800px"] {
- padding-top: 37px;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-.mytheme .valo-menu-responsive[width-range~="0-800px"] .v-loading-indicator {
- top: 37px;
-}
-
-.mytheme .valo-menu-responsive[width-range~="0-800px"] > .v-widget {
- position: relative !important;
-}
-
-.mytheme .valo-menu-responsive[width-range~="0-800px"] .valo-menu {
- border-right: none;
-}
-
-.mytheme .valo-menu-responsive[width-range~="0-800px"] .valo-menu-part {
- overflow: visible;
-}
-
-.mytheme .valo-menu-responsive[width-range~="0-800px"] .valo-menu-toggle {
- display: inline-block;
-}
-
-.mytheme .valo-menu-responsive[width-range~="0-800px"] .valo-menu-title {
- position: fixed;
- z-index: 100;
- top: 0;
- left: 0;
- right: 0;
- height: 37px !important;
- padding-top: 0;
- padding-bottom: 0;
- -webkit-backface-visibility: hidden;
-}
-
-.mytheme .valo-menu-responsive[width-range~="0-800px"] .valo-menu .v-menubar-user-menu {
- position: fixed;
- z-index: 100;
- top: 0;
- right: 0;
- margin: 0;
- padding: 0;
- height: 37px;
- color: #97bee5;
- max-width: 30%;
- -webkit-backface-visibility: hidden;
-}
-
-.mytheme .valo-menu-responsive[width-range~="0-800px"] .valo-menu .v-menubar-user-menu .v-menubar-menuitem {
- line-height: 36px;
- white-space: nowrap;
-}
-
-.mytheme .valo-menu-responsive[width-range~="0-800px"] .valo-menu .v-menubar-user-menu img.v-icon {
- display: inline-block;
- margin: 0 6px 0 0;
- width: 19px;
- height: 19px;
- border-radius: 10px;
- border: none;
-}
-
-.mytheme .valo-menu-responsive[width-range~="0-800px"] .valo-menuitems {
- height: 100%;
- background-color: #4b4b4b;
- background-image: -webkit-linear-gradient(right, #414141 0%, #4b4b4b 9px);
- background-image: linear-gradient(to left,#414141 0%, #4b4b4b 9px);
- color: #a5a5a5;
- font-size: 14px;
- line-height: 30px;
- border-right: 1px solid #3b3b3b;
- white-space: nowrap;
- position: fixed;
- z-index: 9000;
- top: 37px;
- bottom: 0;
- height: auto;
- max-width: 100%;
- overflow: auto;
- padding: 19px 0;
- -webkit-transform: translatex(-100%);
- -moz-transform: translatex(-100%);
- -ms-transform: translatex(-100%);
- -o-transform: translatex(-100%);
- transform: translatex(-100%);
- -webkit-transition: all 300ms;
- -moz-transition: all 300ms;
- transition: all 300ms;
-}
-
-.mytheme .valo-menu-responsive[width-range~="0-800px"] .valo-menu-visible .valo-menuitems, .mytheme .valo-menu-responsive[width-range~="0-800px"] .valo-menu-hover:hover .valo-menuitems {
- -webkit-transform: translatex(0%);
- -moz-transform: translatex(0%);
- -ms-transform: translatex(0%);
- -o-transform: translatex(0%);
- transform: translatex(0%);
-}
-
-.mytheme .valo-menu-responsive[width-range~="0-500px"] .valo-menu-toggle .v-button-caption {
- display: none;
-}
-
-.mytheme .valo-menu-responsive[width-range~="0-500px"] .valo-menu .v-menubar-user-menu .v-menubar-menuitem-caption {
- display: inline-block;
- width: 19px;
- overflow: hidden;
-}
\ No newline at end of file