diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 000000000000..4e51d96e75c0 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,288 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (6.1.7.6) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) + base64 (0.2.0) + bibtex-ruby (4.4.7) + latex-decode (~> 0.0) + citeproc (1.0.10) + namae (~> 1.0) + citeproc-ruby (1.1.14) + citeproc (~> 1.0, >= 1.0.9) + csl (~> 1.6) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.11.1) + colorator (1.1.0) + commonmarker (0.23.10) + concurrent-ruby (1.2.2) + csl (1.6.0) + namae (~> 1.0) + rexml + csl-styles (1.0.1.11) + csl (~> 1.0) + dnsruby (1.70.0) + simpleidn (~> 0.2.1) + em-websocket (0.5.3) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0) + ethon (0.16.0) + ffi (>= 1.15.0) + eventmachine (1.2.7) + execjs (2.9.1) + faraday (2.8.1) + base64 + faraday-net_http (>= 2.0, < 3.1) + ruby2_keywords (>= 0.0.4) + faraday-net_http (3.0.2) + ffi (1.16.3) + forwardable-extended (2.6.0) + gemoji (3.0.1) + github-pages (228) + github-pages-health-check (= 1.17.9) + jekyll (= 3.9.3) + jekyll-avatar (= 0.7.0) + jekyll-coffeescript (= 1.1.1) + jekyll-commonmark-ghpages (= 0.4.0) + jekyll-default-layout (= 0.1.4) + jekyll-feed (= 0.15.1) + jekyll-gist (= 1.5.0) + jekyll-github-metadata (= 2.13.0) + jekyll-include-cache (= 0.2.1) + jekyll-mentions (= 1.6.0) + jekyll-optional-front-matter (= 0.3.2) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.3.0) + jekyll-redirect-from (= 0.16.0) + jekyll-relative-links (= 0.6.1) + jekyll-remote-theme (= 0.4.3) + jekyll-sass-converter (= 1.5.2) + jekyll-seo-tag (= 2.8.0) + jekyll-sitemap (= 1.4.0) + jekyll-swiss (= 1.0.0) + jekyll-theme-architect (= 0.2.0) + jekyll-theme-cayman (= 0.2.0) + jekyll-theme-dinky (= 0.2.0) + jekyll-theme-hacker (= 0.2.0) + jekyll-theme-leap-day (= 0.2.0) + jekyll-theme-merlot (= 0.2.0) + jekyll-theme-midnight (= 0.2.0) + jekyll-theme-minimal (= 0.2.0) + jekyll-theme-modernist (= 0.2.0) + jekyll-theme-primer (= 0.6.0) + jekyll-theme-slate (= 0.2.0) + jekyll-theme-tactile (= 0.2.0) + jekyll-theme-time-machine (= 0.2.0) + jekyll-titles-from-headings (= 0.5.3) + jemoji (= 0.12.0) + kramdown (= 2.3.2) + kramdown-parser-gfm (= 1.1.0) + liquid (= 4.0.4) + mercenary (~> 0.3) + minima (= 2.5.1) + nokogiri (>= 1.13.6, < 2.0) + rouge (= 3.26.0) + terminal-table (~> 1.4) + github-pages-health-check (1.17.9) + addressable (~> 2.3) + dnsruby (~> 1.60) + octokit (~> 4.0) + public_suffix (>= 3.0, < 5.0) + typhoeus (~> 1.3) + html-pipeline (2.14.3) + activesupport (>= 2) + nokogiri (>= 1.4) + http_parser.rb (0.8.0) + i18n (1.14.1) + concurrent-ruby (~> 1.0) + jekyll (3.9.3) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (>= 0.7, < 2) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 2.0) + kramdown (>= 1.17, < 3) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) + safe_yaml (~> 1.0) + jekyll-avatar (0.7.0) + jekyll (>= 3.0, < 5.0) + jekyll-coffeescript (1.1.1) + coffee-script (~> 2.2) + coffee-script-source (~> 1.11.1) + jekyll-commonmark (1.4.0) + commonmarker (~> 0.22) + jekyll-commonmark-ghpages (0.4.0) + commonmarker (~> 0.23.7) + jekyll (~> 3.9.0) + jekyll-commonmark (~> 1.4.0) + rouge (>= 2.0, < 5.0) + jekyll-default-layout (0.1.4) + jekyll (~> 3.0) + jekyll-feed (0.15.1) + jekyll (>= 3.7, < 5.0) + jekyll-gist (1.5.0) + octokit (~> 4.2) + jekyll-github-metadata (2.13.0) + jekyll (>= 3.4, < 5.0) + octokit (~> 4.0, != 4.4.0) + jekyll-include-cache (0.2.1) + jekyll (>= 3.7, < 5.0) + jekyll-mentions (1.6.0) + html-pipeline (~> 2.3) + jekyll (>= 3.7, < 5.0) + jekyll-optional-front-matter (0.3.2) + jekyll (>= 3.0, < 5.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.3.0) + jekyll (>= 3.0, < 5.0) + jekyll-redirect-from (0.16.0) + jekyll (>= 3.3, < 5.0) + jekyll-relative-links (0.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-remote-theme (0.4.3) + addressable (~> 2.0) + jekyll (>= 3.5, < 5.0) + jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) + rubyzip (>= 1.3.0, < 3.0) + jekyll-sass-converter (1.5.2) + sass (~> 3.4) + jekyll-scholar (5.16.0) + bibtex-ruby (~> 4.0, >= 4.0.13) + citeproc-ruby (~> 1.0) + csl-styles (~> 1.0) + jekyll (~> 3.0) + jekyll-seo-tag (2.8.0) + jekyll (>= 3.8, < 5.0) + jekyll-sitemap (1.4.0) + jekyll (>= 3.7, < 5.0) + jekyll-swiss (1.0.0) + jekyll-theme-architect (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-cayman (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-dinky (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-hacker (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-leap-day (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-merlot (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-midnight (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-minimal (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-modernist (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-primer (0.6.0) + jekyll (> 3.5, < 5.0) + jekyll-github-metadata (~> 2.9) + jekyll-seo-tag (~> 2.0) + jekyll-theme-slate (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-tactile (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-time-machine (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-titles-from-headings (0.5.3) + jekyll (>= 3.3, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + jemoji (0.12.0) + gemoji (~> 3.0) + html-pipeline (~> 2.2) + jekyll (>= 3.0, < 5.0) + kramdown (2.3.2) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + latex-decode (0.4.0) + liquid (4.0.4) + listen (3.8.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.3.6) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + minitest (5.21.1) + namae (1.2.0) + racc (~> 1.7) + nokogiri (1.13.10-arm64-darwin) + racc (~> 1.4) + octokit (4.25.1) + faraday (>= 1, < 3) + sawyer (~> 0.9) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (4.0.7) + racc (1.7.3) + rb-fsevent (0.11.2) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.6) + rouge (3.26.0) + ruby2_keywords (0.0.5) + rubyzip (2.3.2) + safe_yaml (1.0.5) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sawyer (0.9.2) + addressable (>= 2.3.5) + faraday (>= 0.17.3, < 3) + simpleidn (0.2.1) + unf (~> 0.1.4) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + typhoeus (1.4.1) + ethon (>= 0.9.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unf (0.1.4) + unf_ext + unf_ext (0.0.9.1) + unicode (0.4.4.4) + unicode-display_width (1.8.0) + zeitwerk (2.6.12) + +PLATFORMS + arm64-darwin-23 + +DEPENDENCIES + github-pages (= 228) + jekyll + jekyll-paginate + jekyll-scholar + jemoji + unicode + +BUNDLED WITH + 2.4.22 diff --git a/_bibliography/papers.bib b/_bibliography/papers.bib deleted file mode 100644 index 3fb921d1bc6a..000000000000 --- a/_bibliography/papers.bib +++ /dev/null @@ -1,356 +0,0 @@ ---- ---- - -@inproceedings{StengelEskin:2022:troubling_quirk, - title = {{When More Data Hurts: A Troubling Quirk in Developing Broad-Coverage Natural Language Understanding Systems}}, - author = {Elias Stengel-Eskin and Emmanouil Antonios Platanios and Adam Pauls and Sam Thomson and Hao Fang and Benjamin Van Durme and Jason Eisner and Yu Su}, - booktitle = {Conference on Empirical Methods in Natural Language Processing (EMNLP)}, - abbr = {EMNLP}, - year = {2022}, - abstract = {In natural language understanding (NLU) production systems, users' evolving needs necessitate the addition of new features over time, indexed by new symbols added to the meaning representation space. This requires additional training data and results in ever-growing datasets. We present the first systematic investigation into this incremental symbol learning scenario. Our analyses reveal a troubling quirk in building (broad-coverage) NLU systems: as the training dataset grows, more data is needed to learn new symbols, forming a vicious cycle. We show that this trend holds for multiple mainstream models on two common NLU tasks: intent recognition and semantic parsing. Rejecting class imbalance as the sole culprit, we reveal that the trend is closely associated with an effect we call source signal dilution, where strong lexical cues for the new symbol become diluted as the training dataset grows. Selectively dropping training examples to prevent dilution often reverses the trend, showing the over-reliance of mainstream neural NLU models on simple lexical cues and their lack of contextual understanding.}, - pdf = {stengel_eskin_2022_troubling_quirk/paper.pdf}, - code = {https://github.com/microsoft/nlu-incremental-symbol-learning}, - doi = {10.18653/v1/2022.emnlp-main.789}, -} - -@inproceedings{Zhou:2022:online_parsing, - title = {{Online Semantic Parsing for Latency Reduction in Task-Oriented Dialogue}}, - author = {Jiawei Zhou and Jason Eisner and Michael Newman and Emmanouil Antonios Platanios and Sam Thomson}, - booktitle = {Annual Meeting of the Association for Computational Linguistics (ACL)}, - abbr = {ACL}, - url = {https://aclanthology.org/2022.acl-long.110/}, - year = {2022}, - abstract = {Standard conversational semantic parsing maps a complete user utterance into an executable program, after which the program is executed to respond to the user. This could be slow when the program contains expensive function calls. We investigate the opportunity to reduce latency by predicting and executing function calls while the user is still speaking. We introduce the task of online semantic parsing for this purpose, with a formal latency reduction metric inspired by simultaneous machine translation. We propose a general framework with first a learned prefix-to-program prediction module, and then a simple yet effective thresholding heuristic for subprogram selection for early execution. Experiments on the SMCalFlow and TreeDST datasets show our approach achieves large latency reduction with good parsing quality, with a 30%–65% latency reduction depending on function execution time and allowed cost.}, - pdf = {zhou_2022_online_parsing/paper.pdf}, - code = {https://github.com/microsoft/online-semantic-parsing-for-latency-reduction}, - note = {{Outstanding Paper Award}}, - doi = {10.18653/v1/2022.acl-long.110}, -} - -@inproceedings{Chen:2022:text_to_sql, - title = {{Bridging the Generalization Gap in Text-to-SQL Parsing with Schema Expansion}}, - author = {Chen Zhao and Yu Su and Adam Pauls and Emmanouil Antonios Platanios}, - booktitle = {Annual Meeting of the Association for Computational Linguistics (ACL)}, - abbr = {ACL}, - url = {https://aclanthology.org/2022.acl-long.381/}, - year = {2022}, - abstract = {Text-to-SQL parsers map natural language questions to programs that are executable over tables to generate answers, and are typically evaluated on large-scale datasets like Spider (Yu et al., 2018). We argue that existing benchmarks fail to capture a certain out-of-domain generalization problem that is of significant practical importance: matching domain specific phrases to composite operation over columns. To study this problem, we first propose a synthetic dataset along with a re-purposed train/test split of the Squall dataset (Shi et al., 2020) as new benchmarks to quantify domain generalization over column operations, and find existing state-of-the-art parsers struggle in these benchmarks. We propose to address this problem by incorporating prior domain knowledge by preprocessing table schemas, and design a method that consists of two components: schema expansion and schema pruning. This method can be easily applied to multiple existing base parsers, and we show that it significantly outperforms baseline parsers on this domain generalization problem, boosting the underlying parsers’ overall performance by up to 13.8% relative accuracy gain (5.1% absolute) on the new Squall data split.}, - pdf = {chen_2022_text_to_sql/paper.pdf}, - code = {https://github.com/microsoft/text-to-sql-schema-expansion-generalization}, - doi = {10.18653/v1/2022.acl-long.381}, -} - -@inproceedings{Belyy:2022:k_best, - title = {{Guided K-best Selection for Semantic Parsing Annotation}}, - author = {Anton Belyy* and Chieh-Yang Huang* and Jacob Andreas and Emmanouil Antonios Platanios and Sam Thomson and Richard Shin and Subhro Roy and Aleksandr Nisnevich and Charles Chen and Benjamin Van Durme}, - booktitle = {Annual Meeting of the Association for Computational Linguistics (ACL)}, - abbr = {ACL}, - url = {https://aclanthology.org/2022.acl-long.381/}, - year = {2022}, - abstract = {Collecting data for conversational semantic parsing is a time-consuming and demanding process. In this paper we consider, given an incomplete dataset with only a small amount of data, how to build an AI-powered human-in-the-loop process to enable efficient data collection. A guided K-best selection process is proposed, which (i) generates a set of possible valid candidates; (ii) allows users to quickly traverse the set and filter incorrect parses; and (iii) asks users to select the correct parse, with minimal modification when necessary. We investigate how to best support users in efficiently traversing the candidate set and locating the correct parse, in terms of speed and accuracy. In our user study, consisting of five annotators labeling 300 instances each, we find that combining keyword searching, where keywords can be used to query relevant candidates, and keyword suggestion, where representative keywords are automatically generated, enables fast and accurate annotation.}, - pdf = {belyy_2022_k_best/paper.pdf}, - doi = {10.18653/v1/2022.acl-demo.11}, -} - -@inproceedings{Stoica:2021:retacred, - title = {{Re-TACRED: Addressing Shortcomings of the TACRED Dataset}}, - author = {George Stoica and Emmanouil Antonios Platanios and Barnab{\'a}s P{\'o}czos}, - booktitle = {AAAI Conference on Artificial Intelligence}, - abbr = {AAAI}, - url = {https://aclanthology.org/2021.emnlp-main.608/}, - year = {2021}, - abstract = {TACRED is one of the largest and most widely used sentence-level relation extraction datasets. Proposed models that are evaluated using this dataset consistently set new state-of-the-art performance. However, they still exhibit large error rates despite leveraging external knowledge and unsupervised pretraining on large text corpora. A recent study suggested that this may be due to poor dataset quality. The study observed that over 50% of the most challenging sentences from the development and test sets are incorrectly labeled and account for an average drop of 8% f1-score in model performance. However, this study was limited to a small biased sample of 5k (out of a total of 106k) sentences, substantially restricting the generalizability and broader implications of its findings. In this paper, we address these shortcomings by: (i) performing a comprehensive study over the whole TACRED dataset, (ii) proposing an improved crowdsourcing strategy and deploying it to re-annotate the whole dataset, and (iii) performing a thorough analysis to understand how correcting the TACRED annotations affects previously published results. After verification, we observed that 23.9% of TACRED labels are incorrect. Moreover, evaluating several models on our revised dataset yields an average f1-score improvement of 14.3% and helps uncover significant relationships between the different models (rather than simply offsetting or scaling their scores by a constant factor). Finally, aside from our analysis we also release Re-TACRED, a new completely re-annotated version of the TACRED dataset that can be used to perform reliable evaluation of relation extraction models.}, - pdf = {stoica_2021_retacred/paper.pdf}, - doi = {10.1609/aaai.v35I15.17631}, -} - -@inproceedings{Shin:2021:clamp, - title = {{Constrained Language Models Yield Few-Shot Semantic Parsers}}, - author = {Richard Shin and Christopher Lin and Sam Thomson and Charles Chen and Subhro Roy and Emmanouil Antonios Platanios and Adam Pauls and Dan Klein and Jason Eisner and Benjamin Van Durme}, - booktitle = {Conference on Empirical Methods in Natural Language Processing (EMNLP)}, - abbr = {EMNLP}, - url = {https://aclanthology.org/2021.emnlp-main.608/}, - year = {2021}, - abstract = {We explore the use of large pretrained language models as few-shot semantic parsers. The goal in semantic parsing is to generate a structured meaning representation given a natural language input. However, language models are trained to generate natural language. To bridge the gap, we use language models to paraphrase inputs into a controlled sublanguage resembling English that can be automatically mapped to a target meaning representation. Our results demonstrate that with only a small amount of data and very little code to convert into English-like representations, our blueprint for rapidly bootstrapping semantic parsers leads to surprisingly effective performance on multiple community tasks, greatly exceeding baseline methods also trained on the same limited data.}, - pdf = {shin_2021_clamp/paper.pdf}, - doi = {10.18653/v1/2021.emnlp-main.608}, -} - -@inproceedings{Platanios:2021:platypus, - title = {{Value-Agnostic Conversational Semantic Parsing}}, - author = {Emmanouil Antonios Platanios and Adam Pauls and Subhro Roy and Yuchen Zhang and Alex Kyte and Alan Guo and Sam Thomson and Jayant Krishnamurthy and Jason Wolfe and Jacob Andreas and Dan Klein}, - booktitle = {Annual Meeting of the Association for Computational Linguistics (ACL)}, - abbr = {ACL}, - url = {https://aclanthology.org/2021.acl-long.284/}, - year = {2021}, - abstract = {Conversational semantic parsers map user utterances to executable programs given dialogue histories composed of previous utterances, programs, and system responses. Existing parsers typically condition on rich representations of history that include the complete set of values and computations previously discussed. We propose a model that abstracts over values to focus prediction on type- and function-level context. This approach provides a compact encoding of dialogue histories and predicted programs, improving generalization and computational efficiency. Our model incorporates several other components, including an atomic span copy operation and structural enforcement of well-formedness constraints on predicted programs, that are particularly advantageous in the low-data regime. Trained on the SMCalFlow and TreeDST datasets, our model outperforms prior work by 7.3% and 10.6% respectively in terms of absolute accuracy. Trained on only a thousand examples from each dataset, it outperforms strong baselines by 12.4% and 6.4%. These results indicate that simple representations are key to effective generalization in conversational semantic parsing.}, - pdf = {platanios_2021_platypus/paper.pdf}, - slides = {../pptx/platanios_2021_platypus/slides.pptx}, - doi = {10.18653/v1/2021.acl-long.284}, -} - -@inproceedings{Xian:2021:hyper_dynamics, - title = {{HyperDynamics: Generating Expert Dynamics Models by Observation}}, - author = {Zhou Xian and Shamit Lal and Hsiao-Yu Fish Tung and Emmanouil Antonios Platanios and Katerina Fragkiadaki}, - booktitle = {International Conference on Learning Representations}, - abbr = {ICLR}, - url = {https://arxiv.org/abs/2103.09439}, - year = {2021}, - abstract = {We propose HD, a dynamics meta-learning framework that conditions on an agent's interactions with the environment and optionally its visual observations, and generates the parameters of neural dynamics models based on inferred properties of the dynamical system. Physical and visual properties of the environment that are not part of the low-dimensional state yet affect its temporal dynamics are inferred from the interaction history and visual observations, and are implicitly captured in the generated parameters. We test HyperDynamics on a set of object pushing and locomotion tasks. It outperforms existing dynamics models in the literature that adapt to environment variations by learning dynamics over high dimensional visual observations, capturing the interactions of the agent in recurrent state representations, or using gradient-based meta-optimization. We also show our method matches the performance of an ensemble of separately trained experts, while also being able to generalize well to unseen environment variations at test time. We attribute its good performance to the multiplicative interactions between the inferred system properties---captured in the generated parameters---and the low-dimensional state representation of the dynamical system.}, - pdf = {xian_2021_hyper_dynamics/paper.pdf}, -} - -@inproceedings{Yin:2021:compositional_generalization, - title = {{Compositional Generalization for Neural Semantic Parsing via Span-level Supervised Attention}}, - author = {Pengcheng Yin and Hao Fang and Graham Neubig and Adam Pauls and Emmanouil Antonios Platanios and Yu Su and Sam Thomson and Jacob Andreas}, - booktitle = {Conference of the North American Chapter of the Association for Computational Linguistics (NAACL)}, - abbr = {NAACL}, - url = {https://aclanthology.org/2021.naacl-main.225}, - year = {2021}, - abstract = {We describe a span-level supervised attention loss that improves compositional generalization in semantic parsers. Our approach builds on existing losses that encourage attention maps in neural sequence-to-sequence models to imitate the output of classical word alignment algorithms. Where past work has used word-level alignments, we focus on spans; borrowing ideas from phrase-based machine translation, we align subtrees in semantic parses to spans of input sentences, and encourage neural attention mechanisms to mimic these alignments. This method improves the performance of transformers, RNNs, and structured decoders on three benchmarks of compositional generalization.}, - pdf = {yin_2021_compositional_generalization/paper.pdf}, - code = {https://github.com/microsoft/compositional-generalization-span-level-attention}, - doi = {10.18653/v1/2021.naacl-main.225}, -} - -@thesis{Platanios:2020:thesis, - author = {Platanios, Emmanouil Antonios}, - title = {{Learning Collections of Functions}}, - booktitle = {Doctoral Thesis at Carnegie Mellon University}, - abbr = {CMU}, - year = {2020}, - pdf = {thesis/thesis.pdf}, - slides = {thesis/defense.pdf}, - abstract = {Human intelligence is magnificent. One of its most impressive aspects is how humans always seem able to learn new skills quickly and without much supervision by utilizing previously learned skills and forming connections between them. More specifically, human learning is often not about learning a single skill in isolation, but rather about learning collections of skills and utilizing relationships between them to learn more efficiently. Furthermore, these relationships may either be explicitly provided or implicitly learned, indicating high levels of abstraction in the learned abilities. On the other hand, even though machine learning has witnessed growing success across a multitude of applications over the past years, current systems are each highly specialized to solve one or just a handful of problems. In this thesis, we argue that a computer system that learns to perform multiple tasks jointly and that is aware of the relationships between these tasks, will be able to learn more efficiently and effectively than a system that learns to perform each task in isolation. Moreover, the relationships between the tasks may either be explicitly provided through supervision or implicitly learned by the system itself, and will allow the system to self-reflect and evaluate itself without any task-specific supervision. This includes learning relationships in the form of higher-order functions—namely functions that compose, transform, or otherwise manipulate other functions—that can enable truly multi-task and zero-shot learning. In the first part, we present a method that allows learning systems to evaluate themselves in an unsupervised manner by leveraging explicitly provided relationships between multiple learned functions. We refer to this ability as self-reflection and show how it addresses an important limitation of existing never-ending learning systems like the never-ending language learner (Mitchell et al., 2018). We then propose multiple extensions that improve upon this method, resulting in several robust algorithms for estimating the accuracy of classifiers from unlabeled data. In the second part, we consider more general multi-task learning settings and propose an abstract framework called contextual parameter generation (CPG), which allows systems to generate functions for solving different kinds of tasks without necessarily having been shown any training data for these tasks. This framework generalizes existing approaches in multi-task learning, transfer learning, and meta-learning, and it further allows for learning arbitrary higher-order functions. It does so by formalizing the notion of a function representation and what it means for functions to operate on other functions or even on themselves. This new type of learning, which we refer to as higher-order learning, enables learning relationships between multiple functions in the form of higher-order functions, and is inspired by functional programming and category theory. Finally, we propose the jelly bean world (JBW), a novel evaluation framework for never-ending learning systems.}, - doi = {10.1184/R1/13574678.V1}, -} - -@inproceedings{Platanios:2020:jbw, - title = {{Jelly Bean World: A Testbed for Never-Ending Learning}}, - author = {Emmanouil Antonios Platanios* and Abulhair Saparov* and Tom Mitchell}, - booktitle = {International Conference on Learning Representations}, - abbr = {ICLR}, - url = {https://openreview.net/forum?id=Byx_YAVYPH}, - year = {2020}, - abstract = {Machine learning has shown growing success in recent years. However, current machine learning systems are highly specialized, trained for particular problems or domains, and typically on a single narrow dataset. Human learning, on the other hand, is highly general and adaptable. Never-ending learning is a machine learning paradigm that aims to bridge this gap, with the goal of encouraging researchers to design machine learning systems that can learn to perform a wider variety of inter-related tasks in more complex environments. To date, there is no environment or testbed to facilitate the development and evaluation of never-ending learning systems. To this end, we propose the Jelly Bean World testbed. The Jelly Bean World allows experimentation over two-dimensional grid worlds which are filled with items and in which agents can navigate. This testbed provides environments that are sufficiently complex and where more generally intelligent algorithms ought to perform better than current state-of-the-art reinforcement learning approaches. It does so by producing non-stationary environments and facilitating experimentation with multi-task, multi-agent, multi-modal, and curriculum learning settings. We hope that this new freely-available software will prompt new research and interest in the development and evaluation of never-ending learning systems and more broadly, general intelligence systems.}, - pdf = {platanios-2020-jbw-paper.pdf}, - code = {https://github.com/eaplatanios/jelly-bean-world}, - doi = {10.48550/arXiv.2002.06306}, -} - -@inproceedings{Platanios:2020:coper, - title = {{Contextual Parameter Generation for Knowledge Graph Link Prediction}}, - author = {Emmanouil Antonios Platanios* and George Stoica* and Otilia Stretcu* and Barnab{\'a}s P{\'o}czos and Tom Mitchell}, - booktitle = {AAAI Conference on Artificial Intelligence}, - abbr = {AAAI}, - year = {2020}, - abstract = {We consider the task of knowledge graph link prediction. Given a question consisting of a source entity and a relation (e.g., Shakespeare and BornIn), the objective is to predict the most likely answer entity (e.g., England). Recent approaches tackle this problem by learning entity and relation embeddings. However, they often constrain the relationship between these embeddings to be additive (i.e., the embeddings are concatenated and then processed by a sequence of linear functions and element-wise non-linearities). We show that this type of interaction significantly limits representational power. For example, such models cannot handle cases where a different projection of the source entity is used for each relation. We propose to use contextual parameter generation to address this limitation. More specifically, we treat relations as the context in which source entities are processed to produce predictions, by using relation embeddings to generate the parameters of a model operating over source entity embeddings. This allows models to represent more complex interactions between entities and relations. We apply our method on two existing link prediction methods, including the current state-of-the-art, resulting in significant performance gains and establishing a new state-of-the-art for this task. These gains are achieved while also reducing training time by up to 28 times.}, - pdf = {platanios_2020_coper/paper.pdf}, - code = {https://github.com/otiliastr/coper}, - doi = {10.1609/aaai.v34i03.5693}, -} - -@inproceedings{Stretcu:2019, - title = {{Graph Agreement Models for Semi-Supervised Learning}}, - author = {Otilia Stretcu and Krishnamurthy Viswanathan and Dana Movshovitz-Attias and Emmanouil Antonios Platanios and Sujith Ravi and Andrew Tomkins}, - booktitle = {Neural Information Processing Systems}, - abbr = {NeurIPS}, - url = {https://papers.nips.cc/paper/9076-graph-agreement-models-for-semi-supervised-learning}, - year = {2019}, - abstract = {Graph-based algorithms are among the most successful paradigms for solving semi-supervised learning tasks. Recent work on graph convolutional networks and neural graph learning methods has successfully combined the expressiveness of neural networks with graph structures. We propose a technique that, when applied to these methods, achieves state-of-the-art results on semi-supervised learning datasets. Traditional graph-based algorithms, such as label propagation, were designed with the underlying assumption that the label of a node can be imputed from that of the neighboring nodes. However, real-world graphs are either noisy or have edges that do not correspond to label agreement. To address this, we propose Graph Agreement Models (GAM), which introduces an auxiliary model that predicts the probability of two nodes sharing the same label as a learned function of their features. The agreement model is used when training a node classification model by encouraging agreement only for the pairs of nodes it deems likely to have the same label, thus guiding its parameters to better local optima. The classification and agreement models are trained jointly in a co-training fashion. Moreover, GAM can also be applied to any semi-supervised classification problem, by inducing a graph whenever one is not provided. We demonstrate that our method achieves a relative improvement of up to 72% for various node classification models, and obtains state-of-the-art results on multiple established datasets.}, - pdf = {stretcu_2019_gam/paper.pdf}, - supp = {stretcu_2019_gam/supplementary.pdf}, - poster = {stretcu_2019_gam/poster.pdf}, - code = {https://github.com/tensorflow/neural-structured-learning} -} - -@inproceedings{Platanios:2019, - title = {{Competence-based Curriculum Learning for Neural Machine Translation}}, - author = {Emmanouil Antonios Platanios and Otilia Stretcu and Graham Neubig and Barnab{\'a}s P{\'o}czos and Tom Mitchell}, - booktitle = {Conference of the North American Chapter of the Association for Computational Linguistics (NAACL)}, - abbr = {NAACL}, - url = {https://arxiv.org/pdf/1903.09848.pdf}, - year = {2019}, - abstract = {Current state-of-the-art NMT systems use large neural networks that are not only slow to train, but also often require many heuristics and optimization tricks, such as specialized learning rate schedules and large batch sizes. This is undesirable as it requires extensive hyperparameter tuning. In this paper, we propose a curriculum learning framework for NMT that reduces training time, reduces the need for specialized heuristics or large batch sizes, and results in overall better performance. Our framework consists of a principled way of deciding which training samples are shown to the model at different times during training, based on the estimated difficulty of a sample and the current competence of the model. Filtering training samples in this manner prevents the model from getting stuck in bad local optima, making it converge faster and reach a better solution than the common approach of uniformly sampling training examples. Furthermore, the proposed method can be easily applied to existing NMT models by simply modifying their input data pipelines. We show that our framework can help improve the training time and the performance of both recurrent neural network models and Transformers, achieving up to a 70% decrease in training time, while at the same time obtaining accuracy improvements of up to 2.2 BLEU.}, - pdf = {platanios_2019_curriculum_nmt/paper.pdf}, - poster = {platanios_2019_curriculum_nmt/poster.pdf}, - slides = {platanios_2019_curriculum_nmt/slides.pdf}, - code = {https://github.com/eaplatanios/symphony-mt}, - doi = {10.18653/v1/N19-1119}, -} - -@inproceedings{Platanios:2018, - title = {{Contextual Parameter Generation for Universal Neural Machine Translation}}, - author = {Emmanouil Antonios Platanios and Mrinmaya Sachan and Graham Neubig and Tom Mitchell}, - booktitle = {Conference on Empirical Methods in Natural Language Processing (EMNLP)}, - abbr = {EMNLP}, - address = {Brussels, Belgium}, - month = {November}, - url = {https://arxiv.org/abs/1808.08493}, - year = {2018}, - abstract = {We propose a simple modification to existing neural machine translation (NMT) models that enables using a single universal model to translate between multiple languages while allowing for language specific parameterization, and that can also be used for domain adaptation. Our approach requires no changes to the model architecture of a standard NMT system, but instead introduces a new component, the contextual parameter generator (CPG), that generates the parameters of the system (e.g., weights in a neural network). This parameter generator accepts source and target language embeddings as input, and generates the parameters for the encoder and the decoder, respectively. The rest of the model remains unchanged and is shared across all languages. We show how this simple modification enables the system to use monolingual data for training and also perform zero-shot translation. We further show it is able to surpass state-of-the-art performance for both the IWSLT-15 and IWSLT-17 datasets and that the learned language embeddings are able to uncover interesting relationships between languages.}, - pdf = {platanios_2018_cpg_nmt/paper.pdf}, - poster = {platanios_2018_cpg_nmt/poster.pdf}, - slides = {platanios_2018_cpg_nmt/slides.pdf}, - code = {https://github.com/eaplatanios/symphony-mt}, - doi = {10.18653/v1/D18-1039}, -} - -@article{Mitchell:2018:cacm, - author = {Mitchell, Tom and Cohen, William W and Hruschka Jr, Estevam R and Pratim Talukdar, Partha and Yang, Bishan and Betteridge, Justin and Carlson, Andrew and Dalvi, Bhanava and Gardner, Matt and Kisiel, Bryan and Krishnamurthy, Jayant and Lao, Ni and Mazaitis, Kathryn and Mohamed, Thahir P and Nakashole, Ndapakula and Platanios, Emmanouil Antonios and Ritter, Alan and Samadi, Mehdi and Settles, Burr and Wang, Richard C and Wijaya, Derry and Gupta, Abhinav and Chen, Xinlei and Saparov, Abulhair and Greaves, Malcolm and Welling, Joel}, - title = {{Never-Ending Learning}}, - journal = {Communications of the ACM}, - abbr = {CACM}, - issue_date = {May 2018}, - volume = {61}, - number = {5}, - month = apr, - year = {2018}, - issn = {0001-0782}, - pages = {103--115}, - numpages = {13}, - url = {http://doi.acm.org/10.1145/3191513}, - acmid = {3191513}, - publisher = {ACM}, - address = {New York, NY, USA}, - pdf = {mitchell_2018_cacm/paper.pdf}, - abstract = {Whereas people learn many different types of knowledge from diverse experiences over many years, and become better learners over time, most current machine learning systems are much more narrow, learning just a single function or data model based on statistical analysis of a single data set. We suggest that people learn better than computers precisely because of this difference, and we suggest a key direction for machine learning research is to develop software architectures that enable intelligent agents to also learn many types of knowledge, continuously over many years, and to become better learners over time. In this paper we define more precisely this never-ending learning paradigm for machine learning, and we present one case study: the Never-Ending Language Learner (NELL), which achieves a number of the desired properties of a never-ending learner. NELL has been learning to read the Web 24hrs/day since January 2010, and so far has acquired a knowledge base with 120mn diverse, confidence-weighted beliefs (e.g., servedWith(tea,biscuits)), while learning thousands of interrelated functions that continually improve its reading competence over time. NELL has also learned to reason over its knowledge base to infer new beliefs it has not yet read from those it has, and NELL is inventing new relational predicates to extend the ontology it uses to represent beliefs. We describe the design of NELL, experimental results illustrating its behavior, and discuss both its successes and shortcomings as a case study in never-ending learning. NELL can be tracked online at http://rtw.ml.cmu.edu, and followed on Twitter at @CMUNELL.}, - doi = {10.1145/3191513}, -} - -@eprint{Platanios:2018:agreement_based_learning, - author = {Platanios, Emmanouil A}, - title = {{Agreement-based Learning}}, - archivePrefix = "arXiv", - eprint = {1806.01258}, - primaryClass = "cs.LG", - booktitle = {arXiv}, - abbr = {arXiv}, - year = {2018}, - pdf = {platanios_2018_agreement_based_learning/paper.pdf}, - abstract = {{Model selection is a problem that has occupied machine learning researchers for a long time. Recently, its importance has become evident through applications in deep learning. We propose an agreement-based learning framework that prevents many of the pitfalls associated with model selection. It relies on coupling the training of multiple models by encouraging them to agree on their predictions while training. In contrast with other model selection and combination approaches used in machine learning, the proposed framework is inspired by human learning. We also propose a learning algorithm defined within this framework which manages to significantly outperform alternatives in practice, and whose performance improves further with the availability of unlabeled data. Finally, we describe a number of potential directions for developing more flexible agreement-based learning algorithms.}}, - doi = {10.48550/arXiv.1806.01258}, -} - -@eprint{Platanios:2018:deep_graphs, - author = {Platanios, Emmanouil Antonios and Smola, Alex}, - title = {{Deep Graphs}}, - archivePrefix = "arXiv", - eprint = {1806.01235}, - primaryClass = "cs.LG", - booktitle = {arXiv}, - abbr = {arXiv}, - year = {2018}, - pdf = {platanios_2018_deep_graphs/paper.pdf}, - abstract = {{We propose an algorithm for deep learning on networks and graphs. It relies on the notion that many graph algorithms, such as PageRank, Weisfeiler-Lehman, or Message Passing can be expressed as iterative vertex updates. Unlike previous methods which rely on the ingenuity of the designer, Deep Graphs are adaptive to the estimation problem. Training and deployment are both efficient, since the cost is O(|E|+|V|), where E and V are the sets of edges and vertices respectively. In short, we learn the recurrent update functions rather than positing their specific functional form. This yields an algorithm that achieves excellent accuracy on both graph labeling and regression tasks.}}, - doi = {10.48550/arXiv.1806.01235}, -} - -@eprint{Platanios:2017:active_learning, - author = {Platanios, Emmanouil Antonios and Kapoor, Ashish and Horvitz, Eric}, - title = {{Active Learning amidst Logical Knowledge}}, - archivePrefix = "arXiv", - eprint = {1709.08850}, - primaryClass = "cs.AI", - booktitle = {arXiv}, - abbr = {arXiv}, - year = {2017}, - pdf = {platanios_2017_active_learning/paper.pdf}, - abstract = {{Structured prediction is ubiquitous in applications of machine learning such as knowledge extraction and natural language processing. Structure often can be formulated in terms of logical constraints. We consider the question of how to perform efficient active learning in the presence of logical constraints among variables inferred by different classifiers. We propose several methods and provide theoretical results that demonstrate the inappropriateness of employing uncertainty guided sampling, a commonly used active learning method. Furthermore, experiments on ten different datasets demonstrate that the methods significantly outperform alternatives in practice. The results are of practical significance in situations where labeled data is scarce.}}, - doi = {10.48550/arXiv.1709.08850}, -} - -@inproceedings{Platanios:2017:accuracy_estimation_logic, - author = {Platanios, Emmanouil Antonios and Poon, Hoifung and Horvitz, Eric and Mitchell, Tom}, - title = {{Estimating Accuracy from Unlabeled Data: A Probabilistic Logic Approach}}, - booktitle = {Neural Information Processing Systems}, - abbr = {NeurIPS}, - year = {2017}, - arxiv = {1705.07086}, - pdf = {platanios_2017_logic/paper.pdf}, - supp = {platanios_2017_logic/supplementary.pdf}, - poster = {platanios_2017_logic/poster.pdf}, - abstract = {{We propose an efficient method to estimate the accuracy of classifiers using only unlabeled data. We consider a setting with multiple classification problems where the target classes may be tied together through logical constraints. For example, a set of classes may be mutually exclusive, meaning that a data instance can belong to at most one of them. The proposed method is based on the intuition that: (i) when classifiers agree, they are more likely to be correct, and (ii) when the classifiers make a prediction that violates the constraints, at least one classifier must be making an error. Experiments on four real-world data sets produce accuracy estimates within a few percent of the true accuracy, using solely unlabeled data. Our models also outperform existing state-of-the-art solutions in both estimating accuracies, and combining multiple classifier outputs. The results emphasize the utility of logical constraints in estimating accuracy, thus validating our intuition.}}, - doi = {10.48550/arXiv.1705.07086}, -} - -@inproceedings{Platanios:2016ti, - author = {Platanios, Emmanouil Antonios and Dubey, Avinava and Mitchell, Tom}, - title = {{Estimating Accuracy from Unlabeled Data: A Bayesian Approach}}, - booktitle = {International Conference in Machine Learning}, - abbr = {ICML}, - year = {2016}, - pages = {1416-1425}, - pdf = {platanios_2016ti/platanios_2016ti.pdf}, - supp = {platanios_2016ti/platanios_2016ti_supp.pdf}, - poster = {platanios_2016ti/platanios_2016ti_poster.pdf}, - slides = {platanios_2016ti/platanios_2016ti_slides.pdf}, - abstract = {{We consider the question of how unlabeled data can be used to estimate the true accuracy of learned classifiers, and the related question of how outputs from several classifiers performing the same task can be combined based on their estimated accuracies. To answer these questions, we first present a simple graphical model that performs well in practice. We then provide two nonparametric extensions to it that improve its performance. Experiments on two real-world data sets produce accuracy estimates within a few percent of the true accuracy, using solely unlabeled data. Our models also outperform existing state-of-the-art solutions in both estimating accuracies, and combining multiple classifier outputs.}} -} - -@inproceedings{Mitchell:2015wo, - author = {Mitchell, Tom and Cohen, William W and Hruschka Jr, Estevam R and Pratim Talukdar, Partha and Betteridge, Justin and Carlson, Andrew and Dalvi, Bhanava and Gardner, Matt and Kisiel, Bryan and Krishnamurthy, Jayant and Lao, Ni and Mazaitis, Kathryn and Mohamed, Thahir P and Nakashole, Ndapakula and Platanios, Emmanouil Antonios and Ritter, Alan and Samadi, Mehdi and Settles, Burr and Wang, Richard C and Wijaya, Derry and Gupta, Abhinav and Chen, Xinlei and Saparov, Abulhair and Greaves, Malcolm and Welling, Joel}, - title = {{Never-Ending Learning}}, - booktitle = {Association for the Advancement of Artificial Intelligence}, - abbr = {AAAI}, - year = {2015}, - pages = {1--9}, - pdf = {mitchell_2015wo/mitchell_2015wo.pdf}, - abstract = {Whereas people learn many different types of knowledge from diverse experiences over many years, most current machine learning systems acquire just a single function or data model from just a single data set. We propose a neverending learning paradigm for machine learning, to better reflect the more ambitious and encompassing type of learning performed by humans. As a case study, we describe the Never-Ending Language Learner (NELL), which achieves some of the desired properties of a never-ending learner, and we discuss lessons learned. NELL has been learning to read the web 24 hours/day since January 2010, and so far has acquired a knowledge base with over 80 million confidenceweighted beliefs (e.g., servedWith(tea, biscuits)). NELL has also learned millions of features and parameters that enable it to read these beliefs from the web. Additionally, it has learned to reason over these beliefs to infer new beliefs, and is able to extend its ontology by synthesizing new relational predicates. NELL can be tracked online at http://rtw.ml.cmu.edu, and followed on Twitter at @CMUNELL.}, - doi = {10.1609/aaai.v29i1.9498}, -} - -@thesis{Platanios:2015ui, - author = {Platanios, Emmanouil Antonios}, - title = {{Estimating Accuracy from Unlabeled Data}}, - booktitle = {Master's Thesis at Carnegie Mellon University}, - abbr = {CMU}, - year = {2015}, - pages = {1--28}, - pdf = {platanios_2015ui/platanios_2015ui.pdf}, - poster = {platanios_2015ui/platanios_2015ui_poster.pdf}, - abstract = {We consider the question of how unlabeled data can be used to estimate the true accuracy of learned classifiers. This is an important question for any autonomous learning system that must estimate its accuracy without supervision, and also when classifiers trained from one data distribution must be applied to a new distribution (e.g., document classifiers trained on one text corpus are to be applied to a second corpus). We first show how to estimate error rates exactly from unlabeled data when given a collection of competing classifiers that make independent errors, based on the agreement rates between subsets of these classifiers. We further show that even when the competing classifiers do not make independent errors, both their accuracies and error dependencies can be estimated by making certain relaxed assumptions. We then present an alternative approach based on graphical models that also allows us to combine the outputs of the classifiers into a single output label. A simple graphical model is introduced that performs well in practice. Then, two nonparametric extensions to it are presented, that significantly improve its performance. Experiments on two real-world data sets produce accuracy estimates within a few percent of the true accuracy, using solely unlabeled data. We also obtain results demonstrating our graphical model approaches beating alternative methods for combining the classifiers’ outputs. These results are of practical significance in situations where labeled data is scarce and shed light on the more general question of how the consistency among multiple functions is related to their true accuracies.} -} - -@inproceedings{Platanios:2014ti, - author = {Platanios, Emmanouil Antonios and Blum, Avrim and Mitchell, Tom}, - title = {{Estimating Accuracy from Unlabeled Data}}, - booktitle = {Conference on Uncertainty in Artificial Intelligence}, - abbr = {UAI}, - year = {2014}, - pages = {1--10}, - pdf = {platanios_2014ti/platanios_2014ti.pdf}, - poster = {platanios_2014ti/platanios_2014ti_poster.pdf}, - addendum = {platanios_2014ti/platanios_2014ti_addendum.pdf}, - abstract = {We consider the question of how unlabeled data can be used to estimate the true accuracy of learned classifiers. This is an important question for any autonomous learning system that must estimate its accuracy without supervision, and also when classifiers trained from one data distribution must be applied to a new distribution (e.g., document classifiers trained on one text corpus are to be applied to a second corpus). We first show how to estimate error rates exactly from unlabeled data when given a collection of competing classifiers that make independent errors, based on the agreement rates between subsets of these classifiers. We further show that even when the competing classifiers do not make independent errors, both their accuracies and error dependencies can be estimated by making certain relaxed assumptions. Experiments on two data real-world data sets produce estimates within a few percent of the true accuracy, using solely unlabeled data. These results are of practical significance in situations where labeled data is scarce and shed light on the more general question of how the consistency among multiple functions is related to their true accuracies.}, - doi = {10.5555/3020751.3020822}, -} - -@article{Platanios:2014gp, - author = {Platanios, Emmanouil Antonios and Chatzis, Sotirios}, - title = {{Gaussian Process-Mixture Conditional Heteroscedasticity}}, - journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence}, - abbr = {PAMI}, - year = {2014}, - volume = {36}, - number = {5}, - pages = {888--900}, - month = may, - pdf = {platanios_2014gp/platanios_2014gp.pdf}, - abstract = {Generalized autoregressive conditional heteroscedasticity (GARCH) models have long been considered as one of the most successful families of approaches for volatility modeling in financial return series. In this paper, we propose an alternative approach based on methodologies widely used in the field of statistical machine learning. Specifically, we propose a novel nonparametric Bayesian mixture of Gaussian process regression models, each component of which models the noise variance process that contaminates the observed data as a separate latent Gaussian process driven by the observed data. This way, we essentially obtain a Gaussian process-mixture conditional heteroscedasticity (GPMCH) model for volatility modeling in financial return series. We impose a nonparametric prior with power-law nature over the distribution of the model mixture components, namely the Pitman-Yor process prior, to allow for better capturing modeled data distributions with heavy tails and skewness. Finally, we provide a copula-based approach for obtaining a predictive posterior for the covariances over the asset returns modeled by means of a postulated GPMCH model. We evaluate the efficacy of our approach in a number of benchmark scenarios, and compare its performance to state-of-the-art methodologies.}, - doi = {10.1109/TPAMI.2013.183}, -} - -@inproceedings{Platanios:2012uh, - author = {Platanios, Emmanouil Antonios and Chatzis, Sotirios}, - title = {{Nonparametric Mixtures of Multi-Output Heteroscedastic Gaussian Processes for Volatility Modeling}}, - booktitle = {Neural Information Processing Systems Workshop on Modern Nonparametric Methods in Machine Learning}, - abbr = {NeurIPS}, - year = {2012}, - organization = {Department of Electrical and Electronic Engineering, Imperial College London, London, United Kingdom; Department of Electrical and Computer Engineering, and Informatics, Cyprus University of Technology, Cyprus}, - address = {Lake Tahoe, NV, United States of America}, - month = dec, - pdf = {platanios_2012uh/platanios_2012uh.pdf}, - poster = {platanios_2012uh/platanios_2012uh_poster.pdf}, - abstract = {In this work, we present a nonparametric Bayesian method for multivariate volatility modeling. Our approach is based on postulation of a novel mixture of multioutput heteroscedastic Gaussian processes to model the covariance matrices of multiple assets. Specifically, we use the Pitman-Yor process prior as the non- parametric prior imposed over the components of our model, which are taken as multioutput heteroscedastic Gaussian processes obtained by introducing appropriate convolution kernels that combine simple heteroscedastic Gaussian processes under a multioutput scheme. We exhibit the efficacy of our approach in a volatility prediction task.} -} diff --git a/_config.yml b/_config.yml deleted file mode 100644 index c9cc793af62a..000000000000 --- a/_config.yml +++ /dev/null @@ -1,88 +0,0 @@ -# ----------------------------------------------------------------------------- -# Site Settings -# ----------------------------------------------------------------------------- - -name: Anthony Platanios -email: e.a.platanios@gmail.com -description: Personal website of Anthony Platanios. -# footer_text: > -# Powered by Jekyll with al-folio theme. -# Hosted by GitHub Pages. -# last_updated: true - -url: platanios.org - -# ----------------------------------------------------------------------------- -# Social Integration -# ----------------------------------------------------------------------------- -scholar_userid: EFVk-mwAAAAJ -github_username: eaplatanios -linkedin_username: eplatanios -facebook_username: anthony.platanios -twitter_username: eaplatanios -contact_note: Feel free to drop me a line via email. - -google_analytics: UA-54519238-1 - -# ----------------------------------------------------------------------------- -# Collections -# ----------------------------------------------------------------------------- - -collections: - news: - defaults: - layout: page - output: true - permalink: /news/:path/ - projects: - output: true - permalink: /projects/:path/ - -news_limit: 10 - -# ----------------------------------------------------------------------------- -# Jekyll Settings -# ----------------------------------------------------------------------------- - -# Build settings -markdown: kramdown -# highlighter: pygments - -# Include/Exclude -include: ['_pages'] -exclude: [node_modules] - -# Plugins -plugins: - - jekyll-paginate - - jekyll/scholar - - jemoji - -# Jekyll-Scholar -scholar: - last_name: Platanios - style: apa - locale: en - sort_by: year - order: descending - source: /_bibliography/ - bibliography: papers.bib - bibliography_template: publication - reference_tagname: div - - replace_strings: true - join_strings: true - - details_dir: bibliography - details_layout: bibtex.html - details_link: Details - - query: "@*" - -# ----------------------------------------------------------------------------- -# Other settings -# ----------------------------------------------------------------------------- - -jquery_version: "1.12.4" -katex_version: "0.7.1" -anchorjs_version: "3.2.2" diff --git a/_data/coauthors.yml b/_data/coauthors.yml deleted file mode 100644 index c998506df356..000000000000 --- a/_data/coauthors.yml +++ /dev/null @@ -1,197 +0,0 @@ -Jacob Andreas: - url: https://www.mit.edu/~jda/ - -Anton Belyy: - url: https://avbelyy.github.io/ - -Anton Belyy*: - url: https://avbelyy.github.io/ - -Justin Betteridge: - url: http://www.cs.cmu.edu/~jbetter/ - -Avrim Blum: - url: http://www.cs.cmu.edu/~avrim/ - -Andrew Carlson: - url: http://www.cs.cmu.edu/~acarlson/ - -Sotirios Chatzis: - url: https://www.cut.ac.cy/eecei/staff/sotirios.chatzis/ - -Charles Chen: - url: https://www.linkedin.com/in/neocatalyst - -Xinlei Chen: - url: http://www.cs.cmu.edu/~xinleic/ - -William Cohen: - url: http://www.cs.cmu.edu/~wcohen/ - -Bhanava Dalvi: - url: http://allenai.org/team/bhavanad/ - -Avinava Dubey: - url: https://sites.google.com/site/kumaravinavadubey/ - -Benjamin Van Durme: - url: https://www.cs.jhu.edu/~vandurme/ - -Jason Eisner: - url: https://www.cs.jhu.edu/~jason/ - -Hao Fang: - url: https://hao-fang.github.io/ - -Katerina Fragkiadaki: - url: https://www.cs.cmu.edu/~katef/ - -Matt Gardner: - url: http://www.cs.cmu.edu/~mg1/ - -Malcolm Greaves: - url: http://www.malcolmgreaves.io/ - -Alan Guo: - url: https://people.csail.mit.edu/aguo/ - -Abhinav Gupta: - url: http://www.cs.cmu.edu/~abhinavg/ - -Eric Horvitz: - url: http://erichorvitz.com - -Estevam Hruschka Jr: - url: http://www2.dc.ufscar.br/~estevam/ - -Chieh-Yang Huang: - url: https://appleternity.github.io/chieh-yang/ - -Chieh-Yang Huang*: - url: https://appleternity.github.io/chieh-yang/ - -Ashish Kapoor: - url: https://www.microsoft.com/en-us/research/people/akapoor/ - -Dan Klein: - url: https://www2.eecs.berkeley.edu/Faculty/Homepages/klein.html - -Jayant Krishnamurthy: - url: http://allenai.org/team/jayantk/ - -Shamit Lal: - url: https://shamitlal.github.io/ - -Ni Lao: - url: http://www.cs.cmu.edu/~nlao/ - -Christopher Lin: - url: https://christopherhlin.com/ - -Kathryn Mazaitis: - url: http://www.cs.cmu.edu/~krivard/ - -Tom Mitchell: - url: http://www.cs.cmu.edu/~tom/ - -Ndapakula Nakashole: - url: http://nakashole.com/ - -Graham Neubig: - url: http://www.phontron.com/ - -Michael Newman: - url: https://www.linkedin.com/in/mike-newman-82a49b5 - -Aleksandr Nisnevich: - url: https://www.linkedin.com/in/alex-nisnevich-514a5836 - -Adam Pauls: - url: https://www.linkedin.com/in/adam-pauls-137054102 - -Barnabás Póczos: - url: http://www.cs.cmu.edu/~bapoczos/ - -Hoifung Poon: - url: https://www.microsoft.com/en-us/research/people/hoifung/ - -Partha Pratim Talukdar: - url: http://talukdar.net/ - -Alan Ritter: - url: http://aritter.github.io/ - -Subhro Roy: - url: https://sroy9.github.io/ - -Mrinmaya Sachan: - url: http://www.mrinmaya.io/ - -Mehdi Samadi: - url: http://www.mehdisamadi.com/ - -Abulhair Saparov: - url: https://asaparov.org/ - -Abulhair Saparov*: - url: https://asaparov.org/ - -Burr Settles: - url: http://burrsettles.com/ - -Richard Shin: - url: https://rshin.github.io/ - -Alexander Smola: - url: https://alex.smola.org/ - -Elias Stengel-Eskin: - url: https://esteng.github.io/ - -George Stoica: - url: https://www.linkedin.com/in/george--stoica/ - -George Stoica*: - url: https://www.linkedin.com/in/george--stoica/ - -Otilia Stretcu: - url: https://otiliastr.github.io/ - -Otilia Stretcu*: - url: https://otiliastr.github.io/ - -Yu Su: - url: https://ysu1989.github.io/ - -Sam Thomson: - url: https://samthomson.com/ - -Hsiao-Yu Fish Tung: - url: https://sfish0101.bitbucket.io/ - -Richard C Wang: - url: http://www.cs.cmu.edu/~rcwang/ - -Joel Welling: - url: http://staff.psc.edu/welling/ - -Derry Wijaya: - url: http://www.cs.cmu.edu/~dwijaya/ - -Jason Wolfe: - url: https://www.linkedin.com/in/w01fe/ - -Bishan Yang: - url: http://www.cs.cmu.edu/~bishan/ - -Pengcheng Yin: - url: https://pcyin.me/ - -Yuchen Zhang: - url: https://zhangyuc.github.io/ - -Chen Zhao: - url: http://www.chenz.umiacs.io/ - -Jiawei Zhou: - url: https://github.com/jzhou316 diff --git a/_data/cv.yml b/_data/cv.yml deleted file mode 100644 index 55ea49f744f5..000000000000 --- a/_data/cv.yml +++ /dev/null @@ -1,283 +0,0 @@ -- title: General Information - type: map - contents: - - name: Full Name - value: Emmanouil Antonios Platanios - - name: Date of Birth - value: 7th July 1991 - - name: Nationality - value: Greek - - name: Languages - value: Greek (native), English (fluent), and German (beginner) - -- title: Research Areas - type: list - contents: - - Machine learning and artificial intelligence with a focus on learning collections of functions, neural cognitive architectures, and applications of AI and ML to natural language processing, robotics, computer vision and finance. - -- title: Education - type: table - contents: - - title: Carnegie Mellon University – Ph.D. in Machine Learning. - year: 2013-2020 - description: - - Awarded the CMU Presidential Fellowship. - - 'GPA: 4.18 (4.0 scale).' - - 'Advisor: Prof. Tom M. Mitchell.' - - 'I worked on the Never Ending Language Learning (NELL) project.' - - 'My thesis work was on Learning Collections of Functions.' - - title: 'I performed research on topics related to self-reflection in machine learning:' - contents: - - I developed multiple methods for using unlabeled data to estimate the accuracies of several different classifiers performing the same task, that I have presented at Uncertainty in Artificial Intelligence (UAI) in 2014, International Conference in Machine Learning (ICML) in 2016, and at Neural Information Processing Systems (NIPS) in 2017. - - I developed a method for performing low-resource and zero-shot multilingual machine translation. - - I am developing a self-reflection mechanism for machine learning systems and I am applying it in NELL. - - I am working on a new framework for learning where agreement among multiple agents is the objective. - - title: Carnegie Mellon University – M.S. in Machine Learning. - year: 2013-15 - description: - - 'GPA: 4.18 (4.0 scale).' - - 'Advisor: Prof. Tom M. Mitchell.' - - 'Thesis: Estimating Accuracy from Unlabeled Data.' - - Master's degree requirements completed while working towards obtaining my Ph.D. in machine learning. - - title: Imperial College London – M.Eng. and ACGI in Electrical and Electronic Engineering. - year: 2009-13 - description: - - Integrated Bachelor's and Master's degree. - - Dean’s List for exceptional academic performance (all four years). - - title: 'Grade: 91.67% (top 1% of class) with 92.37% on the final exams – First-Class Honors Degree.' - contents: - - Equivalent to 4.0 GPA in the USA academic system. - - title: 'Thesis Title: Human Motion Classification Using Statistical Machine Learning Methods.' - contents: - - Awarded the Sir Bruce White prize in engineering for the best final year project. - - title: 'Third Year Summer Research Project: "Bayesian Machine Learning Methodologies for Modeling Time Series with High Volatility".' - contents: - - Volatility modeling and prediction in a multitude of applications with significance both for industry (e.g. finance) and academia. - -- title: Work Experience - type: table - contents: - - title: 'Research Scientist at Scaled Cognition.' - year: 2023-now - description: - - Developing a new generation of rational, controllable AI models deployable as domain experts for grounded, real-world applications. - - title: 'Senior Principal Researcher (L67) at Microsoft Semantic Machines.' - year: 2023 - description: - - Served as a technical leader, managing a team across both research and engineering, and helping set technical direction for the broader organization. I invested heavily in aligning research and engineering, and I worked closely with multiple partner teams at Microsoft to deliver on our objectives, while also helping improve the underlying platform and infrastructure that we leveraged. - - title: 'Principal Researcher (L65) at Microsoft Semantic Machines.' - year: 2022 - description: - - Led the design and development of a system that learns to predict the next user action (e.g., sending an email, opening a file, adding specific people to a calendar invite, etc.) based on what a user and others in their network have been doing. Underlying this system is a novel Foundation Model over user actions. - - title: 'Senior Researcher (L64) at Microsoft Semantic Machines.' - year: 2020-2022 - description: - - 'Manager: Dan Klein, Technical Fellow.' - - Designed and shipped a contextual semantic parser that powers the Semantic Machines conversational AI platform. - - Worked on multiple research projects leading to academic publications at the intersection of natural language processing and machine learning. - - title: 'Research Analyst Consultant at Cubist Systematic Strategies.' - year: 2016-17 - description: - - Worked for the Advanced Methods Groups (AMG) in new machine learning-driven approaches for end-to-end algorithmic trading systems. - - Developed the main pipeline for trading algorithms research and for integrating these algorithms in a new production system. - - title: 'Research Intern at Microsoft Research.' - year: 2015 - description: - - 'Manager: Dr. Eric Horvitz, Distinguished Scientist and Managing Director of Microsoft Research.' - - 'Collaborators: Dr. Hoifung Poon and Dr. Ashish Kapoor.' - - 'First 3 months: Developed a probabilistic logic-based approach for accuracy estimation using unlabeled data, as part of the Literome Project.' - - 'Last 3 months: Active learning amidst logical knowledge.' - - title: 'Co-Founder, President and Chief Technology Officer (CTO) at Holic.' - year: 2010-13 - description: - - Developed an intelligent news reader application. - - Developed algorithms utilizing advanced nonparametric Bayesian models for clustering news articles and for user profiling. - - title: 'Received €400,000 funding from the following investors:' - contents: - - Dr. John Coustas, President & CEO of Danaos Corporation. - - Mr. Leon Yohai, Founder & CEO of ZuluTrade. - - title: 'Founder of Project Protasis – Forest Protection.' - year: 2008-10 - description: - - Developed a forest fire detection and prevention system. - - Developed both hardware and software (involving use of neural networks for recognizing fire and smoke in photos). - - Installed prototype in “Alsos Syggrou”, a wooded area in Athens, funded by the Greek government. - - 'Got patent approved in Greece (Patent #: 20110100016) and international patent pending approval.' - - Interviewed by CNN, as well as several newspapers, magazines and other TV channels, regarding this project. - - Won the 2nd place in the Microsoft Imagine Cup 2009 Greek Finals with this project. - - title: 'Web Designer and Software Developer at Curtainmakers S.A.' - year: 2010 - - title: 'Founder of Project Protasis – Home Automation.' - year: 2007-09 - description: - - Developed a smart home automation system that controls all electrical appliances, heating systems and water systems and aims to reduce domestic energy consumption while making the lives of homeowners as comfortable as possible. - - Developed software, employing several machine learning algorithms. - - Was funded by the Greek government and more specifically, by the Organization of School Buildings. - - Interviewed by NBC, as well as several newspapers, magazines and other TV channels, regarding this project. - - Won the Microsoft Imagine Cup 2008 Greek Finals with this project and represented Greece in the Imagine Cup 2008 Worldwide Finals, in Paris, France, competing against teams from universities, at age of only 16 and having worked without a team or a mentor. - -- title: Patents - type: table - contents: - - title: 'Speculative Execution of Dataflow Program Nodes (US 17/815,904).' - year: 2022 - - title: 'Semantic Parsing of Utterance Using Contractive Paraphrasing (US 17/229,637).' - year: 2021 - -- title: Open Source Projects - type: table - contents: - - title: 'TensorFlow Scala.' - year: 2017-now - description: Machine learning library and API for the TensorFlow framework developed by Google, that is currently being used by multiple researchers and companies (~900 GitHub stars). - - title: 'Swift for TensorFlow.' - year: 2019-20 - description: I was a contributor tp this project, which is a machine learning library and API for the TensorFlow framework developed by Google, and that enables differentiable programming. - - title: 'Symphony MT.' - year: 2018 - description: Machine translation library written in Scala, that supports various models along the whole translation pipeline (i.e., ranging from data preprocessing and vocabulary generation, to multiple encoder and decoder models). - - title: 'Makina.' - year: 2014-16 - description: Machine learning and optimization library written in Java that includes a scalable implementation of the Probabilistic Soft Logic (PSL) framework. - -- title: Honors and Awards - type: table - contents: - - year: 2017 - items: - - 2nd place in the CMU NeuroHackathon. - - year: 2016 - items: - - CMU Presidential Fellowship. - - year: 2010-13 - items: - - Sir Bruce White prize in engineering for the best M.Eng. thesis at Imperial College London. - - Dean's List at Imperial College London, for exceptional academic performance (all four years). - - year: 2010 - items: - - Nominated for the RAE (UK Royal Academy of Engineering) presentation skills award. - - '"Roll of Honor" of the Electrical and Electronic Engineering department of Imperial College London, for the best software design project in the year.' - - year: 2009 - items: - - Congratulatory diploma for my work on "Project Protasis – Home Automation" by UNESCO. - - Honorary plaque by the Greek Minister of Education and Religious Affairs for honoring my country internationally. - - year: 2007-08 - items: - - Full scholarship (of about €12,000) by "Geitonas School", for honoring my school internationally. - - Had a computer science laboratory named after me in “Geitonas School”, for honoring my school internationally. - - Awarded €1,000 by the President of the Greek Parliament, for honoring my country internationally. - - Honorary plaque by the Mayor of my city, Vari, in Greece, for honoring my country internationally. - - Represented Greece in the Microsoft Imagine Cup 2008 Worldwide Finals, in Paris, France, with "Project Protasis - Home Automation". - - 1st place in the Microsoft Imagine Cup 2008 Greek Finals with "Project Protasis - Home Automation", competing against teams from universities, at age of only 16 and having worked without a team or a mentor (also won the 2nd place in the Microsoft Imagine Cup 2009 Greek Finals with "Project Protasis - Forest Protection"). - - year: 2007 - items: - - Certificate of Excellence for the school year 2006-07 from the Greek Ministry of Education and Religious Affairs. - - 3rd place (bronze medal) in the Greek Mathematics Olympiad, organized by the Hellenic Mathematical Society. - - year: 2003-07 - items: - - 11 scholarships and competitions in the fields of mathematics, sciences and computer science. - -- title: Teaching Experience - type: table - contents: - - title: 'Provided support for an advanced graduate-level course on machine learning at Carnegie Mellon University.' - year: 2018 - description: - - 'Class: 10-812 Architectures for Never-Ending Learning.' - - Taught by Prof. Tom Mitchell. - - Gave a couple of lectures and helped with the organization of the class. - - Designed and co-led the implementation of the software testbed used to support the course projects. - - Mentored several students working on class projects. - - title: 'Teaching Assistant for a graduate-level machine learning course at Carnegie Mellon University.' - year: 2014, 16 - description: - - 'Class: 10-701/15-781 Introduction to Machine Learning.' - - Did this for two semesters (taught by Prof. Geoff Gordon and Prof. Aarti Singh in 2014, and Prof. Tom Mitchell in 2016). - - Gave some lectures and some recitation lectures. - - Mentored several groups of students working on class projects. - - Wrote and graded homework assignments and exams. - -- title: Services - type: nested_list - contents: - - title: 'Program Committees' - items: 'NeurIPS (2018-23), TMLR (2023), ACL (2020), JMLR (2020), EMNLP (2018-20), ICML (2019), PLOS-ONE (2018-19), IEEE-TPAMI (2018), and NIPS-AKBC (2016).' - - title: 'Conference Workshops Organized' - items: - - '2019: ICML Adaptive & Multi-Task Learning.' - - '2019: ICLR Learning with Limited Labeled Data.' - - '2017: NIPS Learning with Limited Labeled Data.' - - title: 'University Committees' - items: - - '2018-20: CMU MLD Blog co-founder and editor.' - - '2018-19: CMU AI+ Club co-founder and leadership team member.' - - '2018-19: Doctoral review committee (DRC) for the CMU Machine Learning Department.' - - '2017-18: Speaking skills committee for the CMU Machine Learning Department.' - - '2016-18: Education review committee (ERC) for the CMU Machine Learning Department.' - - '2014-15: Social committee for the CMU Machine Learning Department.' - - title: 'Community Service' - items: - - '2009: Volunteer at the Lavrion refugee center, in Athens, Greece.' - - '2008: Reforestation of mountainside in Rafina, Greece.' - - '2008: Volunteer for the International Baccalaureate Organization (IBO) training workshop.' - - '2008: 13th Annual Underwater and Beach Cleanup in Athens, Greece.' - - '2008: Helped organize the "Christmas Bazaar" (fund raiser project).' - - '2008: Helped organize the "Love Feast" (celebrating family values and fund raising for the victims of forest fires in Greece).' - - '2007: Reforestation in Mani, Greece.' - - '2007: Volunteer at the "AQUA GALA" event for physically challenged children, for the "Hellenic Society for Disabled Children".' - -- title: Major Talks - type: table - contents: - - title: 'Competence-based Curriculum Learning for Neural Machine Translation.' - year: 2019 - description: - - 'North American Chapter of the Association for Computational Linguistics (NAACL) conference.' - - title: 'TensorFlow Scala.' - year: 2018 - description: - - 'Invited talk at Google.' - - title: 'Estimating Accuracy from Unlabeled Data.' - year: 2014-18 - description: - - Neural Information Processing Systems (NIPS) conference. - - International Conference in Machine Learning (ICML) conference. - - Uncertainty in Artificial Intelligence (UAI) conference. - - 'Invited talk at Google.' - - AI Lunch at Stanford University. - - ML Lunch at Carnegie Mellon University. - - title: 'Nonparametric Mixtures of Multi-Output Heteroscedastic Gaussian Processes.' - year: 2012 - description: - - '"Nonparametric Methods in Machine Learning" workshop at NIPS.' - - title: 'Project Protasis - Forest Protection.' - year: 2009 - description: - - Microsoft Hellas Headquarters. - - Ministry of Transportation of the Greek government (the Ministry later funded a pilot program). - - title: 'Project Protasis - Home Automation.' - year: 2008-09 - description: - - Microsoft Hellas Headquarters. - - Louvre Museum in Paris, France, as part of Imagine Cup. - - UNESCO International Conference on Climate Change and Challenges for the Future Generations. - - Organization of School Buildings of the Greek government (later received funding for a pilot program from the Ministry of Education and Religious Affairs). - - 73rd Thessaloniki International Fair. - - Generation Next 0-18 fair, in Athens. - - 4th International Conference on Information and Communication Technologies in Bio and Earth Sciences (HAICTA 2008), in Athens. - -- title: Software Development Skills - type: list - contents: - - 'GitHub: https://github.com/eaplatanios (~1.2k stars from open-source projects).' - - 'Machine Learning Frameworks: PyTorch, TensorFlow.' - - 'High Level Programming Languages: Rust, Python, Scala, Swift, Java, C#, C, C++, Pascal, Prolog, MATLAB, Mathematica, JavaScript, ...' - # - 'Low Level Programming Languages: Intel 80x86 Assembly, ARM Assembly, AVR Assembly.' - # - 'Programming Environments (IDEs): IntelliJ IDEA, Visual Studio, MATLAB, Eclipse, NetBeans, Mathematica, SWI-Prolog IDE, ...' - # - 'Database Systems: PostgreSQL, MS SQL Server, MySQL.' - -- title: Other Interests - type: list - contents: - - 'Sports: Tennis, Squash, Winter Skiing, Basketball, Sailing, and Windsurfing.' - - 'Hobbies: Traveling, Philosophy, and Politics (I also really want to learn to play the Guitar).' diff --git a/_data/venues.yml b/_data/venues.yml deleted file mode 100644 index 949774dbbbfd..000000000000 --- a/_data/venues.yml +++ /dev/null @@ -1,38 +0,0 @@ -ACL: - url: https://aclanthology.org/venues/acl/ - -arXiv: - url: https://arxiv.org - -CMU: - url: http://www.ml.cmu.edu - -ICML: - url: http://www.icml.cc - -ICLR: - url: https://iclr.cc/ - -NeurIPS: - url: http://www.nips.cc - -UAI: - url: http://www.auai.org - -AAAI: - url: http://www.aaai.org - -PAMI: - url: http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?reload=true&punumber=34 - -CACM: - url: https://cacm.acm.org - -EMNLP: - url: https://aclanthology.org/venues/emnlp/ - -NAACL: - url: https://aclanthology.org/venues/naacl/ - -KDD: - url: https://www.kdd.org/ diff --git a/_layouts/page.html b/_layouts/page.html deleted file mode 100644 index 95e4094a4d8e..000000000000 --- a/_layouts/page.html +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: default ---- - -{% if page.title != "about" %} -

{{ page.title }}

-
{{ page.description }}
-{% endif %} - -{{ content }} diff --git a/_layouts/project.html b/_layouts/project.html deleted file mode 100644 index d41d3572bb3c..000000000000 --- a/_layouts/project.html +++ /dev/null @@ -1,25 +0,0 @@ ---- -layout: default ---- - - - -
-
-

{{ page.title }}

-
{{ page.description }}
-
- -
- -
- {{ content }} -
diff --git a/_layouts/publication.html b/_layouts/publication.html deleted file mode 100644 index c77bed4f9b8e..000000000000 --- a/_layouts/publication.html +++ /dev/null @@ -1,136 +0,0 @@ ---- ---- - -
-
- {% if entry.abbr %} - {% if site.data.venues[entry.abbr] %} - - {{entry.abbr}} - - {% else %} - - {{entry.abbr}} - - {% endif %} - {% endif %} -
-
- {% assign entry_id = entry.key | replace: ':', '-' %} -
-
{{entry.title}}.
-
- {% for author in entry.author_array %} - {% assign name = author.first | append: ' ' | append: author.last %} - {% if forloop.length == 1 %} - {% if author.last contains site.scholar.last_name %} - {{author.first}} {{author.last}}. - {% else %} - {% if site.data.coauthors[name] %} - {{author.first}} {{author.last}}. - {% else %} - {{author.first}} {{author.last}}, - {% endif %} - {% endif %} - {% else %} - {% unless forloop.last %} - {% if author.last contains site.scholar.last_name %} - {{author.first}} {{author.last}}, - {% else %} - {% if site.data.coauthors[name] %} - {{author.first}} {{author.last}}, - {% else %} - {{author.first}} {{author.last}}, - {% endif %} - {% endif %} - {% else %} - and - {% if author.last == site.scholar.last_name %} - {{author.first}} {{author.last}}. - {% else %} - {% if site.data.coauthors[name] %} - {{author.first}} {{author.last}}. - {% else %} - {{author.first}} {{author.last}} - {% endif %} - {% endif %} - {% endunless %} - {% endif %} - {% endfor %} -
- -
-

- {% if entry.type == "article" %} - In {{entry.journal}} - {% elsif entry.type == "inproceedings" %} - In {{entry.booktitle}} - {% elsif entry.type == "thesis" %} - In {{entry.booktitle}} - {% elsif entry.type == "eprint" %} - In {{entry.booktitle}} ({{entry.eprint}}) - {% endif %} - {% if entry.year %} - {{entry.year}}. - {% else %} - . - {% endif %} -

-
- - {% if entry.note %} -

{{entry.note}}!

- {% endif %} - -
- {% if entry.abstract %} - - {% endif %} - {% if entry.html %} - HTML - {% endif %} - {% if entry.pdf %} - PDF - {% endif %} - {% if entry.supp %} - Supplementary - {% endif %} - {% if entry.addendum %} - Addendum - {% endif %} - {% if entry.poster %} - Poster - {% endif %} - {% if entry.slides %} - Slides - {% endif %} - {% if entry.code %} - Code - {% endif %} - {% if entry.arxiv %} - arXiv - {% endif %} - -
- - {% if entry.abstract %} -
-
-
- {{ entry.abstract }} -
-
-
- {% endif %} -
-
-
diff --git a/_news/16-07-29 - Presidential Fellowship.md b/_news/16-07-29 - Presidential Fellowship.md deleted file mode 100644 index 3fed0dec4215..000000000000 --- a/_news/16-07-29 - Presidential Fellowship.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -date: 2016-07-29 07:59:00-0400 ---- - -Received the Carnegie Mellon University Presidential Fellowship. diff --git a/_news/17-05-26 - TF Scala.md b/_news/17-05-26 - TF Scala.md deleted file mode 100644 index d38be5298e5d..000000000000 --- a/_news/17-05-26 - TF Scala.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -date: 2017-05-26 07:59:00-0400 ---- - -Open sourced the TensorFlow Scala library. diff --git a/_news/17-11-20 - LLD NIPS.md b/_news/17-11-20 - LLD NIPS.md deleted file mode 100644 index 922043f4de31..000000000000 --- a/_news/17-11-20 - LLD NIPS.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -date: 2017-11-20 11:30:00-0400 ---- - -Organizing the [Learning with Limited Labeled Data](https://lld-workshop.github.io) workshop at NIPS 2017. diff --git a/_news/17-12-01 - NIPS.md b/_news/17-12-01 - NIPS.md deleted file mode 100644 index 89e66b5cbc73..000000000000 --- a/_news/17-12-01 - NIPS.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -date: 2017-12-01 11:30:00-0400 ---- - -Attending NIPS 2017 and presenting [some of our work on estimating accuracy]({{site.url}}/{{site.baseurl}}/assets/pdf/platanios_2017_logic/paper.pdf). diff --git a/_news/18-10-25 - TF Scala Type Safety.md b/_news/18-10-25 - TF Scala Type Safety.md deleted file mode 100644 index 3ce04e34e5cd..000000000000 --- a/_news/18-10-25 - TF Scala Type Safety.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -date: 2018-10-25 07:59:00-0400 ---- - -Released a new version of TensorFlow Scala that finally introduces type-safety throughout the graph construction process including autodiff. diff --git a/_news/19-01-14 - MT-CPG Blog Post.md b/_news/19-01-14 - MT-CPG Blog Post.md deleted file mode 100644 index cc4da96fd982..000000000000 --- a/_news/19-01-14 - MT-CPG Blog Post.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -date: 2019-01-14 07:59:00-0400 ---- - -Published a blog post on contextual parameter generation for machine translation. diff --git a/_news/19-05-02 - LLD ICLR.md b/_news/19-05-02 - LLD ICLR.md deleted file mode 100644 index 5595cae5cd4d..000000000000 --- a/_news/19-05-02 - LLD ICLR.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -date: 2019-05-02 11:30:00-0400 ---- - -Organizing the [Learning with Limited Labeled Data](https://lld-workshop.github.io) workshop at ICLR 2019. diff --git a/_news/19-05-03 - AMTL ICML.md b/_news/19-05-03 - AMTL ICML.md deleted file mode 100644 index d2f2af1b61fe..000000000000 --- a/_news/19-05-03 - AMTL ICML.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -date: 2019-05-03 11:30:00-0400 ---- - -Organizing the [Adaptive & Multi-Task Learning](https://www.amtl-workshop.org) workshop at ICML 2019. diff --git a/_news/20-04-13 - Microsoft Semantic Machines.md b/_news/20-04-13 - Microsoft Semantic Machines.md deleted file mode 100644 index 25083d2644f0..000000000000 --- a/_news/20-04-13 - Microsoft Semantic Machines.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -date: 2020-04-13 11:30:00-0400 ---- - -Joined [Microsoft Semantic Machines](https://www.microsoft.com/en-us/research/group/semantic-machines/) as a Senior Reseacher. diff --git a/_news/23-04-03 - Scaled Cognition.md b/_news/23-04-03 - Scaled Cognition.md deleted file mode 100644 index eb8b60816507..000000000000 --- a/_news/23-04-03 - Scaled Cognition.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -date: 2023-04-03 11:30:00-0400 ---- - -Joined [Scaled Cognition](https://scaledcognition.com/) as a Research Scientist. diff --git a/_pages/about.md b/_pages/about.md deleted file mode 100644 index 80d29f063c41..000000000000 --- a/_pages/about.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -layout: page -permalink: / -title: about -nav: about ---- - -
- -
- -
-

Anthony Platanios

-
-
-
- Research Scientist
- Scaled Cognition -
-
- -
-
- - - -
- I am a research scientist at Scaled Cognition and a member of the initial team, where we are developing a new generation of rational, controllable AI models deployable as domain experts for grounded, real-world applications. -

- Previously, I was a Senior Principal Researcher at Microsoft Semantic Machines, where I led the design and development of a system that aims to predict the next user action (e.g., sending an email, opening a file, adding specific people to a calendar invite, etc.) based on what a user and others in their network have been doing (underlying this system was a novel Foundation Model over user actions). I managed a team across both research and engineering, and helped set the technical direction for the broader organization. I invested heavily in aligning research and engineering, and I worked closely with multiple partner teams at Microsoft to deliver on our objectives, while also helping improve the underlying platform and infrastructure that we leveraged. Earlier on in my career at Microsoft I also served as a key contributor to the research and development of the Semantic Machines conversational AI platform which handled user requests by using a neural network to synthesize computer programs in a new proprietary programming language. I designed and shipped the program synthesis neural network (i.e., a contextual semantic parser) that powers the platform. -

- Prior to that, I was a PhD student in the Machine Learning Department of the School of Computer Science at Carnegie Mellon University. My advisor was Tom Mitchell and I worked on Never-Ending Learning. My PhD thesis on learning collections of functions can be found here. Throughout my PhD I also worked on multiple other projects related to artificial intelligence and machine learning. -

- Before I joined CMU, I graduated with an M.Eng. in Electrical and Electronic Engineering from Imperial College London. For my Master's thesis I proposed a way to use topic modelling methods in order to perform human motion classification. -
- - -
-

news

- {% assign news = site.news | reverse %} - {% for item in news limit: site.news_limit %} -
-
- - {{ item.date | date: "%b %-d, %Y" }} - -
-
-

{{ item.content | remove: '

' | remove: '

' | emojify }}

-
-
- {% endfor %} -
diff --git a/_pages/cv.md b/_pages/cv.md deleted file mode 100644 index cbc01e737e7e..000000000000 --- a/_pages/cv.md +++ /dev/null @@ -1,111 +0,0 @@ ---- -layout: page -permalink: /cv/ -title: cv -nav: cv ---- - - -
- - - -
- -
- {% for entry in site.data.cv %} -
-

{{ entry.title }}

-
- {% if entry.type == "list" %} -
    - {% for content in entry.contents %} -
  • {{ content}}
  • - {% endfor %} -
- {% elsif entry.type == "map" %} - - {% for content in entry.contents %} - - - - - {% endfor %} -
{{ content.name }}{{ content.value }}
- {% elsif entry.type == "nested_list" %} -
    - {% for content in entry.contents %} -
  • -
    {{ content.title }}
    - {% if content.items %} -
      - {% for subitem in content.items %} -
    • {{ subitem }}
    • - {% endfor %} -
    - {% endif %} -
  • - {% endfor %} -
- {% elsif entry.type == "table" %} -
    - {% for content in entry.contents %} -
  • -
    - {% if content.year %} -
    - - {{ content.year }} - -
    - {% endif %} -
    - {% if content.title %} -
    {{content.title}}
    - {% endif %} - {% if content.description %} -
      - {% for item in content.description %} -
    • - {% if item.contents %} - {{ item.title }} -
        - {% for subitem in item.contents %} -
      • {{ subitem }}
      • - {% endfor %} -
      - {% else %} - {{ item }} - {% endif %} -
    • - {% endfor %} -
    - {% endif %} - {% if content.items %} -
      - {% for item in content.items %} -
    • - {% if item.contents %} - {{ item.title }} -
        - {% for subitem in item.contents %} -
      • {{ subitem }}
      • - {% endfor %} -
      - {% else %} - {{ item }} - {% endif %} -
    • - {% endfor %} -
    - {% endif %} -
    -
    -
  • - {% endfor %} -
- {% endif %} -
-
- {% endfor %} -
diff --git a/_pages/projects.md b/_pages/projects.md deleted file mode 100644 index eeb5db14e3cf..000000000000 --- a/_pages/projects.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -layout: page -title: projects -nav: projects -permalink: /projects/ -description: some of the projects I have worked on ---- - -
- {% assign sorted_projects = site.projects | sort: "importance" | reverse %} - {% for project in sorted_projects %} -
- {% if project.redirect %} - - {% else %} - - {% endif %} -
- project thumbnail -
-
{{ project.title }}
-

{{ project.description }}

-
- {% if project.wordpress %} - - {% endif %} - {% if project.github %} - {% assign github_id = project.title | append: project.github | replace: '/', '-' | replace: ' ', '-' %} -
-
- -
- - - - -
- {% endif %} -
-
-
- -
- {% endfor %} -
diff --git a/_pages/publications.md b/_pages/publications.md deleted file mode 100644 index f17082465c95..000000000000 --- a/_pages/publications.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: page -permalink: /publications/ -title: publications -nav: publications -description: * denotes equal contribution and joint lead authorship. -years: [2022, 2021, 2020, 2019, 2018, 2017, 2016, 2015, 2014, 2012] ---- - -{% for y in page.years %} -
-
- {% bibliography -f papers -q @*[year={{y}}]* %} -
-
-

{{y}}

-
-
-{% endfor %} diff --git a/_pages/teaching.md b/_pages/teaching.md deleted file mode 100644 index d4d11af80bee..000000000000 --- a/_pages/teaching.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -layout: page -permalink: /teaching/ -title: teaching -nav: teaching -description: classes, workshops, and teaching material ---- - -

carnegie mellon university

- -
-
-
-
-
Introduction to Machine Learning
-
-
- - 10-701 - -
-
-
Spring 2016: Guest Lecturer / Teaching Assistant
- -
-
- -
-
-
-
-
Introduction to Machine Learning
-
-
- - 10-701 - -
-
-
Fall 2014: Teaching Assistant
- -
-
- -

random stuff

- -
- Some notes on writing Python libraries. -
diff --git a/_projects/accuracy_estimation.md b/_projects/accuracy_estimation.md deleted file mode 100644 index e246f2915618..000000000000 --- a/_projects/accuracy_estimation.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: project -title: estimating accuracy from unlabeled data -nav: projects -importance: 110 -description: estimating accuracies of classifiers using only unlabeled data -img: /assets/img/accuracy_estimation_logo.svg -# github: https://github.com/eaplatanios/makina ---- diff --git a/_projects/active_learning.md b/_projects/active_learning.md deleted file mode 100644 index 0723c811bbec..000000000000 --- a/_projects/active_learning.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: project -title: active learning -nav: projects -importance: 0 -description: active learning amidst logical knowledge -img: /assets/img/active_learning/active_learning_logo.svg ---- diff --git a/_projects/contextual_parameter_generation.md b/_projects/contextual_parameter_generation.md deleted file mode 100644 index c205b151387b..000000000000 --- a/_projects/contextual_parameter_generation.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: project -title: contextual parameter generation -nav: projects -importance: 90 -description: enabling neural networks to better perform multi-task learning and more -img: /assets/img/contextual_parameter_generation.svg -wordpress: https://blog.ml.cmu.edu/2019/01/14/contextual-parameter-generation-for-universal-neural-machine-translation/ ---- \ No newline at end of file diff --git a/_projects/curriculum_learning.md b/_projects/curriculum_learning.md deleted file mode 100644 index f5fc8716c833..000000000000 --- a/_projects/curriculum_learning.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: project -title: curriculum learning -nav: projects -description: exploring how to more efficiently teach neural networks -img: /assets/img/curriculum_learning.svg -github: eaplatanios/symphony-mt ---- diff --git a/_projects/jelly_bean_world.md b/_projects/jelly_bean_world.md deleted file mode 100644 index b213f546eb2f..000000000000 --- a/_projects/jelly_bean_world.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: project -title: jelly-bean world -nav: projects -importance: 50 -description: a novel environment for experimenting with never-ending learning -img: /assets/img/jelly_bean_world.svg -github: eaplatanios/jelly-bean-world ---- diff --git a/_projects/mld_blog.md b/_projects/mld_blog.md deleted file mode 100644 index 6b5bbb30a205..000000000000 --- a/_projects/mld_blog.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: project -title: cmu mld blog -nav: projects -importance: 70 -description: editor and founding member for the CMU machine learning department blog -img: /assets/img/cmu_mld_blog.svg -redirect: https://blog.ml.cmu.edu ---- diff --git a/_projects/nell.md b/_projects/nell.md deleted file mode 100644 index dcbc26e46980..000000000000 --- a/_projects/nell.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: project -title: never-ending learning -nav: projects -importance: 55 -description: extracting a knowledge-base from the web, while constantly improving at it -img: /assets/img/nell/nell_logo.svg ---- - - diff --git a/_projects/tensorflow_scala.md b/_projects/tensorflow_scala.md deleted file mode 100644 index 429ceb3ffed2..000000000000 --- a/_projects/tensorflow_scala.md +++ /dev/null @@ -1,145 +0,0 @@ ---- -layout: project -title: TensorFlow Scala -nav: projects -importance: 75 -description: type-safe linear algebra, tensors, and neural networks -img: /assets/img/tensorflow_for_scala_logo.svg -github: eaplatanios/tensorflow_scala ---- - -This library is a Scala API for [https://www.tensorflow.org](https://www.tensorflow.org). It attempts to provide most of -the functionality provided by the official Python API, while at the same type being strongly-typed and adding some new -features. It is a work in progress and a project I started working on for my personal research purposes. Much of the API -should be relatively stable by now, but things are still likely to change. That is why there is no official release of -this library yet. - -Please refer to the main website for documentation and tutorials. Here -are a few useful links: - - - [Installation](https://eaplatanios.github.io/tensorflow_scala/installation.html) - - [Getting Started Guide](https://eaplatanios.github.io/tensorflow_scala/getting_started.html) - - [Library Architecture](https://eaplatanios.github.io/tensorflow_scala/architecture.html) - - [Contributing](https://eaplatanios.github.io/tensorflow_scala/contributing.html) - -## Main Features - -- Easy manipulation of tensors and computations involving tensors (similar to NumPy in Python): - - ```scala - val t1 = Tensor( 1.2, 4.5) - val t2 = Tensor(-0.2, 1.1) - t1 + t2 == Tensor(1.0, 5.6) - ``` - -- High-level API for creating, training, and using neural networks. For example, the following code shows how simple it - is to train a multi-layer perceptron for MNIST using TensorFlow for Scala. Here we omit a lot of very powerful - features such as summary and checkpoint savers, for simplicity, but these are also very simple to use. - - ```scala - import org.platanios.tensorflow.api._ - import org.platanios.tensorflow.api.tf.learn._ - import org.platanios.tensorflow.data.loaders.MNISTLoader - - // Load and batch data using pre-fetching. - val dataSet = MNISTLoader.load(Paths.get("/tmp")) - val trainImages = DatasetFromSlices(dataSet.trainImages) - val trainLabels = DatasetFromSlices(dataSet.trainLabels) - val trainData = - trainImages.zip(trainLabels) - .repeat() - .shuffle(10000) - .batch(256) - .prefetch(10) - - // Create the MLP model. - val input = Input(UINT8, Shape(-1, 28, 28)) - val trainInput = Input(UINT8, Shape(-1)) - val layer = Flatten() >> Cast(FLOAT32) >> - Linear(128, name = "Layer_0") >> ReLU(0.1f) >> - Linear(64, name = "Layer_1") >> ReLU(0.1f) >> - Linear(32, name = "Layer_2") >> ReLU(0.1f) >> - Linear(10, name = "OutputLayer") - val trainingInputLayer = Cast(INT64) - val loss = SparseSoftmaxCrossEntropy() >> Mean() - val optimizer = GradientDescent(1e-6) - val model = Model(input, layer, trainInput, trainingInputLayer, loss, optimizer) - - // Create an estimator and train the model. - val estimator = Estimator(model) - estimator.train(trainData, StopCriteria(maxSteps = Some(1000000))) - ``` - - And by changing a few lines to the following code, you can get checkpoint capability, summaries, and seamless - integration with TensorBoard: - - ```scala - loss = loss >> tf.learn.ScalarSummary("Loss") // Collect loss summaries for plotting - val summariesDir = Paths.get("/tmp/summaries") // Directory in which to save summaries and checkpoints - val estimator = Estimator(model, Configuration(Some(summariesDir))) - estimator.train( - trainData, StopCriteria(maxSteps = Some(1000000)), - Seq( - SummarySaverHook(summariesDir, StepHookTrigger(100)), // Save summaries every 1000 steps - CheckpointSaverHook(summariesDir, StepHookTrigger(1000))), // Save checkpoint every 1000 steps - tensorBoardConfig = TensorBoardConfig(summariesDir)) // Launch TensorBoard server in the background - ``` - - If you now browse to `https://127.0.0.1:6006` while training, you can see the training progress: - -
- tensorboard_mnist_example_plot -
- -- Low-level graph construction API, similar to that of the Python API, but strongly typed wherever possible: - - ```scala - import org.platanios.tensorflow.api._ - - val inputs = tf.placeholder(FLOAT32, Shape(-1, 10)) - val outputs = tf.placeholder(FLOAT32, Shape(-1, 10)) - val predictions = tf.createWith(nameScope = "Linear") { - val weights = tf.variable("weights", FLOAT32, Shape(10, 1), tf.zerosInitializer) - tf.matmul(inputs, weights) - } - val loss = tf.sum(tf.square(predictions - outputs)) - val optimizer = tf.train.AdaGrad(1.0) - val trainOp = optimizer.minimize(loss) - ``` - -- Numpy-like indexing/slicing for tensors. For example: - - ```scala - tensor(2 :: 5, ---, 1) // is equivalent to numpy's 'tensor[2:5, ..., 1]' - ``` - -- Efficient interaction with the native library that avoids unnecessary copying of data. All tensors are created and - managed by the native TensorFlow library. When they are passed to the Scala API (e.g., fetched from a TensorFlow - session), we use a combination of weak references and a disposing thread running in the background. Please refer to - [`Disposer.scala`](https://github.com/eaplatanios/tensorflow_scala/blob/master/modules/api/src/main/scala/org/platanios/tensorflow/api/utilities/Disposer.scala), - for the implementation. - -## Funding - -Funding for the development of this library has been generously provided by the following sponsors: - -
- - - - - - - - - - - -
- cmu_logo - - cmu_logo - - cmu_logo -
CMU Presidential Fellowship
awarded to
Emmanouil Antonios Platanios
National Science Foundation
Grant #: IIS1250956
Air Force Office of Scientific Research
Grant #: FA95501710218
-
diff --git a/_sass/_base.scss b/_sass/_base.scss deleted file mode 100644 index 04e68ffb9806..000000000000 --- a/_sass/_base.scss +++ /dev/null @@ -1,307 +0,0 @@ - -/** Variables ********************************************** -$base-font-family: Helvetica, sans-serif; -$base-font-size: 15px; -$base-line-height: 1.5em; -$horizontal-spacing-unit: 50px; -$vertical-spacing-unit: 40px; -$nav-height: 56px; - -/* portfolio tinkering */ -$img_spacing: 5px; -$img_height: 275px; -$caption_font_size: 12px; -$caption_color: #3e4551; - -/* COLORS */ -$red: #FF3636; -$orange: #F29105; -$blue: #2698BA; -$green: #11D68B; -$lime_green: #B7D12A; -$purple: #B509AC; -$brown_orange: #C68646; - - -$grey-color-dark: #333; /* footer */ -$grey-color-light: #ddd; /* navigation bar border */ -$text-color: rgb(60, 72, 88); - -/* Set theme color *************************/ -$theme-color: #b71c1c; -$background-color: #fdfdfd; - -/************************************************************/ - -.badge-notify { - background: $theme-color !important; -} - -body { - color: $text-color; - background-color: $background-color; - -webkit-text-size-adjust: 100%; -} - -.breadcrumb { - color: $text-color; - background-color: $background-color; -} - -.table { - color: $text-color; -} - -.navbar a { - color: $text-color !important; -} - -footer { - a { - color: $grey-lighten-5; - } - - a:hover { - color: $theme-color; - } -} - -.title { - font-family: "Roboto Slab", "Times New Roman", serif; -} - -// Links - -a { - color: $theme-color; - text-decoration: none; - - &:hover { - text-decoration: none; - } -} - -.plain-link .fa { - color: #747373; -} - -.navbar-brand a { - color: #f8f9fa !important; -} - -.navbar-active a { - color: $theme-color !important; -} - -.arrow-icon { - color: #90a4ae; - background: #90a4ae; - background-clip: text; - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - display: initial; - - &:hover { - color: lighten(#90a4ae, 20%); - background: lighten(#90a4ae, 20%); - background-clip: text; - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - text-decoration: none; - } -} - -.gm-icon { - background: rgb(200, 78, 63); - background-clip: text; - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - display: initial; - - &:hover { - background: lighten(rgb(200, 78, 63), 20%); - background-clip: text; - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - text-decoration: none; - } -} - -.gs-icon { - background: rgb(80, 134, 236); - background-clip: text; - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - display: initial; - - &:hover { - background: lighten(rgb(80, 134, 236), 20%); - background-clip: text; - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - text-decoration: none; - } -} - -.gh-icon { - color: rgb(37, 41, 46); - background: rgb(37, 41, 46); - background-clip: text; - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - display: initial; - - &:hover { - color: lighten(rgb(37, 41, 46), 20%); - background: lighten(rgb(37, 41, 46), 20%); - background-clip: text; - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - text-decoration: none; - } -} - -.li-icon { - background: rgb(14, 118, 168); - background-clip: text; - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - display: initial; - - &:hover { - background: lighten(rgb(14, 118, 168), 20%); - background-clip: text; - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - text-decoration: none; - } -} - -.fb-icon { - background: rgb(59, 89, 152); - background-clip: text; - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - display: initial; - - &:hover { - background: lighten(rgb(59, 89, 152), 20%); - background-clip: text; - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - text-decoration: none; - } -} - -.tw-icon { - background: rgb(29, 161, 242); - background-clip: text; - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - display: initial; - - &:hover { - background: lighten(rgb(29, 161, 242), 20%); - background-clip: text; - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - text-decoration: none; - } -} - -.wp-icon { - color: rgb(33, 117, 155); - background: rgb(33, 117, 155); - background-clip: text; - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - display: initial; - - &:hover { - color: lighten(rgb(33, 117, 155), 20%); - background: lighten(rgb(33, 117, 155), 20%); - background-clip: text; - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - text-decoration: none; - } -} - -.cv h3 { - color: $theme-color; -} - -.bibliography .abbr a { - &:hover { - background: #ff4444 !important; - } -} - -progress { - /* Reset the appearance */ - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - - /* Get rid of the default border in Firefox/Opera. */ - border: none; - - /* Progress bar container for Firefox/IE10+ */ - background-color: transparent; - - /* Progress bar value for IE10+ */ - color: $theme-color; -} - -progress::-webkit-progress-bar { - background-color: transparent; -} - -progress::-webkit-progress-value { - background-color: $theme-color; -} - -progress::-moz-progress-bar { - background-color: $theme-color; -} - -.progress-container { - background-color: transparent; -} - -.progress-bar { - background-color: $theme-color; -} - -// Publications - -.bibliography-year { - color: #ddd; - text-align: right; -} - -.bibliography { - li { - .title { - font-weight: bolder; - } - - .author { - a { - color: $text-color; - border-bottom: 1px dashed; - - &:hover { - border-bottom-style: solid; - text-decoration: none; - } - } - - nobr > em { - font-weight: bold; - font-style: normal; - color: $theme-color; - } - } - } -} diff --git a/_sass/_layout.scss b/_sass/_layout.scss deleted file mode 100644 index 2b2723baf41f..000000000000 --- a/_sass/_layout.scss +++ /dev/null @@ -1,201 +0,0 @@ -@import 'mdb/mdb'; -@import '_mixins'; - -$max-page-width: 800px; - -body { - // Padding for the navigation bar. - padding-top: 56px; - padding-bottom: 70px; -} - -.navbar { - margin-right: auto; - margin-left: auto; - max-width: 100%; - - .container { - margin-right: auto; - margin-left: auto; - max-width: $max-page-width; - } -} - -.container-fluid { - margin-right: auto; - margin-left: auto; - max-width: $max-page-width; -} - -.content { - @extend .container-fluid, .mt-4; -} - -footer { - margin-right: auto; - margin-left: auto; - width: 100%; - font-size: 72%; - padding: 2px; - position: fixed; - left: 0px; - bottom: 0px; - width: 100%; - - text-align: center !important; - box-shadow: $z-depth-1; -} - -// Progress Bar - -progress { - // Positioning - position: fixed; - left: 0; - top: 56px; - z-index: 10; - - // Dimensions - width: 100%; - height: 5px; -} - -.progress-container { - display: block; - position: fixed; - left: 0; - top: 56px; - width: 100%; - height: 5px; -} - -.progress-bar { - display: block; - width: 0%; - height: inherit; -} - -.profile-img { - @include img-fluid; - @include rounded-circle; - @include shadow; - - max-width: 200px; -} - -.contact-icon { - display: block; - font-size: 35px; -} - -.news { - .date { - width: 85px; - } - - .text p, .text a { - padding-left: .2em; - } -} - -/* Projects */ - -@mixin project-icon { - display: block; - font-size: 40px; - margin-bottom: -0.3em; -} - -.project-card { - // The following is needed for the case of a single column where - // some cards may end up being narrower than others. - @include make-col-ready(); - - // 1-column to 2-column to 3-column arrangement. - @include make-col(12); - - @include media-breakpoint-up(sm) { - @include make-col(6); - } - - @include media-breakpoint-up(md) { - @include make-col(4); - } - - .card { - @include hoverable; - @include mb(4); - @include p(0); - } - - .wordpress-icon { - @include project-icon; - - @include mt(2); - @include ml(-1); - @include mr(2); - @include p(0); - - .icon { - @include mr(1); - } - } - - .github-icon { - @include mt(2); - @include mb(-4); - @include ml(-1); - @include mr(2); - @include p(0); - - .icon { - @include project-icon; - @include mr(1); - } - - .stars { - @include badge; - @include theme-badge; - - position: relative; - top: -50px; - left: 20px; - } - } -} - -/* Publications */ - -.bibliography { - padding: 0em; - - .abbr span { - width: 65px; - } - - li { - list-style: none; - - .title { - font-size: 16px; - } - - .author { - font-size: 12px; - } - - .periodical { - font-size: 12px; - line-height: 1.2em; - margin-bottom: 5px; - } - - .abstract { - font-size: 12px; - } - - .badge { - font-size: 10px; - } - } -} diff --git a/_sass/_mixins.scss b/_sass/_mixins.scss deleted file mode 100644 index 43fc6c834763..000000000000 --- a/_sass/_mixins.scss +++ /dev/null @@ -1,128 +0,0 @@ -@import 'mdb/mdb'; -@import '_base'; - -@function map-get-or-key($map, $key) { - @if map-has-key($map, $key) or map-has-key($map, -$key) { - @if $key != 'auto' and type-of($key) == 'number' and $key < 0 { - @return 0 - map-get($map, -$key); - } @else { - @return map-get($map, $key); - } - } @else if type-of($key) == 'string' { - @return unquote($key); - } @else { - @return $key; - } -} - -@function bsize($key) { - @return map-get-or-key($spacers, $key); -} - -@mixin m($space) { - margin: bsize($space); -} - -@mixin mt($space) { - margin-top: bsize($space); -} - -@mixin mb($space) { - margin-bottom: bsize($space); -} - -@mixin ml($space) { - margin-left: bsize($space); -} - -@mixin mr($space) { - margin-right: bsize($space); -} - -@mixin p($space) { - padding: bsize($space); -} - -@mixin pt($space) { - padding-top: bsize($space); -} - -@mixin pb($space) { - padding-bottom: bsize($space); -} - -@mixin pl($space) { - padding-left: bsize($space); -} - -@mixin pr($space) { - padding-right: bsize($space); -} - -@mixin mx($space) { - @include ml($space); - @include mr($space); -} - -@mixin my($space) { - @include mt($space); - @include mb($space); -} - -@mixin px($space) { - @include pl($space); - @include pr($space); -} - -@mixin py($space) { - @include pt($space); - @include pb($space); -} - -@mixin rounded-circle { - border-radius: 50% !important; -} - -@mixin shadow { - box-shadow: $box-shadow !important; -} - -@mixin badge { - display: inline-block; - padding: $badge-padding-y $badge-padding-x; - @include font-size($badge-font-size); - font-weight: $badge-font-weight; - line-height: 1; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - @include border-radius($badge-border-radius); - @include transition($badge-transition); - - @at-root a#{&} { - @include hover-focus { - text-decoration: none; - } - } - - // Empty badges collapse automatically - &:empty { - display: none; - } -} - -@mixin theme-badge { - background-color: $theme-color !important; - color: set-notification-text-color($theme-color) !important; -} - -$transition-hoverable: all .2s ease-in-out; - -@mixin hoverable { - transition: $transition-hoverable; - - &:hover { - box-shadow: $z-depth-2; - transition: $transition-hoverable; - } -} diff --git a/_sass/_style.scss b/_sass/_style.scss deleted file mode 100644 index f323a5262ca4..000000000000 --- a/_sass/_style.scss +++ /dev/null @@ -1,33 +0,0 @@ -@import 'mdb/mdb'; - -$theme-color: #b71c1c; -$background-color: #fdfdfd; - -body { - background-color: $background-color; -} - -footer { - color: $dark; - background-color: $background-color; -} - -.card, .list-group-item { - background-color: $background-color; -} - -.news { - a { - color: $theme-color; - - &:hover { - text-decoration: underline; - } - } -} - -.project-card { - .card-body { - border-top: 1px solid rgba(60, 72, 88, 0.2); - } -} diff --git a/_sass/_syntax-highlighting.scss b/_sass/_syntax-highlighting.scss deleted file mode 100644 index 1ac16d8c33a5..000000000000 --- a/_sass/_syntax-highlighting.scss +++ /dev/null @@ -1,106 +0,0 @@ -pre, code { - font-family: 'Source Code Pro', monospace; - font-weight: normal; - font-size: 13px; - line-height: 1.3em; -} - -/*background color*/ -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - color: #707880 !important; - background: #f7f7f7 !important; - border: 1px solid #E3E2E3 !important; - border-radius: 2px !important; -} - -/*selection color*/ -.hljs::selection, -.hljs span::selection { - background: #f7f7f7; -} - -.hljs::-moz-selection, -.hljs span::-moz-selection { - background: #f7f7f7; -} - -/*foreground color*/ -.hljs { - color: #707880; -} - -/*color: fg_yellow*/ -.hljs-title, -.hljs-name { - color: #f0c674; -} - -/*color: fg_comment*/ -.hljs-comment, -.hljs-meta, -.hljs-meta .hljs-keyword { - color: #707880; -} - -/*color: fg_red*/ -.hljs-number, -.hljs-symbol, -.hljs-literal, -.hljs-deletion, -.hljs-link { - color: #cc6666 -} - -/*color: fg_green*/ -.hljs-string, -.hljs-doctag, -.hljs-addition, -.hljs-regexp, -.hljs-selector-attr, -.hljs-selector-pseudo { - color: #b5bd68; -} - -/*color: fg_purple*/ -.hljs-attribute, -.hljs-code, -.hljs-selector-id { - color: #b294bb; -} - -/*color: fg_blue*/ -.hljs-keyword, -.hljs-selector-tag, -.hljs-bullet, -.hljs-tag { - color: #81a2be; -} - -/*color: fg_aqua*/ -.hljs-subst, -.hljs-variable, -.hljs-template-tag, -.hljs-template-variable { - color: #8abeb7; -} - -/*color: fg_orange*/ -.hljs-type, -.hljs-built_in, -.hljs-builtin-name, -.hljs-quote, -.hljs-section, -.hljs-selector-class { - color: #de935f; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} diff --git a/_sass/_variables.scss b/_sass/_variables.scss deleted file mode 100644 index 11bcbc7264a7..000000000000 --- a/_sass/_variables.scss +++ /dev/null @@ -1,159 +0,0 @@ -/******************************************************************************/ - -// Typography -$base-font-size: 16px !default; -$small-font-size: 0.875rem !default; -$bold-font-weight: bold !default; -$font-family: Helvetica, Arial, sans-serif !default; -$line-height: 1.5 !default; -$heading-font-family: Helvetica, sans-serif !default; -$heading-font-weight: 900 !default; -$heading-line-height: 1.25 !default; -$monospace-font-family: 'Source Code Pro', Consolas, monospace !default; -$h1: 2.998rem !default; -$h2: 1.5rem !default; -$h3: 1.25rem !default; -$h4: 1rem !default; -$h5: .875rem !default; -$h6: .75rem !default; -$h00: 4rem !default; -$h0: 3rem !default; -$h00-responsive: 8vw !default; -$h0-responsive: 6vw !default; -$h1-responsive: 4vw !default; -$h00-responsive-max: 7.68rem !default; -$h0-responsive-max: 5.76rem !default; -$h1-responsive-max: 3.84rem !default; -$abbr-border-bottom: 1px black dotted; - -// Page width -$measure-width: 42rem !default; - -// Viewport widths -$viewport-small: 32em; -$viewport-medium: 48em; -$viewport-large: 64em; - -// Colors -$red: #FF3636 !default; -$red-1: #f95020 !default; -$orange: #F29105 !default; -$orange-1: #ffcc22 !default; -$blue: #2698BA !default; -$blue-1: #0076df !default; -$dark-blue: #00369f !default; -$green: #00ab37 !default; -$green-1: #11D68B !default; -$green-2: #00cf26 !default; -$dark-green: #009f06 !default; -$light-green: #ddffdd !default; -$lime_green: #B7D12A !default; -$purple: #B509AC !default; -$pink: #f92080 !default; -$light-pink: #ffdddd !default; -$yellow: #efcc00 !default; - -$white: #fff !default; -$dark-gray: #333 !default; -$mid-gray: #666 !default; -$light-gray: #ccc !default; -$lighter-gray: #eee !default; - -$grey-color: #828282; -$grey-color-light: lighten($grey-color, 40%); -$grey-color-dark: darken($grey-color, 25%); - -$darken-1: rgba(#000,.0625) !default; -$darken-2: rgba(#000,.125) !default; -$darken-3: rgba(#000,.25) !default; -$darken-4: rgba(#000,.5) !default; - -$theme-color: $purple; -$code-color: $dark-gray; -$text-color: $mid-gray; -$background-color: white; - -// Links -$link-color: $theme-color; -$link-hover-color: darken($theme-color, 40%); - -// Breakpoints -$breakpoint-md: '(min-width: 52em)'; -$breakpoint-xl: '(min-width: 96em)'; - -// Whitespace -$space-1: .5rem !default; -$space-2: 1rem !default; -$space-3: 2rem !default; -$space-4: 4rem !default; - -$horizontal-spacing-unit: 50px; -$vertical-spacing-unit: 40px; -$nav-height: 56px; - -// Buttons -$button-font-size: inherit !default; -$button-font-weight: normal !default; -$button-line-height: 1.125rem !default; -$button-padding-y: .5rem !default; -$button-padding-x: 1rem !default; -$button-font-family: $heading-font-family; - -// Forms -$form-field-font-size: 1rem !default; -$form-field-height: 2.25rem !default; -$form-field-padding-y: .5rem !default; -$form-field-padding-x: .5rem !default; - -// Borders -$border-color: $light-gray !default; -$border-width: 1px !default; -$border-radius: 3px !default; - -// Forms -$form-field-font-size: 1rem; -$form-field-height: 2.25rem; -$form-field-padding-y: .5rem; -$form-field-padding-x: .5rem; - -// Code -$pre-border-radius: 0; -$pre-background-color: #fafafa; -$hljs-comment: $mid-gray; -$hljs-keyword: $dark-blue; -$hljs-name: $dark-gray; -$hljs-number: $dark-green; -$hljs-string: $red; -$hljs-title: $red; -$hljs-type: $dark-blue; -$hljs-tag: $dark-blue; -$hljs-attribute: $dark-green; -$hljs-regexp: $dark-green; -$hljs-symbol: $purple; -$hljs-built-in: $dark-blue; -$hljs-preprocessor: $mid-gray; -$hljs-deletion: $light-pink; -$hljs-addition: $light-green; -$hljs-change: $dark-blue; -$hljs-chunk: $light-gray; - -// Header -$nav-height: 56px; - -// Footer -$footer-border-top: thin solid $grey-color-dark; -$footer-padding: $space-1; -$footer-color: $light-gray; -$footer-bg-color: $grey-color-dark; -$footer-font-weight: 300; -$footer-font-size: .75rem; - - -/******************************************************************************/ - - -/* portfolio tinkering */ -$img_spacing: 5px; -$img-height: 275px; -$caption-font-size: 12px; -$caption-color: #aaa; diff --git a/_sass/mdb/_custom-styles.scss b/_sass/mdb/_custom-styles.scss deleted file mode 100644 index d19067513fa1..000000000000 --- a/_sass/mdb/_custom-styles.scss +++ /dev/null @@ -1 +0,0 @@ -// Your custom styles \ No newline at end of file diff --git a/_sass/mdb/_custom-variables.scss b/_sass/mdb/_custom-variables.scss deleted file mode 100644 index 5539a15f538c..000000000000 --- a/_sass/mdb/_custom-variables.scss +++ /dev/null @@ -1 +0,0 @@ -// Your custom variables \ No newline at end of file diff --git a/_sass/mdb/addons/_datatables-select.scss b/_sass/mdb/addons/_datatables-select.scss deleted file mode 100644 index 889d1dcc182a..000000000000 --- a/_sass/mdb/addons/_datatables-select.scss +++ /dev/null @@ -1,151 +0,0 @@ -/* - * MDBootstrap integration with Datatables - * Learn more: https://mdbootstrap.com/docs/jquery/tables/datatables/ - * About MDBootstrap: https://mdbootstrap.com/ - * - * This combined file was created taking that code from this webstie: - * https://cdn.datatables.net/select/1.2.7/css/select.dataTables.min.css - * - * - * To rebuild or modify this file with the latest versions of the included - * software please visit: - * https://datatables.net/download/#bs4/dt-1.10.18 - * - * Included libraries: - * DataTables 1.10.18 - */ - -table { - &.dataTable { - tbody > tr { - &.selected, - > .selected { - background-color: #b0bed9; - } - } - &.stripe, &.display { - tbody > tr.odd { - &.selected, - > .selected { - background-color: #acbad4; - } - } - } - &.hover, &.display { - tbody > tr { - &.selected:hover, - > .selected:hover { - background-color: #aab7d1; - } - } - } - &.order-column, &.display { - tbody > tr { - &.selected > { - .sorting_1, .sorting_2, .sorting_3 { - background-color: #acbad5; - } - } - > .selected { - background-color: #acbad5; - } - } - } - &.display, &.order-column.stripe { - tbody > tr { - &.odd.selected > .sorting_1 { - background-color: #a6b4cd; - } - } - } - &.display tbody > tr.odd.selected > .sorting_2, &.order-column.stripe tbody > tr.odd.selected > .sorting_2 { - background-color: #a8b5cf; - } - &.display tbody > tr.odd.selected > .sorting_3, &.order-column.stripe tbody > tr.odd.selected > .sorting_3 { - background-color: #a9b7d1; - } - &.display tbody > tr.even.selected > .sorting_1, &.order-column.stripe tbody > tr.even.selected > .sorting_1 { - background-color: #acbad5; - } - &.display tbody > tr.even.selected > .sorting_2, &.order-column.stripe tbody > tr.even.selected > .sorting_2 { - background-color: #aebcd6; - } - &.display tbody > tr.even.selected > .sorting_3, &.order-column.stripe tbody > tr.even.selected > .sorting_3 { - background-color: #afbdd8; - } - &.display tbody > tr.odd > .selected, &.order-column.stripe tbody > tr.odd > .selected { - background-color: #a6b4cd; - } - &.display tbody > tr.even > .selected, &.order-column.stripe tbody > tr.even > .selected { - background-color: #acbad5; - } - &.display tbody > tr.selected:hover > .sorting_1, &.order-column.hover tbody > tr.selected:hover > .sorting_1 { - background-color: #a2aec7; - } - &.display tbody > tr.selected:hover > .sorting_2, &.order-column.hover tbody > tr.selected:hover > .sorting_2 { - background-color: #a3b0c9; - } - &.display tbody > tr.selected:hover > .sorting_3, &.order-column.hover tbody > tr.selected:hover > .sorting_3 { - background-color: #a5b2cb; - } - &.display, &.order-column.hover { - tbody > tr { - &:hover > .selected, > .selected:hover { - background-color: #a2aec7; - } - } - } - tbody { - td.select-checkbox, th.select-checkbox { - position: relative; - } - td, th { - &.select-checkbox { - &:before, - &:after { - display: block; - position: absolute; - top: 1.2em; - left: 50%; - width: 12px; - height: 12px; - box-sizing: border-box; - } - } - } - td.select-checkbox:before, - th.select-checkbox:before { - content: ' '; - margin-top: 4px; - margin-left: -6px; - border: 1px solid black; - border-radius: 3px; - } - } - tr.selected { - td.select-checkbox:after, - th.select-checkbox:after { - content: '\2714'; - margin-top: 0px; - margin-left: -4px; - text-align: center; - text-shadow: 1px 1px #B0BED9, -1px -1px #B0BED9, 1px -1px #B0BED9, -1px 1px #B0BED9; - } - } - } -} - -div.dataTables_wrapper span { - &.select-info, &.select-item { - margin-left: 0.5em; - } -} - -@media screen and (max-width: 640px) { - div.dataTables_wrapper span { - &.select-info, &.select-item { - margin-left: 0; - display: block; - } - } -} \ No newline at end of file diff --git a/_sass/mdb/addons/_datatables.scss b/_sass/mdb/addons/_datatables.scss deleted file mode 100644 index 28b7e34d2702..000000000000 --- a/_sass/mdb/addons/_datatables.scss +++ /dev/null @@ -1,157 +0,0 @@ -/* - * MDBootstrap integration with Datatables - * Learn more: https://mdbootstrap.com/docs/jquery/tables/datatables/ - * About MDBootstrap: https://mdbootstrap.com/ - * - * This combined file was created by the DataTables downloader builder: - * https://datatables.net/download - * - * To rebuild or modify this file with the latest versions of the included - * software please visit: - * https://datatables.net/download/#bs4/dt-1.10.18 - * - * Included libraries: - * DataTables 1.10.18 - */ - - table.dataTable thead { - cursor: pointer; - > tr > { - th:active, td:active { - outline: none; - } - } -} - -div.dataTables_wrapper div { - &.dataTables_length { - &.d-flex.flex-row { - label { - margin-top: 1.2rem; - margin-right: 1rem; - } - .select-wrapper.mdb-select { - span, .select-dropdown { - margin-top: 1rem; - } - } - } - } - &.dataTables_length, - &.dataTables_filter { - label { - text-align: left; - font-weight: normal; - padding-top: .5rem; - padding-bottom: .5rem; - } - } - &.dataTables_length { - select, input { - width: auto; - } - } - &.dataTables_filter { - select, - input { - width: auto; - } - input { - margin-left: .5rem; - display: inline-block; - } - text-align: right; - } - &.dataTables_info, - &.dataTables_paginate { - font-weight: normal; - padding-top: 1rem; - padding-bottom: 1rem; - } - &.dataTables_paginate { - text-align: right; - margin: 0; - ul.pagination { - -webkit-box-pack: end; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; - .page-item { - &.active .page-link:focus { - background-color: #4285f4; - } - .page-link:focus { - -webkit-box-shadow: none; - box-shadow: none; - } - } - } - } -} - -@media (max-width: 767px) { - div.dataTables_wrapper div { - .dataTables_length, .dataTables_filter, .dataTables_info, .dataTables_paginate ul.pagination { - text-align: center; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - } - } -} - -.bs-select select { - display: inline-block !important; -} - -table.dataTable thead { - > tr > { - th, - td { - &.sorting_asc, &.sorting_desc, &.sorting { - padding-right: 30px; - } - } - th:active, td:active { - outline: none; - } - } - .sorting, .sorting_asc, .sorting_desc, .sorting_asc_disabled, .sorting_desc_disabled { - cursor: pointer; - position: relative; - } - .sorting, - .sorting_asc, - .sorting_desc, - .sorting_asc_disabled, - .sorting_desc_disabled { - &:before, &:after { - position: absolute; - bottom: 0.9em; - display: block; - opacity: 0.3; - } - } - .sorting:before, .sorting_asc:before, .sorting_desc:before, .sorting_asc_disabled:before, .sorting_desc_disabled:before { - right: 1em; - content: "\f0de"; - } - .sorting:after, .sorting_asc:after, .sorting_desc:after, .sorting_asc_disabled:after, .sorting_desc_disabled:after { - content: "\f0dd"; - right: 16px; - } - .sorting:before, .sorting_asc:before, .sorting_desc:before, .sorting_asc_disabled:before, .sorting_desc_disabled:before, - .sorting:after, .sorting_asc:after, .sorting_desc:after, .sorting_asc_disabled:after, .sorting_desc_disabled:after { - font-family: 'Font Awesome\ 5 Free'; - font-weight: 900; - font-size: 1rem; - } - - .sorting_asc:before, .sorting_desc:after { - opacity: 1; - } - .sorting_asc_disabled:before, .sorting_desc_disabled:after { - opacity: 0; - } -} \ No newline at end of file diff --git a/_sass/mdb/addons/_directives.scss b/_sass/mdb/addons/_directives.scss deleted file mode 100644 index e19da3b7035d..000000000000 --- a/_sass/mdb/addons/_directives.scss +++ /dev/null @@ -1,6 +0,0 @@ -// Optional directives -@each $key in (0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100) { - .opacity-#{$key} { - opacity: $key * .01; - } -} \ No newline at end of file diff --git a/_sass/mdb/addons/_flags.scss b/_sass/mdb/addons/_flags.scss deleted file mode 100644 index 172761cf1d46..000000000000 --- a/_sass/mdb/addons/_flags.scss +++ /dev/null @@ -1,1034 +0,0 @@ -/*! - * # Semantic UI 2.4.2 - Flag - * http://github.com/semantic-org/semantic-ui/ - * - * - * Released under the MIT license - * http://opensource.org/licenses/MIT - * - */ - - -/******************************* - Flag -*******************************/ - -i.flag:not(.icon) { - display: inline-block; - width: 16px; - height: 11px; - line-height: 11px; - vertical-align: baseline; - margin: 0 0.5em 0 0; - text-decoration: inherit; - speak: none; - font-smooth: antialiased; - backface-visibility: hidden; -} - -/* Sprite */ -i.flag:not(.icon):before { - display: inline-block; - content: ''; - background: url("https://mdbootstrap.com/img/svg/flags.png") no-repeat -108px -1976px; - width: 16px; - height: 11px; -} - -/* Flag Sprite Based On http://www.famfamfam.com/lab/icons/flags/ */ - - -/******************************* - Theme Overrides -*******************************/ - -i.flag.ad:before, -i.flag.andorra:before { - background-position: 0px 0px; -} -i.flag.ae:before, -i.flag.united.arab.emirates:before, -i.flag.uae:before { - background-position: 0px -26px; -} -i.flag.af:before, -i.flag.afghanistan:before { - background-position: 0px -52px; -} -i.flag.ag:before, -i.flag.antigua:before { - background-position: 0px -78px; -} -i.flag.ai:before, -i.flag.anguilla:before { - background-position: 0px -104px; -} -i.flag.al:before, -i.flag.albania:before { - background-position: 0px -130px; -} -i.flag.am:before, -i.flag.armenia:before { - background-position: 0px -156px; -} -i.flag.an:before, -i.flag.netherlands.antilles:before { - background-position: 0px -182px; -} -i.flag.ao:before, -i.flag.angola:before { - background-position: 0px -208px; -} -i.flag.ar:before, -i.flag.argentina:before { - background-position: 0px -234px; -} -i.flag.as:before, -i.flag.american.samoa:before { - background-position: 0px -260px; -} -i.flag.at:before, -i.flag.austria:before { - background-position: 0px -286px; -} -i.flag.au:before, -i.flag.australia:before { - background-position: 0px -312px; -} -i.flag.aw:before, -i.flag.aruba:before { - background-position: 0px -338px; -} -i.flag.ax:before, -i.flag.aland.islands:before { - background-position: 0px -364px; -} -i.flag.az:before, -i.flag.azerbaijan:before { - background-position: 0px -390px; -} -i.flag.ba:before, -i.flag.bosnia:before { - background-position: 0px -416px; -} -i.flag.bb:before, -i.flag.barbados:before { - background-position: 0px -442px; -} -i.flag.bd:before, -i.flag.bangladesh:before { - background-position: 0px -468px; -} -i.flag.be:before, -i.flag.belgium:before { - background-position: 0px -494px; -} -i.flag.bf:before, -i.flag.burkina.faso:before { - background-position: 0px -520px; -} -i.flag.bg:before, -i.flag.bulgaria:before { - background-position: 0px -546px; -} -i.flag.bh:before, -i.flag.bahrain:before { - background-position: 0px -572px; -} -i.flag.bi:before, -i.flag.burundi:before { - background-position: 0px -598px; -} -i.flag.bj:before, -i.flag.benin:before { - background-position: 0px -624px; -} -i.flag.bm:before, -i.flag.bermuda:before { - background-position: 0px -650px; -} -i.flag.bn:before, -i.flag.brunei:before { - background-position: 0px -676px; -} -i.flag.bo:before, -i.flag.bolivia:before { - background-position: 0px -702px; -} -i.flag.br:before, -i.flag.brazil:before { - background-position: 0px -728px; -} -i.flag.bs:before, -i.flag.bahamas:before { - background-position: 0px -754px; -} -i.flag.bt:before, -i.flag.bhutan:before { - background-position: 0px -780px; -} -i.flag.bv:before, -i.flag.bouvet.island:before { - background-position: 0px -806px; -} -i.flag.bw:before, -i.flag.botswana:before { - background-position: 0px -832px; -} -i.flag.by:before, -i.flag.belarus:before { - background-position: 0px -858px; -} -i.flag.bz:before, -i.flag.belize:before { - background-position: 0px -884px; -} -i.flag.ca:before, -i.flag.canada:before { - background-position: 0px -910px; -} -i.flag.cc:before, -i.flag.cocos.islands:before { - background-position: 0px -962px; -} -i.flag.cd:before, -i.flag.congo:before { - background-position: 0px -988px; -} -i.flag.cf:before, -i.flag.central.african.republic:before { - background-position: 0px -1014px; -} -i.flag.cg:before, -i.flag.congo.brazzaville:before { - background-position: 0px -1040px; -} -i.flag.ch:before, -i.flag.switzerland:before { - background-position: 0px -1066px; -} -i.flag.ci:before, -i.flag.cote.divoire:before { - background-position: 0px -1092px; -} -i.flag.ck:before, -i.flag.cook.islands:before { - background-position: 0px -1118px; -} -i.flag.cl:before, -i.flag.chile:before { - background-position: 0px -1144px; -} -i.flag.cm:before, -i.flag.cameroon:before { - background-position: 0px -1170px; -} -i.flag.cn:before, -i.flag.china:before { - background-position: 0px -1196px; -} -i.flag.co:before, -i.flag.colombia:before { - background-position: 0px -1222px; -} -i.flag.cr:before, -i.flag.costa.rica:before { - background-position: 0px -1248px; -} -i.flag.cs:before, -i.flag.serbia:before { - background-position: 0px -1274px; -} -i.flag.cu:before, -i.flag.cuba:before { - background-position: 0px -1300px; -} -i.flag.cv:before, -i.flag.cape.verde:before { - background-position: 0px -1326px; -} -i.flag.cx:before, -i.flag.christmas.island:before { - background-position: 0px -1352px; -} -i.flag.cy:before, -i.flag.cyprus:before { - background-position: 0px -1378px; -} -i.flag.cz:before, -i.flag.czech.republic:before { - background-position: 0px -1404px; -} -i.flag.de:before, -i.flag.germany:before { - background-position: 0px -1430px; -} -i.flag.dj:before, -i.flag.djibouti:before { - background-position: 0px -1456px; -} -i.flag.dk:before, -i.flag.denmark:before { - background-position: 0px -1482px; -} -i.flag.dm:before, -i.flag.dominica:before { - background-position: 0px -1508px; -} -i.flag.do:before, -i.flag.dominican.republic:before { - background-position: 0px -1534px; -} -i.flag.dz:before, -i.flag.algeria:before { - background-position: 0px -1560px; -} -i.flag.ec:before, -i.flag.ecuador:before { - background-position: 0px -1586px; -} -i.flag.ee:before, -i.flag.estonia:before { - background-position: 0px -1612px; -} -i.flag.eg:before, -i.flag.egypt:before { - background-position: 0px -1638px; -} -i.flag.eh:before, -i.flag.western.sahara:before { - background-position: 0px -1664px; -} -i.flag.gb.eng:before, -i.flag.england:before { - background-position: 0px -1690px; -} -i.flag.er:before, -i.flag.eritrea:before { - background-position: 0px -1716px; -} -i.flag.es:before, -i.flag.spain:before { - background-position: 0px -1742px; -} -i.flag.et:before, -i.flag.ethiopia:before { - background-position: 0px -1768px; -} -i.flag.eu:before, -i.flag.european.union:before { - background-position: 0px -1794px; -} -i.flag.fi:before, -i.flag.finland:before { - background-position: 0px -1846px; -} -i.flag.fj:before, -i.flag.fiji:before { - background-position: 0px -1872px; -} -i.flag.fk:before, -i.flag.falkland.islands:before { - background-position: 0px -1898px; -} -i.flag.fm:before, -i.flag.micronesia:before { - background-position: 0px -1924px; -} -i.flag.fo:before, -i.flag.faroe.islands:before { - background-position: 0px -1950px; -} -i.flag.fr:before, -i.flag.france:before { - background-position: 0px -1976px; -} -i.flag.ga:before, -i.flag.gabon:before { - background-position: -36px 0px; -} -i.flag.gb:before, -i.flag.uk:before, -i.flag.united.kingdom:before { - background-position: -36px -26px; -} -i.flag.gd:before, -i.flag.grenada:before { - background-position: -36px -52px; -} -i.flag.ge:before, -i.flag.georgia:before { - background-position: -36px -78px; -} -i.flag.gf:before, -i.flag.french.guiana:before { - background-position: -36px -104px; -} -i.flag.gh:before, -i.flag.ghana:before { - background-position: -36px -130px; -} -i.flag.gi:before, -i.flag.gibraltar:before { - background-position: -36px -156px; -} -i.flag.gl:before, -i.flag.greenland:before { - background-position: -36px -182px; -} -i.flag.gm:before, -i.flag.gambia:before { - background-position: -36px -208px; -} -i.flag.gn:before, -i.flag.guinea:before { - background-position: -36px -234px; -} -i.flag.gp:before, -i.flag.guadeloupe:before { - background-position: -36px -260px; -} -i.flag.gq:before, -i.flag.equatorial.guinea:before { - background-position: -36px -286px; -} -i.flag.gr:before, -i.flag.greece:before { - background-position: -36px -312px; -} -i.flag.gs:before, -i.flag.sandwich.islands:before { - background-position: -36px -338px; -} -i.flag.gt:before, -i.flag.guatemala:before { - background-position: -36px -364px; -} -i.flag.gu:before, -i.flag.guam:before { - background-position: -36px -390px; -} -i.flag.gw:before, -i.flag.guinea-bissau:before { - background-position: -36px -416px; -} -i.flag.gy:before, -i.flag.guyana:before { - background-position: -36px -442px; -} -i.flag.hk:before, -i.flag.hong.kong:before { - background-position: -36px -468px; -} -i.flag.hm:before, -i.flag.heard.island:before { - background-position: -36px -494px; -} -i.flag.hn:before, -i.flag.honduras:before { - background-position: -36px -520px; -} -i.flag.hr:before, -i.flag.croatia:before { - background-position: -36px -546px; -} -i.flag.ht:before, -i.flag.haiti:before { - background-position: -36px -572px; -} -i.flag.hu:before, -i.flag.hungary:before { - background-position: -36px -598px; -} -i.flag.id:before, -i.flag.indonesia:before { - background-position: -36px -624px; -} -i.flag.ie:before, -i.flag.ireland:before { - background-position: -36px -650px; -} -i.flag.il:before, -i.flag.israel:before { - background-position: -36px -676px; -} -i.flag.in:before, -i.flag.india:before { - background-position: -36px -702px; -} -i.flag.io:before, -i.flag.indian.ocean.territory:before { - background-position: -36px -728px; -} -i.flag.iq:before, -i.flag.iraq:before { - background-position: -36px -754px; -} -i.flag.ir:before, -i.flag.iran:before { - background-position: -36px -780px; -} -i.flag.is:before, -i.flag.iceland:before { - background-position: -36px -806px; -} -i.flag.it:before, -i.flag.italy:before { - background-position: -36px -832px; -} -i.flag.jm:before, -i.flag.jamaica:before { - background-position: -36px -858px; -} -i.flag.jo:before, -i.flag.jordan:before { - background-position: -36px -884px; -} -i.flag.jp:before, -i.flag.japan:before { - background-position: -36px -910px; -} -i.flag.ke:before, -i.flag.kenya:before { - background-position: -36px -936px; -} -i.flag.kg:before, -i.flag.kyrgyzstan:before { - background-position: -36px -962px; -} -i.flag.kh:before, -i.flag.cambodia:before { - background-position: -36px -988px; -} -i.flag.ki:before, -i.flag.kiribati:before { - background-position: -36px -1014px; -} -i.flag.km:before, -i.flag.comoros:before { - background-position: -36px -1040px; -} -i.flag.kn:before, -i.flag.saint.kitts.and.nevis:before { - background-position: -36px -1066px; -} -i.flag.kp:before, -i.flag.north.korea:before { - background-position: -36px -1092px; -} -i.flag.kr:before, -i.flag.south.korea:before { - background-position: -36px -1118px; -} -i.flag.kw:before, -i.flag.kuwait:before { - background-position: -36px -1144px; -} -i.flag.ky:before, -i.flag.cayman.islands:before { - background-position: -36px -1170px; -} -i.flag.kz:before, -i.flag.kazakhstan:before { - background-position: -36px -1196px; -} -i.flag.la:before, -i.flag.laos:before { - background-position: -36px -1222px; -} -i.flag.lb:before, -i.flag.lebanon:before { - background-position: -36px -1248px; -} -i.flag.lc:before, -i.flag.saint.lucia:before { - background-position: -36px -1274px; -} -i.flag.li:before, -i.flag.liechtenstein:before { - background-position: -36px -1300px; -} -i.flag.lk:before, -i.flag.sri.lanka:before { - background-position: -36px -1326px; -} -i.flag.lr:before, -i.flag.liberia:before { - background-position: -36px -1352px; -} -i.flag.ls:before, -i.flag.lesotho:before { - background-position: -36px -1378px; -} -i.flag.lt:before, -i.flag.lithuania:before { - background-position: -36px -1404px; -} -i.flag.lu:before, -i.flag.luxembourg:before { - background-position: -36px -1430px; -} -i.flag.lv:before, -i.flag.latvia:before { - background-position: -36px -1456px; -} -i.flag.ly:before, -i.flag.libya:before { - background-position: -36px -1482px; -} -i.flag.ma:before, -i.flag.morocco:before { - background-position: -36px -1508px; -} -i.flag.mc:before, -i.flag.monaco:before { - background-position: -36px -1534px; -} -i.flag.md:before, -i.flag.moldova:before { - background-position: -36px -1560px; -} -i.flag.me:before, -i.flag.montenegro:before { - background-position: -36px -1586px; -} -i.flag.mg:before, -i.flag.madagascar:before { - background-position: -36px -1613px; -} -i.flag.mh:before, -i.flag.marshall.islands:before { - background-position: -36px -1639px; -} -i.flag.mk:before, -i.flag.macedonia:before { - background-position: -36px -1665px; -} -i.flag.ml:before, -i.flag.mali:before { - background-position: -36px -1691px; -} -i.flag.mm:before, -i.flag.myanmar:before, -i.flag.burma:before { - background-position: -73px -1821px; -} -i.flag.mn:before, -i.flag.mongolia:before { - background-position: -36px -1743px; -} -i.flag.mo:before, -i.flag.macau:before { - background-position: -36px -1769px; -} -i.flag.mp:before, -i.flag.northern.mariana.islands:before { - background-position: -36px -1795px; -} -i.flag.mq:before, -i.flag.martinique:before { - background-position: -36px -1821px; -} -i.flag.mr:before, -i.flag.mauritania:before { - background-position: -36px -1847px; -} -i.flag.ms:before, -i.flag.montserrat:before { - background-position: -36px -1873px; -} -i.flag.mt:before, -i.flag.malta:before { - background-position: -36px -1899px; -} -i.flag.mu:before, -i.flag.mauritius:before { - background-position: -36px -1925px; -} -i.flag.mv:before, -i.flag.maldives:before { - background-position: -36px -1951px; -} -i.flag.mw:before, -i.flag.malawi:before { - background-position: -36px -1977px; -} -i.flag.mx:before, -i.flag.mexico:before { - background-position: -72px 0px; -} -i.flag.my:before, -i.flag.malaysia:before { - background-position: -72px -26px; -} -i.flag.mz:before, -i.flag.mozambique:before { - background-position: -72px -52px; -} -i.flag.na:before, -i.flag.namibia:before { - background-position: -72px -78px; -} -i.flag.nc:before, -i.flag.new.caledonia:before { - background-position: -72px -104px; -} -i.flag.ne:before, -i.flag.niger:before { - background-position: -72px -130px; -} -i.flag.nf:before, -i.flag.norfolk.island:before { - background-position: -72px -156px; -} -i.flag.ng:before, -i.flag.nigeria:before { - background-position: -72px -182px; -} -i.flag.ni:before, -i.flag.nicaragua:before { - background-position: -72px -208px; -} -i.flag.nl:before, -i.flag.netherlands:before { - background-position: -72px -234px; -} -i.flag.no:before, -i.flag.norway:before { - background-position: -72px -260px; -} -i.flag.np:before, -i.flag.nepal:before { - background-position: -72px -286px; -} -i.flag.nr:before, -i.flag.nauru:before { - background-position: -72px -312px; -} -i.flag.nu:before, -i.flag.niue:before { - background-position: -72px -338px; -} -i.flag.nz:before, -i.flag.new.zealand:before { - background-position: -72px -364px; -} -i.flag.om:before, -i.flag.oman:before { - background-position: -72px -390px; -} -i.flag.pa:before, -i.flag.panama:before { - background-position: -72px -416px; -} -i.flag.pe:before, -i.flag.peru:before { - background-position: -72px -442px; -} -i.flag.pf:before, -i.flag.french.polynesia:before { - background-position: -72px -468px; -} -i.flag.pg:before, -i.flag.new.guinea:before { - background-position: -72px -494px; -} -i.flag.ph:before, -i.flag.philippines:before { - background-position: -72px -520px; -} -i.flag.pk:before, -i.flag.pakistan:before { - background-position: -72px -546px; -} -i.flag.pl:before, -i.flag.poland:before { - background-position: -72px -572px; -} -i.flag.pm:before, -i.flag.saint.pierre:before { - background-position: -72px -598px; -} -i.flag.pn:before, -i.flag.pitcairn.islands:before { - background-position: -72px -624px; -} -i.flag.pr:before, -i.flag.puerto.rico:before { - background-position: -72px -650px; -} -i.flag.ps:before, -i.flag.palestine:before { - background-position: -72px -676px; -} -i.flag.pt:before, -i.flag.portugal:before { - background-position: -72px -702px; -} -i.flag.pw:before, -i.flag.palau:before { - background-position: -72px -728px; -} -i.flag.py:before, -i.flag.paraguay:before { - background-position: -72px -754px; -} -i.flag.qa:before, -i.flag.qatar:before { - background-position: -72px -780px; -} -i.flag.re:before, -i.flag.reunion:before { - background-position: -72px -806px; -} -i.flag.ro:before, -i.flag.romania:before { - background-position: -72px -832px; -} -i.flag.rs:before, -i.flag.serbia:before { - background-position: -72px -858px; -} -i.flag.ru:before, -i.flag.russia:before { - background-position: -72px -884px; -} -i.flag.rw:before, -i.flag.rwanda:before { - background-position: -72px -910px; -} -i.flag.sa:before, -i.flag.saudi.arabia:before { - background-position: -72px -936px; -} -i.flag.sb:before, -i.flag.solomon.islands:before { - background-position: -72px -962px; -} -i.flag.sc:before, -i.flag.seychelles:before { - background-position: -72px -988px; -} -i.flag.gb.sct:before, -i.flag.scotland:before { - background-position: -72px -1014px; -} -i.flag.sd:before, -i.flag.sudan:before { - background-position: -72px -1040px; -} -i.flag.se:before, -i.flag.sweden:before { - background-position: -72px -1066px; -} -i.flag.sg:before, -i.flag.singapore:before { - background-position: -72px -1092px; -} -i.flag.sh:before, -i.flag.saint.helena:before { - background-position: -72px -1118px; -} -i.flag.si:before, -i.flag.slovenia:before { - background-position: -72px -1144px; -} -i.flag.sj:before, -i.flag.svalbard:before, -i.flag.jan.mayen:before { - background-position: -72px -1170px; -} -i.flag.sk:before, -i.flag.slovakia:before { - background-position: -72px -1196px; -} -i.flag.sl:before, -i.flag.sierra.leone:before { - background-position: -72px -1222px; -} -i.flag.sm:before, -i.flag.san.marino:before { - background-position: -72px -1248px; -} -i.flag.sn:before, -i.flag.senegal:before { - background-position: -72px -1274px; -} -i.flag.so:before, -i.flag.somalia:before { - background-position: -72px -1300px; -} -i.flag.sr:before, -i.flag.suriname:before { - background-position: -72px -1326px; -} -i.flag.st:before, -i.flag.sao.tome:before { - background-position: -72px -1352px; -} -i.flag.sv:before, -i.flag.el.salvador:before { - background-position: -72px -1378px; -} -i.flag.sy:before, -i.flag.syria:before { - background-position: -72px -1404px; -} -i.flag.sz:before, -i.flag.swaziland:before { - background-position: -72px -1430px; -} -i.flag.tc:before, -i.flag.caicos.islands:before { - background-position: -72px -1456px; -} -i.flag.td:before, -i.flag.chad:before { - background-position: -72px -1482px; -} -i.flag.tf:before, -i.flag.french.territories:before { - background-position: -72px -1508px; -} -i.flag.tg:before, -i.flag.togo:before { - background-position: -72px -1534px; -} -i.flag.th:before, -i.flag.thailand:before { - background-position: -72px -1560px; -} -i.flag.tj:before, -i.flag.tajikistan:before { - background-position: -72px -1586px; -} -i.flag.tk:before, -i.flag.tokelau:before { - background-position: -72px -1612px; -} -i.flag.tl:before, -i.flag.timorleste:before { - background-position: -72px -1638px; -} -i.flag.tm:before, -i.flag.turkmenistan:before { - background-position: -72px -1664px; -} -i.flag.tn:before, -i.flag.tunisia:before { - background-position: -72px -1690px; -} -i.flag.to:before, -i.flag.tonga:before { - background-position: -72px -1716px; -} -i.flag.tr:before, -i.flag.turkey:before { - background-position: -72px -1742px; -} -i.flag.tt:before, -i.flag.trinidad:before { - background-position: -72px -1768px; -} -i.flag.tv:before, -i.flag.tuvalu:before { - background-position: -72px -1794px; -} -i.flag.tw:before, -i.flag.taiwan:before { - background-position: -72px -1820px; -} -i.flag.tz:before, -i.flag.tanzania:before { - background-position: -72px -1846px; -} -i.flag.ua:before, -i.flag.ukraine:before { - background-position: -72px -1872px; -} -i.flag.ug:before, -i.flag.uganda:before { - background-position: -72px -1898px; -} -i.flag.um:before, -i.flag.us.minor.islands:before { - background-position: -72px -1924px; -} -i.flag.us:before, -i.flag.america:before, -i.flag.united.states:before { - background-position: -72px -1950px; -} -i.flag.uy:before, -i.flag.uruguay:before { - background-position: -72px -1976px; -} -i.flag.uz:before, -i.flag.uzbekistan:before { - background-position: -108px 0px; -} -i.flag.va:before, -i.flag.vatican.city:before { - background-position: -108px -26px; -} -i.flag.vc:before, -i.flag.saint.vincent:before { - background-position: -108px -52px; -} -i.flag.ve:before, -i.flag.venezuela:before { - background-position: -108px -78px; -} -i.flag.vg:before, -i.flag.british.virgin.islands:before { - background-position: -108px -104px; -} -i.flag.vi:before, -i.flag.us.virgin.islands:before { - background-position: -108px -130px; -} -i.flag.vn:before, -i.flag.vietnam:before { - background-position: -108px -156px; -} -i.flag.vu:before, -i.flag.vanuatu:before { - background-position: -108px -182px; -} -i.flag.gb.wls:before, -i.flag.wales:before { - background-position: -108px -208px; -} -i.flag.wf:before, -i.flag.wallis.and.futuna:before { - background-position: -108px -234px; -} -i.flag.ws:before, -i.flag.samoa:before { - background-position: -108px -260px; -} -i.flag.ye:before, -i.flag.yemen:before { - background-position: -108px -286px; -} -i.flag.yt:before, -i.flag.mayotte:before { - background-position: -108px -312px; -} -i.flag.za:before, -i.flag.south.africa:before { - background-position: -108px -338px; -} -i.flag.zm:before, -i.flag.zambia:before { - background-position: -108px -364px; -} -i.flag.zw:before, -i.flag.zimbabwe:before { - background-position: -108px -390px; -} - - -/******************************* - Site Overrides -*******************************/ \ No newline at end of file diff --git a/_sass/mdb/addons/_hierarchical-display.scss b/_sass/mdb/addons/_hierarchical-display.scss deleted file mode 100644 index ea3f7892ca07..000000000000 --- a/_sass/mdb/addons/_hierarchical-display.scss +++ /dev/null @@ -1,46 +0,0 @@ -.zmd-hierarchical-display { - visibility: hidden; - &.in { - visibility: visible; - } -} -.zmd-hierarchical-displaying { - visibility: visible; -} - -.animation { - animation-duration: 1s; - animation-fill-mode: both; -} - -.animation.zoomedIn, -.animation.zoomedOut { - animation-timing-function: cubic-bezier(.55, 0, .1, 1); // "Swift Out" easing curve -} - -@keyframes zoomedIn { - from { - transform: scale(0); - } - to { - transform: scale(1); - } -} - -@keyframes zoomedOut { - from { - transform: scale(1); - } - to { - transform: scale(0); - } -} - -.zoomedIn { - animation-name: zoomedIn; -} - -.zoomedOut { - animation-name: zoomedOut; -} - diff --git a/_sass/mdb/addons/_rating.scss b/_sass/mdb/addons/_rating.scss deleted file mode 100644 index b2d9b9164f48..000000000000 --- a/_sass/mdb/addons/_rating.scss +++ /dev/null @@ -1,35 +0,0 @@ -.mdb-rating { - - .rate-popover { - color: #808080; - } - - .live { - color: #000; - } - - .oneStar { - color: #44370f; - } - - .twoStars { - color: #96781e; - } - - .threeStars { - color: #e2b52e; - } - - .fourStars { - color: #f1ba12; - } - - .fiveStars { - color: #f3cb06; - } - - .amber-text { - color: #ffc107; - } - -} diff --git a/_sass/mdb/core/_colors.scss b/_sass/mdb/core/_colors.scss deleted file mode 100755 index 3a90fccd7a49..000000000000 --- a/_sass/mdb/core/_colors.scss +++ /dev/null @@ -1,870 +0,0 @@ -// Colors -$mdb-color-lighten-5: #d0d6e2 !default; -$mdb-color-lighten-4: #b1bace !default; -$mdb-color-lighten-3: #929fba !default; -$mdb-color-lighten-2: #7283a7 !default; -$mdb-color-lighten-1: #59698d !default; -$mdb-color-base: #45526e !default; -$mdb-color-darken-1: #3b465e !default; -$mdb-color-darken-2: #2e3951 !default; -$mdb-color-darken-3: #1c2a48 !default; -$mdb-color-darken-4: #1c2331 !default; - -$red-lighten-5: #ffebee !default; -$red-lighten-4: #ffcdd2 !default; -$red-lighten-3: #ef9a9a !default; -$red-lighten-2: #e57373 !default; -$red-lighten-1: #ef5350 !default; -$red-base: #f44336 !default; -$red-darken-1: #e53935 !default; -$red-darken-2: #d32f2f !default; -$red-darken-3: #c62828 !default; -$red-darken-4: #b71c1c !default; -$red-accent-1: #ff8a80 !default; -$red-accent-2: #ff5252 !default; -$red-accent-3: #ff1744 !default; -$red-accent-4: #d50000 !default; - -$pink-lighten-5: #fce4ec !default; -$pink-lighten-4: #f8bbd0 !default; -$pink-lighten-3: #f48fb1 !default; -$pink-lighten-2: #f06292 !default; -$pink-lighten-1: #ec407a !default; -$pink-base: #e91e63 !default; -$pink-darken-1: #d81b60 !default; -$pink-darken-2: #c2185b !default; -$pink-darken-3: #ad1457 !default; -$pink-darken-4: #880e4f !default; -$pink-accent-1: #ff80ab !default; -$pink-accent-2: #ff4081 !default; -$pink-accent-3: #f50057 !default; -$pink-accent-4: #c51162 !default; - -$purple-lighten-5: #f3e5f5 !default; -$purple-lighten-4: #e1bee7 !default; -$purple-lighten-3: #ce93d8 !default; -$purple-lighten-2: #ba68c8 !default; -$purple-lighten-1: #ab47bc !default; -$purple-base: #9c27b0 !default; -$purple-darken-1: #8e24aa !default; -$purple-darken-2: #7b1fa2 !default; -$purple-darken-3: #6a1b9a !default; -$purple-darken-4: #4a148c !default; -$purple-accent-1: #ea80fc !default; -$purple-accent-2: #e040fb !default; -$purple-accent-3: #d500f9 !default; -$purple-accent-4: #aa00ff !default; - -$deep-purple-lighten-5: #ede7f6 !default; -$deep-purple-lighten-4: #d1c4e9 !default; -$deep-purple-lighten-3: #b39ddb !default; -$deep-purple-lighten-2: #9575cd !default; -$deep-purple-lighten-1: #7e57c2 !default; -$deep-purple-base: #673ab7 !default; -$deep-purple-darken-1: #5e35b1 !default; -$deep-purple-darken-2: #512da8 !default; -$deep-purple-darken-3: #4527a0 !default; -$deep-purple-darken-4: #311b92 !default; -$deep-purple-accent-1: #b388ff !default; -$deep-purple-accent-2: #7c4dff !default; -$deep-purple-accent-3: #651fff !default; -$deep-purple-accent-4: #6200ea !default; - -$indigo-lighten-5: #e8eaf6 !default; -$indigo-lighten-4: #c5cae9 !default; -$indigo-lighten-3: #9fa8da !default; -$indigo-lighten-2: #7986cb !default; -$indigo-lighten-1: #5c6bc0 !default; -$indigo-base: #3f51b5 !default; -$indigo-darken-1: #3949ab !default; -$indigo-darken-2: #303f9f !default; -$indigo-darken-3: #283593 !default; -$indigo-darken-4: #1a237e !default; -$indigo-accent-1: #8c9eff !default; -$indigo-accent-2: #536dfe !default; -$indigo-accent-3: #3d5afe !default; -$indigo-accent-4: #304ffe !default; - -$blue-lighten-5: #e3f2fd !default; -$blue-lighten-4: #bbdefb !default; -$blue-lighten-3: #90caf9 !default; -$blue-lighten-2: #64b5f6 !default; -$blue-lighten-1: #42a5f5 !default; -$blue-base: #2196f3 !default; -$blue-darken-1: #1e88e5 !default; -$blue-darken-2: #1976d2 !default; -$blue-darken-3: #1565c0 !default; -$blue-darken-4: #0d47a1 !default; -$blue-accent-1: #82b1ff !default; -$blue-accent-2: #448aff !default; -$blue-accent-3: #2979ff !default; -$blue-accent-4: #2962ff !default; - -$light-blue-lighten-5: #e1f5fe !default; -$light-blue-lighten-4: #b3e5fc !default; -$light-blue-lighten-3: #81d4fa !default; -$light-blue-lighten-2: #4fc3f7 !default; -$light-blue-lighten-1: #29b6f6 !default; -$light-blue-base: #03a9f4 !default; -$light-blue-darken-1: #039be5 !default; -$light-blue-darken-2: #0288d1 !default; -$light-blue-darken-3: #0277bd !default; -$light-blue-darken-4: #01579b !default; -$light-blue-accent-1: #80d8ff !default; -$light-blue-accent-2: #40c4ff !default; -$light-blue-accent-3: #00b0ff !default; -$light-blue-accent-4: #0091ea !default; - -$cyan-lighten-5: #e0f7fa !default; -$cyan-lighten-4: #b2ebf2 !default; -$cyan-lighten-3: #80deea !default; -$cyan-lighten-2: #4dd0e1 !default; -$cyan-lighten-1: #26c6da !default; -$cyan-base: #00bcd4 !default; -$cyan-darken-1: #00acc1 !default; -$cyan-darken-2: #0097a7 !default; -$cyan-darken-3: #00838f !default; -$cyan-darken-4: #006064 !default; -$cyan-accent-1: #84ffff !default; -$cyan-accent-2: #18ffff !default; -$cyan-accent-3: #00e5ff !default; -$cyan-accent-4: #00b8d4 !default; - -$teal-lighten-5: #e0f2f1 !default; -$teal-lighten-4: #b2dfdb !default; -$teal-lighten-3: #80cbc4 !default; -$teal-lighten-2: #4db6ac !default; -$teal-lighten-1: #26a69a !default; -$teal-base: #009688 !default; -$teal-darken-1: #00897b !default; -$teal-darken-2: #00796b !default; -$teal-darken-3: #00695c !default; -$teal-darken-4: #004d40 !default; -$teal-accent-1: #a7ffeb !default; -$teal-accent-2: #64ffda !default; -$teal-accent-3: #1de9b6 !default; -$teal-accent-4: #00bfa5 !default; - -$green-lighten-5: #e8f5e9 !default; -$green-lighten-4: #c8e6c9 !default; -$green-lighten-3: #a5d6a7 !default; -$green-lighten-2: #81c784 !default; -$green-lighten-1: #66bb6a !default; -$green-base: #4caf50 !default; -$green-darken-1: #43a047 !default; -$green-darken-2: #388e3c !default; -$green-darken-3: #2e7d32 !default; -$green-darken-4: #1b5e20 !default; -$green-accent-1: #b9f6ca !default; -$green-accent-2: #69f0ae !default; -$green-accent-3: #00e676 !default; -$green-accent-4: #00c853 !default; - - -$light-green-lighten-5: #f1f8e9 !default; -$light-green-lighten-4: #dcedc8 !default; -$light-green-lighten-3: #c5e1a5 !default; -$light-green-lighten-2: #aed581 !default; -$light-green-lighten-1: #9ccc65 !default; -$light-green-base: #8bc34a !default; -$light-green-darken-1: #7cb342 !default; -$light-green-darken-2: #689f38 !default; -$light-green-darken-3: #558b2f !default; -$light-green-darken-4: #33691e !default; -$light-green-accent-1: #ccff90 !default; -$light-green-accent-2: #b2ff59 !default; -$light-green-accent-3: #76ff03 !default; -$light-green-accent-4: #64dd17 !default; - -$lime-lighten-5: #f9fbe7 !default; -$lime-lighten-4: #f0f4c3 !default; -$lime-lighten-3: #e6ee9c !default; -$lime-lighten-2: #dce775 !default; -$lime-lighten-1: #d4e157 !default; -$lime-base: #cddc39 !default; -$lime-darken-1: #c0ca33 !default; -$lime-darken-2: #afb42b !default; -$lime-darken-3: #9e9d24 !default; -$lime-darken-4: #827717 !default; -$lime-accent-1: #f4ff81 !default; -$lime-accent-2: #eeff41 !default; -$lime-accent-3: #c6ff00 !default; -$lime-accent-4: #aeea00 !default; - -$yellow-lighten-5: #fffde7 !default; -$yellow-lighten-4: #fff9c4 !default; -$yellow-lighten-3: #fff59d !default; -$yellow-lighten-2: #fff176 !default; -$yellow-lighten-1: #ffee58 !default; -$yellow-base: #ffeb3b !default; -$yellow-darken-1: #fdd835 !default; -$yellow-darken-2: #fbc02d !default; -$yellow-darken-3: #f9a825 !default; -$yellow-darken-4: #f57f17 !default; -$yellow-accent-1: #ffff8d !default; -$yellow-accent-2: #ffff00 !default; -$yellow-accent-3: #ffea00 !default; -$yellow-accent-4: #ffd600 !default; - -$amber-lighten-5: #fff8e1 !default; -$amber-lighten-4: #ffecb3 !default; -$amber-lighten-3: #ffe082 !default; -$amber-lighten-2: #ffd54f !default; -$amber-lighten-1: #ffca28 !default; -$amber-base: #ffc107 !default; -$amber-darken-1: #ffb300 !default; -$amber-darken-2: #ffa000 !default; -$amber-darken-3: #ff8f00 !default; -$amber-darken-4: #ff6f00 !default; -$amber-accent-1: #ffe57f !default; -$amber-accent-2: #ffd740 !default; -$amber-accent-3: #ffc400 !default; -$amber-accent-4: #ffab00 !default; - -$orange-lighten-5: #fff3e0 !default; -$orange-lighten-4: #ffe0b2 !default; -$orange-lighten-3: #ffcc80 !default; -$orange-lighten-2: #ffb74d !default; -$orange-lighten-1: #ffa726 !default; -$orange-base: #ff9800 !default; -$orange-darken-1: #fb8c00 !default; -$orange-darken-2: #f57c00 !default; -$orange-darken-3: #ef6c00 !default; -$orange-darken-4: #e65100 !default; -$orange-accent-1: #ffd180 !default; -$orange-accent-2: #ffab40 !default; -$orange-accent-3: #ff9100 !default; -$orange-accent-4: #ff6d00 !default; - -$deep-orange-lighten-5: #fbe9e7 !default; -$deep-orange-lighten-4: #ffccbc !default; -$deep-orange-lighten-3: #ffab91 !default; -$deep-orange-lighten-2: #ff8a65 !default; -$deep-orange-lighten-1: #ff7043 !default; -$deep-orange-base: #ff5722 !default; -$deep-orange-darken-1: #f4511e !default; -$deep-orange-darken-2: #e64a19 !default; -$deep-orange-darken-3: #d84315 !default; -$deep-orange-darken-4: #bf360c !default; -$deep-orange-accent-1: #ff9e80 !default; -$deep-orange-accent-2: #ff6e40 !default; -$deep-orange-accent-3: #ff3d00 !default; -$deep-orange-accent-4: #dd2c00 !default; - -$brown-lighten-5: #efebe9 !default; -$brown-lighten-4: #d7ccc8 !default; -$brown-lighten-3: #bcaaa4 !default; -$brown-lighten-2: #a1887f !default; -$brown-lighten-1: #8d6e63 !default; -$brown-base: #795548 !default; -$brown-darken-1: #6d4c41 !default; -$brown-darken-2: #5d4037 !default; -$brown-darken-3: #4e342e !default; -$brown-darken-4: #3e2723 !default; - -$blue-grey-lighten-5: #eceff1 !default; -$blue-grey-lighten-4: #cfd8dc !default; -$blue-grey-lighten-3: #b0bec5 !default; -$blue-grey-lighten-2: #90a4ae !default; -$blue-grey-lighten-1: #78909c !default; -$blue-grey-base: #607d8b !default; -$blue-grey-darken-1: #546e7a !default; -$blue-grey-darken-2: #455a64 !default; -$blue-grey-darken-3: #37474f !default; -$blue-grey-darken-4: #263238 !default; - -$grey-lighten-5: #fafafa !default; -$grey-lighten-4: #f5f5f5 !default; -$grey-lighten-3: #eeeeee !default; -$grey-lighten-2: #e0e0e0 !default; -$grey-lighten-1: #bdbdbd !default; -$grey-base: #9e9e9e !default; -$grey-darken-1: #757575 !default; -$grey-darken-2: #616161 !default; -$grey-darken-3: #424242 !default; -$grey-darken-4: #212121 !default; - -$black-base: #000 !default; -$white-base: #fff !default; -$foggy-grey: #4f4f4f !default; - -$mdb-colors-1: () !default; -$mdb-colors-1: map-merge(( - "mdb-color": ( - "lighten-5": $mdb-color-lighten-5, - "lighten-4": $mdb-color-lighten-4, - "lighten-3": $mdb-color-lighten-3, - "lighten-2": $mdb-color-lighten-2, - "lighten-1": $mdb-color-lighten-1, - "base": $mdb-color-base, - "darken-1": $mdb-color-darken-1, - "darken-2": $mdb-color-darken-2, - "darken-3": $mdb-color-darken-3, - "darken-4": $mdb-color-darken-4 - ), - "red": ( - "lighten-5": $red-lighten-5, - "lighten-4": $red-lighten-4, - "lighten-3": $red-lighten-3, - "lighten-2": $red-lighten-2, - "lighten-1": $red-lighten-1, - "base": $red-base, - "darken-1": $red-darken-1, - "darken-2": $red-darken-2, - "darken-3": $red-darken-3, - "darken-4": $red-darken-4, - "accent-1": $red-accent-1, - "accent-2": $red-accent-2, - "accent-3": $red-accent-3, - "accent-4": $red-accent-4 - ), - "pink": ( - "lighten-5": $pink-lighten-5, - "lighten-4": $pink-lighten-4, - "lighten-3": $pink-lighten-3, - "lighten-2": $pink-lighten-2, - "lighten-1": $pink-lighten-1, - "base": $pink-base, - "darken-1": $pink-darken-1, - "darken-2": $pink-darken-2, - "darken-3": $pink-darken-3, - "darken-4": $pink-darken-4, - "accent-1": $pink-accent-1, - "accent-2": $pink-accent-2, - "accent-3": $pink-accent-3, - "accent-4": $pink-accent-4 - ), - "purple": ( - "lighten-5": $purple-lighten-5, - "lighten-4": $purple-lighten-4, - "lighten-3": $purple-lighten-3, - "lighten-2": $purple-lighten-2, - "lighten-1": $purple-lighten-1, - "base": $purple-base, - "darken-1": $purple-darken-1, - "darken-2": $purple-darken-2, - "darken-3": $purple-darken-3, - "darken-4": $purple-darken-4, - "accent-1": $purple-accent-1, - "accent-2": $purple-accent-2, - "accent-3": $purple-accent-3, - "accent-4": $purple-accent-4 - ), - "deep-purple": ( - "lighten-5": $deep-purple-lighten-5, - "lighten-4": $deep-purple-lighten-4, - "lighten-3": $deep-purple-lighten-3, - "lighten-2": $deep-purple-lighten-2, - "lighten-1": $deep-purple-lighten-1, - "base": $deep-purple-base, - "darken-1": $deep-purple-darken-1, - "darken-2": $deep-purple-darken-2, - "darken-3": $deep-purple-darken-3, - "darken-4": $deep-purple-darken-4, - "accent-1": $deep-purple-accent-1, - "accent-2": $deep-purple-accent-2, - "accent-3": $deep-purple-accent-3, - "accent-4": $deep-purple-accent-4 - ), - "indigo": ( - "lighten-5": $indigo-lighten-5, - "lighten-4": $indigo-lighten-4, - "lighten-3": $indigo-lighten-3, - "lighten-2": $indigo-lighten-2, - "lighten-1": $indigo-lighten-1, - "base": $indigo-base, - "darken-1": $indigo-darken-1, - "darken-2": $indigo-darken-2, - "darken-3": $indigo-darken-3, - "darken-4": $indigo-darken-4, - "accent-1": $indigo-accent-1, - "accent-2": $indigo-accent-2, - "accent-3": $indigo-accent-3, - "accent-4": $indigo-accent-4 - ), - "blue": ( - "lighten-5": $blue-lighten-5, - "lighten-4": $blue-lighten-4, - "lighten-3": $blue-lighten-3, - "lighten-2": $blue-lighten-2, - "lighten-1": $blue-lighten-1, - "base": $blue-base, - "darken-1": $blue-darken-1, - "darken-2": $blue-darken-2, - "darken-3": $blue-darken-3, - "darken-4": $blue-darken-4, - "accent-1": $blue-accent-1, - "accent-2": $blue-accent-2, - "accent-3": $blue-accent-3, - "accent-4": $blue-accent-4 - ), - "light-blue": ( - "lighten-5": $light-blue-lighten-5, - "lighten-4": $light-blue-lighten-4, - "lighten-3": $light-blue-lighten-3, - "lighten-2": $light-blue-lighten-2, - "lighten-1": $light-blue-lighten-1, - "base": $light-blue-base, - "darken-1": $light-blue-darken-1, - "darken-2": $light-blue-darken-2, - "darken-3": $light-blue-darken-3, - "darken-4": $light-blue-darken-4, - "accent-1": $light-blue-accent-1, - "accent-2": $light-blue-accent-2, - "accent-3": $light-blue-accent-3, - "accent-4": $light-blue-accent-4 - ), - "cyan": ( - "lighten-5": $cyan-lighten-5, - "lighten-4": $cyan-lighten-4, - "lighten-3": $cyan-lighten-3, - "lighten-2": $cyan-lighten-2, - "lighten-1": $cyan-lighten-1, - "base": $cyan-base, - "darken-1": $cyan-darken-1, - "darken-2": $cyan-darken-2, - "darken-3": $cyan-darken-3, - "darken-4": $cyan-darken-4, - "accent-1": $cyan-accent-1, - "accent-2": $cyan-accent-2, - "accent-3": $cyan-accent-3, - "accent-4": $cyan-accent-4 - ), - "teal": ( - "lighten-5": $teal-lighten-5, - "lighten-4": $teal-lighten-4, - "lighten-3": $teal-lighten-3, - "lighten-2": $teal-lighten-2, - "lighten-1": $teal-lighten-1, - "base": $teal-base, - "darken-1": $teal-darken-1, - "darken-2": $teal-darken-2, - "darken-3": $teal-darken-3, - "darken-4": $teal-darken-4, - "accent-1": $teal-accent-1, - "accent-2": $teal-accent-2, - "accent-3": $teal-accent-3, - "accent-4": $teal-accent-4 - ), - "green": ( - "lighten-5": $green-lighten-5, - "lighten-4": $green-lighten-4, - "lighten-3": $green-lighten-3, - "lighten-2": $green-lighten-2, - "lighten-1": $green-lighten-1, - "base": $green-base, - "darken-1": $green-darken-1, - "darken-2": $green-darken-2, - "darken-3": $green-darken-3, - "darken-4": $green-darken-4, - "accent-1": $green-accent-1, - "accent-2": $green-accent-2, - "accent-3": $green-accent-3, - "accent-4": $green-accent-4 - ), - "light-green": ( - "lighten-5": $light-green-lighten-5, - "lighten-4": $light-green-lighten-4, - "lighten-3": $light-green-lighten-3, - "lighten-2": $light-green-lighten-2, - "lighten-1": $light-green-lighten-1, - "base": $light-green-base, - "darken-1": $light-green-darken-1, - "darken-2": $light-green-darken-2, - "darken-3": $light-green-darken-3, - "darken-4": $light-green-darken-4, - "accent-1": $light-green-accent-1, - "accent-2": $light-green-accent-2, - "accent-3": $light-green-accent-3, - "accent-4": $light-green-accent-4 - ), - "lime": ( - "lighten-5": $lime-lighten-5, - "lighten-4": $lime-lighten-4, - "lighten-3": $lime-lighten-3, - "lighten-2": $lime-lighten-2, - "lighten-1": $lime-lighten-1, - "base": $lime-base, - "darken-1": $lime-darken-1, - "darken-2": $lime-darken-2, - "darken-3": $lime-darken-3, - "darken-4": $lime-darken-4, - "accent-1": $lime-accent-1, - "accent-2": $lime-accent-2, - "accent-3": $lime-accent-3, - "accent-4": $lime-accent-4 - ), - "yellow": ( - "lighten-5": $yellow-lighten-5, - "lighten-4": $yellow-lighten-4, - "lighten-3": $yellow-lighten-3, - "lighten-2": $yellow-lighten-2, - "lighten-1": $yellow-lighten-1, - "base": $yellow-base, - "darken-1": $yellow-darken-1, - "darken-2": $yellow-darken-2, - "darken-3": $yellow-darken-3, - "darken-4": $yellow-darken-4, - "accent-1": $yellow-accent-1, - "accent-2": $yellow-accent-2, - "accent-3": $yellow-accent-3, - "accent-4": $yellow-accent-4 - ), - "amber": ( - "lighten-5": $amber-lighten-5, - "lighten-4": $amber-lighten-4, - "lighten-3": $amber-lighten-3, - "lighten-2": $amber-lighten-2, - "lighten-1": $amber-lighten-1, - "base": $amber-base, - "darken-1": $amber-darken-1, - "darken-2": $amber-darken-2, - "darken-3": $amber-darken-3, - "darken-4": $amber-darken-4, - "accent-1": $amber-accent-1, - "accent-2": $amber-accent-2, - "accent-3": $amber-accent-3, - "accent-4": $amber-accent-4 - ), - "orange": ( - "lighten-5": $orange-lighten-5, - "lighten-4": $orange-lighten-4, - "lighten-3": $orange-lighten-3, - "lighten-2": $orange-lighten-2, - "lighten-1": $orange-lighten-1, - "base": $orange-base, - "darken-1": $orange-darken-1, - "darken-2": $orange-darken-2, - "darken-3": $orange-darken-3, - "darken-4": $orange-darken-4, - "accent-1": $orange-accent-1, - "accent-2": $orange-accent-2, - "accent-3": $orange-accent-3, - "accent-4": $orange-accent-4 - ), - "deep-orange": ( - "lighten-5": $deep-orange-lighten-5, - "lighten-4": $deep-orange-lighten-4, - "lighten-3": $deep-orange-lighten-3, - "lighten-2": $deep-orange-lighten-2, - "lighten-1": $deep-orange-lighten-1, - "base": $deep-orange-base, - "darken-1": $deep-orange-darken-1, - "darken-2": $deep-orange-darken-2, - "darken-3": $deep-orange-darken-3, - "darken-4": $deep-orange-darken-4, - "accent-1": $deep-orange-accent-1, - "accent-2": $deep-orange-accent-2, - "accent-3": $deep-orange-accent-3, - "accent-4": $deep-orange-accent-4 - ), - "brown": ( - "lighten-5": $brown-lighten-5, - "lighten-4": $brown-lighten-4, - "lighten-3": $brown-lighten-3, - "lighten-2": $brown-lighten-2, - "lighten-1": $brown-lighten-1, - "base": $brown-base, - "darken-1": $brown-darken-1, - "darken-2": $brown-darken-2, - "darken-3": $brown-darken-3, - "darken-4": $brown-darken-4 - ), - "blue-grey": ( - "lighten-5": $blue-grey-lighten-5, - "lighten-4": $blue-grey-lighten-4, - "lighten-3": $blue-grey-lighten-3, - "lighten-2": $blue-grey-lighten-2, - "lighten-1": $blue-grey-lighten-1, - "base": $blue-grey-base, - "darken-1": $blue-grey-darken-1, - "darken-2": $blue-grey-darken-2, - "darken-3": $blue-grey-darken-3, - "darken-4": $blue-grey-darken-4 - ), - "grey": ( - "lighten-5": $grey-lighten-5, - "lighten-4": $grey-lighten-4, - "lighten-3": $grey-lighten-3, - "lighten-2": $grey-lighten-2, - "lighten-1": $grey-lighten-1, - "base": $grey-base, - "darken-1": $grey-darken-1, - "darken-2": $grey-darken-2, - "darken-3": $grey-darken-3, - "darken-4": $grey-darken-4 - ), - "black": ( - "base": $black-base - ), - "white": ( - "base": $white-base - ) -), $mdb-colors-1); - -// Full palette of colors -$enable_full_palette: true !default; - -// Stylish rgba colors -$stylish-rgba: ( - "rgba-stylish-slight": rgba(62, 69, 81, .1), - "rgba-stylish-light": rgba(62, 69, 81, .3), - "rgba-stylish-strong": rgba(62, 69, 81, .7), -); - -// Material colors -$primary-color: #4285f4 !default; -$primary-color-dark: #0d47a1 !default; -$secondary-color: #aa66cc !default; -$secondary-color-dark: #9933cc !default; -$default-color: #2bbbad !default; -$default-color-dark: #00695c !default; -$info-color: #33b5e5 !default; -$info-color-dark: #0099cc !default; -$success-color: #00c851 !default; -$success-color-dark: #007e33 !default; -$warning-color: #ffbb33 !default; -$warning-color-dark: #ff8800 !default; -$danger-color: #ff3547 !default; -$danger-color-dark: #cc0000 !default; -$elegant-color: #2e2e2e !default; -$elegant-color-dark: #212121 !default; -$stylish-color: #4b515d !default; -$stylish-color-dark: #3e4551 !default; -$unique-color: #3f729b !default; -$unique-color-dark: #1c2331 !default; -$special-color: #37474f !default; -$special-color-dark: #263238 !default; -$white: #fff; -$black: #000; -$error-color: $red-base !default; - -$material-colors: () !default; -$material-colors: map-merge(( - "primary-color": $primary-color, - "primary-color-dark": $primary-color-dark, - "secondary-color": $secondary-color, - "secondary-color-dark": $secondary-color-dark, - "default-color": $default-color, - "default-color-dark": $default-color-dark, - "info-color": $info-color, - "info-color-dark": $info-color-dark, - "success-color": $success-color, - "success-color-dark": $success-color-dark, - "warning-color": $warning-color, - "warning-color-dark": $warning-color-dark, - "danger-color": $danger-color, - "danger-color-dark": $danger-color-dark, - "elegant-color": $elegant-color, - "elegant-color-dark": $elegant-color-dark, - "stylish-color": $stylish-color, - "stylish-color-dark": $stylish-color-dark, - "unique-color": $unique-color, - "unique-color-dark": $unique-color-dark, - "special-color": $special-color, - "special-color-dark": $special-color-dark -), $material-colors); - -// Social colors -$fb-color: #3b5998 !default; -$tw-color: #55acee !default; -$gplus-color: #dd4b39 !default; -$yt-color: #ed302f !default; -$li-color: #0082ca !default; -$pin-color: #c61118 !default; -$ins-color: #2e5e86 !default; -$git-color: #333333 !default; -$comm-color: #30cfc0 !default; -$vk-color: #4c75a3 !default; -$drib-color: #ec4a89 !default; -$so-color: #ffac44 !default; -$slack-color: #56b68b !default; -$email-color: #4b515d !default; -$redd-color: #ff4500 !default; -$twitch-color: #6441a4 !default; -$discord-color: #7289da !default; - -$social-colors: () !default; -$social-colors: map-merge(( - "fb": $fb-color, - "tw": $tw-color, - "gplus": $gplus-color, - "yt": $yt-color, - "li": $li-color, - "pin": $pin-color, - "ins": $ins-color, - "git": $git-color, - "comm": $comm-color, - "vk": $vk-color, - "dribbble": $drib-color, - "so": $so-color, - "slack": $slack-color, - "email": $email-color, - "reddit": $redd-color, - "twitch": $twitch-color, - "discord": $discord-color, -), $social-colors); - -// MDB buttons colors -$mdb-colors: () !default; -$mdb-colors: map-merge(( - "primary": $primary-color, - "danger": $danger-color, - "warning": $warning-color, - "success": $success-color, - "info": $info-color, - "default": $default-color, - "secondary": $secondary-color, - "elegant": $elegant-color, - "unique": $pink-darken-4, - "dark-green": $green-darken-2, - "mdb-color": $mdb-color-lighten-1, - "red": $red-darken-2, - "pink": $pink-lighten-1, - "purple": $purple-darken-1, - "deep-purple": $deep-purple-darken-2, - "indigo": $indigo-base, - "blue": $blue-darken-2, - "light-blue": $blue-accent-1, - "cyan": $cyan-base, - "teal": $teal-darken-2, - "green": $green-darken-2, - "light-green": $light-green-base, - "lime": $lime-darken-2, - "yellow": $yellow-darken-2, - "amber": $amber-darken-2, - "orange": $orange-darken-2, - "deep-orange": $deep-orange-lighten-1, - "brown": $brown-base, - "grey": $grey-darken-2, - "blue-grey": $blue-grey-lighten-1, - "dark": $grey-darken-4, - "light": $grey-lighten-2, - "white": $white-base, - "black": $black-base -), $mdb-colors); - -// Basic colors -$basic: () !default; -$basic: map-merge(( - "primary": $primary-color, - "danger": $danger-color, - "warning": $warning-color, - "success": $success-color, - "info": $info-color -), $basic); - -$basic-mdb-colors: () !default; -$basic-mdb-colors: map-merge(( - "primary": $primary-color, - "danger": $danger-color, - "warning": $warning-color, - "success": $success-color, - "info": $info-color, - "default": $default-color, - "secondary": $secondary-color, - "dark": $grey-darken-4, - "light": $grey-lighten-2 -), $basic-mdb-colors); - -$pagination-colors: () !default; -$pagination-colors: map-merge(( - "blue": $primary-color, - "red": $danger-color, - "teal": $default-color, - "dark-grey": $special-color, - "dark": $elegant-color, - "blue-grey": $unique-color, - "amber": $amber-darken-4, - "purple": $deep-purple-darken-1 -), $pagination-colors); - -$ctbc: () !default; -$ctbc: map-merge(( - "tabs-cyan": $yellow-base, - "tabs-orange": $red-darken-1, - "tabs-grey": $white-base, - "tabs-pink": $deep-purple-base, - "tabs-green": $blue-darken-3, - "tabs-primary": $white-base -), $ctbc); - -$switch-color-bg: $secondary-color !default; -$switch-color-checked-lever-bg: desaturate(lighten($secondary-color, 25%), 25%) !default; -$switch-color-unchecked-bg: #F1F1F1 !default; -$switch-color-unchecked-lever-bg: #818181 !default; - -$switch-colors: () !default; -$switch-colors: map-merge(( - "bg": $switch-color-bg, - "checked-lever-bg": $switch-color-checked-lever-bg, - "unchecked-bg": $switch-color-unchecked-bg, - "unchecked-lever-bg": $switch-color-unchecked-lever-bg, -), $switch-colors); - -$dropdown-colors: () !default; -$dropdown-colors: map-merge(( - "primary" : $primary-color, - "danger" : $danger-color-dark, - "default" : $default-color, - "secondary": $secondary-color, - "success" : $success-color, - "info" : $info-color, - "warning" : $warning-color, - "dark" : map-get($mdb-colors, "elegant"), - "ins" : map-get($social-colors, "ins") -), $dropdown-colors); - -// Gradients -$gradients: () !default; -$gradients: map-merge(( - "purple": ( - "start": #ff6ec4, - "end": #7873f5 - ), - "peach": ( - "start": #FFD86F, - "end": #FC6262 - ), - "aqua": ( - "start": #2096ff, - "end": #05ffa3 - ), - "blue": ( - "start": #45cafc, - "end": $indigo-darken-2 - ), -), $gradients); - -// Gradients RGBA Version -$gradients-rgba: () !default; -$gradients-rgba: map-merge(( - "purple": ( - "start": rgba(255,110,196,.9), - "end": rgba(120,115,245,.9) - ), - "peach": ( - "start": rgba(255,216,111,.9), - "end": rgba(252,98,98,.9) - ), - "aqua": ( - "start": rgba(32,150,255,.9), - "end": rgba(5,255,163,.9) - ), - "blue": ( - "start": rgba(69,202,252,.9), - "end": rgba(48,63,159,.9) - ), -), $gradients-rgba); - - -$note: () !default; -$note: map-merge(( - "note-primary": #176ac4, - "note-secondary": #58595a, - "note-success": #49a75f, - "note-danger": #e45460, - "note-warning": #c2a442, - "note-info": #2492a5, - "note-light": #0f0f0f -), $note); diff --git a/_sass/mdb/core/_global.scss b/_sass/mdb/core/_global.scss deleted file mode 100755 index 35c8c5c29f5e..000000000000 --- a/_sass/mdb/core/_global.scss +++ /dev/null @@ -1,153 +0,0 @@ -// Globals -// Full palette of colors -@each $color_name, $color in $mdb-colors-1 { - @each $color_type, $color_value in $color { - @if $color_type == "base" { - .#{$color_name} { - background-color: $color_value !important; - } - .#{$color_name}-text { - color: $color-value !important; - } - .rgba-#{$color_name}-slight, - .rgba-#{$color_name}-slight:after { - background-color: rgba($color_value, .1); - } - .rgba-#{$color_name}-light, - .rgba-#{$color_name}-light:after { - background-color: rgba($color_value, .3); - } - .rgba-#{$color_name}-strong, - .rgba-#{$color_name}-strong:after { - background-color: rgba($color_value, .7); - } - } - @else { - @if $enable_full_palette { - .#{$color_name}.#{$color_type} { - background-color: $color_value !important; - } - } - } - } -} - -// Stylish color -@each $color_name, $color_value in $stylish-rgba { - .#{$color_name} { - background-color: $color_value; - } -} - -// Material colors palette -@each $color_name, $color in $material-colors { - .#{$color_name} { - background-color: $color !important; - } -} - -// Basic gradients -@each $name, $val in $gradients { - @include make-gradient($name, $val); -} -@each $name, $val in $gradients-rgba { - @include make-gradient-rgba($name, $val); -} - -.dark-grey-text { - color: #4f4f4f !important; - &:hover, - &:focus { - color: #4f4f4f !important; - } -} - -// Shadow on hover -.hoverable { - box-shadow: none; - transition: $transition-hoverable; - &:hover { - box-shadow: $z-depth-2; - transition: $transition-hoverable; - } -} - -// Shadows -.z-depth-0 { - box-shadow: none !important; -} -.z-depth-1 { - box-shadow: $z-depth-1 !important; -} -.z-depth-1-half { - box-shadow: $z-depth-1-half !important; -} -.z-depth-2 { - box-shadow: $z-depth-2 !important; -} -.z-depth-3 { - box-shadow: $z-depth-3 !important; -} -.z-depth-4 { - box-shadow: $z-depth-4 !important; -} -.z-depth-5 { - box-shadow: $z-depth-5 !important; -} - -// Disabled cursor -.disabled, -:disabled { - pointer-events: none !important; -} - -// Links -a { - cursor: pointer; - text-decoration: none; - color: $link-color; - transition: $transition-basic; - &:hover { - text-decoration: none; - color: $link-hover-color; - transition: $transition-basic; - } - &.disabled, - &:disabled { - &:hover { - color: $link-color; - } - } -} - -a:not([href]):not([tabindex]), a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover { - color: inherit; - text-decoration: none; -} - -// Divider -.divider-new { - flex-direction: row; - justify-content: center; - align-items: center; - display: flex; - margin-top: $divider-margin-y; - margin-bottom: $divider-margin-y; - > h1, h2, h3, h4, h5, h6 { - margin-bottom: 0; - } - &:before, - &:after { - content: ""; - height: 1.5px; - flex: 1; - height: $divider-height; - background: #c6c6c6; - } - &:before { - margin: 0 $divider-margin-x 0 0; - } - &:after { - margin: 0 0 0 $divider-margin-x; - } -} \ No newline at end of file diff --git a/_sass/mdb/core/_helpers.scss b/_sass/mdb/core/_helpers.scss deleted file mode 100644 index 9bed4cb04da1..000000000000 --- a/_sass/mdb/core/_helpers.scss +++ /dev/null @@ -1,85 +0,0 @@ -// Helpers -// MDB helpers -.img-fluid, -.video-fluid { - max-width: 100%; - height: auto; -} - -.flex-center { - display: flex; - justify-content: center; - align-items: center; - height: 100%; - - p { - margin: 0; - } - - ul { - text-align: center; - - li { - margin-bottom: $flex-center-ul-mb; - - &:last-of-type { - margin-bottom: 0; - } - } - } -} - -.hr-light { - border-top: 1px solid $hr-light; -} - -.hr-dark { - border-top: 1px solid $hr-dark; -} - -// Responsive width -.w-responsive { - width: 75%; - - @media (max-width: 740px) { - width: 100%; - } -} - -// Collapsible body -.collapsible-body { - display: none; -} - -.jumbotron { - box-shadow: $z-depth-1; - border-radius: $border-radius-base; - background-color: $white-base; -} - -@each $name, -$color in $basic-mdb-colors { - @include bg-variant(".bg-#{$name}", $color); - - .border-#{$name} { - border-color: $color !important; - } -} - -.card-img-100 { - width: 100px; - height: 100px; -} - -.card-img-64 { - width: 64px; - height: 64px; -} - -.mml-1 { - margin-left: - 0.25rem !important; -} - -.flex-1 { - flex: 1; -} diff --git a/_sass/mdb/core/_masks.scss b/_sass/mdb/core/_masks.scss deleted file mode 100755 index 4afc78ca3182..000000000000 --- a/_sass/mdb/core/_masks.scss +++ /dev/null @@ -1,78 +0,0 @@ -// Masks -// General properties -.view { - position: relative; - overflow: hidden; - cursor: default; - .mask { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - overflow: hidden; - width: 100%; - height: 100%; - background-attachment: fixed; - } - img, video { - position: relative; - display: block; - } - video { - &.video-intro { - z-index: -100; - top: 50%; - left: 50%; - transform: $intro-video-transform; - transition: $intro-video-transition opacity; - min-width: 100%; - min-height: 100%; - width: auto; - height: auto; - } - } -} - -// Overlay -.overlay { - .mask { - opacity: 0; - transition: $mask-overlay-transition; - &:hover { - opacity: 1; - } - } -} - -// Zoom -.zoom { - img, video { - transition: $mask-zoom-transition; - } - &:hover { - img, video { - transform: $mask-zoom-transform; - } - } -} - -// Patterns -$patterns: ( - 1: "01", - 2: "02", - 3: "03", - 4: "04", - 5: "05", - 6: "06", - 7: "07", - 8: "08", - 9: "09" -); - -@each $no, $filename in $patterns { - .pattern-#{$no} { - background: url("#{$image-path}/overlays/#{$filename}.png"); - background-attachment: fixed; - } -} diff --git a/_sass/mdb/core/_mixins.scss b/_sass/mdb/core/_mixins.scss deleted file mode 100755 index b206ff608dd2..000000000000 --- a/_sass/mdb/core/_mixins.scss +++ /dev/null @@ -1,606 +0,0 @@ -// Mixins -// Bootstrap Mixins -@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) { - $n: index($breakpoint-names, $name); - @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null); -} - -@function breakpoint-min($name, $breakpoints: $grid-breakpoints) { - $min: map-get($breakpoints, $name); - @return if($min !=0, $min, null); -} - -@function breakpoint-max($name, $breakpoints: $grid-breakpoints) { - $next: breakpoint-next($name, $breakpoints); - @return if($next, breakpoint-min($next, $breakpoints) - .02px, null); -} - -// Media of at least the minimum breakpoint width. No query for the smallest breakpoint. -// Makes the @content apply to the given breakpoint and wider. -@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) { - $min: breakpoint-min($name, $breakpoints); - - @if $min { - @media (min-width: $min) { - @content; - } - } - - @else { - @content; - } -} - -// Media of at most the maximum breakpoint width. No query for the largest breakpoint. -// Makes the @content apply to the given breakpoint and narrower. -@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) { - $max: breakpoint-max($name, $breakpoints); - - @if $max { - @media (max-width: $max) { - @content; - } - } - - @else { - @content; - } -} - -// Media that spans multiple breakpoint widths. -// Makes the @content apply between the min and max breakpoints -@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) { - $min: breakpoint-min($lower, $breakpoints); - $max: breakpoint-max($upper, $breakpoints); - - @if $min !=null and $max !=null { - @media (min-width: $min) and (max-width: $max) { - @content; - } - } - - @else if $max==null { - @include media-breakpoint-up($lower, $breakpoints) { - @content; - } - } - - @else if $min==null { - @include media-breakpoint-down($upper, $breakpoints) { - @content; - } - } -} - -// Media between the breakpoint's minimum and maximum widths. -// No minimum for the smallest breakpoint, and no maximum for the largest one. -// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower. -@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) { - $min: breakpoint-min($name, $breakpoints); - $max: breakpoint-max($name, $breakpoints); - - @if $min !=null and $max !=null { - @media (min-width: $min) and (max-width: $max) { - @content; - } - } - - @else if $max==null { - @include media-breakpoint-up($name, $breakpoints) { - @content; - } - } - - @else if $min==null { - @include media-breakpoint-down($name, $breakpoints) { - @content; - } - } -} - -@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) { - @return if(breakpoint-min($name, $breakpoints)==null, "", "-#{$name}"); -} - -@mixin hover-focus { - - &:hover, - &:focus { - @content; - } -} - -// Background color -@mixin bg-variant($parent, $color) { - #{$parent} { - background-color: $color !important; - } - - a#{$parent}, - button#{$parent} { - @include hover-focus { - background-color: darken($color, 10%) !important; - } - } -} - -// Typography -@mixin text-emphasis-variant($parent, $color) { - #{$parent} { - color: $color !important; - } - - a#{$parent} { - @include hover-focus { - color: darken($color, 10%) !important; - } - } -} - -// Placeholder -@mixin placeholder { - &::placeholder { - @content; - } -} - -/// Grid system -// -// Generate semantic grid columns with these mixins. - -@mixin make-container($gutter: $grid-gutter-width) { - width: 100%; - padding-right: $gutter / 2; - padding-left: $gutter / 2; - margin-right: auto; - margin-left: auto; -} - -// For each breakpoint, define the maximum width of the container in a media query -@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) { - - @each $breakpoint, - $container-max-width in $max-widths { - @include media-breakpoint-up($breakpoint, $breakpoints) { - max-width: $container-max-width; - } - } -} - -@mixin make-row() { - display: flex; - flex-wrap: wrap; - margin-right: ($grid-gutter-width / -2); - margin-left: ($grid-gutter-width / -2); -} - -@mixin make-col-ready() { - position: relative; - // Prevent columns from becoming too narrow when at smaller grid tiers by - // always setting `width: 100%;`. This works because we use `flex` values - // later on to override this initial width. - width: 100%; - min-height: 1px; // Prevent collapsing - padding-right: ($grid-gutter-width / 2); - padding-left: ($grid-gutter-width / 2); -} - -@mixin make-col($size, $columns: $grid-columns) { - flex: 0 0 percentage($size / $columns); - // Add a `max-width` to ensure content within each column does not blow out - // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari - // do not appear to require this. - max-width: percentage($size / $columns); -} - -@mixin make-col-offset($size, $columns: $grid-columns) { - $num: $size / $columns; - margin-left: if($num==0, 0, percentage($num)); -} - -@mixin clearfix() { - &::after { - display: block; - clear: both; - content: ""; - } -} - -@mixin float-left { - float: left !important; -} - -@mixin float-right { - float: right !important; -} - -@mixin float-none { - float: none !important; -} - -// CSS image replacement -@mixin text-hide($ignore-warning: false) { - // stylelint-disable-next-line font-family-no-missing-generic-family-keyword - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; - - @if ($ignore-warning !=true) { - @warn "The `text-hide()` mixin has been deprecated as of v4.1.0. It will be removed entirely in v5."; - } -} - -// Only display content to screen readers -// -// See: https://a11yproject.com/posts/how-to-hide-content/ -// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/ - -@mixin sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border: 0; -} - -// Use in conjunction with .sr-only to only display content when it's focused. -// -// Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 -// -// Credit: HTML5 Boilerplate - -@mixin sr-only-focusable { - - &:active, - &:focus { - position: static; - width: auto; - height: auto; - overflow: visible; - clip: auto; - white-space: normal; - } -} - -@mixin invisible($visibility) { - visibility: $visibility !important; -} - -// MDB Mixins -// Set the color of the button and badge -@function set-notification-text-color($color) { - @if (lightness($color) > 80) { - @return $black-base; // Lighter backgorund, return dark color - } - - @else { - @return $white-base; // Darker background, return light color - } -} - -// Make button -@mixin make-button ($name, $color) { - .btn-#{$name} { - background-color: $color !important; - color: set-notification-text-color($color); - - &:hover { - background-color: lighten($color, 5%); - color: set-notification-text-color($color); - } - - &:focus, - &.focus { - box-shadow: $z-depth-1-half; - } - - &:focus, - &:active, - &.active { - background-color: darken($color, 20%); - } - - &.dropdown-toggle { - background-color: $color !important; - - &:hover, - &:focus { - background-color: lighten($color, 5%) !important; - } - } - - &:not([disabled]):not(.disabled):active, - &:not([disabled]):not(.disabled).active, - .show>&.dropdown-toggle { - box-shadow: $z-depth-1-half; - background-color: darken($color, 20%) !important; - } - - &:not([disabled]):not(.disabled):active:focus, - &:not([disabled]):not(.disabled).active:focus, - .show>&.dropdown-toggle:focus { - box-shadow: $z-depth-1-half; - } - } - - .#{$name}-ic { - color: $color !important; - - &:hover, - &:focus { - color: $color; - } - } - - a.btn:not([href]):not([tabindex]), - a.btn:not([href]):not([tabindex]):focus, - a.btn:not([href]):not([tabindex]):hover { - color: set-notification-text-color($color); - } - table { - &.table { - a { - &.btn { - &.btn-#{$name} { - color: set-notification-text-color($color); - } - } - } - } - } -} - -// Make outline button -@mixin make-outline-button ($name, $color) { - .btn-outline-#{$name} { - border: 2px solid $color !important; - background-color: transparent !important; - color: $color !important; - - &:hover, - &:focus, - &:active, - &:active:focus, - &.active { - border-color: $color !important; - background-color: transparent !important; - color: $color !important; - } - - &:not([disabled]):not(.disabled):active, - &:not([disabled]):not(.disabled).active, - .show>&.dropdown-toggle { - box-shadow: $z-depth-1-half; - background-color: transparent !important; - border-color: $color !important; - } - - &:not([disabled]):not(.disabled):active:focus, - &:not([disabled]):not(.disabled).active:focus, - .show>&.dropdown-toggle:focus { - box-shadow: $z-depth-1-half; - } - } -} - -// Make gradient -@mixin make-gradient($name, $value) { - .#{$name}-gradient { - background: linear-gradient(40deg, map-get($value, start), map-get($value, end)) !important; - } -} - -$opacity: .9; - -// Make gradient -@mixin make-gradient-rgba($name, $value) { - .#{$name}-gradient-rgba { - background: linear-gradient(40deg, map-get($value, start), map-get($value, end)) !important; - } -} - -// Make gradient button -@mixin make-gradient-button($name, $value) { - .btn { - &.#{$name}-gradient { - transition: .5s ease; - color: $white-base; - - &:hover, - &:focus, - &:active, - &:active:focus &.active { - background: linear-gradient(lighten(map-get($value, start), 5%), lighten(map-get($value, end), 5%)); - } - } - } -} - -// Button size -@mixin button-size($padding-y, $padding-x, $font-size) { - padding: $padding-y $padding-x; - font-size: $font-size; -} - -@mixin make-badge($name, $color) { - .badge-#{$name} { - background-color: $color !important; - color: set-notification-text-color($color) !important; - } -} - -// Make input -@mixin make-input($margin-bottom, $label-font-size, $label-active-font-size, $top, $prefix-font-size, $margin-left, $width, $margin-left-2) { - .validate { - margin-bottom: $margin-bottom; - } - - label { - font-size: $label-font-size; - - &.active { - font-size: $label-active-font-size; - } - } - - .prefix { - top: $top; - font-size: $prefix-font-size; - - ~input, - ~textarea { - margin-left: $margin-left; - width: $width; - } - - ~label { - margin-left: $margin-left; - } - - ~.form-text { - margin-left: $margin-left-2; - } - } -} - -// Make navbar -@mixin make-navbar($color-0, $background-image, $color, $color-2, $color-3) { - .navbar-nav { - .nav-item { - .nav-link { - &.disbled { - color: $color-0; - - &:hover { - color: $color-0; - } - } - } - } - } - - .navbar-toggler-icon { - background-image: $background-image; - cursor: pointer; - } - - .breadcrumb, - .navbar-nav { - .nav-item { - .nav-link { - color: $color; - transition: $navbar-nav-transition; - - &:hover { - color: $color-2; - } - } - - &.active>.nav-link { - background-color: $color-3; - - &:hover { - color: $color; - } - } - } - } - - .navbar-toggler { - color: $color; - } - - form { - .md-form { - input { - border-bottom: 1px solid $color; - - &:focus:not([readonly]) { - border-color: $input-md-focus-color; - } - } - - .form-control { - color: $color; - - @include placeholder { - color: $color; - font-weight: $navbar-font-weight; - } - } - } - } -} - -// Make floating button -@mixin make-btn-floating($width, $height, $font-size, $line-height) { - width: $width; - height: $height; - - i { - font-size: $font-size; - line-height: $line-height; - } -} - -// Keyframes -@mixin keyframes($animation-name) { - @keyframes #{$animation-name} { - @content; - } -} - -// Scroll bar and scroll spy width and height -@mixin scroll-width($scrollbar-width) { - width: $scrollbar-width; -} - -@mixin scroll-height($scrollbar-height) { - height: $scrollbar-height; -} - -// Scroll spy font-weight -@mixin scrollspy-font-weight($scrollspy-font-weight) { - font-weight: $scrollspy-font-weight; -} - -// Switch width and height -@mixin switch-width-height($switchWidth, $switchHeight) { - width: $switchWidth; - height: $switchHeight; -} - -// Make Box-shadows -@mixin box-shadows($shadow...) { - box-shadow: $shadow; -} - -// Make Transition -@mixin transition-main($transition...) { - transition: $transition; -} - -// Make border-radius scrollspy -@mixin scrollspy-border-radius($scrollspy-radius) { - border-radius: $scrollspy-radius; -} - -// Make border-radius scrollspy 4rows -@mixin scrollspy-border-radius-4rows($top-left, $top-right, $bottom-right, $bottom-left) { - border-radius: $top-left $top-right $bottom-right $bottom-left; -} - -//Make animation for progresss -@mixin progress-animation-default($animation...) { - animation: $animation; -} - -//Make transform -@mixin transform($transform...) { - transform: $transform; -} diff --git a/_sass/mdb/core/_typography.scss b/_sass/mdb/core/_typography.scss deleted file mode 100755 index 62f874540a5e..000000000000 --- a/_sass/mdb/core/_typography.scss +++ /dev/null @@ -1,113 +0,0 @@ -// Typography - -// Roboto font -@font-face { - font-family: "Roboto"; - src: local(Roboto Thin), - url("#{$roboto-font-path}Roboto-Thin.eot"); - src: url("#{$roboto-font-path}Roboto-Thin.eot?#iefix") format("embedded-opentype"), - url("#{$roboto-font-path}Roboto-Thin.woff2") format("woff2"), - url("#{$roboto-font-path}Roboto-Thin.woff") format("woff"), - url("#{$roboto-font-path}Roboto-Thin.ttf") format("truetype"); - font-weight: 200; -} - -@font-face { - font-family: "Roboto"; - src: local(Roboto Light), - url("#{$roboto-font-path}Roboto-Light.eot"); - src: url("#{$roboto-font-path}Roboto-Light.eot?#iefix") format("embedded-opentype"), - url("#{$roboto-font-path}Roboto-Light.woff2") format("woff2"), - url("#{$roboto-font-path}Roboto-Light.woff") format("woff"), - url("#{$roboto-font-path}Roboto-Light.ttf") format("truetype"); - font-weight: 300; -} - -@font-face { - font-family: "Roboto"; - src: local(Roboto Regular), - url("#{$roboto-font-path}Roboto-Regular.eot"); - src: url("#{$roboto-font-path}Roboto-Regular.eot?#iefix") format("embedded-opentype"), - url("#{$roboto-font-path}Roboto-Regular.woff2") format("woff2"), - url("#{$roboto-font-path}Roboto-Regular.woff") format("woff"), - url("#{$roboto-font-path}Roboto-Regular.ttf") format("truetype"); - font-weight: 400; -} - -@font-face { - font-family: "Roboto"; - src: url("#{$roboto-font-path}Roboto-Medium.eot"); - src: url("#{$roboto-font-path}Roboto-Medium.eot?#iefix") format("embedded-opentype"), - url("#{$roboto-font-path}Roboto-Medium.woff2") format("woff2"), - url("#{$roboto-font-path}Roboto-Medium.woff") format("woff"), - url("#{$roboto-font-path}Roboto-Medium.ttf") format("truetype"); - font-weight: 500; -} - -@font-face { - font-family: "Roboto"; - src: url("#{$roboto-font-path}Roboto-Bold.eot"); - src: url("#{$roboto-font-path}Roboto-Bold.eot?#iefix") format("embedded-opentype"), - url("#{$roboto-font-path}Roboto-Bold.woff2") format("woff2"), - url("#{$roboto-font-path}Roboto-Bold.woff") format("woff"), - url("#{$roboto-font-path}Roboto-Bold.ttf") format("truetype"); - font-weight: 700; -} - -// General properties -body { - font-family: $mdb-font-family; - font-weight: $font-weight-light; -} - -h1, h2, h3, h4, h5, h6 { - font-weight: $font-weight-light; -} - -// Blockquote -.blockquote { - padding: $blockquote-padding-y $blockquote-padding-x; - border-left: .25rem solid #eceeef; - &.text-right { - border-left: none; - border-right: .25rem solid #eceeef; - } - .bq-title { - margin-bottom: 0; - font-size: $font-size-large; - font-weight: 400; - } - p { - padding: $blockquote-p-padding-y 0; - font-size: $blockquote-p-font-size; - } -} - -@each $name, $color in $basic { - .bq-#{$name} { - border-left: 3px solid $color !important; - .bq-title { - color: $color !important; - } - } -} - -// Responsive headings -@each $key, $val in $grid-breakpoints { - @include media-breakpoint-up($key) { - $y: map-get($responsive-headings, $key); - @each $name, $value in $y { - .#{$name}-responsive { - font-size: $value; - } - } - } -} - -@each $name, $color in $basic-mdb-colors { - @include text-emphasis-variant(".text-#{$name}", $color); -} - -.font-small { - font-size: $font-size-small; -} diff --git a/_sass/mdb/core/_variables.scss b/_sass/mdb/core/_variables.scss deleted file mode 100755 index 7227d46f238a..000000000000 --- a/_sass/mdb/core/_variables.scss +++ /dev/null @@ -1,494 +0,0 @@ - -// =========================================================================== -// MDB variables -// =========================================================================== -// -// Table of Contents: -// -// 1. Fonts -// 2. Shadows -// 3. Transitions -// 4. Borders -// 5. Globals -// 6. Masks -// 7. Images -// 8. Buttons -// 9. Cards -// 10. Navbars -// 11. Pagination -// 12. Badges -// 13. Modals -// 14. Carousels -// 15. Forms -// 16. Miscellaneous -// 17. Footers -// 18. List groups -// 19. Tables -// 20. Steppers - - - -// 1. Fonts -// =========================================================================== - -// Basic font properties -$roboto-font-path: "../font/roboto/" !default; -$roboto-font-family: "Roboto", sans-serif !default; -$mdb-font-family: $roboto-font-family !default; - -$font-size-large: 1.5rem !default; -$font-size-small: 0.9rem !default; - -// Blockquote -$blockquote-padding-y : .5rem !default; -$blockquote-padding-x : 1rem !default; -$blockquote-p-padding-y : $blockquote-padding-x !default; -$blockquote-p-padding-l : 2rem !default; -$blockquote-p-font-size : 1.1rem !default; - -// Custom map for file browser -$custom-mdb-file-text : ( - es : "Elegir", - pl-PL : "Wybierz", - fr : "Choisir", - in : "Pilih", - zh : "選擇", - de : "Wählen", - ru : "выбирать" -); - -// Reponsive Headings -$responsive-headings : () !default; -$responsive-headings : map-merge(( - "xs" : ( - "h1" : 150%, - "h2" : 145%, - "h3" : 135%, - "h4" : 135%, - "h5" : 135% - ), - "sm" : ( - "h1" : 170%, - "h2" : 140%, - "h3" : 125%, - "h4" : 125%, - "h5" : 125% - ), - "md" : ( - "h1" : 200%, - "h2" : 170%, - "h3" : 140%, - "h4" : 125%, - "h5" : 125% - ), - "lg" : ( - "h1" : 200%, - "h2" : 170%, - "h3" : 140%, - "h4" : 125%, - "h5" : 125% - ), - "xl" : ( - "h1" : 250%, - "h2" : 200%, - "h3" : 170%, - "h4" : 140%, - "h5" : 125% - ), -), $responsive-headings); - -// Links -$link-color : #0275d8 !default; -$link-hover-color : darken($link-color, 15%) !default; - - -// 2. Shadows -// =========================================================================== - -// Shadows -$z-depth-1 : 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12) !default; -$z-depth-1-half : 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15) !default; -$z-depth-2 : 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19) !default; -$z-depth-3 : 0 12px 15px 0 rgba(0, 0, 0, 0.24), 0 17px 50px 0 rgba(0, 0, 0, 0.19) !default; -$z-depth-4 : 0 16px 28px 0 rgba(0, 0, 0, 0.22), 0 25px 55px 0 rgba(0, 0, 0, 0.21) !default; -$z-depth-5 : 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22) !default; - - -// 3. Transitions -// =========================================================================== - -// Transitions -$transition-basic : all .2s ease-in-out !default; -$transition-hoverable : all .55s ease-in-out !default; - - -// 4. Borders -// =========================================================================== - -// Border radius -$border-radius-base : .125rem !default; -$border-radius-circle : 50% !default; - - -// 5. Globals -// =========================================================================== - -// Media Query Ranges -$small-screen-up : 601px !default; -$medium-screen-up : 993px !default; -$large-screen-up : 1201px !default; -$small-screen : 600px !default; -$medium-screen : 992px !default; -$large-screen : 1200px !default; -$sidenav-breakpoint : 1440px !default; - -$medium-and-up : "only screen and (min-width : #{$small-screen-up})" !default; -$large-and-up : "only screen and (min-width : #{$medium-screen-up})" !default; -$small-and-down : "only screen and (max-width : #{$small-screen})" !default; -$medium-and-down : "only screen and (max-width : #{$medium-screen})" !default; -$medium-only : "only screen and (min-width : #{$small-screen-up}) and (max-width : #{$medium-screen})" !default; -$hide-sidenav : "only screen and (max-width : #{$sidenav-breakpoint})" !default; - -// Divider -$divider-margin-y : 2.8rem !default; -$divider-margin-x : .5rem !default; -$divider-height : 2px !default; - -// Dividers colors -$hr-light : $white-base !default; -$hr-dark : #666 !default; -$flex-center-ul-mb : 1rem !default; - - -// 6. Masks -// =========================================================================== - -// Masks -$mask-overlay-transition : all .4s ease-in-out !default; -$mask-zoom-transition : all .2s linear !default; -$mask-zoom-transform : scale(1.1) !default; -$intro-video-transform : translateX(-50%) translateY(-50%) !default; -$intro-video-transition : 1s !default; - - -// 7. Images -// =========================================================================== - -// Images -$image-path : "../img" !default; -$avatar-img-max-width : 100px !default; - - -// 8. Buttons -// =========================================================================== - -// Buttons -$btn-color-basic : $white-base !default; -$btn-margin-basic : .375rem !default; -$btn-padding-y-basic : .84rem !default; -$btn-padding-x-basic : 2.14rem !default; -$btn-font-size-basic : .81rem !default; - -$btn-padding-y-large : 1rem !default; -$btn-padding-x-large : 2.4rem !default; -$btn-font-size-large : .94rem !default; - -$btn-padding-y-medium : .7rem !default; -$btn-padding-x-medium : 1.6rem !default; -$btn-font-size-medium : .7rem !default; - -$btn-padding-y-small : .5rem !default; -$btn-padding-x-small : 1.6rem !default; -$btn-font-size-small : .64rem !default; - -$btn-outline-padding-y-basic : .7rem !default; -$btn-outline-padding-y-large : .88rem !default; -$btn-outline-padding-y-medium : .58rem !default; -$btn-outline-padding-y-small : .38rem !default; - -$btn-tb-padding-y : 0.3rem !default; -$btn-tb-padding-x : 1rem !default; - -$btn-transition : $transition-basic !default; - -$btn-icon-basic : .9rem !default; -$btn-icon-large : 1rem !default; -$btn-icon-medium : .8rem !default; -$btn-icon-small : .7rem !default; -$btn-icon-margin : .3rem !default; - - -// 9. Cards -// =========================================================================== - -// Cards -$md-card-border-radius : .25rem !default; -$md-card-link-transition : .2s ease-in-out !default; -$md-card-font-size : .9rem !default; -$md-card-text-color : #747373 !default; - - -// 10. Navbars -// =========================================================================== - -// Navbars -$navbar-font-weight : 300 !default; -$navbar-double-font-size : 15px !default; - -$navbar-light-toggler-icon : url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E") !default; -$navbar-light-bg-active-color : rgba($black-base, .1) !default; -$navbar-light-hover-color : rgba($black-base, .75) !default; -$navbar-light-disabled-color : rgba(0, 0, 0, 0.5) !default; - -$navbar-dark-toggler-icon : url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E") !default; -$navbar-dark-bg-active-color : rgba($white-base, .1) !default; -$navbar-dark-hover-color : rgba($white-base, .75) !default; -$navbar-dark-disabled-color : rgba(255, 255, 255, 0.5) !default; - -$navbar-scrolling-transition : background .5s ease-in-out, padding .5s ease-in-out !default; -$navbar-scrolling-transition-duration : 1s !default; -$navbar-scrolling-padding : 12px !default; -$navbar-top-collapse-padding : 5px !default; -$navbar-nav-transition : .35s !default; -$navbar-dropdown-font-size : 0.9375rem !default; -$navbar-dropdown-menu-padding : 10px !default; -$navbar-flex-icons-padding-md : 6px !default; -$navbar-flex-icons-padding-lg : 3px !default; -$navbar-form-input-mr : 5px !default; -$navbar-form-input-mb : 1px !default; -$navbar-form-input-ml : 8px !default; -$navbar-form-input-height : 1rem !default; -$navbar-breadcrumb-padding-top : .3rem !default; -$navbar-breadcrumb-padding-left : 1rem !default; -$navbar-breadcrumb-color : rgba(255,255,255,.65) !default; - - -// 11. Pagination -// =========================================================================== - -// Pagination -$pagination-active-transition : all .2s linear !default; -$pagination-page-link-transition : all .3s linear !default; -$pagination-page-link-font-size : .9rem !default; -$pagination-page-link-font-size-lg : 1rem !default; -$pagination-page-link-font-size-sm : .8rem !default; -$pagination-page-item-disabled-color : #868e96 !default; -$pagination-page-link-color : #212529 !default; -$pagination-page-link-hover-bg-color : #eee !default; -$pagination-circle-margin-x : 2px !default; -$pagination-circle-border-radius : $border-radius-circle !default; - - -// 12. Badges -// =========================================================================== - -// Badges -$badge-pill-padding-x : .6rem !default; -$badge-pill-border-radius : 10rem !default; - - -// 13. Modals -// =========================================================================== - -// Modals -$modal-distance : 10px !default; -$modal-width : 400px !default; -$modal-full-height-medium-screen : 800px !default; -$modal-full-height-large-screen : 1000px !default; -$modal-fade-top-transform : translate3d(0, -25%, 0) !default; -$modal-fade-bottom-transform : translate3d(0, 25%, 0) !default; -$modal-fade-right-transform : translate3d(25%, 0, 0) !default; -$modal-fade-left-transform : translate3d(-25%, 0, 0) !default; -$modal-notify-body-padding : 1.5rem !default; -$modal-notify-heading-padding : .3rem !default; -$modal-notify-font-size : 1.15rem !default; -$modal-avatar-margin-top : 6rem !default; -$modal-avatar-header-margin-top : -6rem !default; -$modal-avatar-header-margin-bottom : -1rem !default; -$modal-avatar-img-width : 130px !default; -$modal-body-padding-right : 2rem !default; -$modal-body-padding-left : $modal-body-padding-right !default; -$modal-body-margin-top : 1rem !default; -$cascading-modal-margin-top : -2rem !default; -$cascading-modal-margin-right : 1rem !default; -$cascading-modal-margin-bottom : $cascading-modal-margin-right !default; -$cascading-modal-margin-left : $cascading-modal-margin-right !default; -$cascading-modal-padding : 1.5rem !default; -$cascading-modal-close-margin-right : $cascading-modal-margin-right !default; -$cascading-modal-font-size : 1.25rem !default; -$cascading-modal-fa-margin-right : 9px !default; -$cascading-modal-social-margin-top : $cascading-modal-padding !default; -$cascading-modal-a-font-size : 1rem !default; -$cascading-modal-tabs-margin-x : 1rem !default; -$cascading-modal-tabs-margin-top : -1.5rem !default; -$cascading-modal-tabs-padding-top : 1.7rem !default; - - -// 14. Carousels -// =========================================================================== - -// Carousels -$carousel-control-icon-width : 2.25rem !default; -$carousel-control-icon-height : $carousel-control-icon-width !default; -$carousel-control-prev-icon : url(#{$image-path}/svg/arrow_left.svg) !default; -$carousel-control-next-icon : url(#{$image-path}/svg/arrow_right.svg) !default; -$carousel-indicators-width : .625rem !default; -$carousel-indicators-height : $carousel-indicators-width !default; -$carousel-indicators-border-radius : $border-radius-circle !default; -$carousel-transition-duration : .6s !default; -$carousel-item-transform : translateX(0) !default; -$carousel-item-transform-2 : translate3d(0, 0, 0) !default; - - -// 15. Forms -// =========================================================================== - -// Forms -$input-bg-color : $white-base !default; -$label-font-size : .8rem !default; -$input-transition : all .3s !default; -$input-disabled-color : rgba(0,0,0, .46) !default; -$input-md-focus-color : $primary-color !default; -$input-error-color : $error-color !default; -$input-success-color : $success-color !default; -$input-label-after-top : 65px !default; -$input-label-after-transition : .2s opacity ease-out, .2s color ease-out !default; -$input-border-color : #ced4da !default; - -$input-label-transition : .2s ease-out !default; -$input-label-color : #757575 !default; -$input-label-top : .65rem !default; -$input-label-active-transform : translateY(-14px) !default; -$input-prefix-transition : color .2s !default; - -$input-md-form-margin-top : 1.5rem !default; -$input-md-form-margin-bottom : $input-md-form-margin-top !default; -$input-label-font-size : 1rem !default; -$input-label-active-font-size : 1rem !default; -$input-prefix-top : .25rem !default; -$input-prefix-font-size : 1.75rem !default; -$input-prefix-margin-left : 2.5rem !default; -$input-prefix-width : calc(100% - 2.5rem) !default; -$input-group-addon-font-size : 1.4rem !default; -$input-form-text-ml : 2.6rem !default; -$input-validate-mb : 2.5rem !default; -$input-label-valid-top : 4.1rem !default; -$input-label-invalid-top : 4rem !default; - -$input-label-font-size-lg : 1.25rem !default; -$input-label-active-font-size-lg : 1.15rem !default; -$input-prefix-top-lg : .4rem !default; -$input-prefix-font-size-lg : 2rem !default; -$input-prefix-margin-left-lg : 3rem !default; -$input-prefix-width-lg : calc(100% - 3rem) !default; -$input-group-addon-font-size-lg : 1.65rem !default; -$input-form-text-ml-lg : 3.1rem !default; -$input-validate-mb-lg : 2.8rem !default; -$input-label-valid-top-lg : 4.6rem !default; -$input-label-invalid-top-lg : 4.6rem !default; - -$input-label-font-size-sm : .875rem !default; -$input-label-active-font-size-sm : .95rem !default; -$input-prefix-top-sm : .35rem !default; -$input-prefix-font-size-sm : 1.5rem !default; -$input-prefix-margin-left-sm : 2rem !default; -$input-prefix-width-sm : calc(100% - 2rem) !default; -$input-group-addon-font-size-sm : 1.15rem !default; -$input-form-text-ml-sm : 2rem !default; -$input-validate-mb-sm : 2.3rem !default; -$input-label-valid-top-sm : 3.7rem !default; -$input-label-invalid-top-sm : 3.6rem !default; - -$textarea-padding : 1.5rem !default; - -$input-form-control-margin-bottom : .5rem !default; -$input-form-control-padding-top : .6rem !default; -$input-form-control-padding-bottom : .4rem !default; -$input-disabled-solid-color : #BDBDBD !default; - -// Input group -$input-group-text-bgc : #e0e0e0 !default; -$input-group-form-control-px : .75rem !default; -$input-group-form-control-py : .375rem !default; - - -// 16. Miscellaneous -// =========================================================================== - -// Miscellaneous -$edge-header-height : 278px !default; -$edge-header-background-color : #ccc !default; -$edge-header-margin-top : -100px !default; - - -// 17. Footers -// =========================================================================== - -// Footers -$footer-copyright-color : rgba($white-base, .6) !default; -$footer-copyright-bg-color : rgba($black-base, .2) !default; -$footer-font-size : .9rem !default; - - -// 18. List groups -// =========================================================================== - -// List group -$list-group-padding : 0 10px 10px 0 !default; -$list-group-transition : .5s !default; - - -// 19. Tables -// =========================================================================== - -// Tables -$table-th-font-size : .9rem !default; -$table-td-font-size : $table-th-font-size !default; -$table-th-padding-top : 1.1rem !default; -$table-td-padding-bottom : 1rem !default; -$table-a-color : #212529 !default; -$table-hover-transition : .5s !default; -$table-hover-background-color : rgba(0, 0, 0, 0.075) !default; -$table-sm-padding-y : .6rem !default; -$table-inverse-color-border : $white-base !default; -$product-table-img-max-height : 150px !default; -$product-table-img-min-width : 50px !default; -$table-th-lg-min-width : 9rem !default; -$table-th-sm-min-width : 6rem !default; -$table-scroll-vertical-max-height : 300px !default; -$table-label-height : 0.94rem !default; -$table-label-line-height : $table-label-height !default; - - -// 20. Steppers -// =========================================================================== - -// Steppers -$stepper-li-a-padding : 1.5rem!default; -$stepper-li-a-circle-color : $white !default; -$stepper-li-a-circle-border-radius : $border-radius-circle !default; -$stepper-li-a-circle-bg : rgba($black, .38) !default; -$stepper-li-a-circle-mr : .5rem !default; -$stepper-li-a-label-color : rgba($black, .87) !default; - -$stepper-horizontal-li-transition : .5s !default; -$stepper-horizontal-li-a-label-mt : .63rem !default; -$stepper-horizontal-li-after-margin : .5rem !default; -$stepper-horizontal-li-after-height : 1px !default; -$stepper-horizontal-li-after-bgc : rgba($black, .1) !default; -$stepper-horizontal-breakpoint : 47.9375rem !default; -$stepper-horizontal-small-li-a-label-mt : .2rem !default; -$stepper-horizontal-small-li-after-width : $stepper-horizontal-li-after-height !default; -$stepper-horizontal-small-li-after-height : calc(100% - 40px) !default; -$stepper-horizontal-small-li-after-left : 2.19rem !default; -$stepper-horizontal-small-li-after-top : 3.75rem !default; - -$stepper-vertical-li-a-label-mt : $stepper-horizontal-small-li-a-label-mt !default; -$stepper-vertical-li-step-content-ml : 3.13rem !default; -$stepper-vertical-li-step-content-padding : .94rem !default; -$stepper-vertical-li-step-content-p-font-size: .88rem !default; -$stepper-vertical-li-after-width : 1px !default; -$stepper-vertical-li-after-height : $stepper-horizontal-small-li-after-height !default; -$stepper-vertical-li-after-left : $stepper-horizontal-small-li-after-left !default; -$stepper-vertical-li-after-top : 3.44rem !default; -$stepper-vertical-li-after-bgc : $stepper-horizontal-li-after-bgc !default; \ No newline at end of file diff --git a/_sass/mdb/core/_waves.scss b/_sass/mdb/core/_waves.scss deleted file mode 100755 index 699fcba2c053..000000000000 --- a/_sass/mdb/core/_waves.scss +++ /dev/null @@ -1,163 +0,0 @@ -/*! - * Waves v0.7.6 - * http://fian.my.id/Waves - * - * Copyright 2014-2018 Alfiana E. Sibuea and other contributors - * Released under the MIT license - * https://github.com/fians/Waves/blob/master/LICENSE */ - -@mixin waves-transition($transition){ - -webkit-transition: $transition; - -moz-transition: $transition; - -o-transition: $transition; - transition: $transition; -} - -@mixin waves-transform($string){ - -webkit-transform: $string; - -moz-transform: $string; - -ms-transform: $string; - -o-transform: $string; - transform: $string; -} - -@mixin waves-box-shadow($shadow){ - -webkit-box-shadow: $shadow; - box-shadow: $shadow; -} - -.waves-effect { - position: relative; - cursor: pointer; - overflow: hidden; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-tap-highlight-color: transparent; - - .waves-ripple { - position: absolute; - border-radius: 50%; - width: 100px; - height: 100px; - margin-top:-50px; - margin-left:-50px; - opacity: 0; - background: rgba(0,0,0,0.2); - $gradient: rgba(0,0,0,0.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%; - background: -webkit-radial-gradient($gradient); - background: -o-radial-gradient($gradient); - background: -moz-radial-gradient($gradient); - background: radial-gradient($gradient); - @include waves-transition(all 0.5s ease-out); - -webkit-transition-property: -webkit-transform, opacity; - -moz-transition-property: -moz-transform, opacity; - -o-transition-property: -o-transform, opacity; - transition-property: transform, opacity; - @include waves-transform(scale(0) translate(0,0)); - pointer-events: none; - } - - &.waves-light .waves-ripple { - background: rgba(255,255,255,0.4); - $gradient: rgba(255,255,255,0.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%; - background: -webkit-radial-gradient($gradient); - background: -o-radial-gradient($gradient); - background: -moz-radial-gradient($gradient); - background: radial-gradient($gradient); - } - - &.waves-classic .waves-ripple { - background: rgba(0,0,0,0.2); - } - - &.waves-classic.waves-light .waves-ripple { - background: rgba(255,255,255,0.4); - } -} - -.waves-notransition { - @include waves-transition(none #{"!important"}); -} - -.waves-button, -.waves-circle { - @include waves-transform(translateZ(0)); - -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%); -} - -.waves-button, -.waves-button:hover, -.waves-button:visited, -.waves-button-input { - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - border: none; - outline: none; - color: inherit; - background-color: rgba(0, 0, 0, 0); - font-size: 1em; - line-height:1em; - text-align: center; - text-decoration: none; - z-index: 1; -} - -.waves-button { - padding: 0.85em 1.1em; - border-radius: 0.2em; -} - -.waves-button-input { - margin: 0; - padding: 0.85em 1.1em; -} - -.waves-input-wrapper { - display: inline-block; - position: relative; - vertical-align: middle; - border-radius: 0.2em; - - &.waves-button { - padding: 0; - } - - .waves-button-input { - position: relative; - top: 0; - left: 0; - z-index: 1; - } -} - -.waves-circle { - text-align: center; - width: 2.5em; - height: 2.5em; - line-height: 2.5em; - border-radius: 50%; -} - -.waves-float { - -webkit-mask-image: none; - @include waves-box-shadow(0px 1px 1.5px 1px rgba(0, 0, 0, 0.12)); - @include waves-transition(all 300ms); - - &:active { - @include waves-box-shadow(0px 8px 20px 1px rgba(0, 0, 0, 0.30)); - } -} - -.waves-block { - display: block; -} - -a { - &.waves-effect, - &.waves-light { - display:inline-block; - } - } diff --git a/_sass/mdb/core/bootstrap/_alert.scss b/_sass/mdb/core/bootstrap/_alert.scss deleted file mode 100644 index da2a98af94e8..000000000000 --- a/_sass/mdb/core/bootstrap/_alert.scss +++ /dev/null @@ -1,51 +0,0 @@ -// -// Base styles -// - -.alert { - position: relative; - padding: $alert-padding-y $alert-padding-x; - margin-bottom: $alert-margin-bottom; - border: $alert-border-width solid transparent; - @include border-radius($alert-border-radius); -} - -// Headings for larger alerts -.alert-heading { - // Specified to prevent conflicts of changing $headings-color - color: inherit; -} - -// Provide class for links that match alerts -.alert-link { - font-weight: $alert-link-font-weight; -} - - -// Dismissible alerts -// -// Expand the right padding and account for the close button's positioning. - -.alert-dismissible { - padding-right: $close-font-size + $alert-padding-x * 2; - - // Adjust close link position - .close { - position: absolute; - top: 0; - right: 0; - padding: $alert-padding-y $alert-padding-x; - color: inherit; - } -} - - -// Alternate styles -// -// Generate contextual modifier classes for colorizing the alert. - -@each $color, $value in $theme-colors { - .alert-#{$color} { - @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level)); - } -} diff --git a/_sass/mdb/core/bootstrap/_badge.scss b/_sass/mdb/core/bootstrap/_badge.scss deleted file mode 100644 index 2082f058eceb..000000000000 --- a/_sass/mdb/core/bootstrap/_badge.scss +++ /dev/null @@ -1,54 +0,0 @@ -// Base class -// -// Requires one of the contextual, color modifier classes for `color` and -// `background-color`. - -.badge { - display: inline-block; - padding: $badge-padding-y $badge-padding-x; - @include font-size($badge-font-size); - font-weight: $badge-font-weight; - line-height: 1; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - @include border-radius($badge-border-radius); - @include transition($badge-transition); - - @at-root a#{&} { - @include hover-focus { - text-decoration: none; - } - } - - // Empty badges collapse automatically - &:empty { - display: none; - } -} - -// Quick fix for badges in buttons -.btn .badge { - position: relative; - top: -1px; -} - -// Pill badges -// -// Make them extra rounded with a modifier to replace v3's badges. - -.badge-pill { - padding-right: $badge-pill-padding-x; - padding-left: $badge-pill-padding-x; - @include border-radius($badge-pill-border-radius); -} - -// Colors -// -// Contextual variations (linked badges get darker on :hover). - -@each $color, $value in $theme-colors { - .badge-#{$color} { - @include badge-variant($value); - } -} diff --git a/_sass/mdb/core/bootstrap/_breadcrumb.scss b/_sass/mdb/core/bootstrap/_breadcrumb.scss deleted file mode 100644 index be309506903b..000000000000 --- a/_sass/mdb/core/bootstrap/_breadcrumb.scss +++ /dev/null @@ -1,41 +0,0 @@ -.breadcrumb { - display: flex; - flex-wrap: wrap; - padding: $breadcrumb-padding-y $breadcrumb-padding-x; - margin-bottom: $breadcrumb-margin-bottom; - list-style: none; - background-color: $breadcrumb-bg; - @include border-radius($breadcrumb-border-radius); -} - -.breadcrumb-item { - // The separator between breadcrumbs (by default, a forward-slash: "/") - + .breadcrumb-item { - padding-left: $breadcrumb-item-padding; - - &::before { - display: inline-block; // Suppress underlining of the separator in modern browsers - padding-right: $breadcrumb-item-padding; - color: $breadcrumb-divider-color; - content: $breadcrumb-divider; - } - } - - // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built - // without `