diff --git a/2023/.gitattributes b/2023/.gitattributes new file mode 100644 index 0000000..412eeda --- /dev/null +++ b/2023/.gitattributes @@ -0,0 +1,22 @@ +# Auto detect text files and perform LF normalization +* text=auto + +# Custom for Visual Studio +*.cs diff=csharp +*.sln merge=union +*.csproj merge=union +*.vbproj merge=union +*.fsproj merge=union +*.dbproj merge=union + +# Standard to msysgit +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain diff --git a/2023/.gitignore b/2023/.gitignore new file mode 100644 index 0000000..493dd0d --- /dev/null +++ b/2023/.gitignore @@ -0,0 +1,223 @@ +################# +## WebStorm +################# +.idea + +################# +## Eclipse +################# + +*.pydevproject +.project +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.classpath +.settings/ +.loadpath + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# CDT-specific +.cproject + +# PDT-specific +.buildpath + + +################# +## Visual Studio +################# + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results + +[Dd]ebug/ +[Rr]elease/ +x64/ +build/ +[Bb]in/ +[Oo]bj/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.log +*.scc + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +*.ncrunch* +.*crunch*.local.xml + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.Publish.xml +*.pubxml +*.publishproj + +# NuGet Packages Directory +## TODO: If you have NuGet Package Restore enabled, uncomment the next line +#packages/ + +# Windows Azure Build Output +csx +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +sql/ +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.[Pp]ublish.xml +*.pfx +*.publishsettings + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +App_Data/*.mdf +App_Data/*.ldf + +############# +## Windows detritus +############# + +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Mac crap +.DS_Store + + +############# +## Python +############# + +*.py[cod] + +# Packages +*.egg +*.egg-info +dist/ +build/ +eggs/ +parts/ +var/ +sdist/ +develop-eggs/ +.installed.cfg + +# Installer logs +pip-log.txt + +# Unit test / coverage reports +.coverage +.tox + +#Translations +*.mo + +#Mr Developer +.mr.developer.cfg + +node_modules \ No newline at end of file diff --git a/2023/.travis.yml b/2023/.travis.yml new file mode 100644 index 0000000..9662ddf --- /dev/null +++ b/2023/.travis.yml @@ -0,0 +1,14 @@ +language: node_js +git: + depth: 3 +node_js: + - "node" +install: npm install +script: + - npm test + - gulp +cache: + directories: + - node_modules +notifications: + email: false diff --git a/2023/CNAME b/2023/CNAME new file mode 100644 index 0000000..3af41c5 --- /dev/null +++ b/2023/CNAME @@ -0,0 +1 @@ +www.cloudbrew.be \ No newline at end of file diff --git a/2023/CloudBrew2023.ics b/2023/CloudBrew2023.ics new file mode 100644 index 0000000..ef46cb1 --- /dev/null +++ b/2023/CloudBrew2023.ics @@ -0,0 +1,54 @@ +BEGIN:VCALENDAR +PRODID:-//Microsoft Corporation//Outlook 16.0 MIMEDIR//EN +VERSION:2.0 +METHOD:PUBLISH +X-MS-OLK-FORCEINSPECTOROPEN:TRUE +BEGIN:VTIMEZONE +TZID:Romance Standard Time +BEGIN:STANDARD +DTSTART:16011028T030000 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 +TZOFFSETFROM:+0200 +TZOFFSETTO:+0100 +END:STANDARD +BEGIN:DAYLIGHT +DTSTART:16010325T020000 +RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3 +TZOFFSETFROM:+0100 +TZOFFSETTO:+0200 +END:DAYLIGHT +END:VTIMEZONE +BEGIN:VEVENT +CATEGORIES:Meeting +CLASS:PUBLIC +CREATED:20160718T100120Z +DESCRIPTION:Check www.cloudbrew.be for more info\n +DTSTAMP:20160718T100120Z +DTSTART;TZID="Romance Standard Time":20231207T083000 +DTEND;TZID="Romance Standard Time":20231208T171500 +LAST-MODIFIED:20160718T100120Z +LOCATION:Congres- en Erfgoedcentrum Lamot\, Van Beethovenstraat 8-10\, 2800 + Mechelen (Belgium) +PRIORITY:5 +SEQUENCE:0 +SUMMARY;LANGUAGE=nl-be:CloudBrew 2023 +TRANSP:OPAQUE +UID:040000008200E00074C5B7101A82E0080000000010FC4E09ECE0D101000000000000000 + 010000000D0D8CEBA8720574CB40ABB56EF4059C3 +X-ALT-DESC;FMTTYPE=text/html:\n\n
\n\nCheck www.cloudbrew.be for m + ore info\n
\n\n\n +X-MICROSOFT-CDO-BUSYSTATUS:BUSY +X-MICROSOFT-CDO-IMPORTANCE:1 +X-MICROSOFT-DISALLOW-COUNTER:FALSE +X-MS-OLK-AUTOFILLLOCATION:FALSE +X-MS-OLK-CONFTYPE:0 +BEGIN:VALARM +TRIGGER:-PT4320M +ACTION:DISPLAY +DESCRIPTION:Reminder +END:VALARM +END:VEVENT +END:VCALENDAR diff --git a/2023/LICENSE b/2023/LICENSE new file mode 100644 index 0000000..9478164 --- /dev/null +++ b/2023/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2013-2019 Blackrock Digital LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/2023/README.md b/2023/README.md new file mode 100644 index 0000000..1d551d2 --- /dev/null +++ b/2023/README.md @@ -0,0 +1,29 @@ +# CloudBrew + +Website for https://www.cloudbrew.be, based on the [Start Bootstrap - Freelancer](https://startbootstrap.com/template-overviews/freelancer/) theme. + +## Usage + +### Basic Usage + +After downloading, simply edit the HTML and CSS files included with the template in your favorite text editor to make changes. These are the only files you need to worry about, you can ignore everything else! To preview the changes you make to the code, you can open the `index.html` file in your web browser. + +### Advanced Usage + +After installation, run `npm install` and then run `npm start` which will open up a preview of the template in your default browser, watch for changes to core template files, and live reload the browser when changes are saved. You can view the `gulpfile.js` to see which tasks are included with the dev environment. + +#### Gulp Tasks + +- `gulp` the default task that builds everything +- `gulp watch` browserSync opens the project in your default browser and live reloads when changes are made +- `gulp css` compiles SCSS files into CSS and minifies the compiled CSS +- `gulp js` minifies the themes JS file +- `gulp vendor` copies dependencies from node_modules to the vendor directory + +You must have npm and Gulp installed globally on your machine in order to use these features. + +## Copyright and License + +Content copyright by AZUG. + +Theme copyright 2013-2019 Blackrock Digital LLC. Code released under the [MIT](https://github.com/BlackrockDigital/startbootstrap-freelancer/blob/gh-pages/LICENSE) license. diff --git a/2023/css/cloudbrew.css b/2023/css/cloudbrew.css new file mode 100644 index 0000000..b39e134 --- /dev/null +++ b/2023/css/cloudbrew.css @@ -0,0 +1,508 @@ +/*! + * Start Bootstrap - Freelancer v5.0.4 (https://startbootstrap.com/template-overviews/freelancer) + * Copyright 2013-2023 Start Bootstrap + * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-freelancer/blob/master/LICENSE) + */ + +body { + font-family: "Open Sans", Arial, Helvetica, sans-serif; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-weight: 700; + font-family: "Montserrat"; +} + +hr.star-light, +hr.star-dark { + max-width: 15rem; + padding: 0; + text-align: center; + border: none; + border-top: solid 0.25rem; + margin-top: 2.5rem; + margin-bottom: 2.5rem; + margin-left: auto; + margin-right: auto; +} + +hr.star-light:after, +hr.star-dark:after { + position: relative; + top: -0.8em; + display: inline-block; + padding: 0 0.25em; + content: "\f005"; + font-family: "Font Awesome 5 Free"; + font-weight: 900; + font-size: 2em; +} + +hr.star-light { + border-color: #fff; +} + +hr.star-light:after { + color: #fff; + background-color: #091b68; +} + +hr.star-dark { + border-color: #212529; +} + +hr.star-dark:after { + color: #212529; + background-color: white; +} + +section { + padding: 6rem 0; +} +section h2 { + font-size: 2.25rem; + line-height: 2rem; +} +@media (min-width: 992px) { + section h2 { + font-size: 3rem; + line-height: 2.5rem; + } +} + +.btn-xl { + padding: 1rem 1.75rem; + font-size: 1.25rem; +} + +.btn-social { + width: 3.25rem; + height: 3.25rem; + font-size: 1.25rem; + line-height: 2rem; +} + +.scroll-to-top { + z-index: 1042; + right: 1rem; + bottom: 1rem; + display: none; +} +.scroll-to-top a { + width: 3.5rem; + height: 3.5rem; + background-color: rgba(33, 37, 41, 0.5); + line-height: 3.1rem; +} + +#mainNav { + padding-top: 1rem; + padding-bottom: 1rem; + font-weight: 700; + font-family: "Montserrat"; +} +#mainNav .navbar-brand { + color: #fff; +} +#mainNav .navbar-nav { + margin-top: 1rem; + letter-spacing: 0.0625rem; +} +#mainNav .navbar-nav li.nav-item a.nav-link { + color: #fff; +} +#mainNav .navbar-nav li.nav-item a.nav-link:hover { + color: #091b68; +} +#mainNav .navbar-nav li.nav-item a.nav-link:active, #mainNav .navbar-nav li.nav-item a.nav-link:focus { + color: #fff; +} +#mainNav .navbar-nav li.nav-item a.nav-link.active { + color: #091b68; +} +#mainNav .navbar-toggler { + font-size: 80%; + padding: 0.8rem; +} + +@media (min-width: 992px) { + #mainNav { + padding-top: 1.5rem; + padding-bottom: 1.5rem; + -webkit-transition: padding-top 0.3s, padding-bottom 0.3s; + transition: padding-top 0.3s, padding-bottom 0.3s; + } + #mainNav .navbar-brand { + font-size: 2em; + -webkit-transition: font-size 0.3s; + transition: font-size 0.3s; + } + #mainNav .navbar-nav { + margin-top: 0; + } + #mainNav .navbar-nav > li.nav-item > a.nav-link.active { + color: #fff; + background: #091b68; + } + #mainNav .navbar-nav > li.nav-item > a.nav-link.active:active, #mainNav .navbar-nav > li.nav-item > a.nav-link.active:focus, #mainNav .navbar-nav > li.nav-item > a.nav-link.active:hover { + color: #fff; + background: #091b68; + } + + #mainNav.navbar-shrink { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + #mainNav.navbar-shrink .navbar-brand { + font-size: 1.5em; + } +} +header.masthead { + padding-top: calc(6rem + 72px); + padding-bottom: 6rem; +} +header.masthead h1 { + font-size: 3rem; + line-height: 3rem; +} +header.masthead h2 { + font-size: 1.3rem; + font-family: "Open Sans", Arial, Helvetica, sans-serif; +} + +@media (min-width: 992px) { + header.masthead { + padding-top: calc(6rem + 106px); + padding-bottom: 6rem; + } + header.masthead h1 { + font-size: 4.75em; + line-height: 4rem; + } + header.masthead h2 { + font-size: 1.75em; + } +} +.portfolio { + margin-bottom: -15px; +} +.portfolio .portfolio-item { + position: relative; + display: block; + max-width: 25rem; + margin-bottom: 15px; +} +.portfolio .portfolio-item .portfolio-item-caption { + -webkit-transition: all ease 0.5s; + transition: all ease 0.5s; + opacity: 0; + background-color: rgba(9, 27, 104, 0.9); +} +.portfolio .portfolio-item .portfolio-item-caption:hover { + opacity: 1; +} +.portfolio .portfolio-item .portfolio-item-caption .portfolio-item-caption-content { + font-size: 1.5rem; +} +@media (min-width: 576px) { + .portfolio { + margin-bottom: -30px; + } + .portfolio .portfolio-item { + margin-bottom: 30px; + } +} + +.portfolio-modal .portfolio-modal-dialog { + padding: 3rem 1rem; + min-height: calc(100vh - 2rem); + margin: 1rem calc(1rem - 8px); + position: relative; + z-index: 2; + -webkit-box-shadow: 0 0 3rem 1rem rgba(0, 0, 0, 0.5); + box-shadow: 0 0 3rem 1rem rgba(0, 0, 0, 0.5); +} +.portfolio-modal .portfolio-modal-dialog .close-button { + position: absolute; + top: 2rem; + right: 2rem; +} +.portfolio-modal .portfolio-modal-dialog .close-button i { + line-height: 38px; +} +.portfolio-modal .portfolio-modal-dialog h2 { + font-size: 2rem; +} +@media (min-width: 768px) { + .portfolio-modal .portfolio-modal-dialog { + min-height: 100vh; + padding: 5rem; + margin: 3rem calc(3rem - 8px); + } + .portfolio-modal .portfolio-modal-dialog h2 { + font-size: 3rem; + } +} + +.floating-label-form-group { + position: relative; + border-bottom: 1px solid #e9ecef; + /* CloudBrew &:not(:first-child) { + padding-left: 14px; + border-left: 1px solid $gray-200; + }*/ +} +.floating-label-form-group input, +.floating-label-form-group textarea { + font-size: 1.5em; + position: relative; + z-index: 1; + padding-right: 0; + padding-left: 0; + resize: none; + border: none; + border-radius: 0; + background: none; + -webkit-box-shadow: none !important; + box-shadow: none !important; +} +.floating-label-form-group label { + font-size: 0.85em; + line-height: 1.764705882em; + position: relative; + z-index: 0; + top: 2em; + display: block; + margin: 0; + -webkit-transition: top 0.3s ease, opacity 0.3s ease; + transition: top 0.3s ease, opacity 0.3s ease; + vertical-align: middle; + vertical-align: baseline; + opacity: 0; +} + +.floating-label-form-group-with-value label { + top: 0; + opacity: 1; +} + +.floating-label-form-group-with-focus label { + color: #091b68; +} + +form .row:first-child .floating-label-form-group { + border-top: 1px solid #e9ecef; +} + +.footer { + padding-top: 5rem; + padding-bottom: 5rem; + background-color: #050F4A; + color: #fff; +} + +.copyright { + background-color: #02051a; +} + +a { + color: #133add; +} +a:focus, a:hover, a:active { + color: #050f39; +} + +.bg-secondary a { + color: #E7D450; +} + +.bg-secondary a:focus, a:hover, a:active { + color: #E7D450; +} + +.btn { + border-width: 2px; +} + +.bg-primary { + background-color: #091b68 !important; +} + +.bg-secondary { + background-color: #050F4A !important; +} + +.bg-white { + background-color: #fff !important; +} + +.bg-secondary hr.star-light:after { + color: #fff; + background-color: #050F4A; +} + +.bg-light hr.star-dark:after { + color: #212529; + background-color: #f8f9fa; +} + +.text-primary { + color: #091b68 !important; +} + +.text-secondary { + color: #050F4A !important; +} + +.btn-primary { + background-color: #E7D450; + border-color: #E7D450; + color: #000; +} +.btn-primary:hover, .btn-primary:focus, .btn-primary:active { + background-color: #f6f0c0; + border-color: #E7D450; + color: #000; +} + +.btn-secondary { + background-color: #050F4A; + border-color: #050F4A; +} +.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active { + background-color: #02051a; + border-color: #02051a; +} + +/* CloudBrew */ +#mainNav .navbar-brand img { + width: 260px; +} +#mainNav .navbar-nav li.nav-item a.nav-link:hover { + background: #091b68; + color: #fff; +} +#mainNav .navbar-nav li.nav-item a.nav-link.active { + color: #fff; +} + +header.masthead { + background-image: url("../img/cloud.png"); + background-size: cover; + background-repeat: no-repeat; + background-position: center bottom; +} + +@media (max-width: 992px) { + header.masthead { + background-image: url("../img/cloud-narrow.png"); + } +} +.footer { + background-color: #050F4A; +} +.footer a { + color: #fff; + text-decoration: underline; +} +.footer a:focus, .footer a:hover, .footer a:active { + color: #fff; +} + +.copyright a { + color: #fff; + text-decoration: underline; +} +.copyright a:focus, .copyright a:hover, .copyright a:active { + color: #fff; +} + +/* Partners */ +#partners { + text-align: center; +} +#partners hr { + width: 75%; +} +#partners a img.sponsor-silver { + width: 108px; + height: 54px; + margin: 4px; + padding: 4px; +} +#partners a img.sponsor-gold { + width: 192px; + height: 96px; + margin: 6px; + padding: 6px; +} +#partners a img.sponsor-platinum { + width: 240px; + height: 120px; + margin: 8px; + padding: 8px; +} +#partners a:hover img { + -webkit-box-shadow: 2px 2px 10px 0px rgb(204, 204, 204); + box-shadow: 2px 2px 10px 0px rgb(204, 204, 204); +} + +/* Sessionize */ +#sz-modal-container .sz-session__title, +#sz-modal-container .sz-session__description, +#sz-modal-container .sz-session__speakers, +#sz-modal-container .sz-session__tags { + color: white !important; +} + +#sz-modal-container .sz-speaker__name, +#sz-modal-container .sz-speaker__tagline, +#sz-modal-container .sz-speaker__bio, +#sz-modal-container .sz-speaker__link_icon, +#sz-modal-container .sz-speaker__sessions { + color: white !important; +} + +.sz-cssgrid { + grid-gap: 0 !important; + border: none; +} + +.sz-room { + background-color: rgba(255, 255, 255, 0.1) !important; +} + +.sz-session { + border: none !important; + background-color: #050F4A !important; + margin-top: 0.125rem !important; + margin-left: 0.125rem !important; +} +.sz-session .sz-session__card { + border-radius: 0 !important; + background-color: #050F4A !important; +} +.sz-session .sz-session__card .sz-session__time, +.sz-session .sz-session__card .sz-session__title, +.sz-session .sz-session__card .sz-session__description, +.sz-session .sz-session__card .sz-session__speakers, +.sz-session .sz-session__card .sz-session__tags { + color: #E7D450 !important; +} +.sz-session .sz-session__card .sz-session__room, +.sz-session .sz-session__card li.sz_tag { + color: #fff !important; + background-color: #091b68 !important; +} + +.sz-session__title, +.sz-session__description, +.sz-session__speakers, +.sz-session__tags { + color: #E7D450 !important; +} \ No newline at end of file diff --git a/2023/css/cloudbrew.min.css b/2023/css/cloudbrew.min.css new file mode 100644 index 0000000..a928ecc --- /dev/null +++ b/2023/css/cloudbrew.min.css @@ -0,0 +1,5 @@ +/*! + * Start Bootstrap - Freelancer v5.0.4 (https://startbootstrap.com/template-overviews/freelancer) + * Copyright 2013-2023 Start Bootstrap + * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-freelancer/blob/master/LICENSE) + */body{font-family:"Open Sans",Arial,Helvetica,sans-serif}h1,h2,h3,h4,h5,h6{font-weight:700;font-family:Montserrat}hr.star-dark,hr.star-light{max-width:15rem;padding:0;text-align:center;border:none;border-top:solid .25rem;margin-top:2.5rem;margin-bottom:2.5rem;margin-left:auto;margin-right:auto}hr.star-dark:after,hr.star-light:after{position:relative;top:-.8em;display:inline-block;padding:0 .25em;content:"\f005";font-family:"Font Awesome 5 Free";font-weight:900;font-size:2em}hr.star-light{border-color:#fff}hr.star-light:after{color:#fff;background-color:#091b68}hr.star-dark{border-color:#212529}hr.star-dark:after{color:#212529;background-color:#fff}section{padding:6rem 0}section h2{font-size:2.25rem;line-height:2rem}@media (min-width:992px){section h2{font-size:3rem;line-height:2.5rem}}.btn-xl{padding:1rem 1.75rem;font-size:1.25rem}.btn-social{width:3.25rem;height:3.25rem;font-size:1.25rem;line-height:2rem}.scroll-to-top{z-index:1042;right:1rem;bottom:1rem;display:none}.scroll-to-top a{width:3.5rem;height:3.5rem;background-color:rgba(33,37,41,.5);line-height:3.1rem}#mainNav{padding-top:1rem;padding-bottom:1rem;font-weight:700;font-family:Montserrat}#mainNav .navbar-brand{color:#fff}#mainNav .navbar-nav{margin-top:1rem;letter-spacing:.0625rem}#mainNav .navbar-nav li.nav-item a.nav-link{color:#fff}#mainNav .navbar-nav li.nav-item a.nav-link:hover{color:#091b68}#mainNav .navbar-nav li.nav-item a.nav-link:active,#mainNav .navbar-nav li.nav-item a.nav-link:focus{color:#fff}#mainNav .navbar-nav li.nav-item a.nav-link.active{color:#091b68}#mainNav .navbar-toggler{font-size:80%;padding:.8rem}@media (min-width:992px){#mainNav{padding-top:1.5rem;padding-bottom:1.5rem;-webkit-transition:padding-top .3s,padding-bottom .3s;transition:padding-top .3s,padding-bottom .3s}#mainNav .navbar-brand{font-size:2em;-webkit-transition:font-size .3s;transition:font-size .3s}#mainNav .navbar-nav{margin-top:0}#mainNav .navbar-nav>li.nav-item>a.nav-link.active{color:#fff;background:#091b68}#mainNav .navbar-nav>li.nav-item>a.nav-link.active:active,#mainNav .navbar-nav>li.nav-item>a.nav-link.active:focus,#mainNav .navbar-nav>li.nav-item>a.nav-link.active:hover{color:#fff;background:#091b68}#mainNav.navbar-shrink{padding-top:.5rem;padding-bottom:.5rem}#mainNav.navbar-shrink .navbar-brand{font-size:1.5em}}header.masthead{padding-top:calc(6rem + 72px);padding-bottom:6rem}header.masthead h1{font-size:3rem;line-height:3rem}header.masthead h2{font-size:1.3rem;font-family:"Open Sans",Arial,Helvetica,sans-serif}@media (min-width:992px){header.masthead{padding-top:calc(6rem + 106px);padding-bottom:6rem}header.masthead h1{font-size:4.75em;line-height:4rem}header.masthead h2{font-size:1.75em}}.portfolio{margin-bottom:-15px}.portfolio .portfolio-item{position:relative;display:block;max-width:25rem;margin-bottom:15px}.portfolio .portfolio-item .portfolio-item-caption{-webkit-transition:all ease .5s;transition:all ease .5s;opacity:0;background-color:rgba(9,27,104,.9)}.portfolio .portfolio-item .portfolio-item-caption:hover{opacity:1}.portfolio .portfolio-item .portfolio-item-caption .portfolio-item-caption-content{font-size:1.5rem}@media (min-width:576px){.portfolio{margin-bottom:-30px}.portfolio .portfolio-item{margin-bottom:30px}}.portfolio-modal .portfolio-modal-dialog{padding:3rem 1rem;min-height:calc(100vh - 2rem);margin:1rem calc(1rem - 8px);position:relative;z-index:2;-webkit-box-shadow:0 0 3rem 1rem rgba(0,0,0,.5);box-shadow:0 0 3rem 1rem rgba(0,0,0,.5)}.portfolio-modal .portfolio-modal-dialog .close-button{position:absolute;top:2rem;right:2rem}.portfolio-modal .portfolio-modal-dialog .close-button i{line-height:38px}.portfolio-modal .portfolio-modal-dialog h2{font-size:2rem}@media (min-width:768px){.portfolio-modal .portfolio-modal-dialog{min-height:100vh;padding:5rem;margin:3rem calc(3rem - 8px)}.portfolio-modal .portfolio-modal-dialog h2{font-size:3rem}}.floating-label-form-group{position:relative;border-bottom:1px solid #e9ecef}.floating-label-form-group input,.floating-label-form-group textarea{font-size:1.5em;position:relative;z-index:1;padding-right:0;padding-left:0;resize:none;border:none;border-radius:0;background:0 0;-webkit-box-shadow:none!important;box-shadow:none!important}.floating-label-form-group label{font-size:.85em;line-height:1.764705882em;position:relative;z-index:0;top:2em;display:block;margin:0;-webkit-transition:top .3s ease,opacity .3s ease;transition:top .3s ease,opacity .3s ease;vertical-align:middle;vertical-align:baseline;opacity:0}.floating-label-form-group-with-value label{top:0;opacity:1}.floating-label-form-group-with-focus label{color:#091b68}form .row:first-child .floating-label-form-group{border-top:1px solid #e9ecef}.footer{padding-top:5rem;padding-bottom:5rem;background-color:#050f4a;color:#fff}.copyright{background-color:#02051a}a{color:#133add}a:active,a:focus,a:hover{color:#050f39}.bg-secondary a{color:#e7d450}.bg-secondary a:focus,a:active,a:hover{color:#e7d450}.btn{border-width:2px}.bg-primary{background-color:#091b68!important}.bg-secondary{background-color:#050f4a!important}.bg-white{background-color:#fff!important}.bg-secondary hr.star-light:after{color:#fff;background-color:#050f4a}.bg-light hr.star-dark:after{color:#212529;background-color:#f8f9fa}.text-primary{color:#091b68!important}.text-secondary{color:#050f4a!important}.btn-primary{background-color:#e7d450;border-color:#e7d450;color:#000}.btn-primary:active,.btn-primary:focus,.btn-primary:hover{background-color:#f6f0c0;border-color:#e7d450;color:#000}.btn-secondary{background-color:#050f4a;border-color:#050f4a}.btn-secondary:active,.btn-secondary:focus,.btn-secondary:hover{background-color:#02051a;border-color:#02051a}#mainNav .navbar-brand img{width:260px}#mainNav .navbar-nav li.nav-item a.nav-link:hover{background:#091b68;color:#fff}#mainNav .navbar-nav li.nav-item a.nav-link.active{color:#fff}header.masthead{background-image:url(../img/cloud.png);background-size:cover;background-repeat:no-repeat;background-position:center bottom}@media (max-width:992px){header.masthead{background-image:url(../img/cloud-narrow.png)}}.footer{background-color:#050f4a}.footer a{color:#fff;text-decoration:underline}.footer a:active,.footer a:focus,.footer a:hover{color:#fff}.copyright a{color:#fff;text-decoration:underline}.copyright a:active,.copyright a:focus,.copyright a:hover{color:#fff}#partners{text-align:center}#partners hr{width:75%}#partners a img.sponsor-silver{width:108px;height:54px;margin:4px;padding:4px}#partners a img.sponsor-gold{width:192px;height:96px;margin:6px;padding:6px}#partners a img.sponsor-platinum{width:240px;height:120px;margin:8px;padding:8px}#partners a:hover img{-webkit-box-shadow:2px 2px 10px 0 #ccc;box-shadow:2px 2px 10px 0 #ccc}#sz-modal-container .sz-session__description,#sz-modal-container .sz-session__speakers,#sz-modal-container .sz-session__tags,#sz-modal-container .sz-session__title{color:#fff!important}#sz-modal-container .sz-speaker__bio,#sz-modal-container .sz-speaker__link_icon,#sz-modal-container .sz-speaker__name,#sz-modal-container .sz-speaker__sessions,#sz-modal-container .sz-speaker__tagline{color:#fff!important}.sz-cssgrid{grid-gap:0!important;border:none}.sz-room{background-color:rgba(255,255,255,.1)!important}.sz-session{border:none!important;background-color:#050f4a!important;margin-top:.125rem!important;margin-left:.125rem!important}.sz-session .sz-session__card{border-radius:0!important;background-color:#050f4a!important}.sz-session .sz-session__card .sz-session__description,.sz-session .sz-session__card .sz-session__speakers,.sz-session .sz-session__card .sz-session__tags,.sz-session .sz-session__card .sz-session__time,.sz-session .sz-session__card .sz-session__title{color:#e7d450!important}.sz-session .sz-session__card .sz-session__room,.sz-session .sz-session__card li.sz_tag{color:#fff!important;background-color:#091b68!important}.sz-session__description,.sz-session__speakers,.sz-session__tags,.sz-session__title{color:#e7d450!important} \ No newline at end of file diff --git a/2023/favicon.ico b/2023/favicon.ico new file mode 100644 index 0000000..ff1e734 Binary files /dev/null and b/2023/favicon.ico differ diff --git a/2023/gulpfile.js b/2023/gulpfile.js new file mode 100644 index 0000000..682d4e8 --- /dev/null +++ b/2023/gulpfile.js @@ -0,0 +1,136 @@ +"use strict"; + +// Load plugins +const autoprefixer = require("gulp-autoprefixer"); +const browsersync = require("browser-sync").create(); +const cleanCSS = require("gulp-clean-css"); +const del = require("del"); +const gulp = require("gulp"); +const header = require("gulp-header"); +const merge = require("merge-stream"); +const plumber = require("gulp-plumber"); +const rename = require("gulp-rename"); +const sass = require('gulp-sass')(require('sass')); +const uglify = require("gulp-uglify"); + +// Load package.json for banner +const pkg = require('./package.json'); + +// Set the banner content +const banner = ['/*!\n', + ' * Start Bootstrap - <%= pkg.title %> v<%= pkg.version %> (<%= pkg.homepage %>)\n', + ' * Copyright 2013-' + (new Date()).getFullYear(), ' <%= pkg.author %>\n', + ' * Licensed under <%= pkg.license %> (https://github.com/BlackrockDigital/<%= pkg.name %>/blob/master/LICENSE)\n', + ' */\n', + '\n' +].join(''); + +// BrowserSync +function browserSync(done) { + browsersync.init({ + server: { + baseDir: "./" + }, + port: 3000 + }); + done(); +} + +// BrowserSync reload +function browserSyncReload(done) { + browsersync.reload(); + done(); +} + +// Clean vendor +function clean() { + return del(["./vendor/"]); +} + +// Bring third party dependencies from node_modules into vendor directory +function modules() { + // Bootstrap + var bootstrap = gulp.src('./node_modules/bootstrap/dist/**/*') + .pipe(gulp.dest('./vendor/bootstrap')); + // Font Awesome + var fontAwesome = gulp.src('./node_modules/@fortawesome/**/*') + .pipe(gulp.dest('./vendor')); + // jQuery Easing + var jqueryEasing = gulp.src('./node_modules/jquery.easing/*.js') + .pipe(gulp.dest('./vendor/jquery-easing')); + // Magnific Popup + var magnificPopup = gulp.src('./node_modules/magnific-popup/dist/*') + .pipe(gulp.dest('./vendor/magnific-popup')); + // jQuery + var jquery = gulp.src([ + './node_modules/jquery/dist/*', + '!./node_modules/jquery/dist/core.js' + ]) + .pipe(gulp.dest('./vendor/jquery')); + return merge(bootstrap, fontAwesome, jquery, jqueryEasing, magnificPopup); +} + +// CSS task +function css() { + return gulp + .src("./scss/**/*.scss") + .pipe(plumber()) + .pipe(sass({ + outputStyle: "expanded", + includePaths: "./node_modules", + })) + .on("error", sass.logError) + .pipe(autoprefixer({ + browsers: ['last 2 versions'], + cascade: false + })) + .pipe(header(banner, { + pkg: pkg + })) + .pipe(gulp.dest("./css")) + .pipe(rename({ + suffix: ".min" + })) + .pipe(cleanCSS()) + .pipe(gulp.dest("./css")) + .pipe(browsersync.stream()); +} + +// JS task +function js() { + return gulp + .src([ + './js/*.js', + '!./js/*.min.js' + ]) + .pipe(uglify()) + .pipe(header(banner, { + pkg: pkg + })) + .pipe(rename({ + suffix: '.min' + })) + .pipe(gulp.dest('./js')) + .pipe(browsersync.stream()); +} + +// Watch files +function watchFiles() { + gulp.watch("./scss/**/*", css); + gulp.watch(["./js/**/*", "!./js/**/*.min.js"], js); + gulp.watch("./**/*.html", browserSyncReload); +} + +// Define complex tasks +const vendor = gulp.series(clean, modules); +const build = gulp.series(vendor, gulp.parallel(css, js)); +const watch = gulp.series(build, gulp.parallel(watchFiles, browserSync)); + +// Export tasks +exports.css = css; +exports.js = js; +exports.clean = clean; +exports.vendor = vendor; +exports.build = build; +exports.watch = watch; +exports.default = build; diff --git a/2023/img/cloud-narrow.png b/2023/img/cloud-narrow.png new file mode 100644 index 0000000..2506982 Binary files /dev/null and b/2023/img/cloud-narrow.png differ diff --git a/2023/img/cloud.png b/2023/img/cloud.png new file mode 100644 index 0000000..5bd727e Binary files /dev/null and b/2023/img/cloud.png differ diff --git a/2023/img/favicon/android-icon-144x144.png b/2023/img/favicon/android-icon-144x144.png new file mode 100644 index 0000000..5328b41 Binary files /dev/null and b/2023/img/favicon/android-icon-144x144.png differ diff --git a/2023/img/favicon/android-icon-192x192.png b/2023/img/favicon/android-icon-192x192.png new file mode 100644 index 0000000..004710e Binary files /dev/null and b/2023/img/favicon/android-icon-192x192.png differ diff --git a/2023/img/favicon/android-icon-36x36.png b/2023/img/favicon/android-icon-36x36.png new file mode 100644 index 0000000..4e3c3c4 Binary files /dev/null and b/2023/img/favicon/android-icon-36x36.png differ diff --git a/2023/img/favicon/android-icon-48x48.png b/2023/img/favicon/android-icon-48x48.png new file mode 100644 index 0000000..b66f3bc Binary files /dev/null and b/2023/img/favicon/android-icon-48x48.png differ diff --git a/2023/img/favicon/android-icon-72x72.png b/2023/img/favicon/android-icon-72x72.png new file mode 100644 index 0000000..6a861bd Binary files /dev/null and b/2023/img/favicon/android-icon-72x72.png differ diff --git a/2023/img/favicon/android-icon-96x96.png b/2023/img/favicon/android-icon-96x96.png new file mode 100644 index 0000000..9f8685e Binary files /dev/null and b/2023/img/favicon/android-icon-96x96.png differ diff --git a/2023/img/favicon/apple-icon-114x114.png b/2023/img/favicon/apple-icon-114x114.png new file mode 100644 index 0000000..fe540d3 Binary files /dev/null and b/2023/img/favicon/apple-icon-114x114.png differ diff --git a/2023/img/favicon/apple-icon-120x120.png b/2023/img/favicon/apple-icon-120x120.png new file mode 100644 index 0000000..bf90df8 Binary files /dev/null and b/2023/img/favicon/apple-icon-120x120.png differ diff --git a/2023/img/favicon/apple-icon-144x144.png b/2023/img/favicon/apple-icon-144x144.png new file mode 100644 index 0000000..5328b41 Binary files /dev/null and b/2023/img/favicon/apple-icon-144x144.png differ diff --git a/2023/img/favicon/apple-icon-152x152.png b/2023/img/favicon/apple-icon-152x152.png new file mode 100644 index 0000000..078d4db Binary files /dev/null and b/2023/img/favicon/apple-icon-152x152.png differ diff --git a/2023/img/favicon/apple-icon-180x180.png b/2023/img/favicon/apple-icon-180x180.png new file mode 100644 index 0000000..1c74b12 Binary files /dev/null and b/2023/img/favicon/apple-icon-180x180.png differ diff --git a/2023/img/favicon/apple-icon-57x57.png b/2023/img/favicon/apple-icon-57x57.png new file mode 100644 index 0000000..5af0294 Binary files /dev/null and b/2023/img/favicon/apple-icon-57x57.png differ diff --git a/2023/img/favicon/apple-icon-60x60.png b/2023/img/favicon/apple-icon-60x60.png new file mode 100644 index 0000000..3e44cb6 Binary files /dev/null and b/2023/img/favicon/apple-icon-60x60.png differ diff --git a/2023/img/favicon/apple-icon-72x72.png b/2023/img/favicon/apple-icon-72x72.png new file mode 100644 index 0000000..6a861bd Binary files /dev/null and b/2023/img/favicon/apple-icon-72x72.png differ diff --git a/2023/img/favicon/apple-icon-76x76.png b/2023/img/favicon/apple-icon-76x76.png new file mode 100644 index 0000000..9484bca Binary files /dev/null and b/2023/img/favicon/apple-icon-76x76.png differ diff --git a/2023/img/favicon/apple-icon-precomposed.png b/2023/img/favicon/apple-icon-precomposed.png new file mode 100644 index 0000000..0fc0c9c Binary files /dev/null and b/2023/img/favicon/apple-icon-precomposed.png differ diff --git a/2023/img/favicon/apple-icon.png b/2023/img/favicon/apple-icon.png new file mode 100644 index 0000000..0fc0c9c Binary files /dev/null and b/2023/img/favicon/apple-icon.png differ diff --git a/2023/img/favicon/browserconfig.xml b/2023/img/favicon/browserconfig.xml new file mode 100644 index 0000000..c554148 --- /dev/null +++ b/2023/img/favicon/browserconfig.xml @@ -0,0 +1,2 @@ + +(here's an ICS file if you want to add it to your calendar)
+ + + + + + + + + + + + Register now! + + + +CloudBrew started in 2013 as a small-scale event focused on cloud technologies and Microsoft Azure.
++ Two full days of Microsoft Azure, with several tracks to choose from! We will have some local and international speakers + who will share their knowledge and experience. +
++ The event takes place in a former brewery. + A lunch buffet will take care of our inner selves. After all, brains that learn need energy! +
++ We try to balance the size of CloudBrew to give the event a more intimate feeling, + where everyone is approachable - attendees and speakers. + Two days of learning that are really worth everyone's valuable time. +
++ Organized by AZUG, the Belgium Microsoft Azure User Group, + CloudBrew originates from the community. Both you and our speakers are part of it. + Ideal to network with peers! +
+Click on any session to see more details.
+ + +Click on any speaker to see more details.
+ +CloudBrew takes place at Lamot, Van Beethovenstraat 8-10, 2800 Mechelen (Belgium)
+The heart of Mechelen is a car-free zone. We encourage our visitors to use public transport. Mechelen has a direct connection by train from most other cities in Belgium.
+If you choose to come by car, you can use the relatively inexpensive peripheral car parks "Zandpoortvest" or "Douaneplein". These car parks are all within walking distance (1.2 – 1.6km) of Lamot. Q-Park Lamot and Indigo parkings are closer by the venue.
+Check Lamot's website for up-to-date parking and public transportation options. More parkings in Mechelen can be found on the Toerisme Mechelen website.
+ + +We're looking forward to seeing you at CloudBrew! Join us for 2 days and 4 tracks of Azure content!
+ + +
+ The creators of CloudBrew
+ Maarten Balliauw, Kris van der Mast, Glenn Colpaert
+ Partners
+ Kris van der Mast
+ Content team
+ Developer, architecture, security track
+ Maarten Balliauw, Kris van der Mast, Yves Goeleven, Mike Martin, Glenn Colpaert
+
+ IT Pro track
+ Mike Martin, Maarten Balliauw, Glenn Colpaert
+
+ Data/ML track
+ Salma Haidar, Kris van der Mast
+
+ AZUG crew
+ Kris van der Mast, Yves Goeleven, Maarten Balliauw, Salma Haidar, Mike Martin, Glenn Colpaert, Karel De Winter, Jorg Floren, Kristof Rennen
+
+ » Meet our team...
+
`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `
`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `
`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `