├── .gitignore ├── COPYING ├── COPYING.md ├── README.md ├── conf ├── catalina.properties ├── home │ ├── advanced.set.up.html │ ├── css │ │ ├── agency.css │ │ ├── agency.min.css │ │ ├── fonts.css │ │ └── fonts │ │ │ ├── arimo │ │ │ ├── arimo-v9-latin-700.eot │ │ │ ├── arimo-v9-latin-700.svg │ │ │ ├── arimo-v9-latin-700.ttf │ │ │ ├── arimo-v9-latin-700.woff │ │ │ ├── arimo-v9-latin-700.woff2 │ │ │ ├── arimo-v9-latin-700italic.eot │ │ │ ├── arimo-v9-latin-700italic.svg │ │ │ ├── arimo-v9-latin-700italic.ttf │ │ │ ├── arimo-v9-latin-700italic.woff │ │ │ ├── arimo-v9-latin-700italic.woff2 │ │ │ ├── arimo-v9-latin-italic.eot │ │ │ ├── arimo-v9-latin-italic.svg │ │ │ ├── arimo-v9-latin-italic.ttf │ │ │ ├── arimo-v9-latin-italic.woff │ │ │ ├── arimo-v9-latin-italic.woff2 │ │ │ ├── arimo-v9-latin-regular.eot │ │ │ ├── arimo-v9-latin-regular.svg │ │ │ ├── arimo-v9-latin-regular.ttf │ │ │ ├── arimo-v9-latin-regular.woff │ │ │ └── arimo-v9-latin-regular.woff2 │ │ │ ├── groups.eot │ │ │ ├── groups.svg │ │ │ ├── groups.ttf │ │ │ ├── groups.woff │ │ │ └── montserrat │ │ │ ├── montserrat-v7-latin-700.eot │ │ │ ├── montserrat-v7-latin-700.svg │ │ │ ├── montserrat-v7-latin-700.ttf │ │ │ ├── montserrat-v7-latin-700.woff │ │ │ ├── montserrat-v7-latin-700.woff2 │ │ │ ├── montserrat-v7-latin-regular.eot │ │ │ ├── montserrat-v7-latin-regular.svg │ │ │ ├── montserrat-v7-latin-regular.ttf │ │ │ ├── montserrat-v7-latin-regular.woff │ │ │ └── montserrat-v7-latin-regular.woff2 │ ├── img │ │ ├── logos │ │ │ └── linshare-logo-white.png │ │ └── portfolio │ │ │ ├── ex-admin.png │ │ │ ├── ex-l2.png │ │ │ ├── ex-roundcube.png │ │ │ ├── ex-ur.png │ │ │ ├── preview.png │ │ │ └── swagger-background.png │ ├── index.html │ ├── js │ │ ├── agency.js │ │ ├── agency.min.js │ │ ├── html5shiv.js │ │ ├── jquery.easing.min.js │ │ ├── respond.min.js │ │ ├── strapdown.css │ │ ├── strapdown.js │ │ └── themes │ │ │ ├── bootstrap-responsive.min.css │ │ │ └── united.min.css │ ├── markdown.html │ ├── md │ │ └── advanced.set.up.md │ └── vendor │ │ ├── bootstrap │ │ ├── css │ │ │ ├── bootstrap.css │ │ │ └── bootstrap.min.css │ │ ├── fonts │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ │ └── js │ │ │ ├── bootstrap.js │ │ │ └── bootstrap.min.js │ │ ├── font-awesome │ │ ├── css │ │ │ ├── font-awesome.css │ │ │ └── font-awesome.min.css │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ └── fontawesome-webfont.woff2 │ │ ├── less │ │ │ ├── animated.less │ │ │ ├── bordered-pulled.less │ │ │ ├── core.less │ │ │ ├── fixed-width.less │ │ │ ├── font-awesome.less │ │ │ ├── icons.less │ │ │ ├── larger.less │ │ │ ├── list.less │ │ │ ├── mixins.less │ │ │ ├── path.less │ │ │ ├── rotated-flipped.less │ │ │ ├── screen-reader.less │ │ │ ├── stacked.less │ │ │ └── variables.less │ │ └── scss │ │ │ ├── _animated.scss │ │ │ ├── _bordered-pulled.scss │ │ │ ├── _core.scss │ │ │ ├── _fixed-width.scss │ │ │ ├── _icons.scss │ │ │ ├── _larger.scss │ │ │ ├── _list.scss │ │ │ ├── _mixins.scss │ │ │ ├── _path.scss │ │ │ ├── _rotated-flipped.scss │ │ │ ├── _screen-reader.scss │ │ │ ├── _stacked.scss │ │ │ ├── _variables.scss │ │ │ └── font-awesome.scss │ │ └── jquery │ │ ├── jquery.js │ │ └── jquery.min.js ├── log4j.properties ├── mail_conf │ └── main.cf ├── smtpd.conf ├── traefik │ ├── dynamic.toml │ └── traefik.toml └── webmail_conf │ └── config.inc.php ├── docker-compose.yml └── ssl ├── ca.pem ├── full.pem ├── linshare.key └── linshare.pem /.gitignore: -------------------------------------------------------------------------------- 1 | data* 2 | conf/home/md/README.md 3 | -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- 1 | See COPYING.md or http://download.linshare.org/licence/. 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Linshare-Docker 2 | 3 | > Docker is available [here](https://www.docker.com/products/docker) and docker-compose [here](https://docs.docker.com/compose). 4 | > Make sure that these are installed on your system before starting. 5 | 6 | * Docker can be installed with the following lines on most distros : 7 | 8 | ```bash 9 | $ curl -sSL https://get.docker.com | sudo curl 10 | ``` 11 | 12 | * docker-compose : 13 | 14 | you can install it according to the offcial documentaion [here](https://docs.docker.com/compose/install/) 15 | 16 | ### Presentation 17 | 18 | Deploy a Linshare instance with ease using Docker and docker-compose 19 | 20 | This docker-compose aims to make possible to quickly run a Linshare appliance. 21 | It consists of several containers : 22 | 23 | * Tomcat with Linshare server 24 | * Postgresql for the server 25 | * MongoDB for the server 26 | * Apache2 with Linshare Admin's interface 27 | * Apache2 with Linshare User's interface 28 | * Apache2 with Linshare Upload request's interface 29 | * Apache2 acting as a reverse-proxy for the above (except Postgresql & MongoDB) 30 | * Thumbnail server to generate preview for input files on Linshare 31 | * Opensmtp server configured in relay mode 32 | * ClamAV server to be used by Tomcat 33 | * LDAP directory containing some sample users. [see](https://github.com/linagora/linshare-ldap-for-tests-dockerfile) 34 | * An init container: it will create a domain with a connexion to the embedded 35 | LDAP. 36 | 37 | Most of the containers can be configured to suits your needs, the available settings are either already used (and you have just to replace them) or commented out. 38 | Automatic upgrades for data used by containers is not available. 39 | 40 | ### How to use it 41 | 42 | ```bash 43 | # use this line to launch it 44 | $ docker-compose up -d 45 | 46 | # Once containers are created and running in backgroup, you must check if they are running properly: 47 | $ docker-compose ps 48 | # If a container exits with an error code different than 0, it means it failed. 49 | # In this case, you should take a look to the container. 50 | 51 | # use this line to see logs for all containers 52 | $ docker-compose logs 53 | 54 | # use this line to stop 55 | $ docker-compose stop 56 | 57 | # use this line to delete previously created containers 58 | $ docker-compose down 59 | 60 | # use this line to delete all data created by containers (reset all modifications) 61 | $ sudo rm -fr data 62 | ``` 63 | 64 | By default the containers are listenning to **linshare.local** so you may have to add the following lines in your hosts file : 65 | 66 | ```bash 67 | 127.0.0.1 admin.linshare.local user.linshare.local linshare.local traefik.linshare.local webmail.linshare.local upload-request.linshare.local docs.linshare.local 68 | ``` 69 | 70 | And all uses the ```https``` protocol via the port 443. 71 | 72 | ### Quick start 73 | 74 | Once everything is running, you can start using LinShare [home page](https://linshare.local). 75 | 76 | If you do not want to use the init container, you can setup the link with the 77 | LDAP manually with the following guide: 78 | 1. Browse to [admin.linshare.local](https://admin.linshare.local) and log in using 79 | - mail : **root@localhost.localdomain** 80 | - password : **adminlinshare** 81 | 2. Select **Domain** → **LDAP connections** 82 | - Click on the '**+**' icon 83 | - Fill the fields with your LDAP credentials 84 | - Hit **Save** 85 | 3. Select **Domain** → **Domain patterns** 86 | - In **Model selector** chose **default-pattern-demo** 87 | - Fill the field **Name** 88 | - Hit **Save** 89 | 4. Select **Domain** → **Manage domains** 90 | - Click on the '**+**' button after **LinShareRootDomain** 91 | - Fill the fields **Identifier**, **Name** and **Description** 92 | - Leave **Inter-domains communication rules** to ```DefaultDomainPolicy``` 93 | - Select the wanted settings for the remaining fields 94 | - Click on **Add provider** 95 | - Select the previous created elements in **step 2** and **step 3** for each fields and provide your **Base dn** in the last one 96 | - Hit **Save** 97 | 5. You can now go [user.linshare.local](https://user.linshare.local/) and start using your LDAP users. 98 | 99 | | firstName | lastName | mail | 100 | |-----------|-------------|---------------------------------| 101 | | Abbey | CURRY | abbey.curry@linshare.org | 102 | | Amy | WOLSH | amy.wolsh@linshare.org | 103 | | Anderson | WAXMAN | anderson.waxman@linshare.org | 104 | | Cornell | ABLE | cornell.able@linshare.org | 105 | | Dawson | WATERFIELD | dawson.waterfield@linshare.org | 106 | | Felton | GUMPER | felton.gumper@linshare.org | 107 | | Grant | BIG | grant.big@linshare.org | 108 | | Nick | DERBIES | nick.derbies@linshare.org | 109 | | Peter | WILSON | peter.wilson@linshare.org | 110 | | Walker | MCCALLISTER | walker.mccallister@linshare.org | 111 | 112 | - password : secret 113 | 114 | External users: They only have access to the webmail. They could be used as external contacts for anonymours URL, Upload request or LinShare guests 115 | 116 | | mail | Password 117 | |---------------------------------| ---------------------| 118 | | guest1@linshare.org | password1 | 119 | | guest2@linshare.org | password2 | 120 | | guest3@linshare.org | password3 | 121 | | guest4@linshare.org | password4 | 122 | | guest5@linshare.org | password5 | 123 | | external1@linshare.org | password1 | 124 | | external2@linshare.org | password2 | 125 | | external3@linshare.org | password3 | 126 | | external4@linshare.org | password4 | 127 | | external5@linshare.org | password5 | 128 | 129 | 130 | ### License 131 | View [license information](http://www.linshare.org/licenses/LinShare-License_AfferoGPL-v3_en.pdf) for the software contained in this image. 132 | 133 | ### Supported Docker versions 134 | 135 | * required **docker** engine release : 18.06.0+ see [ documentation](https://docs.docker.com/installation/) 136 | * required **composer** release : Compose 1.21.0+ see [documentation](https://github.com/docker/docker.github.io/blob/master/compose/compose-file/compose-versioning.md) 137 | 138 | 139 | ### User Feedback 140 | 141 | #### Documentation 142 | 143 | Official Linshare documentation is available here : [Linshare Configuration Guide (pdf format)](http://download.linshare.org/documentation/admins/Linagora_DOC_LinShare-1.7.0_Guide-Config-Admin_fr_20150303.pdf). 144 | 145 | 146 | #### Issues 147 | 148 | If you have any problems with or questions about this image, please contact us through a [GitHub issue](https://github.com/linagora/linshare-docker/issues). 149 | -------------------------------------------------------------------------------- /conf/catalina.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | # 17 | # List of comma-separated packages that start with or equal this string 18 | # will cause a security exception to be thrown when 19 | # passed to checkPackageAccess unless the 20 | # corresponding RuntimePermission ("accessClassInPackage."+package) has 21 | # been granted. 22 | package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.jasper.,org.apache.tomcat. 23 | # 24 | # List of comma-separated packages that start with or equal this string 25 | # will cause a security exception to be thrown when 26 | # passed to checkPackageDefinition unless the 27 | # corresponding RuntimePermission ("defineClassInPackage."+package) has 28 | # been granted. 29 | # 30 | # by default, no packages are restricted for definition, and none of 31 | # the class loaders supplied with the JDK call checkPackageDefinition. 32 | # 33 | package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,\ 34 | org.apache.jasper.,org.apache.naming.,org.apache.tomcat. 35 | 36 | # 37 | # 38 | # List of comma-separated paths defining the contents of the "common" 39 | # classloader. Prefixes should be used to define what is the repository type. 40 | # Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute. 41 | # If left as blank,the JVM system loader will be used as Catalina's "common" 42 | # loader. 43 | # Examples: 44 | # "foo": Add this folder as a class repository 45 | # "foo/*.jar": Add all the JARs of the specified folder as class 46 | # repositories 47 | # "foo/bar.jar": Add bar.jar as a class repository 48 | # 49 | # Note: Values are enclosed in double quotes ("...") in case either the 50 | # ${catalina.base} path or the ${catalina.home} path contains a comma. 51 | # Because double quotes are used for quoting, the double quote character 52 | # may not appear in a path. 53 | common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar" 54 | 55 | # 56 | # List of comma-separated paths defining the contents of the "server" 57 | # classloader. Prefixes should be used to define what is the repository type. 58 | # Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute. 59 | # If left as blank, the "common" loader will be used as Catalina's "server" 60 | # loader. 61 | # Examples: 62 | # "foo": Add this folder as a class repository 63 | # "foo/*.jar": Add all the JARs of the specified folder as class 64 | # repositories 65 | # "foo/bar.jar": Add bar.jar as a class repository 66 | # 67 | # Note: Values may be enclosed in double quotes ("...") in case either the 68 | # ${catalina.base} path or the ${catalina.home} path contains a comma. 69 | # Because double quotes are used for quoting, the double quote character 70 | # may not appear in a path. 71 | server.loader= 72 | 73 | # 74 | # List of comma-separated paths defining the contents of the "shared" 75 | # classloader. Prefixes should be used to define what is the repository type. 76 | # Path may be relative to the CATALINA_BASE path or absolute. If left as blank, 77 | # the "common" loader will be used as Catalina's "shared" loader. 78 | # Examples: 79 | # "foo": Add this folder as a class repository 80 | # "foo/*.jar": Add all the JARs of the specified folder as class 81 | # repositories 82 | # "foo/bar.jar": Add bar.jar as a class repository 83 | # Please note that for single jars, e.g. bar.jar, you need the URL form 84 | # starting with file:. 85 | # 86 | # Note: Values may be enclosed in double quotes ("...") in case either the 87 | # ${catalina.base} path or the ${catalina.home} path contains a comma. 88 | # Because double quotes are used for quoting, the double quote character 89 | # may not appear in a path. 90 | shared.loader= 91 | 92 | # Default list of JAR files that should not be scanned using the JarScanner 93 | # functionality. This is typically used to scan JARs for configuration 94 | # information. JARs that do not contain such information may be excluded from 95 | # the scan to speed up the scanning process. This is the default list. JARs on 96 | # this list are excluded from all scans. The list must be a comma separated list 97 | # of JAR file names. 98 | # The list of JARs to skip may be over-ridden at a Context level for individual 99 | # scan types by configuring a JarScanner with a nested JarScanFilter. 100 | # The JARs listed below include: 101 | # - Tomcat Bootstrap JARs 102 | # - Tomcat API JARs 103 | # - Catalina JARs 104 | # - Jasper JARs 105 | # - Tomcat JARs 106 | # - Common non-Tomcat JARs 107 | # - Test JARs (JUnit, Cobertura and dependencies) 108 | tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\ 109 | bootstrap.jar,commons-daemon.jar,tomcat-juli.jar,\ 110 | annotations-api.jar,el-api.jar,jsp-api.jar,servlet-api.jar,websocket-api.jar,\ 111 | catalina.jar,catalina-ant.jar,catalina-ha.jar,catalina-storeconfig.jar,\ 112 | catalina-tribes.jar,\ 113 | jasper.jar,jasper-el.jar,ecj-*.jar,\ 114 | tomcat-api.jar,tomcat-util.jar,tomcat-util-scan.jar,tomcat-coyote.jar,\ 115 | tomcat-dbcp.jar,tomcat-jni.jar,tomcat-websocket.jar,\ 116 | tomcat-i18n-en.jar,tomcat-i18n-es.jar,tomcat-i18n-fr.jar,tomcat-i18n-ja.jar,\ 117 | tomcat-juli-adapters.jar,catalina-jmx-remote.jar,catalina-ws.jar,\ 118 | tomcat-jdbc.jar,\ 119 | tools.jar,\ 120 | commons-beanutils*.jar,commons-codec*.jar,commons-collections*.jar,\ 121 | commons-dbcp*.jar,commons-digester*.jar,commons-fileupload*.jar,\ 122 | commons-httpclient*.jar,commons-io*.jar,commons-lang*.jar,commons-logging*.jar,\ 123 | commons-math*.jar,commons-pool*.jar,\ 124 | jstl.jar,taglibs-standard-spec-*.jar,\ 125 | geronimo-spec-jaxrpc*.jar,wsdl4j*.jar,\ 126 | ant.jar,ant-junit*.jar,aspectj*.jar,jmx.jar,h2*.jar,hibernate*.jar,httpclient*.jar,\ 127 | jmx-tools.jar,jta*.jar,log4j*.jar,mail*.jar,slf4j*.jar,\ 128 | xercesImpl.jar,xmlParserAPIs.jar,xml-apis.jar,\ 129 | junit.jar,junit-*.jar,ant-launcher.jar,\ 130 | cobertura-*.jar,asm-*.jar,dom4j-*.jar,icu4j-*.jar,jaxen-*.jar,jdom-*.jar,\ 131 | jetty-*.jar,oro-*.jar,servlet-api-*.jar,tagsoup-*.jar,xmlParserAPIs-*.jar,\ 132 | jclouds-bouncycastle-1.9.2.jar,bcprov-*.jar,\ 133 | xom-*.jar 134 | 135 | # Default list of JAR files that should be scanned that overrides the default 136 | # jarsToSkip list above. This is typically used to include a specific JAR that 137 | # has been excluded by a broad file name pattern in the jarsToSkip list. 138 | # The list of JARs to scan may be over-ridden at a Context level for individual 139 | # scan types by configuring a JarScanner with a nested JarScanFilter. 140 | tomcat.util.scan.StandardJarScanFilter.jarsToScan=\ 141 | log4j-core*.jar,log4j-taglib*.jar,log4javascript*.jar,slf4j-taglib*.jar 142 | 143 | # String cache configuration. 144 | tomcat.util.buf.StringCache.byte.enabled=true 145 | #tomcat.util.buf.StringCache.char.enabled=true 146 | #tomcat.util.buf.StringCache.trainThreshold=500000 147 | #tomcat.util.buf.StringCache.cacheSize=5000 148 | -------------------------------------------------------------------------------- /conf/home/advanced.set.up.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Troubleshoots 4 | 5 | 17 | 18 | 19 | 23 | 24 | 25 | 26 | 27 | 28 | 60 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /conf/home/css/agency.css: -------------------------------------------------------------------------------- 1 | @import url("fonts.css"); 2 | 3 | .click-link:hover { 4 | cursor: pointer; 5 | } 6 | .container { 7 | 8 | position: relative; 9 | z-index: 999; 10 | } 11 | .groups-logo-symbol-w.bg-jumbotron-img{ 12 | z-index: 777; 13 | position: absolute; 14 | font-size: 50em; 15 | margin-left: auto; 16 | z-index: 777; 17 | margin-right: auto; 18 | left: 0; 19 | right: 0; 20 | 21 | opacity: 0.065; 22 | 23 | } 24 | 25 | blockquote p{ 26 | font-size: 15px; 27 | font-weight: 300; 28 | line-height: 25px; 29 | } 30 | 31 | .text-muted { 32 | color: #777777; 33 | } 34 | .text-primary { 35 | color: #fed136; 36 | } 37 | p { 38 | font-size: 14px; 39 | line-height: 1.75; 40 | } 41 | p.large { 42 | font-size: 16px; 43 | } 44 | a, 45 | a:hover, 46 | a:focus, 47 | a:active, 48 | a.active { 49 | outline: none; 50 | } 51 | a { 52 | color: #06a9f3; 53 | } 54 | .mainNav a { 55 | color: #fed136; 56 | } 57 | a:hover, 58 | a:focus, 59 | a:active, 60 | a.active { 61 | color: #fec503; 62 | } 63 | h1, 64 | h2, 65 | h3, 66 | h4, 67 | h5, 68 | h6 { 69 | font-family: Arimo, "Helvetica Neue", Helvetica, Arial, sans-serif; 70 | text-transform: uppercase; 71 | font-weight: 700; 72 | } 73 | .img-centered { 74 | margin: 0 auto; 75 | } 76 | .bg-light-gray { 77 | background-color: #eeeeee; 78 | } 79 | .bg-darkest-gray { 80 | background-color: #222222; 81 | } 82 | .btn-primary { 83 | color: white; 84 | background-color: #fed136; 85 | border-color: #fed136; 86 | font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif; 87 | text-transform: uppercase; 88 | font-weight: 700; 89 | } 90 | .btn-primary:hover, 91 | .btn-primary:focus, 92 | .btn-primary:active, 93 | .btn-primary.active, 94 | .open .dropdown-toggle.btn-primary { 95 | color: white; 96 | background-color: #fec503; 97 | border-color: #f6bf01; 98 | } 99 | .btn-primary:active, 100 | .btn-primary.active, 101 | .open .dropdown-toggle.btn-primary { 102 | background-image: none; 103 | } 104 | 105 | .btn-primary .badge { 106 | color: #fed136; 107 | background-color: white; 108 | } 109 | .btn-xl { 110 | color: white; 111 | border-color: #fff; 112 | font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif; 113 | text-transform: uppercase; 114 | font-weight: 700; 115 | border-radius: 3px; 116 | font-size: 18px; 117 | padding: 20px 40px; 118 | margin-top: 2em; 119 | -webkit-transition: all 300ms ease-out; 120 | -moz-transition: all 300ms ease-out; 121 | -o-transition: all 300ms ease-out; 122 | transition: all 300ms ease-out; 123 | } 124 | .btn-xl:hover, 125 | .btn-xl:focus, 126 | .btn-xl:active, 127 | .btn-xl.active, 128 | .open .dropdown-toggle.btn-xl { 129 | color: white; 130 | background-color: #fec503; 131 | border-color: #f6bf01; 132 | } 133 | .btn-xl:active, 134 | .btn-xl.active, 135 | .open .dropdown-toggle.btn-xl { 136 | background-image: none; 137 | } 138 | .btn-xl.disabled, 139 | .btn-xl[disabled], 140 | fieldset[disabled] .btn-xl, 141 | .btn-xl.disabled:hover, 142 | .btn-xl[disabled]:hover, 143 | fieldset[disabled] .btn-xl:hover, 144 | .btn-xl.disabled:focus, 145 | .btn-xl[disabled]:focus, 146 | fieldset[disabled] .btn-xl:focus, 147 | .btn-xl.disabled:active, 148 | .btn-xl[disabled]:active, 149 | fieldset[disabled] .btn-xl:active, 150 | .btn-xl.disabled.active, 151 | .btn-xl[disabled].active, 152 | fieldset[disabled] .btn-xl.active { 153 | background-color: #fed136; 154 | border-color: #fed136; 155 | } 156 | .btn-xl .badge { 157 | color: #fed136; 158 | background-color: white; 159 | } 160 | .navbar-custom { 161 | background-color: #222222; 162 | border-color: transparent; 163 | } 164 | 165 | .navbar-custom .navbar-brand:hover, 166 | .navbar-custom .navbar-brand:focus, 167 | .navbar-custom .navbar-brand:active, 168 | .navbar-custom .navbar-brand.active { 169 | color: #fec503; 170 | } 171 | .navbar-custom .navbar-collapse { 172 | border-color: rgba(255, 255, 255, 0.02); 173 | } 174 | .navbar-custom .navbar-toggle { 175 | background-color: #fed136; 176 | border-color: #fed136; 177 | font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif; 178 | text-transform: uppercase; 179 | color: white; 180 | font-size: 12px; 181 | } 182 | .navbar-custom .navbar-toggle:hover, 183 | .navbar-custom .navbar-toggle:focus { 184 | background-color: #fed136; 185 | } 186 | .navbar-custom .nav li a { 187 | font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif; 188 | text-transform: uppercase; 189 | font-weight: 400; 190 | letter-spacing: 1px; 191 | color: white; 192 | } 193 | .navbar-custom .nav li a:hover, 194 | .navbar-custom .nav li a:focus { 195 | color: #fed136; 196 | outline: none; 197 | } 198 | .navbar-custom .navbar-nav > .active > a { 199 | border-radius: 0; 200 | color: white; 201 | background-color: #fed136; 202 | } 203 | .navbar-custom .navbar-nav > .active > a:hover, 204 | .navbar-custom .navbar-nav > .active > a:focus { 205 | color: white; 206 | background-color: #fec503; 207 | } 208 | @media (min-width: 768px) { 209 | .navbar-custom { 210 | background-color: transparent; 211 | padding: 25px 0; 212 | -webkit-transition: padding 0.3s; 213 | -moz-transition: padding 0.3s; 214 | transition: padding 0.3s; 215 | border: none; 216 | } 217 | .navbar-custom .navbar-brand { 218 | font-size: 2em; 219 | -webkit-transition: all 0.3s; 220 | -moz-transition: all 0.3s; 221 | transition: all 0.3s; 222 | } 223 | .navbar-custom .navbar-nav > .active > a { 224 | border-radius: 3px; 225 | } 226 | } 227 | @media (min-width: 768px) { 228 | .navbar-custom.affix { 229 | background-color: #05b1ff; 230 | border-bottom: solid 1px #06a9f3; 231 | padding: 10px 0; 232 | } 233 | .navbar-custom.affix .navbar-brand { 234 | font-size: 1.5em; 235 | } 236 | } 237 | header { 238 | 239 | background-repeat: no-repeat; 240 | background-attachment: scroll; 241 | background-position: center center; 242 | -webkit-background-size: cover; 243 | -moz-background-size: cover; 244 | background-size: cover; 245 | -o-background-size: cover; 246 | text-align: center; 247 | background-color: #05b1ff; 248 | color: white; 249 | } 250 | header .intro-text { 251 | padding-top: 100px; 252 | padding-bottom: 50px; 253 | } 254 | header .intro-text .intro-lead-in { 255 | font-family: Arimo,"Helvetica Neue", Helvetica, Arial, sans-serif; 256 | font-style: italic; 257 | font-size: 22px; 258 | line-height: 22px; 259 | margin-bottom: 25px; 260 | } 261 | header .intro-text .intro-heading { 262 | font-family: Arimo, "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif; 263 | text-transform: uppercase; 264 | font-weight: 700; 265 | font-size: 47px; 266 | line-height: 50px; 267 | margin-bottom: 25px; 268 | } 269 | @media (min-width: 768px) { 270 | header .intro-text { 271 | padding-top: 300px; 272 | padding-bottom: 200px; 273 | } 274 | header .intro-text .intro-lead-in { 275 | font-family: Arimo,"Helvetica Neue", Helvetica, Arial, sans-serif; 276 | font-style: normal; 277 | font-size: 19px; 278 | line-height: 40px; 279 | margin-bottom: 25px; 280 | line-height: 1.3em; 281 | } 282 | header .intro-text .intro-heading { 283 | font-family: Arimo, "Helvetica Neue", Helvetica, Arial, sans-serif; 284 | text-transform: uppercase; 285 | font-weight: 700; 286 | font-size: 45px; 287 | line-height: 75px; 288 | margin-bottom: 0; 289 | } 290 | } 291 | section { 292 | padding: 100px 0; 293 | } 294 | section h2.section-heading { 295 | font-size: 40px; 296 | margin-top: 0; 297 | margin-bottom: 15px; 298 | } 299 | section h3.section-subheading { 300 | font-size: 15px; 301 | font-family: Arimo,"Helvetica Neue", Helvetica, Arial, sans-serif; 302 | text-transform: none; 303 | font-style: italic; 304 | font-weight: 400; 305 | line-height: 2em; 306 | margin-bottom: 5em; 307 | } 308 | @media (min-width: 768px) { 309 | section { 310 | padding: 150px 0; 311 | } 312 | } 313 | .service-heading { 314 | margin: 15px 0; 315 | text-transform: none; 316 | } 317 | #portfolio .portfolio-item { 318 | margin: 0 0 15px; 319 | right: 0; 320 | } 321 | #portfolio .portfolio-item .portfolio-link { 322 | display: block; 323 | position: relative; 324 | max-width: 400px; 325 | margin: 0 auto; 326 | } 327 | #portfolio .portfolio-item .portfolio-link .portfolio-hover { 328 | background: rgba(5, 177, 255, 0.9); 329 | position: absolute; 330 | width: 100%; 331 | height: 100%; 332 | opacity: 0; 333 | transition: all ease-in-out 0.5s; 334 | -webkit-transition: all ease-in-out 0.5s; 335 | -moz-transition: all ease-in-out 0.5s; 336 | 337 | } 338 | .portfolio-link img { 339 | -webkit-backface-visibility: hidden; 340 | -ms-transform: scale(1,1); /* IE 9 */ 341 | -webkit-transform: scale(1,1);/* Safari */ 342 | transform: scale(1,1); 343 | transition: all ease-in-out 300ms; 344 | -webkit-transition: all ease-in-out 300ms; 345 | -moz-transition: all ease-in-out 300ms; 346 | } 347 | .portfolio-link:hover img{ 348 | -ms-transform: scale(1.2, 1.2); /* IE 9 */ 349 | -webkit-transform: scale(1.3, 1.3); /* Safari */ 350 | transform: scale(1.2, 1.2); 351 | 352 | } 353 | #portfolio .portfolio-item .portfolio-link { 354 | 355 | overflow: hidden; 356 | } 357 | 358 | 359 | #portfolio .portfolio-item .portfolio-link .portfolio-hover:hover { 360 | /* opacity: 1;*/ 361 | } 362 | #portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content { 363 | /* position: absolute; 364 | width: 100%; 365 | height: 20px; 366 | font-size: 20px; 367 | text-align: center; 368 | top: 50%; 369 | margin-top: -12px; 370 | color: white; 371 | */ 372 | } 373 | #portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content i { 374 | margin-top: -12px; 375 | } 376 | #portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content h3, 377 | #portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content h4 { 378 | margin: 0; 379 | } 380 | #portfolio .portfolio-item .portfolio-caption { 381 | max-width: 400px; 382 | margin: 0 auto; 383 | background-color: white; 384 | text-align: center; 385 | padding: 25px; 386 | } 387 | #portfolio .portfolio-item .portfolio-caption h4 { 388 | text-transform: none; 389 | margin: 0; 390 | } 391 | #portfolio .portfolio-item .portfolio-caption p { 392 | font-family:"Helvetica Neue", Helvetica, Arial, sans-serif; 393 | font-style: italic; 394 | font-size: 16px; 395 | margin: 0; 396 | } 397 | #portfolio * { 398 | z-index: 2; 399 | } 400 | @media (min-width: 767px) { 401 | #portfolio .portfolio-item { 402 | margin: 0 0 30px; 403 | } 404 | } 405 | .timeline { 406 | list-style: none; 407 | padding: 0; 408 | position: relative; 409 | } 410 | .timeline:before { 411 | top: 0; 412 | bottom: 0; 413 | position: absolute; 414 | content: ""; 415 | width: 2px; 416 | background-color: #f1f1f1; 417 | left: 40px; 418 | margin-left: -1.5px; 419 | } 420 | .timeline > li { 421 | margin-bottom: 50px; 422 | position: relative; 423 | min-height: 50px; 424 | } 425 | .timeline > li:before, 426 | .timeline > li:after { 427 | content: " "; 428 | display: table; 429 | } 430 | .timeline > li:after { 431 | clear: both; 432 | } 433 | .timeline > li .timeline-panel { 434 | width: 100%; 435 | float: right; 436 | padding: 0 20px 0 100px; 437 | position: relative; 438 | text-align: left; 439 | } 440 | .timeline > li .timeline-panel:before { 441 | border-left-width: 0; 442 | border-right-width: 15px; 443 | left: -15px; 444 | right: auto; 445 | } 446 | .timeline > li .timeline-panel:after { 447 | border-left-width: 0; 448 | border-right-width: 14px; 449 | left: -14px; 450 | right: auto; 451 | } 452 | .timeline > li .timeline-image { 453 | left: 0; 454 | margin-left: 0; 455 | width: 80px; 456 | height: 80px; 457 | position: absolute; 458 | z-index: 100; 459 | background-color: #fed136; 460 | color: white; 461 | border-radius: 100%; 462 | border: 7px solid #f1f1f1; 463 | text-align: center; 464 | } 465 | .timeline > li .timeline-image h4 { 466 | font-size: 10px; 467 | margin-top: 12px; 468 | line-height: 14px; 469 | } 470 | .timeline > li.timeline-inverted > .timeline-panel { 471 | float: right; 472 | text-align: left; 473 | padding: 0 20px 0 100px; 474 | } 475 | .timeline > li.timeline-inverted > .timeline-panel:before { 476 | border-left-width: 0; 477 | border-right-width: 15px; 478 | left: -15px; 479 | right: auto; 480 | } 481 | .timeline > li.timeline-inverted > .timeline-panel:after { 482 | border-left-width: 0; 483 | border-right-width: 14px; 484 | left: -14px; 485 | right: auto; 486 | } 487 | .timeline > li:last-child { 488 | margin-bottom: 0; 489 | } 490 | .timeline .timeline-heading h4 { 491 | margin-top: 0; 492 | color: inherit; 493 | } 494 | .timeline .timeline-heading h4.subheading { 495 | text-transform: none; 496 | } 497 | .timeline .timeline-body > p, 498 | .timeline .timeline-body > ul { 499 | margin-bottom: 0; 500 | } 501 | @media (min-width: 768px) { 502 | .timeline:before { 503 | left: 50%; 504 | } 505 | .timeline > li { 506 | margin-bottom: 100px; 507 | min-height: 100px; 508 | } 509 | .timeline > li .timeline-panel { 510 | width: 41%; 511 | float: left; 512 | padding: 0 20px 20px 30px; 513 | text-align: right; 514 | } 515 | .timeline > li .timeline-image { 516 | width: 100px; 517 | height: 100px; 518 | left: 50%; 519 | margin-left: -50px; 520 | } 521 | .timeline > li .timeline-image h4 { 522 | font-size: 13px; 523 | margin-top: 16px; 524 | line-height: 18px; 525 | } 526 | .timeline > li.timeline-inverted > .timeline-panel { 527 | float: right; 528 | text-align: left; 529 | padding: 0 30px 20px 20px; 530 | } 531 | } 532 | @media (min-width: 992px) { 533 | .timeline > li { 534 | min-height: 150px; 535 | } 536 | .timeline > li .timeline-panel { 537 | padding: 0 20px 20px; 538 | } 539 | .timeline > li .timeline-image { 540 | width: 150px; 541 | height: 150px; 542 | margin-left: -75px; 543 | } 544 | .timeline > li .timeline-image h4 { 545 | font-size: 18px; 546 | margin-top: 30px; 547 | line-height: 26px; 548 | } 549 | .timeline > li.timeline-inverted > .timeline-panel { 550 | padding: 0 20px 20px; 551 | } 552 | } 553 | @media (min-width: 1200px) { 554 | .timeline > li { 555 | min-height: 170px; 556 | } 557 | .timeline > li .timeline-panel { 558 | padding: 0 20px 20px 100px; 559 | } 560 | .timeline > li .timeline-image { 561 | width: 170px; 562 | height: 170px; 563 | margin-left: -85px; 564 | } 565 | .timeline > li .timeline-image h4 { 566 | margin-top: 40px; 567 | } 568 | .timeline > li.timeline-inverted > .timeline-panel { 569 | padding: 0 100px 20px 20px; 570 | } 571 | } 572 | .team-member { 573 | text-align: center; 574 | margin-bottom: 50px; 575 | } 576 | .team-member img { 577 | margin: 0 auto; 578 | border: 7px solid white; 579 | } 580 | .team-member h4 { 581 | margin-top: 25px; 582 | margin-bottom: 0; 583 | text-transform: none; 584 | } 585 | .team-member p { 586 | margin-top: 0; 587 | } 588 | 589 | footer { 590 | padding: 25px 0; 591 | text-align: center; 592 | } 593 | footer span.copyright { 594 | line-height: 40px; 595 | font-family: Arimo,"Helvetica Neue", Helvetica, Arial, sans-serif; 596 | text-transform: uppercase; 597 | text-transform: none; 598 | } 599 | footer ul.quicklinks { 600 | margin-bottom: 0; 601 | line-height: 40px; 602 | font-family: Arimo, "Helvetica Neue", Helvetica, Arial, sans-serif; 603 | text-transform: uppercase; 604 | text-transform: none; 605 | } 606 | 607 | .btn:focus, 608 | .btn:active, 609 | .btn.active, 610 | .btn:active:focus { 611 | outline: none; 612 | } 613 | 614 | ::-moz-selection { 615 | text-shadow: none; 616 | background: #fed136; 617 | } 618 | ::selection { 619 | text-shadow: none; 620 | background: #fed136; 621 | } 622 | img::selection { 623 | background: transparent; 624 | } 625 | img::-moz-selection { 626 | background: transparent; 627 | } 628 | body { 629 | webkit-tap-highlight-color: #fed136; 630 | } 631 | 632 | 633 | .navbar .nav>li>a { 634 | border-right: none; 635 | border-left: none; 636 | } 637 | .navbar .nav>li>a { 638 | color: #ffffff; 639 | 640 | text-shadow: none; 641 | } 642 | .navbar .nav>li>a:hover { 643 | border-left: none; 644 | } 645 | .navbar-custom .nav li a:hover, .navbar-custom .nav li a:focus { 646 | color: #fff; 647 | 648 | } 649 | 650 | #content.container { 651 | padding-top:100px; 652 | } 653 | #content.container h3, #content.container h1, #content.container h2 , #content.container h4, 654 | .inner-page h3 , .inner-page h4, .inner-page h2 , .inner-page h4{ 655 | margin-top: 33px; 656 | margin-bottom: 15px; 657 | } 658 | #content.container h1, .inner-page h1 { 659 | font-size: 25px; 660 | margin-bottom: 1.2em; 661 | } 662 | #content.container h3, .inner-page h3 { 663 | font-size: 20px; 664 | } 665 | 666 | 667 | .btn-xl:hover, .btn-xl:focus, .btn-xl:active, .btn-xl.active, .open .dropdown-toggle.btn-xl { 668 | color: white; 669 | /* background-color: #fec503; */ 670 | color: #05b1ff; 671 | background-color: white; 672 | border-color : #fff 673 | /* border-color: #f6bf01; */ 674 | } 675 | body { 676 | padding : 0; 677 | } 678 | footer { 679 | border-top: solid 1px #f7f7f7; 680 | margin-top: 1.5em; 681 | padding: 12px 0; 682 | 683 | } 684 | 685 | .static-nav { 686 | background-color: #05b1ff; 687 | border-bottom: solid 1px #06a9f3; 688 | padding: 10px 0; 689 | } 690 | 691 | #content.container .navbar .nav { 692 | position: initial; 693 | left: initial; 694 | display: initial; 695 | float: left; 696 | margin: initial; 697 | } 698 | .bg-light { 699 | background-color: #fff; 700 | } 701 | 702 | #page-top.inner-page section { 703 | padding: 100px 0; 704 | 705 | } 706 | ::selection { 707 | text-shadow: none; 708 | background: #3297FD; 709 | } 710 | 711 | 712 | .tabs-left, .tabs-right { 713 | border-bottom: none; 714 | padding-top: 2px; 715 | } 716 | .tabs-left { 717 | border-left: 1px solid #ddd; 718 | } 719 | .tabs-right { 720 | border-right: 1px solid #ddd; 721 | } 722 | .tabs-left>li, .tabs-right>li { 723 | float: none; 724 | margin-bottom: 2px; 725 | } 726 | .tabs-left>li { 727 | margin-left: -1px; 728 | } 729 | .tabs-right>li { 730 | margin-right: -4px; 731 | } 732 | .tabs-left>li.active>a, 733 | .tabs-left>li.active>a:hover, 734 | .tabs-left>li.active>a:focus { 735 | border-bottom-color: #ddd; 736 | border-left-color: transparent; 737 | } 738 | 739 | .tabs-right>li.active>a, 740 | .tabs-right>li.active>a:hover, 741 | .tabs-right>li.active>a:focus { 742 | border-bottom: 1px solid #ddd; 743 | border-right-color: transparent; 744 | } 745 | .tabs-left>li>a { 746 | border-radius: 4px 0 0 4px; 747 | margin-left: 0; 748 | display:block; 749 | } 750 | .tabs-right>li>a { 751 | border-radius: 0 4px 4px 0; 752 | margin-left: 0; 753 | } 754 | 755 | .nav-tabs a:hover, .nav-tabs a:focus, .nav-tabs a:active, .nav-tabs a.active { 756 | color: #009ce2; 757 | } 758 | .p-0{ 759 | padding : 0; 760 | } 761 | 762 | body { 763 | position: relative; 764 | margin: 0; 765 | padding-bottom: 6rem; 766 | min-height: 100%; 767 | font-family: "Helvetica Neue", Arial, sans-serif; 768 | } 769 | html { 770 | height: 100%; 771 | box-sizing: border-box; 772 | } 773 | 774 | *, 775 | *:before, 776 | *:after { 777 | box-sizing: inherit; 778 | } 779 | 780 | footer { 781 | position: absolute; 782 | right: 0; 783 | bottom: 0; 784 | left: 0; 785 | padding: 1rem; 786 | 787 | } 788 | .list-group-item 789 | { 790 | font-size: 0.85em; 791 | font-weight: inherit; 792 | 793 | } 794 | .list-group-item.active { 795 | font-weight: bold; 796 | font-size: 1em; 797 | background-color: #05b1ff; 798 | border-color: #05b1ff; 799 | } 800 | 801 | .list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover { 802 | 803 | font-weight: bold; 804 | font-size: 1em; 805 | background-color: #05b1ff; 806 | border-color: #05b1ff; 807 | } 808 | 809 | .list-group-item:focus, .list-group-item:hover, button.list-group-item:focus, button.list-group-item:hover { 810 | color: #555; 811 | text-decoration: none; 812 | background-color: #f5f5f5; 813 | } 814 | 815 | .nav-tabs.affix { 816 | position: fixed; 817 | top: 100px; 818 | width :292.5px; 819 | } 820 | 821 | @media (min-width: 768px){ 822 | .navbar-nav>li { 823 | margin-right: 20px; 824 | margin-top: 15px; 825 | } 826 | .navbar-nav>li>a { 827 | padding-top: 15px; 828 | padding-bottom: 15px; 829 | padding: 0; 830 | } 831 | } 832 | 833 | 834 | 835 | .navbar-custom li a.active { 836 | border-bottom: solid 2px transparent; 837 | -webkit-transition: all 500ms ease-out 1s; 838 | -moz-transition: all 500ms ease-out 1s; 839 | -o-transition: all 500ms ease-out 1s; 840 | transition: all 500ms ease-out 1s; 841 | } 842 | 843 | .navbar-custom .nav li a:hover, .navbar-custom .nav li a:focus , 844 | .navbar-custom li a.active { 845 | border-bottom: solid 2px #fff; 846 | outline: none; 847 | } 848 | 849 | .navbar .nav>li>a { 850 | 851 | padding: 0 !important; 852 | 853 | } 854 | .navbar .nav { 855 | margin : 0; 856 | } 857 | 858 | 859 | .text-muted .glyphicon{ 860 | font-size: 0.7em; 861 | } 862 | #portfolio .portfolio-item .portfolio-caption p { 863 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; 864 | font-style: italic; 865 | font-size: 15px; 866 | margin: 0; 867 | } -------------------------------------------------------------------------------- /conf/home/css/agency.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Start Bootstrap - Agency v3.3.7+1 (http://startbootstrap.com/template-overviews/agency) 3 | * Copyright 2013-2016 Start Bootstrap 4 | * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap/blob/gh-pages/LICENSE) 5 | */.btn-primary.active,.btn-primary:active,.btn-xl.active,.btn-xl:active,.open .dropdown-toggle.btn-primary,.open .dropdown-toggle.btn-xl{background-image:none}body{overflow-x:hidden;font-family:"Roboto Slab","Helvetica Neue",Helvetica,Arial,sans-serif;webkit-tap-highlight-color:#fed136}.btn-primary,.btn-xl,h1,h2,h3,h4,h5,h6{font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase;font-weight:700}.text-muted{color:#777}.text-primary,a{color:#fed136}p{font-size:14px;line-height:1.75}p.large{font-size:16px}a,a.active,a:active,a:focus,a:hover{outline:0}a.active,a:active,a:focus,a:hover{color:#fec503}.img-centered{margin:0 auto}.bg-light-gray{background-color:#eee}.bg-darkest-gray{background-color:#222}.btn-primary{color:#fff;background-color:#fed136;border-color:#fed136}.btn-primary.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#fec503;border-color:#f6bf01}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#fed136;border-color:#fed136}.btn-primary .badge{color:#fed136;background-color:#fff}.btn-xl{color:#fff;background-color:#fed136;border-color:#fed136;border-radius:3px;font-size:18px;padding:20px 40px}.btn-xl.active,.btn-xl:active,.btn-xl:focus,.btn-xl:hover,.open .dropdown-toggle.btn-xl{color:#fff;background-color:#fec503;border-color:#f6bf01}.btn-xl.disabled,.btn-xl.disabled.active,.btn-xl.disabled:active,.btn-xl.disabled:focus,.btn-xl.disabled:hover,.btn-xl[disabled],.btn-xl[disabled].active,.btn-xl[disabled]:active,.btn-xl[disabled]:focus,.btn-xl[disabled]:hover,fieldset[disabled] .btn-xl,fieldset[disabled] .btn-xl.active,fieldset[disabled] .btn-xl:active,fieldset[disabled] .btn-xl:focus,fieldset[disabled] .btn-xl:hover{background-color:#fed136;border-color:#fed136}.btn-xl .badge{color:#fed136;background-color:#fff}.navbar-custom{background-color:#222;border-color:transparent}.navbar-custom .navbar-brand{color:#fed136;font-family:"Kaushan Script","Helvetica Neue",Helvetica,Arial,cursive}.navbar-custom .navbar-brand.active,.navbar-custom .navbar-brand:active,.navbar-custom .navbar-brand:focus,.navbar-custom .navbar-brand:hover{color:#fec503}.navbar-custom .nav li a,.navbar-custom .navbar-toggle{font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;color:#fff;text-transform:uppercase}.navbar-custom .navbar-collapse{border-color:rgba(255,255,255,.02)}.navbar-custom .navbar-toggle{background-color:#fed136;border-color:#fed136;font-size:12px}.navbar-custom .navbar-toggle:focus,.navbar-custom .navbar-toggle:hover{background-color:#fed136}.navbar-custom .nav li a{font-weight:400;letter-spacing:1px}.navbar-custom .nav li a:focus,.navbar-custom .nav li a:hover{color:#fed136;outline:0}.navbar-custom .navbar-nav>.active>a{border-radius:0;color:#fff;background-color:#fed136}.navbar-custom .navbar-nav>.active>a:focus,.navbar-custom .navbar-nav>.active>a:hover{color:#fff;background-color:#fec503}@media (min-width:768px){.navbar-custom{background-color:transparent;padding:25px 0;-webkit-transition:padding .3s;-moz-transition:padding .3s;transition:padding .3s;border:none}.navbar-custom .navbar-brand{font-size:2em;-webkit-transition:all .3s;-moz-transition:all .3s;transition:all .3s}.navbar-custom .navbar-nav>.active>a{border-radius:3px}.navbar-custom.affix{background-color:#222;padding:10px 0}.navbar-custom.affix .navbar-brand{font-size:1.5em}}header{background-image:url(../img/header-bg.jpg);background-repeat:no-repeat;background-attachment:scroll;background-position:center center;-webkit-background-size:cover;-moz-background-size:cover;background-size:cover;-o-background-size:cover;text-align:center;color:#fff}header .intro-text{padding-top:100px;padding-bottom:50px}header .intro-text .intro-lead-in{font-family:"Droid Serif","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:italic;font-size:22px;line-height:22px;margin-bottom:25px}header .intro-text .intro-heading{font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase;font-weight:700;font-size:50px;line-height:50px;margin-bottom:25px}@media (min-width:768px){header .intro-text{padding-top:300px;padding-bottom:200px}header .intro-text .intro-lead-in{font-family:"Droid Serif","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:italic;font-size:40px;line-height:40px;margin-bottom:25px}header .intro-text .intro-heading{font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase;font-weight:700;font-size:75px;line-height:75px;margin-bottom:50px}}#portfolio .portfolio-item .portfolio-caption p,section h3.section-subheading{font-family:"Droid Serif","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:italic}section{padding:100px 0}section h2.section-heading{font-size:40px;margin-top:0;margin-bottom:15px}section h3.section-subheading{font-size:16px;text-transform:none;font-weight:400;margin-bottom:75px}@media (min-width:768px){section{padding:150px 0}}.service-heading{margin:15px 0;text-transform:none}#portfolio .portfolio-item{margin:0 0 15px;right:0}#portfolio .portfolio-item .portfolio-link{display:block;position:relative;max-width:400px;margin:0 auto}#portfolio .portfolio-item .portfolio-link .portfolio-hover{background:rgba(254,209,54,.9);position:absolute;width:100%;height:100%;opacity:0;transition:all ease .5s;-webkit-transition:all ease .5s;-moz-transition:all ease .5s}#portfolio .portfolio-item .portfolio-link .portfolio-hover:hover{opacity:1}#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content{position:absolute;width:100%;height:20px;font-size:20px;text-align:center;top:50%;margin-top:-12px;color:#fff}#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content i{margin-top:-12px}#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content h3,#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content h4{margin:0}#portfolio .portfolio-item .portfolio-caption{max-width:400px;margin:0 auto;background-color:#fff;text-align:center;padding:25px}#portfolio .portfolio-item .portfolio-caption h4{text-transform:none;margin:0}#portfolio .portfolio-item .portfolio-caption p{font-size:16px;margin:0}footer span.copyright,footer ul.quicklinks{font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif}#portfolio *{z-index:2}@media (min-width:767px){#portfolio .portfolio-item{margin:0 0 30px}}.timeline{list-style:none;padding:0;position:relative}.timeline:before{top:0;bottom:0;position:absolute;content:"";width:2px;background-color:#f1f1f1;left:40px;margin-left:-1.5px}.timeline>li{margin-bottom:50px;position:relative;min-height:50px}.timeline>li:after,.timeline>li:before{content:" ";display:table}.timeline>li:after{clear:both}.timeline>li .timeline-panel{width:100%;float:right;padding:0 20px 0 100px;position:relative;text-align:left}.timeline>li .timeline-panel:before{border-left-width:0;border-right-width:15px;left:-15px;right:auto}.timeline>li .timeline-panel:after{border-left-width:0;border-right-width:14px;left:-14px;right:auto}.timeline>li .timeline-image{left:0;margin-left:0;width:80px;height:80px;position:absolute;z-index:100;background-color:#fed136;color:#fff;border-radius:100%;border:7px solid #f1f1f1;text-align:center}.timeline>li .timeline-image h4{font-size:10px;margin-top:12px;line-height:14px}.timeline>li.timeline-inverted>.timeline-panel{float:right;text-align:left;padding:0 20px 0 100px}.timeline>li.timeline-inverted>.timeline-panel:before{border-left-width:0;border-right-width:15px;left:-15px;right:auto}.timeline>li.timeline-inverted>.timeline-panel:after{border-left-width:0;border-right-width:14px;left:-14px;right:auto}.timeline>li:last-child{margin-bottom:0}.timeline .timeline-heading h4{margin-top:0;color:inherit}.timeline .timeline-heading h4.subheading{text-transform:none}.timeline .timeline-body>p,.timeline .timeline-body>ul{margin-bottom:0}@media (min-width:768px){.timeline:before{left:50%}.timeline>li{margin-bottom:100px;min-height:100px}.timeline>li .timeline-panel{width:41%;float:left;padding:0 20px 20px 30px;text-align:right}.timeline>li .timeline-image{width:100px;height:100px;left:50%;margin-left:-50px}.timeline>li .timeline-image h4{font-size:13px;margin-top:16px;line-height:18px}.timeline>li.timeline-inverted>.timeline-panel{float:right;text-align:left;padding:0 30px 20px 20px}}@media (min-width:992px){.timeline>li .timeline-panel,.timeline>li.timeline-inverted>.timeline-panel{padding:0 20px 20px}.timeline>li{min-height:150px}.timeline>li .timeline-image{width:150px;height:150px;margin-left:-75px}.timeline>li .timeline-image h4{font-size:18px;margin-top:30px;line-height:26px}}@media (min-width:1200px){.timeline>li{min-height:170px}.timeline>li .timeline-panel{padding:0 20px 20px 100px}.timeline>li .timeline-image{width:170px;height:170px;margin-left:-85px}.timeline>li .timeline-image h4{margin-top:40px}.timeline>li.timeline-inverted>.timeline-panel{padding:0 100px 20px 20px}}.team-member{text-align:center;margin-bottom:50px}.team-member img{margin:0 auto;border:7px solid #fff}.team-member h4{margin-top:25px;margin-bottom:0;text-transform:none}.team-member p{margin-top:0}aside.clients img{margin:50px auto}section#contact{background-color:#222;background-image:url(../img/map-image.png);background-position:center;background-repeat:no-repeat}section#contact .section-heading{color:#fff}section#contact .form-group{margin-bottom:25px}section#contact .form-group input,section#contact .form-group textarea{padding:20px}section#contact .form-group input.form-control{height:auto}section#contact .form-group textarea.form-control{height:236px}section#contact .form-control:focus{border-color:#fed136;box-shadow:none}section#contact ::-webkit-input-placeholder{font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase;font-weight:700;color:#eee}section#contact :-moz-placeholder{font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase;font-weight:700;color:#eee}section#contact ::-moz-placeholder{font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase;font-weight:700;color:#eee}section#contact :-ms-input-placeholder{font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;text-transform:uppercase;font-weight:700;color:#eee}section#contact .text-danger{color:#e74c3c}footer{padding:25px 0;text-align:center}footer span.copyright{line-height:40px;text-transform:uppercase;text-transform:none}footer ul.quicklinks{margin-bottom:0;line-height:40px;text-transform:uppercase;text-transform:none}ul.social-buttons{margin-bottom:0}ul.social-buttons li a{display:block;background-color:#222;height:40px;width:40px;border-radius:100%;font-size:20px;line-height:40px;color:#fff;outline:0;-webkit-transition:all .3s;-moz-transition:all .3s;transition:all .3s}ul.social-buttons li a:active,ul.social-buttons li a:focus,ul.social-buttons li a:hover{background-color:#fed136}.btn.active,.btn:active,.btn:active:focus,.btn:focus{outline:0}.portfolio-modal .modal-dialog{margin:0;height:100%;width:auto}.portfolio-modal .modal-content{border-radius:0;background-clip:border-box;-webkit-box-shadow:none;box-shadow:none;border:none;min-height:100%;padding:100px 0;text-align:center}.portfolio-modal .modal-content h2{margin-bottom:15px;font-size:3em}.portfolio-modal .modal-content p{margin-bottom:30px}.portfolio-modal .modal-content p.item-intro{margin:20px 0 30px;font-family:"Droid Serif","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:italic;font-size:16px}.portfolio-modal .modal-content ul.list-inline{margin-bottom:30px;margin-top:0}.portfolio-modal .modal-content img{margin-bottom:30px}.portfolio-modal .close-modal{position:absolute;width:75px;height:75px;background-color:transparent;top:25px;right:25px;cursor:pointer}.portfolio-modal .close-modal:hover{opacity:.3}.portfolio-modal .close-modal .lr{height:75px;width:1px;margin-left:35px;background-color:#222;transform:rotate(45deg);-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);z-index:1051}.portfolio-modal .close-modal .lr .rl{height:75px;width:1px;background-color:#222;transform:rotate(90deg);-ms-transform:rotate(90deg);-webkit-transform:rotate(90deg);z-index:1052}.portfolio-modal .modal-backdrop{opacity:0;display:none}::-moz-selection{text-shadow:none;background:#fed136}::selection{text-shadow:none;background:#fed136}img::selection{background:0 0}img::-moz-selection{background:0 0} -------------------------------------------------------------------------------- /conf/home/css/fonts.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Start Bootstrap - Agency v3.3.7+1 (http://startbootstrap.com/template-overviews/agency) 3 | * Copyright 2013-2016 Start Bootstrap 4 | * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap/blob/gh-pages/LICENSE) 5 | */ 6 | 7 | @font-face { 8 | font-family: 'groups'; 9 | src: url('fonts/groups.eot?5851n8'); 10 | src: url('fonts/groups.eot?5851n8#iefix') format('embedded-opentype'), 11 | url('fonts/groups.ttf?5851n8') format('truetype'), 12 | url('fonts/groups.woff?5851n8') format('woff'), 13 | url('fonts/groups.svg?5851n8#groups') format('svg'); 14 | font-weight: normal; 15 | font-style: normal; 16 | } 17 | 18 | [class^="groups-"], [class*=" groups-"] { 19 | /* use !important to prevent issues with browser extensions that change fonts */ 20 | font-family: 'groups' !important; 21 | speak: none; 22 | font-style: normal; 23 | font-weight: normal; 24 | font-variant: normal; 25 | text-transform: none; 26 | line-height: 1; 27 | 28 | /* Better Font Rendering =========== */ 29 | -webkit-font-smoothing: antialiased; 30 | -moz-osx-font-smoothing: grayscale; 31 | } 32 | 33 | /* montserrat-regular - latin */ 34 | @font-face { 35 | font-family: 'Montserrat'; 36 | font-style: normal; 37 | font-weight: 400; 38 | src: url('fonts/montserrat/montserrat-v7-latin-regular.eot'); /* IE9 Compat Modes */ 39 | src: local('Montserrat-Regular'), 40 | url('fonts/montserrat/montserrat-v7-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ 41 | url('fonts/montserrat/montserrat-v7-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ 42 | url('fonts/montserrat/montserrat-v7-latin-regular.woff') format('woff'), /* Modern Browsers */ 43 | url('fonts/montserrat/montserrat-v7-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ 44 | url('fonts/montserrat/montserrat-v7-latin-regular.svg#Montserrat') format('svg'); /* Legacy iOS */ 45 | } 46 | /* montserrat-700 - latin */ 47 | @font-face { 48 | font-family: 'Montserrat'; 49 | font-style: normal; 50 | font-weight: 700; 51 | src: url('fonts/montserrat/montserrat-v7-latin-700.eot'); /* IE9 Compat Modes */ 52 | src: local('Montserrat-Bold'), 53 | url('fonts/montserrat/montserrat-v7-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ 54 | url('fonts/montserrat/montserrat-v7-latin-700.woff2') format('woff2'), /* Super Modern Browsers */ 55 | url('fonts/montserrat/montserrat-v7-latin-700.woff') format('woff'), /* Modern Browsers */ 56 | url('fonts/montserrat/montserrat-v7-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */ 57 | url('fonts/montserrat/montserrat-v7-latin-700.svg#Montserrat') format('svg'); /* Legacy iOS */ 58 | } 59 | 60 | /* arimo-regular - latin */ 61 | @font-face { 62 | font-family: 'Arimo'; 63 | font-style: normal; 64 | font-weight: 400; 65 | src: url('fonts/arimo/arimo-v9-latin-regular.eot'); /* IE9 Compat Modes */ 66 | src: local('Arimo'), 67 | url('fonts/arimo/arimo-v9-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ 68 | url('fonts/arimo/arimo-v9-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ 69 | url('fonts/arimo/arimo-v9-latin-regular.woff') format('woff'), /* Modern Browsers */ 70 | url('fonts/arimo/arimo-v9-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ 71 | url('fonts/arimo/arimo-v9-latin-regular.svg#Arimo') format('svg'); /* Legacy iOS */ 72 | } 73 | /* arimo-italic - latin */ 74 | @font-face { 75 | font-family: 'Arimo'; 76 | font-style: italic; 77 | font-weight: 400; 78 | src: url('fonts/arimo/arimo-v9-latin-italic.eot'); /* IE9 Compat Modes */ 79 | src: local('Arimo Italic'), local('Arimo-Italic'), 80 | url('fonts/arimo/arimo-v9-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ 81 | url('fonts/arimo/arimo-v9-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */ 82 | url('fonts/arimo/arimo-v9-latin-italic.woff') format('woff'), /* Modern Browsers */ 83 | url('fonts/arimo/arimo-v9-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */ 84 | url('fonts/arimo/arimo-v9-latin-italic.svg#Arimo') format('svg'); /* Legacy iOS */ 85 | } 86 | /* arimo-700 - latin */ 87 | @font-face { 88 | font-family: 'Arimo'; 89 | font-style: normal; 90 | font-weight: 700; 91 | src: url('fonts/arimo/arimo-v9-latin-700.eot'); /* IE9 Compat Modes */ 92 | src: local('Arimo Bold'), local('Arimo-Bold'), 93 | url('fonts/arimo/arimo-v9-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ 94 | url('fonts/arimo/arimo-v9-latin-700.woff2') format('woff2'), /* Super Modern Browsers */ 95 | url('fonts/arimo/arimo-v9-latin-700.woff') format('woff'), /* Modern Browsers */ 96 | url('fonts/arimo/arimo-v9-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */ 97 | url('fonts/arimo/arimo-v9-latin-700.svg#Arimo') format('svg'); /* Legacy iOS */ 98 | } 99 | /* arimo-700italic - latin */ 100 | @font-face { 101 | font-family: 'Arimo'; 102 | font-style: italic; 103 | font-weight: 700; 104 | src: url('fonts/arimo/arimo-v9-latin-700italic.eot'); /* IE9 Compat Modes */ 105 | src: local('Arimo Bold Italic'), local('Arimo-BoldItalic'), 106 | url('fonts/arimo/arimo-v9-latin-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ 107 | url('fonts/arimo/arimo-v9-latin-700italic.woff2') format('woff2'), /* Super Modern Browsers */ 108 | url('fonts/arimo/arimo-v9-latin-700italic.woff') format('woff'), /* Modern Browsers */ 109 | url('fonts/arimo/arimo-v9-latin-700italic.ttf') format('truetype'), /* Safari, Android, iOS */ 110 | url('fonts/arimo/arimo-v9-latin-700italic.svg#Arimo') format('svg'); /* Legacy iOS */ 111 | } 112 | 113 | .groups-logo-symbol-w:before { 114 | content: "\e913"; 115 | } 116 | -------------------------------------------------------------------------------- /conf/home/css/fonts/arimo/arimo-v9-latin-700.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/arimo/arimo-v9-latin-700.eot -------------------------------------------------------------------------------- /conf/home/css/fonts/arimo/arimo-v9-latin-700.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/arimo/arimo-v9-latin-700.ttf -------------------------------------------------------------------------------- /conf/home/css/fonts/arimo/arimo-v9-latin-700.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/arimo/arimo-v9-latin-700.woff -------------------------------------------------------------------------------- /conf/home/css/fonts/arimo/arimo-v9-latin-700.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/arimo/arimo-v9-latin-700.woff2 -------------------------------------------------------------------------------- /conf/home/css/fonts/arimo/arimo-v9-latin-700italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/arimo/arimo-v9-latin-700italic.eot -------------------------------------------------------------------------------- /conf/home/css/fonts/arimo/arimo-v9-latin-700italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/arimo/arimo-v9-latin-700italic.ttf -------------------------------------------------------------------------------- /conf/home/css/fonts/arimo/arimo-v9-latin-700italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/arimo/arimo-v9-latin-700italic.woff -------------------------------------------------------------------------------- /conf/home/css/fonts/arimo/arimo-v9-latin-700italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/arimo/arimo-v9-latin-700italic.woff2 -------------------------------------------------------------------------------- /conf/home/css/fonts/arimo/arimo-v9-latin-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/arimo/arimo-v9-latin-italic.eot -------------------------------------------------------------------------------- /conf/home/css/fonts/arimo/arimo-v9-latin-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/arimo/arimo-v9-latin-italic.ttf -------------------------------------------------------------------------------- /conf/home/css/fonts/arimo/arimo-v9-latin-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/arimo/arimo-v9-latin-italic.woff -------------------------------------------------------------------------------- /conf/home/css/fonts/arimo/arimo-v9-latin-italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/arimo/arimo-v9-latin-italic.woff2 -------------------------------------------------------------------------------- /conf/home/css/fonts/arimo/arimo-v9-latin-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/arimo/arimo-v9-latin-regular.eot -------------------------------------------------------------------------------- /conf/home/css/fonts/arimo/arimo-v9-latin-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/arimo/arimo-v9-latin-regular.ttf -------------------------------------------------------------------------------- /conf/home/css/fonts/arimo/arimo-v9-latin-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/arimo/arimo-v9-latin-regular.woff -------------------------------------------------------------------------------- /conf/home/css/fonts/arimo/arimo-v9-latin-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/arimo/arimo-v9-latin-regular.woff2 -------------------------------------------------------------------------------- /conf/home/css/fonts/groups.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/groups.eot -------------------------------------------------------------------------------- /conf/home/css/fonts/groups.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Generated by IcoMoon 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /conf/home/css/fonts/groups.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/groups.ttf -------------------------------------------------------------------------------- /conf/home/css/fonts/groups.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/groups.woff -------------------------------------------------------------------------------- /conf/home/css/fonts/montserrat/montserrat-v7-latin-700.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/montserrat/montserrat-v7-latin-700.eot -------------------------------------------------------------------------------- /conf/home/css/fonts/montserrat/montserrat-v7-latin-700.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/montserrat/montserrat-v7-latin-700.ttf -------------------------------------------------------------------------------- /conf/home/css/fonts/montserrat/montserrat-v7-latin-700.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/montserrat/montserrat-v7-latin-700.woff -------------------------------------------------------------------------------- /conf/home/css/fonts/montserrat/montserrat-v7-latin-700.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/montserrat/montserrat-v7-latin-700.woff2 -------------------------------------------------------------------------------- /conf/home/css/fonts/montserrat/montserrat-v7-latin-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/montserrat/montserrat-v7-latin-regular.eot -------------------------------------------------------------------------------- /conf/home/css/fonts/montserrat/montserrat-v7-latin-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/montserrat/montserrat-v7-latin-regular.ttf -------------------------------------------------------------------------------- /conf/home/css/fonts/montserrat/montserrat-v7-latin-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/montserrat/montserrat-v7-latin-regular.woff -------------------------------------------------------------------------------- /conf/home/css/fonts/montserrat/montserrat-v7-latin-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/css/fonts/montserrat/montserrat-v7-latin-regular.woff2 -------------------------------------------------------------------------------- /conf/home/img/logos/linshare-logo-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/img/logos/linshare-logo-white.png -------------------------------------------------------------------------------- /conf/home/img/portfolio/ex-admin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/img/portfolio/ex-admin.png -------------------------------------------------------------------------------- /conf/home/img/portfolio/ex-l2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/img/portfolio/ex-l2.png -------------------------------------------------------------------------------- /conf/home/img/portfolio/ex-roundcube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/img/portfolio/ex-roundcube.png -------------------------------------------------------------------------------- /conf/home/img/portfolio/ex-ur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/img/portfolio/ex-ur.png -------------------------------------------------------------------------------- /conf/home/img/portfolio/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/img/portfolio/preview.png -------------------------------------------------------------------------------- /conf/home/img/portfolio/swagger-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/img/portfolio/swagger-background.png -------------------------------------------------------------------------------- /conf/home/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | LinShare Docker 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 30 | 31 | 32 | 64 | 65 |
66 | 67 |
68 |
69 |
Welcome to LinShare Docker
70 |
This page is designed to provide you help, documentation and all URL access to every deployed services
71 | Get started 72 |
73 |
74 |
75 | 76 |
77 |
78 |
79 |
80 |

Services

81 |


82 | You can only use predefined users, see setup tab. 83 |

84 |
85 |
86 |
87 |
88 | 89 |
90 |
91 | 92 |
93 |
94 | 95 |
96 |
97 |

User interface

98 |

101 | users 102 |

103 |
104 |
105 |
106 | 107 |
108 |
109 | 110 |
111 |
112 | 113 |
114 |
115 |

Admin interface

116 |

set up 119 |

120 |
121 |
122 |
123 | 124 |
125 |
126 | 127 |
128 |
129 | 130 |
131 |
132 |

Webservice API documentation

133 |

136 | documentation 137 |

138 |
139 |
140 |
141 | 142 |
143 |
144 | 145 |
146 |
147 | 148 |
149 |
150 |

Webmail - RoundCube

151 |

152 | users 153 |

154 |
155 |
156 |
157 |
158 |
159 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 181 | 182 | 183 | -------------------------------------------------------------------------------- /conf/home/js/agency.js: -------------------------------------------------------------------------------- 1 | // Agency Theme JavaScript 2 | 3 | (function($) { 4 | "use strict"; // Start of use strict 5 | 6 | // jQuery for page scrolling feature - requires jQuery Easing plugin 7 | $('a.page-scroll').bind('click', function(event) { 8 | var $anchor = $(this); 9 | $('html, body').stop().animate({ 10 | scrollTop: ($($anchor.attr('href')).offset().top - 50) 11 | }, 1250, 'easeInOutExpo'); 12 | event.preventDefault(); 13 | }); 14 | 15 | // Highlight the top nav as scrolling occurs 16 | $('body').scrollspy({ 17 | target: '.navbar-fixed-top', 18 | offset: 51 19 | }); 20 | 21 | // Closes the Responsive Menu on Menu Item Click 22 | $('.navbar-collapse ul li a').click(function(){ 23 | $('.navbar-toggle:visible').click(); 24 | }); 25 | 26 | // Offset for Main Navigation 27 | $('#mainNav').affix({ 28 | offset: { 29 | top: 100 30 | } 31 | }) 32 | 33 | })(jQuery); // End of use strict 34 | -------------------------------------------------------------------------------- /conf/home/js/agency.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Start Bootstrap - Agency v3.3.7+1 (http://startbootstrap.com/template-overviews/agency) 3 | * Copyright 2013-2016 Start Bootstrap 4 | * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap/blob/gh-pages/LICENSE) 5 | */ 6 | !function(t){"use strict";t("a.page-scroll").bind("click",function(a){var o=t(this);t("html, body").stop().animate({scrollTop:t(o.attr("href")).offset().top-50},1250,"easeInOutExpo"),a.preventDefault()}),t("body").scrollspy({target:".navbar-fixed-top",offset:51}),t(".navbar-collapse ul li a").click(function(){t(".navbar-toggle:visible").click()}),t("#mainNav").affix({offset:{top:100}})}(jQuery); -------------------------------------------------------------------------------- /conf/home/js/html5shiv.js: -------------------------------------------------------------------------------- 1 | /* 2 | HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed 3 | */ 4 | (function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); 5 | a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x"; 6 | c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| 7 | "undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f); 8 | if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d #mq-test-1 { width: 42px; }',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;bli{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade.in{top:auto}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .dropdown-menu a:hover{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:hover{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:block;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}} -------------------------------------------------------------------------------- /conf/home/markdown.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Docker set up 4 | 5 | 17 | 18 | 19 | 23 | 24 | 25 | 26 | 27 | 28 | 60 |
61 |
62 |
63 |
64 | Copyright © Linshare Docker 2016 65 |
66 |
67 |
68 |
69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /conf/home/md/advanced.set.up.md: -------------------------------------------------------------------------------- 1 | ## Troubleshoots 2 | 3 | ### linshare.war can not be deployed 4 | 5 | ``` 6 | # you may have the following error : 7 | # linshare_backend | Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web 8 | # application [/linshare] due to a StackOverflowError. Possible root causes include a too low setting for -Xss and 9 | # illegal cyclic inheritance dependencies. The class hierarchy being processed was 10 | # [org.bouncycastle.asn1.ASN1EncodableVector->org.bouncycastle.asn1.DEREncodableVector->org.bouncycastle.asn1.ASN1EncodableVector] 11 | ``` 12 | 13 | You have to enable catalina.properties volume for the backend service in the 14 | docker-compose.yml and recreate your container : 15 | 16 | ``` 17 | # stop it 18 | $ docker-compose stop backend 19 | 20 | # rm it 21 | $ docker-compose rm backend 22 | 23 | # edit docker-compose.yml 24 | $ vim docker-compose.yml 25 | 26 | # recreate it 27 | $ docker-compose up -d 28 | 29 | # you could check if the container is up and the volume is mount using this command : 30 | # First, get the id of the running backend container: 31 | $ docker ps -q -f "name=linshare_backend" 32 | 33 | # then the status of the mounted volumes 34 | $ docker inspect |grep -i '"Volumes":' -A5 35 | 36 | # Or in one line : 37 | $ docker inspect $(docker ps -aq -f "name=linshare_backend") |grep -i '"Volumes":' -A4 38 | ``` 39 | -------------------------------------------------------------------------------- /conf/home/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /conf/home/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /conf/home/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /conf/home/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/vendor/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/vendor/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/vendor/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/vendor/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/linagora/linshare-docker/ba603f9d65b712223a1061077bb4aa7b64650564/conf/home/vendor/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/less/animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .@{fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .@{fa-css-prefix}-pull-left { float: left; } 11 | .@{fa-css-prefix}-pull-right { float: right; } 12 | 13 | .@{fa-css-prefix} { 14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .@{fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "animated.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | @import "screen-reader.less"; 19 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | .fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | 14 | .fa-icon-rotate(@degrees, @rotation) { 15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; 16 | -webkit-transform: rotate(@degrees); 17 | -ms-transform: rotate(@degrees); 18 | transform: rotate(@degrees); 19 | } 20 | 21 | .fa-icon-flip(@horiz, @vert, @rotation) { 22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)"; 23 | -webkit-transform: scale(@horiz, @vert); 24 | -ms-transform: scale(@horiz, @vert); 25 | transform: scale(@horiz, @vert); 26 | } 27 | 28 | 29 | // Only display content to screen readers. A la Bootstrap 4. 30 | // 31 | // See: http://a11yproject.com/posts/how-to-hide-content/ 32 | 33 | .sr-only() { 34 | position: absolute; 35 | width: 1px; 36 | height: 1px; 37 | padding: 0; 38 | margin: -1px; 39 | overflow: hidden; 40 | clip: rect(0,0,0,0); 41 | border: 0; 42 | } 43 | 44 | // Use in conjunction with .sr-only to only display content when it's focused. 45 | // 46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 47 | // 48 | // Credit: HTML5 Boilerplate 49 | 50 | .sr-only-focusable() { 51 | &:active, 52 | &:focus { 53 | position: static; 54 | width: auto; 55 | height: auto; 56 | margin: 0; 57 | overflow: visible; 58 | clip: auto; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), 9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/less/screen-reader.less: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { .sr-only(); } 5 | .sr-only-focusable { .sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/less/variables.less: -------------------------------------------------------------------------------- 1 | // Variables 2 | // -------------------------- 3 | 4 | @fa-font-path: "../fonts"; 5 | @fa-font-size-base: 14px; 6 | @fa-line-height-base: 1; 7 | //@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.6.3/fonts"; // for referencing Bootstrap CDN font files directly 8 | @fa-css-prefix: fa; 9 | @fa-version: "4.6.3"; 10 | @fa-border-color: #eee; 11 | @fa-inverse: #fff; 12 | @fa-li-width: (30em / 14); 13 | 14 | @fa-var-500px: "\f26e"; 15 | @fa-var-adjust: "\f042"; 16 | @fa-var-adn: "\f170"; 17 | @fa-var-align-center: "\f037"; 18 | @fa-var-align-justify: "\f039"; 19 | @fa-var-align-left: "\f036"; 20 | @fa-var-align-right: "\f038"; 21 | @fa-var-amazon: "\f270"; 22 | @fa-var-ambulance: "\f0f9"; 23 | @fa-var-american-sign-language-interpreting: "\f2a3"; 24 | @fa-var-anchor: "\f13d"; 25 | @fa-var-android: "\f17b"; 26 | @fa-var-angellist: "\f209"; 27 | @fa-var-angle-double-down: "\f103"; 28 | @fa-var-angle-double-left: "\f100"; 29 | @fa-var-angle-double-right: "\f101"; 30 | @fa-var-angle-double-up: "\f102"; 31 | @fa-var-angle-down: "\f107"; 32 | @fa-var-angle-left: "\f104"; 33 | @fa-var-angle-right: "\f105"; 34 | @fa-var-angle-up: "\f106"; 35 | @fa-var-apple: "\f179"; 36 | @fa-var-archive: "\f187"; 37 | @fa-var-area-chart: "\f1fe"; 38 | @fa-var-arrow-circle-down: "\f0ab"; 39 | @fa-var-arrow-circle-left: "\f0a8"; 40 | @fa-var-arrow-circle-o-down: "\f01a"; 41 | @fa-var-arrow-circle-o-left: "\f190"; 42 | @fa-var-arrow-circle-o-right: "\f18e"; 43 | @fa-var-arrow-circle-o-up: "\f01b"; 44 | @fa-var-arrow-circle-right: "\f0a9"; 45 | @fa-var-arrow-circle-up: "\f0aa"; 46 | @fa-var-arrow-down: "\f063"; 47 | @fa-var-arrow-left: "\f060"; 48 | @fa-var-arrow-right: "\f061"; 49 | @fa-var-arrow-up: "\f062"; 50 | @fa-var-arrows: "\f047"; 51 | @fa-var-arrows-alt: "\f0b2"; 52 | @fa-var-arrows-h: "\f07e"; 53 | @fa-var-arrows-v: "\f07d"; 54 | @fa-var-asl-interpreting: "\f2a3"; 55 | @fa-var-assistive-listening-systems: "\f2a2"; 56 | @fa-var-asterisk: "\f069"; 57 | @fa-var-at: "\f1fa"; 58 | @fa-var-audio-description: "\f29e"; 59 | @fa-var-automobile: "\f1b9"; 60 | @fa-var-backward: "\f04a"; 61 | @fa-var-balance-scale: "\f24e"; 62 | @fa-var-ban: "\f05e"; 63 | @fa-var-bank: "\f19c"; 64 | @fa-var-bar-chart: "\f080"; 65 | @fa-var-bar-chart-o: "\f080"; 66 | @fa-var-barcode: "\f02a"; 67 | @fa-var-bars: "\f0c9"; 68 | @fa-var-battery-0: "\f244"; 69 | @fa-var-battery-1: "\f243"; 70 | @fa-var-battery-2: "\f242"; 71 | @fa-var-battery-3: "\f241"; 72 | @fa-var-battery-4: "\f240"; 73 | @fa-var-battery-empty: "\f244"; 74 | @fa-var-battery-full: "\f240"; 75 | @fa-var-battery-half: "\f242"; 76 | @fa-var-battery-quarter: "\f243"; 77 | @fa-var-battery-three-quarters: "\f241"; 78 | @fa-var-bed: "\f236"; 79 | @fa-var-beer: "\f0fc"; 80 | @fa-var-behance: "\f1b4"; 81 | @fa-var-behance-square: "\f1b5"; 82 | @fa-var-bell: "\f0f3"; 83 | @fa-var-bell-o: "\f0a2"; 84 | @fa-var-bell-slash: "\f1f6"; 85 | @fa-var-bell-slash-o: "\f1f7"; 86 | @fa-var-bicycle: "\f206"; 87 | @fa-var-binoculars: "\f1e5"; 88 | @fa-var-birthday-cake: "\f1fd"; 89 | @fa-var-bitbucket: "\f171"; 90 | @fa-var-bitbucket-square: "\f172"; 91 | @fa-var-bitcoin: "\f15a"; 92 | @fa-var-black-tie: "\f27e"; 93 | @fa-var-blind: "\f29d"; 94 | @fa-var-bluetooth: "\f293"; 95 | @fa-var-bluetooth-b: "\f294"; 96 | @fa-var-bold: "\f032"; 97 | @fa-var-bolt: "\f0e7"; 98 | @fa-var-bomb: "\f1e2"; 99 | @fa-var-book: "\f02d"; 100 | @fa-var-bookmark: "\f02e"; 101 | @fa-var-bookmark-o: "\f097"; 102 | @fa-var-braille: "\f2a1"; 103 | @fa-var-briefcase: "\f0b1"; 104 | @fa-var-btc: "\f15a"; 105 | @fa-var-bug: "\f188"; 106 | @fa-var-building: "\f1ad"; 107 | @fa-var-building-o: "\f0f7"; 108 | @fa-var-bullhorn: "\f0a1"; 109 | @fa-var-bullseye: "\f140"; 110 | @fa-var-bus: "\f207"; 111 | @fa-var-buysellads: "\f20d"; 112 | @fa-var-cab: "\f1ba"; 113 | @fa-var-calculator: "\f1ec"; 114 | @fa-var-calendar: "\f073"; 115 | @fa-var-calendar-check-o: "\f274"; 116 | @fa-var-calendar-minus-o: "\f272"; 117 | @fa-var-calendar-o: "\f133"; 118 | @fa-var-calendar-plus-o: "\f271"; 119 | @fa-var-calendar-times-o: "\f273"; 120 | @fa-var-camera: "\f030"; 121 | @fa-var-camera-retro: "\f083"; 122 | @fa-var-car: "\f1b9"; 123 | @fa-var-caret-down: "\f0d7"; 124 | @fa-var-caret-left: "\f0d9"; 125 | @fa-var-caret-right: "\f0da"; 126 | @fa-var-caret-square-o-down: "\f150"; 127 | @fa-var-caret-square-o-left: "\f191"; 128 | @fa-var-caret-square-o-right: "\f152"; 129 | @fa-var-caret-square-o-up: "\f151"; 130 | @fa-var-caret-up: "\f0d8"; 131 | @fa-var-cart-arrow-down: "\f218"; 132 | @fa-var-cart-plus: "\f217"; 133 | @fa-var-cc: "\f20a"; 134 | @fa-var-cc-amex: "\f1f3"; 135 | @fa-var-cc-diners-club: "\f24c"; 136 | @fa-var-cc-discover: "\f1f2"; 137 | @fa-var-cc-jcb: "\f24b"; 138 | @fa-var-cc-mastercard: "\f1f1"; 139 | @fa-var-cc-paypal: "\f1f4"; 140 | @fa-var-cc-stripe: "\f1f5"; 141 | @fa-var-cc-visa: "\f1f0"; 142 | @fa-var-certificate: "\f0a3"; 143 | @fa-var-chain: "\f0c1"; 144 | @fa-var-chain-broken: "\f127"; 145 | @fa-var-check: "\f00c"; 146 | @fa-var-check-circle: "\f058"; 147 | @fa-var-check-circle-o: "\f05d"; 148 | @fa-var-check-square: "\f14a"; 149 | @fa-var-check-square-o: "\f046"; 150 | @fa-var-chevron-circle-down: "\f13a"; 151 | @fa-var-chevron-circle-left: "\f137"; 152 | @fa-var-chevron-circle-right: "\f138"; 153 | @fa-var-chevron-circle-up: "\f139"; 154 | @fa-var-chevron-down: "\f078"; 155 | @fa-var-chevron-left: "\f053"; 156 | @fa-var-chevron-right: "\f054"; 157 | @fa-var-chevron-up: "\f077"; 158 | @fa-var-child: "\f1ae"; 159 | @fa-var-chrome: "\f268"; 160 | @fa-var-circle: "\f111"; 161 | @fa-var-circle-o: "\f10c"; 162 | @fa-var-circle-o-notch: "\f1ce"; 163 | @fa-var-circle-thin: "\f1db"; 164 | @fa-var-clipboard: "\f0ea"; 165 | @fa-var-clock-o: "\f017"; 166 | @fa-var-clone: "\f24d"; 167 | @fa-var-close: "\f00d"; 168 | @fa-var-cloud: "\f0c2"; 169 | @fa-var-cloud-download: "\f0ed"; 170 | @fa-var-cloud-upload: "\f0ee"; 171 | @fa-var-cny: "\f157"; 172 | @fa-var-code: "\f121"; 173 | @fa-var-code-fork: "\f126"; 174 | @fa-var-codepen: "\f1cb"; 175 | @fa-var-codiepie: "\f284"; 176 | @fa-var-coffee: "\f0f4"; 177 | @fa-var-cog: "\f013"; 178 | @fa-var-cogs: "\f085"; 179 | @fa-var-columns: "\f0db"; 180 | @fa-var-comment: "\f075"; 181 | @fa-var-comment-o: "\f0e5"; 182 | @fa-var-commenting: "\f27a"; 183 | @fa-var-commenting-o: "\f27b"; 184 | @fa-var-comments: "\f086"; 185 | @fa-var-comments-o: "\f0e6"; 186 | @fa-var-compass: "\f14e"; 187 | @fa-var-compress: "\f066"; 188 | @fa-var-connectdevelop: "\f20e"; 189 | @fa-var-contao: "\f26d"; 190 | @fa-var-copy: "\f0c5"; 191 | @fa-var-copyright: "\f1f9"; 192 | @fa-var-creative-commons: "\f25e"; 193 | @fa-var-credit-card: "\f09d"; 194 | @fa-var-credit-card-alt: "\f283"; 195 | @fa-var-crop: "\f125"; 196 | @fa-var-crosshairs: "\f05b"; 197 | @fa-var-css3: "\f13c"; 198 | @fa-var-cube: "\f1b2"; 199 | @fa-var-cubes: "\f1b3"; 200 | @fa-var-cut: "\f0c4"; 201 | @fa-var-cutlery: "\f0f5"; 202 | @fa-var-dashboard: "\f0e4"; 203 | @fa-var-dashcube: "\f210"; 204 | @fa-var-database: "\f1c0"; 205 | @fa-var-deaf: "\f2a4"; 206 | @fa-var-deafness: "\f2a4"; 207 | @fa-var-dedent: "\f03b"; 208 | @fa-var-delicious: "\f1a5"; 209 | @fa-var-desktop: "\f108"; 210 | @fa-var-deviantart: "\f1bd"; 211 | @fa-var-diamond: "\f219"; 212 | @fa-var-digg: "\f1a6"; 213 | @fa-var-dollar: "\f155"; 214 | @fa-var-dot-circle-o: "\f192"; 215 | @fa-var-download: "\f019"; 216 | @fa-var-dribbble: "\f17d"; 217 | @fa-var-dropbox: "\f16b"; 218 | @fa-var-drupal: "\f1a9"; 219 | @fa-var-edge: "\f282"; 220 | @fa-var-edit: "\f044"; 221 | @fa-var-eject: "\f052"; 222 | @fa-var-ellipsis-h: "\f141"; 223 | @fa-var-ellipsis-v: "\f142"; 224 | @fa-var-empire: "\f1d1"; 225 | @fa-var-envelope: "\f0e0"; 226 | @fa-var-envelope-o: "\f003"; 227 | @fa-var-envelope-square: "\f199"; 228 | @fa-var-envira: "\f299"; 229 | @fa-var-eraser: "\f12d"; 230 | @fa-var-eur: "\f153"; 231 | @fa-var-euro: "\f153"; 232 | @fa-var-exchange: "\f0ec"; 233 | @fa-var-exclamation: "\f12a"; 234 | @fa-var-exclamation-circle: "\f06a"; 235 | @fa-var-exclamation-triangle: "\f071"; 236 | @fa-var-expand: "\f065"; 237 | @fa-var-expeditedssl: "\f23e"; 238 | @fa-var-external-link: "\f08e"; 239 | @fa-var-external-link-square: "\f14c"; 240 | @fa-var-eye: "\f06e"; 241 | @fa-var-eye-slash: "\f070"; 242 | @fa-var-eyedropper: "\f1fb"; 243 | @fa-var-fa: "\f2b4"; 244 | @fa-var-facebook: "\f09a"; 245 | @fa-var-facebook-f: "\f09a"; 246 | @fa-var-facebook-official: "\f230"; 247 | @fa-var-facebook-square: "\f082"; 248 | @fa-var-fast-backward: "\f049"; 249 | @fa-var-fast-forward: "\f050"; 250 | @fa-var-fax: "\f1ac"; 251 | @fa-var-feed: "\f09e"; 252 | @fa-var-female: "\f182"; 253 | @fa-var-fighter-jet: "\f0fb"; 254 | @fa-var-file: "\f15b"; 255 | @fa-var-file-archive-o: "\f1c6"; 256 | @fa-var-file-audio-o: "\f1c7"; 257 | @fa-var-file-code-o: "\f1c9"; 258 | @fa-var-file-excel-o: "\f1c3"; 259 | @fa-var-file-image-o: "\f1c5"; 260 | @fa-var-file-movie-o: "\f1c8"; 261 | @fa-var-file-o: "\f016"; 262 | @fa-var-file-pdf-o: "\f1c1"; 263 | @fa-var-file-photo-o: "\f1c5"; 264 | @fa-var-file-picture-o: "\f1c5"; 265 | @fa-var-file-powerpoint-o: "\f1c4"; 266 | @fa-var-file-sound-o: "\f1c7"; 267 | @fa-var-file-text: "\f15c"; 268 | @fa-var-file-text-o: "\f0f6"; 269 | @fa-var-file-video-o: "\f1c8"; 270 | @fa-var-file-word-o: "\f1c2"; 271 | @fa-var-file-zip-o: "\f1c6"; 272 | @fa-var-files-o: "\f0c5"; 273 | @fa-var-film: "\f008"; 274 | @fa-var-filter: "\f0b0"; 275 | @fa-var-fire: "\f06d"; 276 | @fa-var-fire-extinguisher: "\f134"; 277 | @fa-var-firefox: "\f269"; 278 | @fa-var-first-order: "\f2b0"; 279 | @fa-var-flag: "\f024"; 280 | @fa-var-flag-checkered: "\f11e"; 281 | @fa-var-flag-o: "\f11d"; 282 | @fa-var-flash: "\f0e7"; 283 | @fa-var-flask: "\f0c3"; 284 | @fa-var-flickr: "\f16e"; 285 | @fa-var-floppy-o: "\f0c7"; 286 | @fa-var-folder: "\f07b"; 287 | @fa-var-folder-o: "\f114"; 288 | @fa-var-folder-open: "\f07c"; 289 | @fa-var-folder-open-o: "\f115"; 290 | @fa-var-font: "\f031"; 291 | @fa-var-font-awesome: "\f2b4"; 292 | @fa-var-fonticons: "\f280"; 293 | @fa-var-fort-awesome: "\f286"; 294 | @fa-var-forumbee: "\f211"; 295 | @fa-var-forward: "\f04e"; 296 | @fa-var-foursquare: "\f180"; 297 | @fa-var-frown-o: "\f119"; 298 | @fa-var-futbol-o: "\f1e3"; 299 | @fa-var-gamepad: "\f11b"; 300 | @fa-var-gavel: "\f0e3"; 301 | @fa-var-gbp: "\f154"; 302 | @fa-var-ge: "\f1d1"; 303 | @fa-var-gear: "\f013"; 304 | @fa-var-gears: "\f085"; 305 | @fa-var-genderless: "\f22d"; 306 | @fa-var-get-pocket: "\f265"; 307 | @fa-var-gg: "\f260"; 308 | @fa-var-gg-circle: "\f261"; 309 | @fa-var-gift: "\f06b"; 310 | @fa-var-git: "\f1d3"; 311 | @fa-var-git-square: "\f1d2"; 312 | @fa-var-github: "\f09b"; 313 | @fa-var-github-alt: "\f113"; 314 | @fa-var-github-square: "\f092"; 315 | @fa-var-gitlab: "\f296"; 316 | @fa-var-gittip: "\f184"; 317 | @fa-var-glass: "\f000"; 318 | @fa-var-glide: "\f2a5"; 319 | @fa-var-glide-g: "\f2a6"; 320 | @fa-var-globe: "\f0ac"; 321 | @fa-var-google: "\f1a0"; 322 | @fa-var-google-plus: "\f0d5"; 323 | @fa-var-google-plus-circle: "\f2b3"; 324 | @fa-var-google-plus-official: "\f2b3"; 325 | @fa-var-google-plus-square: "\f0d4"; 326 | @fa-var-google-wallet: "\f1ee"; 327 | @fa-var-graduation-cap: "\f19d"; 328 | @fa-var-gratipay: "\f184"; 329 | @fa-var-group: "\f0c0"; 330 | @fa-var-h-square: "\f0fd"; 331 | @fa-var-hacker-news: "\f1d4"; 332 | @fa-var-hand-grab-o: "\f255"; 333 | @fa-var-hand-lizard-o: "\f258"; 334 | @fa-var-hand-o-down: "\f0a7"; 335 | @fa-var-hand-o-left: "\f0a5"; 336 | @fa-var-hand-o-right: "\f0a4"; 337 | @fa-var-hand-o-up: "\f0a6"; 338 | @fa-var-hand-paper-o: "\f256"; 339 | @fa-var-hand-peace-o: "\f25b"; 340 | @fa-var-hand-pointer-o: "\f25a"; 341 | @fa-var-hand-rock-o: "\f255"; 342 | @fa-var-hand-scissors-o: "\f257"; 343 | @fa-var-hand-spock-o: "\f259"; 344 | @fa-var-hand-stop-o: "\f256"; 345 | @fa-var-hard-of-hearing: "\f2a4"; 346 | @fa-var-hashtag: "\f292"; 347 | @fa-var-hdd-o: "\f0a0"; 348 | @fa-var-header: "\f1dc"; 349 | @fa-var-headphones: "\f025"; 350 | @fa-var-heart: "\f004"; 351 | @fa-var-heart-o: "\f08a"; 352 | @fa-var-heartbeat: "\f21e"; 353 | @fa-var-history: "\f1da"; 354 | @fa-var-home: "\f015"; 355 | @fa-var-hospital-o: "\f0f8"; 356 | @fa-var-hotel: "\f236"; 357 | @fa-var-hourglass: "\f254"; 358 | @fa-var-hourglass-1: "\f251"; 359 | @fa-var-hourglass-2: "\f252"; 360 | @fa-var-hourglass-3: "\f253"; 361 | @fa-var-hourglass-end: "\f253"; 362 | @fa-var-hourglass-half: "\f252"; 363 | @fa-var-hourglass-o: "\f250"; 364 | @fa-var-hourglass-start: "\f251"; 365 | @fa-var-houzz: "\f27c"; 366 | @fa-var-html5: "\f13b"; 367 | @fa-var-i-cursor: "\f246"; 368 | @fa-var-ils: "\f20b"; 369 | @fa-var-image: "\f03e"; 370 | @fa-var-inbox: "\f01c"; 371 | @fa-var-indent: "\f03c"; 372 | @fa-var-industry: "\f275"; 373 | @fa-var-info: "\f129"; 374 | @fa-var-info-circle: "\f05a"; 375 | @fa-var-inr: "\f156"; 376 | @fa-var-instagram: "\f16d"; 377 | @fa-var-institution: "\f19c"; 378 | @fa-var-internet-explorer: "\f26b"; 379 | @fa-var-intersex: "\f224"; 380 | @fa-var-ioxhost: "\f208"; 381 | @fa-var-italic: "\f033"; 382 | @fa-var-joomla: "\f1aa"; 383 | @fa-var-jpy: "\f157"; 384 | @fa-var-jsfiddle: "\f1cc"; 385 | @fa-var-key: "\f084"; 386 | @fa-var-keyboard-o: "\f11c"; 387 | @fa-var-krw: "\f159"; 388 | @fa-var-language: "\f1ab"; 389 | @fa-var-laptop: "\f109"; 390 | @fa-var-lastfm: "\f202"; 391 | @fa-var-lastfm-square: "\f203"; 392 | @fa-var-leaf: "\f06c"; 393 | @fa-var-leanpub: "\f212"; 394 | @fa-var-legal: "\f0e3"; 395 | @fa-var-lemon-o: "\f094"; 396 | @fa-var-level-down: "\f149"; 397 | @fa-var-level-up: "\f148"; 398 | @fa-var-life-bouy: "\f1cd"; 399 | @fa-var-life-buoy: "\f1cd"; 400 | @fa-var-life-ring: "\f1cd"; 401 | @fa-var-life-saver: "\f1cd"; 402 | @fa-var-lightbulb-o: "\f0eb"; 403 | @fa-var-line-chart: "\f201"; 404 | @fa-var-link: "\f0c1"; 405 | @fa-var-linkedin: "\f0e1"; 406 | @fa-var-linkedin-square: "\f08c"; 407 | @fa-var-linux: "\f17c"; 408 | @fa-var-list: "\f03a"; 409 | @fa-var-list-alt: "\f022"; 410 | @fa-var-list-ol: "\f0cb"; 411 | @fa-var-list-ul: "\f0ca"; 412 | @fa-var-location-arrow: "\f124"; 413 | @fa-var-lock: "\f023"; 414 | @fa-var-long-arrow-down: "\f175"; 415 | @fa-var-long-arrow-left: "\f177"; 416 | @fa-var-long-arrow-right: "\f178"; 417 | @fa-var-long-arrow-up: "\f176"; 418 | @fa-var-low-vision: "\f2a8"; 419 | @fa-var-magic: "\f0d0"; 420 | @fa-var-magnet: "\f076"; 421 | @fa-var-mail-forward: "\f064"; 422 | @fa-var-mail-reply: "\f112"; 423 | @fa-var-mail-reply-all: "\f122"; 424 | @fa-var-male: "\f183"; 425 | @fa-var-map: "\f279"; 426 | @fa-var-map-marker: "\f041"; 427 | @fa-var-map-o: "\f278"; 428 | @fa-var-map-pin: "\f276"; 429 | @fa-var-map-signs: "\f277"; 430 | @fa-var-mars: "\f222"; 431 | @fa-var-mars-double: "\f227"; 432 | @fa-var-mars-stroke: "\f229"; 433 | @fa-var-mars-stroke-h: "\f22b"; 434 | @fa-var-mars-stroke-v: "\f22a"; 435 | @fa-var-maxcdn: "\f136"; 436 | @fa-var-meanpath: "\f20c"; 437 | @fa-var-medium: "\f23a"; 438 | @fa-var-medkit: "\f0fa"; 439 | @fa-var-meh-o: "\f11a"; 440 | @fa-var-mercury: "\f223"; 441 | @fa-var-microphone: "\f130"; 442 | @fa-var-microphone-slash: "\f131"; 443 | @fa-var-minus: "\f068"; 444 | @fa-var-minus-circle: "\f056"; 445 | @fa-var-minus-square: "\f146"; 446 | @fa-var-minus-square-o: "\f147"; 447 | @fa-var-mixcloud: "\f289"; 448 | @fa-var-mobile: "\f10b"; 449 | @fa-var-mobile-phone: "\f10b"; 450 | @fa-var-modx: "\f285"; 451 | @fa-var-money: "\f0d6"; 452 | @fa-var-moon-o: "\f186"; 453 | @fa-var-mortar-board: "\f19d"; 454 | @fa-var-motorcycle: "\f21c"; 455 | @fa-var-mouse-pointer: "\f245"; 456 | @fa-var-music: "\f001"; 457 | @fa-var-navicon: "\f0c9"; 458 | @fa-var-neuter: "\f22c"; 459 | @fa-var-newspaper-o: "\f1ea"; 460 | @fa-var-object-group: "\f247"; 461 | @fa-var-object-ungroup: "\f248"; 462 | @fa-var-odnoklassniki: "\f263"; 463 | @fa-var-odnoklassniki-square: "\f264"; 464 | @fa-var-opencart: "\f23d"; 465 | @fa-var-openid: "\f19b"; 466 | @fa-var-opera: "\f26a"; 467 | @fa-var-optin-monster: "\f23c"; 468 | @fa-var-outdent: "\f03b"; 469 | @fa-var-pagelines: "\f18c"; 470 | @fa-var-paint-brush: "\f1fc"; 471 | @fa-var-paper-plane: "\f1d8"; 472 | @fa-var-paper-plane-o: "\f1d9"; 473 | @fa-var-paperclip: "\f0c6"; 474 | @fa-var-paragraph: "\f1dd"; 475 | @fa-var-paste: "\f0ea"; 476 | @fa-var-pause: "\f04c"; 477 | @fa-var-pause-circle: "\f28b"; 478 | @fa-var-pause-circle-o: "\f28c"; 479 | @fa-var-paw: "\f1b0"; 480 | @fa-var-paypal: "\f1ed"; 481 | @fa-var-pencil: "\f040"; 482 | @fa-var-pencil-square: "\f14b"; 483 | @fa-var-pencil-square-o: "\f044"; 484 | @fa-var-percent: "\f295"; 485 | @fa-var-phone: "\f095"; 486 | @fa-var-phone-square: "\f098"; 487 | @fa-var-photo: "\f03e"; 488 | @fa-var-picture-o: "\f03e"; 489 | @fa-var-pie-chart: "\f200"; 490 | @fa-var-pied-piper: "\f2ae"; 491 | @fa-var-pied-piper-alt: "\f1a8"; 492 | @fa-var-pied-piper-pp: "\f1a7"; 493 | @fa-var-pinterest: "\f0d2"; 494 | @fa-var-pinterest-p: "\f231"; 495 | @fa-var-pinterest-square: "\f0d3"; 496 | @fa-var-plane: "\f072"; 497 | @fa-var-play: "\f04b"; 498 | @fa-var-play-circle: "\f144"; 499 | @fa-var-play-circle-o: "\f01d"; 500 | @fa-var-plug: "\f1e6"; 501 | @fa-var-plus: "\f067"; 502 | @fa-var-plus-circle: "\f055"; 503 | @fa-var-plus-square: "\f0fe"; 504 | @fa-var-plus-square-o: "\f196"; 505 | @fa-var-power-off: "\f011"; 506 | @fa-var-print: "\f02f"; 507 | @fa-var-product-hunt: "\f288"; 508 | @fa-var-puzzle-piece: "\f12e"; 509 | @fa-var-qq: "\f1d6"; 510 | @fa-var-qrcode: "\f029"; 511 | @fa-var-question: "\f128"; 512 | @fa-var-question-circle: "\f059"; 513 | @fa-var-question-circle-o: "\f29c"; 514 | @fa-var-quote-left: "\f10d"; 515 | @fa-var-quote-right: "\f10e"; 516 | @fa-var-ra: "\f1d0"; 517 | @fa-var-random: "\f074"; 518 | @fa-var-rebel: "\f1d0"; 519 | @fa-var-recycle: "\f1b8"; 520 | @fa-var-reddit: "\f1a1"; 521 | @fa-var-reddit-alien: "\f281"; 522 | @fa-var-reddit-square: "\f1a2"; 523 | @fa-var-refresh: "\f021"; 524 | @fa-var-registered: "\f25d"; 525 | @fa-var-remove: "\f00d"; 526 | @fa-var-renren: "\f18b"; 527 | @fa-var-reorder: "\f0c9"; 528 | @fa-var-repeat: "\f01e"; 529 | @fa-var-reply: "\f112"; 530 | @fa-var-reply-all: "\f122"; 531 | @fa-var-resistance: "\f1d0"; 532 | @fa-var-retweet: "\f079"; 533 | @fa-var-rmb: "\f157"; 534 | @fa-var-road: "\f018"; 535 | @fa-var-rocket: "\f135"; 536 | @fa-var-rotate-left: "\f0e2"; 537 | @fa-var-rotate-right: "\f01e"; 538 | @fa-var-rouble: "\f158"; 539 | @fa-var-rss: "\f09e"; 540 | @fa-var-rss-square: "\f143"; 541 | @fa-var-rub: "\f158"; 542 | @fa-var-ruble: "\f158"; 543 | @fa-var-rupee: "\f156"; 544 | @fa-var-safari: "\f267"; 545 | @fa-var-save: "\f0c7"; 546 | @fa-var-scissors: "\f0c4"; 547 | @fa-var-scribd: "\f28a"; 548 | @fa-var-search: "\f002"; 549 | @fa-var-search-minus: "\f010"; 550 | @fa-var-search-plus: "\f00e"; 551 | @fa-var-sellsy: "\f213"; 552 | @fa-var-send: "\f1d8"; 553 | @fa-var-send-o: "\f1d9"; 554 | @fa-var-server: "\f233"; 555 | @fa-var-share: "\f064"; 556 | @fa-var-share-alt: "\f1e0"; 557 | @fa-var-share-alt-square: "\f1e1"; 558 | @fa-var-share-square: "\f14d"; 559 | @fa-var-share-square-o: "\f045"; 560 | @fa-var-shekel: "\f20b"; 561 | @fa-var-sheqel: "\f20b"; 562 | @fa-var-shield: "\f132"; 563 | @fa-var-ship: "\f21a"; 564 | @fa-var-shirtsinbulk: "\f214"; 565 | @fa-var-shopping-bag: "\f290"; 566 | @fa-var-shopping-basket: "\f291"; 567 | @fa-var-shopping-cart: "\f07a"; 568 | @fa-var-sign-in: "\f090"; 569 | @fa-var-sign-language: "\f2a7"; 570 | @fa-var-sign-out: "\f08b"; 571 | @fa-var-signal: "\f012"; 572 | @fa-var-signing: "\f2a7"; 573 | @fa-var-simplybuilt: "\f215"; 574 | @fa-var-sitemap: "\f0e8"; 575 | @fa-var-skyatlas: "\f216"; 576 | @fa-var-skype: "\f17e"; 577 | @fa-var-slack: "\f198"; 578 | @fa-var-sliders: "\f1de"; 579 | @fa-var-slideshare: "\f1e7"; 580 | @fa-var-smile-o: "\f118"; 581 | @fa-var-snapchat: "\f2ab"; 582 | @fa-var-snapchat-ghost: "\f2ac"; 583 | @fa-var-snapchat-square: "\f2ad"; 584 | @fa-var-soccer-ball-o: "\f1e3"; 585 | @fa-var-sort: "\f0dc"; 586 | @fa-var-sort-alpha-asc: "\f15d"; 587 | @fa-var-sort-alpha-desc: "\f15e"; 588 | @fa-var-sort-amount-asc: "\f160"; 589 | @fa-var-sort-amount-desc: "\f161"; 590 | @fa-var-sort-asc: "\f0de"; 591 | @fa-var-sort-desc: "\f0dd"; 592 | @fa-var-sort-down: "\f0dd"; 593 | @fa-var-sort-numeric-asc: "\f162"; 594 | @fa-var-sort-numeric-desc: "\f163"; 595 | @fa-var-sort-up: "\f0de"; 596 | @fa-var-soundcloud: "\f1be"; 597 | @fa-var-space-shuttle: "\f197"; 598 | @fa-var-spinner: "\f110"; 599 | @fa-var-spoon: "\f1b1"; 600 | @fa-var-spotify: "\f1bc"; 601 | @fa-var-square: "\f0c8"; 602 | @fa-var-square-o: "\f096"; 603 | @fa-var-stack-exchange: "\f18d"; 604 | @fa-var-stack-overflow: "\f16c"; 605 | @fa-var-star: "\f005"; 606 | @fa-var-star-half: "\f089"; 607 | @fa-var-star-half-empty: "\f123"; 608 | @fa-var-star-half-full: "\f123"; 609 | @fa-var-star-half-o: "\f123"; 610 | @fa-var-star-o: "\f006"; 611 | @fa-var-steam: "\f1b6"; 612 | @fa-var-steam-square: "\f1b7"; 613 | @fa-var-step-backward: "\f048"; 614 | @fa-var-step-forward: "\f051"; 615 | @fa-var-stethoscope: "\f0f1"; 616 | @fa-var-sticky-note: "\f249"; 617 | @fa-var-sticky-note-o: "\f24a"; 618 | @fa-var-stop: "\f04d"; 619 | @fa-var-stop-circle: "\f28d"; 620 | @fa-var-stop-circle-o: "\f28e"; 621 | @fa-var-street-view: "\f21d"; 622 | @fa-var-strikethrough: "\f0cc"; 623 | @fa-var-stumbleupon: "\f1a4"; 624 | @fa-var-stumbleupon-circle: "\f1a3"; 625 | @fa-var-subscript: "\f12c"; 626 | @fa-var-subway: "\f239"; 627 | @fa-var-suitcase: "\f0f2"; 628 | @fa-var-sun-o: "\f185"; 629 | @fa-var-superscript: "\f12b"; 630 | @fa-var-support: "\f1cd"; 631 | @fa-var-table: "\f0ce"; 632 | @fa-var-tablet: "\f10a"; 633 | @fa-var-tachometer: "\f0e4"; 634 | @fa-var-tag: "\f02b"; 635 | @fa-var-tags: "\f02c"; 636 | @fa-var-tasks: "\f0ae"; 637 | @fa-var-taxi: "\f1ba"; 638 | @fa-var-television: "\f26c"; 639 | @fa-var-tencent-weibo: "\f1d5"; 640 | @fa-var-terminal: "\f120"; 641 | @fa-var-text-height: "\f034"; 642 | @fa-var-text-width: "\f035"; 643 | @fa-var-th: "\f00a"; 644 | @fa-var-th-large: "\f009"; 645 | @fa-var-th-list: "\f00b"; 646 | @fa-var-themeisle: "\f2b2"; 647 | @fa-var-thumb-tack: "\f08d"; 648 | @fa-var-thumbs-down: "\f165"; 649 | @fa-var-thumbs-o-down: "\f088"; 650 | @fa-var-thumbs-o-up: "\f087"; 651 | @fa-var-thumbs-up: "\f164"; 652 | @fa-var-ticket: "\f145"; 653 | @fa-var-times: "\f00d"; 654 | @fa-var-times-circle: "\f057"; 655 | @fa-var-times-circle-o: "\f05c"; 656 | @fa-var-tint: "\f043"; 657 | @fa-var-toggle-down: "\f150"; 658 | @fa-var-toggle-left: "\f191"; 659 | @fa-var-toggle-off: "\f204"; 660 | @fa-var-toggle-on: "\f205"; 661 | @fa-var-toggle-right: "\f152"; 662 | @fa-var-toggle-up: "\f151"; 663 | @fa-var-trademark: "\f25c"; 664 | @fa-var-train: "\f238"; 665 | @fa-var-transgender: "\f224"; 666 | @fa-var-transgender-alt: "\f225"; 667 | @fa-var-trash: "\f1f8"; 668 | @fa-var-trash-o: "\f014"; 669 | @fa-var-tree: "\f1bb"; 670 | @fa-var-trello: "\f181"; 671 | @fa-var-tripadvisor: "\f262"; 672 | @fa-var-trophy: "\f091"; 673 | @fa-var-truck: "\f0d1"; 674 | @fa-var-try: "\f195"; 675 | @fa-var-tty: "\f1e4"; 676 | @fa-var-tumblr: "\f173"; 677 | @fa-var-tumblr-square: "\f174"; 678 | @fa-var-turkish-lira: "\f195"; 679 | @fa-var-tv: "\f26c"; 680 | @fa-var-twitch: "\f1e8"; 681 | @fa-var-twitter: "\f099"; 682 | @fa-var-twitter-square: "\f081"; 683 | @fa-var-umbrella: "\f0e9"; 684 | @fa-var-underline: "\f0cd"; 685 | @fa-var-undo: "\f0e2"; 686 | @fa-var-universal-access: "\f29a"; 687 | @fa-var-university: "\f19c"; 688 | @fa-var-unlink: "\f127"; 689 | @fa-var-unlock: "\f09c"; 690 | @fa-var-unlock-alt: "\f13e"; 691 | @fa-var-unsorted: "\f0dc"; 692 | @fa-var-upload: "\f093"; 693 | @fa-var-usb: "\f287"; 694 | @fa-var-usd: "\f155"; 695 | @fa-var-user: "\f007"; 696 | @fa-var-user-md: "\f0f0"; 697 | @fa-var-user-plus: "\f234"; 698 | @fa-var-user-secret: "\f21b"; 699 | @fa-var-user-times: "\f235"; 700 | @fa-var-users: "\f0c0"; 701 | @fa-var-venus: "\f221"; 702 | @fa-var-venus-double: "\f226"; 703 | @fa-var-venus-mars: "\f228"; 704 | @fa-var-viacoin: "\f237"; 705 | @fa-var-viadeo: "\f2a9"; 706 | @fa-var-viadeo-square: "\f2aa"; 707 | @fa-var-video-camera: "\f03d"; 708 | @fa-var-vimeo: "\f27d"; 709 | @fa-var-vimeo-square: "\f194"; 710 | @fa-var-vine: "\f1ca"; 711 | @fa-var-vk: "\f189"; 712 | @fa-var-volume-control-phone: "\f2a0"; 713 | @fa-var-volume-down: "\f027"; 714 | @fa-var-volume-off: "\f026"; 715 | @fa-var-volume-up: "\f028"; 716 | @fa-var-warning: "\f071"; 717 | @fa-var-wechat: "\f1d7"; 718 | @fa-var-weibo: "\f18a"; 719 | @fa-var-weixin: "\f1d7"; 720 | @fa-var-whatsapp: "\f232"; 721 | @fa-var-wheelchair: "\f193"; 722 | @fa-var-wheelchair-alt: "\f29b"; 723 | @fa-var-wifi: "\f1eb"; 724 | @fa-var-wikipedia-w: "\f266"; 725 | @fa-var-windows: "\f17a"; 726 | @fa-var-won: "\f159"; 727 | @fa-var-wordpress: "\f19a"; 728 | @fa-var-wpbeginner: "\f297"; 729 | @fa-var-wpforms: "\f298"; 730 | @fa-var-wrench: "\f0ad"; 731 | @fa-var-xing: "\f168"; 732 | @fa-var-xing-square: "\f169"; 733 | @fa-var-y-combinator: "\f23b"; 734 | @fa-var-y-combinator-square: "\f1d4"; 735 | @fa-var-yahoo: "\f19e"; 736 | @fa-var-yc: "\f23b"; 737 | @fa-var-yc-square: "\f1d4"; 738 | @fa-var-yelp: "\f1e9"; 739 | @fa-var-yen: "\f157"; 740 | @fa-var-yoast: "\f2b1"; 741 | @fa-var-youtube: "\f167"; 742 | @fa-var-youtube-play: "\f16a"; 743 | @fa-var-youtube-square: "\f166"; 744 | 745 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .#{$fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | 14 | @mixin fa-icon-rotate($degrees, $rotation) { 15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; 16 | -webkit-transform: rotate($degrees); 17 | -ms-transform: rotate($degrees); 18 | transform: rotate($degrees); 19 | } 20 | 21 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; 23 | -webkit-transform: scale($horiz, $vert); 24 | -ms-transform: scale($horiz, $vert); 25 | transform: scale($horiz, $vert); 26 | } 27 | 28 | 29 | // Only display content to screen readers. A la Bootstrap 4. 30 | // 31 | // See: http://a11yproject.com/posts/how-to-hide-content/ 32 | 33 | @mixin sr-only { 34 | position: absolute; 35 | width: 1px; 36 | height: 1px; 37 | padding: 0; 38 | margin: -1px; 39 | overflow: hidden; 40 | clip: rect(0,0,0,0); 41 | border: 0; 42 | } 43 | 44 | // Use in conjunction with .sr-only to only display content when it's focused. 45 | // 46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 47 | // 48 | // Credit: HTML5 Boilerplate 49 | 50 | @mixin sr-only-focusable { 51 | &:active, 52 | &:focus { 53 | position: static; 54 | width: auto; 55 | height: auto; 56 | margin: 0; 57 | overflow: visible; 58 | clip: auto; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only(); } 5 | .sr-only-focusable { @include sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/scss/_variables.scss: -------------------------------------------------------------------------------- 1 | // Variables 2 | // -------------------------- 3 | 4 | $fa-font-path: "../fonts" !default; 5 | $fa-font-size-base: 14px !default; 6 | $fa-line-height-base: 1 !default; 7 | //$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.6.3/fonts" !default; // for referencing Bootstrap CDN font files directly 8 | $fa-css-prefix: fa !default; 9 | $fa-version: "4.6.3" !default; 10 | $fa-border-color: #eee !default; 11 | $fa-inverse: #fff !default; 12 | $fa-li-width: (30em / 14) !default; 13 | 14 | $fa-var-500px: "\f26e"; 15 | $fa-var-adjust: "\f042"; 16 | $fa-var-adn: "\f170"; 17 | $fa-var-align-center: "\f037"; 18 | $fa-var-align-justify: "\f039"; 19 | $fa-var-align-left: "\f036"; 20 | $fa-var-align-right: "\f038"; 21 | $fa-var-amazon: "\f270"; 22 | $fa-var-ambulance: "\f0f9"; 23 | $fa-var-american-sign-language-interpreting: "\f2a3"; 24 | $fa-var-anchor: "\f13d"; 25 | $fa-var-android: "\f17b"; 26 | $fa-var-angellist: "\f209"; 27 | $fa-var-angle-double-down: "\f103"; 28 | $fa-var-angle-double-left: "\f100"; 29 | $fa-var-angle-double-right: "\f101"; 30 | $fa-var-angle-double-up: "\f102"; 31 | $fa-var-angle-down: "\f107"; 32 | $fa-var-angle-left: "\f104"; 33 | $fa-var-angle-right: "\f105"; 34 | $fa-var-angle-up: "\f106"; 35 | $fa-var-apple: "\f179"; 36 | $fa-var-archive: "\f187"; 37 | $fa-var-area-chart: "\f1fe"; 38 | $fa-var-arrow-circle-down: "\f0ab"; 39 | $fa-var-arrow-circle-left: "\f0a8"; 40 | $fa-var-arrow-circle-o-down: "\f01a"; 41 | $fa-var-arrow-circle-o-left: "\f190"; 42 | $fa-var-arrow-circle-o-right: "\f18e"; 43 | $fa-var-arrow-circle-o-up: "\f01b"; 44 | $fa-var-arrow-circle-right: "\f0a9"; 45 | $fa-var-arrow-circle-up: "\f0aa"; 46 | $fa-var-arrow-down: "\f063"; 47 | $fa-var-arrow-left: "\f060"; 48 | $fa-var-arrow-right: "\f061"; 49 | $fa-var-arrow-up: "\f062"; 50 | $fa-var-arrows: "\f047"; 51 | $fa-var-arrows-alt: "\f0b2"; 52 | $fa-var-arrows-h: "\f07e"; 53 | $fa-var-arrows-v: "\f07d"; 54 | $fa-var-asl-interpreting: "\f2a3"; 55 | $fa-var-assistive-listening-systems: "\f2a2"; 56 | $fa-var-asterisk: "\f069"; 57 | $fa-var-at: "\f1fa"; 58 | $fa-var-audio-description: "\f29e"; 59 | $fa-var-automobile: "\f1b9"; 60 | $fa-var-backward: "\f04a"; 61 | $fa-var-balance-scale: "\f24e"; 62 | $fa-var-ban: "\f05e"; 63 | $fa-var-bank: "\f19c"; 64 | $fa-var-bar-chart: "\f080"; 65 | $fa-var-bar-chart-o: "\f080"; 66 | $fa-var-barcode: "\f02a"; 67 | $fa-var-bars: "\f0c9"; 68 | $fa-var-battery-0: "\f244"; 69 | $fa-var-battery-1: "\f243"; 70 | $fa-var-battery-2: "\f242"; 71 | $fa-var-battery-3: "\f241"; 72 | $fa-var-battery-4: "\f240"; 73 | $fa-var-battery-empty: "\f244"; 74 | $fa-var-battery-full: "\f240"; 75 | $fa-var-battery-half: "\f242"; 76 | $fa-var-battery-quarter: "\f243"; 77 | $fa-var-battery-three-quarters: "\f241"; 78 | $fa-var-bed: "\f236"; 79 | $fa-var-beer: "\f0fc"; 80 | $fa-var-behance: "\f1b4"; 81 | $fa-var-behance-square: "\f1b5"; 82 | $fa-var-bell: "\f0f3"; 83 | $fa-var-bell-o: "\f0a2"; 84 | $fa-var-bell-slash: "\f1f6"; 85 | $fa-var-bell-slash-o: "\f1f7"; 86 | $fa-var-bicycle: "\f206"; 87 | $fa-var-binoculars: "\f1e5"; 88 | $fa-var-birthday-cake: "\f1fd"; 89 | $fa-var-bitbucket: "\f171"; 90 | $fa-var-bitbucket-square: "\f172"; 91 | $fa-var-bitcoin: "\f15a"; 92 | $fa-var-black-tie: "\f27e"; 93 | $fa-var-blind: "\f29d"; 94 | $fa-var-bluetooth: "\f293"; 95 | $fa-var-bluetooth-b: "\f294"; 96 | $fa-var-bold: "\f032"; 97 | $fa-var-bolt: "\f0e7"; 98 | $fa-var-bomb: "\f1e2"; 99 | $fa-var-book: "\f02d"; 100 | $fa-var-bookmark: "\f02e"; 101 | $fa-var-bookmark-o: "\f097"; 102 | $fa-var-braille: "\f2a1"; 103 | $fa-var-briefcase: "\f0b1"; 104 | $fa-var-btc: "\f15a"; 105 | $fa-var-bug: "\f188"; 106 | $fa-var-building: "\f1ad"; 107 | $fa-var-building-o: "\f0f7"; 108 | $fa-var-bullhorn: "\f0a1"; 109 | $fa-var-bullseye: "\f140"; 110 | $fa-var-bus: "\f207"; 111 | $fa-var-buysellads: "\f20d"; 112 | $fa-var-cab: "\f1ba"; 113 | $fa-var-calculator: "\f1ec"; 114 | $fa-var-calendar: "\f073"; 115 | $fa-var-calendar-check-o: "\f274"; 116 | $fa-var-calendar-minus-o: "\f272"; 117 | $fa-var-calendar-o: "\f133"; 118 | $fa-var-calendar-plus-o: "\f271"; 119 | $fa-var-calendar-times-o: "\f273"; 120 | $fa-var-camera: "\f030"; 121 | $fa-var-camera-retro: "\f083"; 122 | $fa-var-car: "\f1b9"; 123 | $fa-var-caret-down: "\f0d7"; 124 | $fa-var-caret-left: "\f0d9"; 125 | $fa-var-caret-right: "\f0da"; 126 | $fa-var-caret-square-o-down: "\f150"; 127 | $fa-var-caret-square-o-left: "\f191"; 128 | $fa-var-caret-square-o-right: "\f152"; 129 | $fa-var-caret-square-o-up: "\f151"; 130 | $fa-var-caret-up: "\f0d8"; 131 | $fa-var-cart-arrow-down: "\f218"; 132 | $fa-var-cart-plus: "\f217"; 133 | $fa-var-cc: "\f20a"; 134 | $fa-var-cc-amex: "\f1f3"; 135 | $fa-var-cc-diners-club: "\f24c"; 136 | $fa-var-cc-discover: "\f1f2"; 137 | $fa-var-cc-jcb: "\f24b"; 138 | $fa-var-cc-mastercard: "\f1f1"; 139 | $fa-var-cc-paypal: "\f1f4"; 140 | $fa-var-cc-stripe: "\f1f5"; 141 | $fa-var-cc-visa: "\f1f0"; 142 | $fa-var-certificate: "\f0a3"; 143 | $fa-var-chain: "\f0c1"; 144 | $fa-var-chain-broken: "\f127"; 145 | $fa-var-check: "\f00c"; 146 | $fa-var-check-circle: "\f058"; 147 | $fa-var-check-circle-o: "\f05d"; 148 | $fa-var-check-square: "\f14a"; 149 | $fa-var-check-square-o: "\f046"; 150 | $fa-var-chevron-circle-down: "\f13a"; 151 | $fa-var-chevron-circle-left: "\f137"; 152 | $fa-var-chevron-circle-right: "\f138"; 153 | $fa-var-chevron-circle-up: "\f139"; 154 | $fa-var-chevron-down: "\f078"; 155 | $fa-var-chevron-left: "\f053"; 156 | $fa-var-chevron-right: "\f054"; 157 | $fa-var-chevron-up: "\f077"; 158 | $fa-var-child: "\f1ae"; 159 | $fa-var-chrome: "\f268"; 160 | $fa-var-circle: "\f111"; 161 | $fa-var-circle-o: "\f10c"; 162 | $fa-var-circle-o-notch: "\f1ce"; 163 | $fa-var-circle-thin: "\f1db"; 164 | $fa-var-clipboard: "\f0ea"; 165 | $fa-var-clock-o: "\f017"; 166 | $fa-var-clone: "\f24d"; 167 | $fa-var-close: "\f00d"; 168 | $fa-var-cloud: "\f0c2"; 169 | $fa-var-cloud-download: "\f0ed"; 170 | $fa-var-cloud-upload: "\f0ee"; 171 | $fa-var-cny: "\f157"; 172 | $fa-var-code: "\f121"; 173 | $fa-var-code-fork: "\f126"; 174 | $fa-var-codepen: "\f1cb"; 175 | $fa-var-codiepie: "\f284"; 176 | $fa-var-coffee: "\f0f4"; 177 | $fa-var-cog: "\f013"; 178 | $fa-var-cogs: "\f085"; 179 | $fa-var-columns: "\f0db"; 180 | $fa-var-comment: "\f075"; 181 | $fa-var-comment-o: "\f0e5"; 182 | $fa-var-commenting: "\f27a"; 183 | $fa-var-commenting-o: "\f27b"; 184 | $fa-var-comments: "\f086"; 185 | $fa-var-comments-o: "\f0e6"; 186 | $fa-var-compass: "\f14e"; 187 | $fa-var-compress: "\f066"; 188 | $fa-var-connectdevelop: "\f20e"; 189 | $fa-var-contao: "\f26d"; 190 | $fa-var-copy: "\f0c5"; 191 | $fa-var-copyright: "\f1f9"; 192 | $fa-var-creative-commons: "\f25e"; 193 | $fa-var-credit-card: "\f09d"; 194 | $fa-var-credit-card-alt: "\f283"; 195 | $fa-var-crop: "\f125"; 196 | $fa-var-crosshairs: "\f05b"; 197 | $fa-var-css3: "\f13c"; 198 | $fa-var-cube: "\f1b2"; 199 | $fa-var-cubes: "\f1b3"; 200 | $fa-var-cut: "\f0c4"; 201 | $fa-var-cutlery: "\f0f5"; 202 | $fa-var-dashboard: "\f0e4"; 203 | $fa-var-dashcube: "\f210"; 204 | $fa-var-database: "\f1c0"; 205 | $fa-var-deaf: "\f2a4"; 206 | $fa-var-deafness: "\f2a4"; 207 | $fa-var-dedent: "\f03b"; 208 | $fa-var-delicious: "\f1a5"; 209 | $fa-var-desktop: "\f108"; 210 | $fa-var-deviantart: "\f1bd"; 211 | $fa-var-diamond: "\f219"; 212 | $fa-var-digg: "\f1a6"; 213 | $fa-var-dollar: "\f155"; 214 | $fa-var-dot-circle-o: "\f192"; 215 | $fa-var-download: "\f019"; 216 | $fa-var-dribbble: "\f17d"; 217 | $fa-var-dropbox: "\f16b"; 218 | $fa-var-drupal: "\f1a9"; 219 | $fa-var-edge: "\f282"; 220 | $fa-var-edit: "\f044"; 221 | $fa-var-eject: "\f052"; 222 | $fa-var-ellipsis-h: "\f141"; 223 | $fa-var-ellipsis-v: "\f142"; 224 | $fa-var-empire: "\f1d1"; 225 | $fa-var-envelope: "\f0e0"; 226 | $fa-var-envelope-o: "\f003"; 227 | $fa-var-envelope-square: "\f199"; 228 | $fa-var-envira: "\f299"; 229 | $fa-var-eraser: "\f12d"; 230 | $fa-var-eur: "\f153"; 231 | $fa-var-euro: "\f153"; 232 | $fa-var-exchange: "\f0ec"; 233 | $fa-var-exclamation: "\f12a"; 234 | $fa-var-exclamation-circle: "\f06a"; 235 | $fa-var-exclamation-triangle: "\f071"; 236 | $fa-var-expand: "\f065"; 237 | $fa-var-expeditedssl: "\f23e"; 238 | $fa-var-external-link: "\f08e"; 239 | $fa-var-external-link-square: "\f14c"; 240 | $fa-var-eye: "\f06e"; 241 | $fa-var-eye-slash: "\f070"; 242 | $fa-var-eyedropper: "\f1fb"; 243 | $fa-var-fa: "\f2b4"; 244 | $fa-var-facebook: "\f09a"; 245 | $fa-var-facebook-f: "\f09a"; 246 | $fa-var-facebook-official: "\f230"; 247 | $fa-var-facebook-square: "\f082"; 248 | $fa-var-fast-backward: "\f049"; 249 | $fa-var-fast-forward: "\f050"; 250 | $fa-var-fax: "\f1ac"; 251 | $fa-var-feed: "\f09e"; 252 | $fa-var-female: "\f182"; 253 | $fa-var-fighter-jet: "\f0fb"; 254 | $fa-var-file: "\f15b"; 255 | $fa-var-file-archive-o: "\f1c6"; 256 | $fa-var-file-audio-o: "\f1c7"; 257 | $fa-var-file-code-o: "\f1c9"; 258 | $fa-var-file-excel-o: "\f1c3"; 259 | $fa-var-file-image-o: "\f1c5"; 260 | $fa-var-file-movie-o: "\f1c8"; 261 | $fa-var-file-o: "\f016"; 262 | $fa-var-file-pdf-o: "\f1c1"; 263 | $fa-var-file-photo-o: "\f1c5"; 264 | $fa-var-file-picture-o: "\f1c5"; 265 | $fa-var-file-powerpoint-o: "\f1c4"; 266 | $fa-var-file-sound-o: "\f1c7"; 267 | $fa-var-file-text: "\f15c"; 268 | $fa-var-file-text-o: "\f0f6"; 269 | $fa-var-file-video-o: "\f1c8"; 270 | $fa-var-file-word-o: "\f1c2"; 271 | $fa-var-file-zip-o: "\f1c6"; 272 | $fa-var-files-o: "\f0c5"; 273 | $fa-var-film: "\f008"; 274 | $fa-var-filter: "\f0b0"; 275 | $fa-var-fire: "\f06d"; 276 | $fa-var-fire-extinguisher: "\f134"; 277 | $fa-var-firefox: "\f269"; 278 | $fa-var-first-order: "\f2b0"; 279 | $fa-var-flag: "\f024"; 280 | $fa-var-flag-checkered: "\f11e"; 281 | $fa-var-flag-o: "\f11d"; 282 | $fa-var-flash: "\f0e7"; 283 | $fa-var-flask: "\f0c3"; 284 | $fa-var-flickr: "\f16e"; 285 | $fa-var-floppy-o: "\f0c7"; 286 | $fa-var-folder: "\f07b"; 287 | $fa-var-folder-o: "\f114"; 288 | $fa-var-folder-open: "\f07c"; 289 | $fa-var-folder-open-o: "\f115"; 290 | $fa-var-font: "\f031"; 291 | $fa-var-font-awesome: "\f2b4"; 292 | $fa-var-fonticons: "\f280"; 293 | $fa-var-fort-awesome: "\f286"; 294 | $fa-var-forumbee: "\f211"; 295 | $fa-var-forward: "\f04e"; 296 | $fa-var-foursquare: "\f180"; 297 | $fa-var-frown-o: "\f119"; 298 | $fa-var-futbol-o: "\f1e3"; 299 | $fa-var-gamepad: "\f11b"; 300 | $fa-var-gavel: "\f0e3"; 301 | $fa-var-gbp: "\f154"; 302 | $fa-var-ge: "\f1d1"; 303 | $fa-var-gear: "\f013"; 304 | $fa-var-gears: "\f085"; 305 | $fa-var-genderless: "\f22d"; 306 | $fa-var-get-pocket: "\f265"; 307 | $fa-var-gg: "\f260"; 308 | $fa-var-gg-circle: "\f261"; 309 | $fa-var-gift: "\f06b"; 310 | $fa-var-git: "\f1d3"; 311 | $fa-var-git-square: "\f1d2"; 312 | $fa-var-github: "\f09b"; 313 | $fa-var-github-alt: "\f113"; 314 | $fa-var-github-square: "\f092"; 315 | $fa-var-gitlab: "\f296"; 316 | $fa-var-gittip: "\f184"; 317 | $fa-var-glass: "\f000"; 318 | $fa-var-glide: "\f2a5"; 319 | $fa-var-glide-g: "\f2a6"; 320 | $fa-var-globe: "\f0ac"; 321 | $fa-var-google: "\f1a0"; 322 | $fa-var-google-plus: "\f0d5"; 323 | $fa-var-google-plus-circle: "\f2b3"; 324 | $fa-var-google-plus-official: "\f2b3"; 325 | $fa-var-google-plus-square: "\f0d4"; 326 | $fa-var-google-wallet: "\f1ee"; 327 | $fa-var-graduation-cap: "\f19d"; 328 | $fa-var-gratipay: "\f184"; 329 | $fa-var-group: "\f0c0"; 330 | $fa-var-h-square: "\f0fd"; 331 | $fa-var-hacker-news: "\f1d4"; 332 | $fa-var-hand-grab-o: "\f255"; 333 | $fa-var-hand-lizard-o: "\f258"; 334 | $fa-var-hand-o-down: "\f0a7"; 335 | $fa-var-hand-o-left: "\f0a5"; 336 | $fa-var-hand-o-right: "\f0a4"; 337 | $fa-var-hand-o-up: "\f0a6"; 338 | $fa-var-hand-paper-o: "\f256"; 339 | $fa-var-hand-peace-o: "\f25b"; 340 | $fa-var-hand-pointer-o: "\f25a"; 341 | $fa-var-hand-rock-o: "\f255"; 342 | $fa-var-hand-scissors-o: "\f257"; 343 | $fa-var-hand-spock-o: "\f259"; 344 | $fa-var-hand-stop-o: "\f256"; 345 | $fa-var-hard-of-hearing: "\f2a4"; 346 | $fa-var-hashtag: "\f292"; 347 | $fa-var-hdd-o: "\f0a0"; 348 | $fa-var-header: "\f1dc"; 349 | $fa-var-headphones: "\f025"; 350 | $fa-var-heart: "\f004"; 351 | $fa-var-heart-o: "\f08a"; 352 | $fa-var-heartbeat: "\f21e"; 353 | $fa-var-history: "\f1da"; 354 | $fa-var-home: "\f015"; 355 | $fa-var-hospital-o: "\f0f8"; 356 | $fa-var-hotel: "\f236"; 357 | $fa-var-hourglass: "\f254"; 358 | $fa-var-hourglass-1: "\f251"; 359 | $fa-var-hourglass-2: "\f252"; 360 | $fa-var-hourglass-3: "\f253"; 361 | $fa-var-hourglass-end: "\f253"; 362 | $fa-var-hourglass-half: "\f252"; 363 | $fa-var-hourglass-o: "\f250"; 364 | $fa-var-hourglass-start: "\f251"; 365 | $fa-var-houzz: "\f27c"; 366 | $fa-var-html5: "\f13b"; 367 | $fa-var-i-cursor: "\f246"; 368 | $fa-var-ils: "\f20b"; 369 | $fa-var-image: "\f03e"; 370 | $fa-var-inbox: "\f01c"; 371 | $fa-var-indent: "\f03c"; 372 | $fa-var-industry: "\f275"; 373 | $fa-var-info: "\f129"; 374 | $fa-var-info-circle: "\f05a"; 375 | $fa-var-inr: "\f156"; 376 | $fa-var-instagram: "\f16d"; 377 | $fa-var-institution: "\f19c"; 378 | $fa-var-internet-explorer: "\f26b"; 379 | $fa-var-intersex: "\f224"; 380 | $fa-var-ioxhost: "\f208"; 381 | $fa-var-italic: "\f033"; 382 | $fa-var-joomla: "\f1aa"; 383 | $fa-var-jpy: "\f157"; 384 | $fa-var-jsfiddle: "\f1cc"; 385 | $fa-var-key: "\f084"; 386 | $fa-var-keyboard-o: "\f11c"; 387 | $fa-var-krw: "\f159"; 388 | $fa-var-language: "\f1ab"; 389 | $fa-var-laptop: "\f109"; 390 | $fa-var-lastfm: "\f202"; 391 | $fa-var-lastfm-square: "\f203"; 392 | $fa-var-leaf: "\f06c"; 393 | $fa-var-leanpub: "\f212"; 394 | $fa-var-legal: "\f0e3"; 395 | $fa-var-lemon-o: "\f094"; 396 | $fa-var-level-down: "\f149"; 397 | $fa-var-level-up: "\f148"; 398 | $fa-var-life-bouy: "\f1cd"; 399 | $fa-var-life-buoy: "\f1cd"; 400 | $fa-var-life-ring: "\f1cd"; 401 | $fa-var-life-saver: "\f1cd"; 402 | $fa-var-lightbulb-o: "\f0eb"; 403 | $fa-var-line-chart: "\f201"; 404 | $fa-var-link: "\f0c1"; 405 | $fa-var-linkedin: "\f0e1"; 406 | $fa-var-linkedin-square: "\f08c"; 407 | $fa-var-linux: "\f17c"; 408 | $fa-var-list: "\f03a"; 409 | $fa-var-list-alt: "\f022"; 410 | $fa-var-list-ol: "\f0cb"; 411 | $fa-var-list-ul: "\f0ca"; 412 | $fa-var-location-arrow: "\f124"; 413 | $fa-var-lock: "\f023"; 414 | $fa-var-long-arrow-down: "\f175"; 415 | $fa-var-long-arrow-left: "\f177"; 416 | $fa-var-long-arrow-right: "\f178"; 417 | $fa-var-long-arrow-up: "\f176"; 418 | $fa-var-low-vision: "\f2a8"; 419 | $fa-var-magic: "\f0d0"; 420 | $fa-var-magnet: "\f076"; 421 | $fa-var-mail-forward: "\f064"; 422 | $fa-var-mail-reply: "\f112"; 423 | $fa-var-mail-reply-all: "\f122"; 424 | $fa-var-male: "\f183"; 425 | $fa-var-map: "\f279"; 426 | $fa-var-map-marker: "\f041"; 427 | $fa-var-map-o: "\f278"; 428 | $fa-var-map-pin: "\f276"; 429 | $fa-var-map-signs: "\f277"; 430 | $fa-var-mars: "\f222"; 431 | $fa-var-mars-double: "\f227"; 432 | $fa-var-mars-stroke: "\f229"; 433 | $fa-var-mars-stroke-h: "\f22b"; 434 | $fa-var-mars-stroke-v: "\f22a"; 435 | $fa-var-maxcdn: "\f136"; 436 | $fa-var-meanpath: "\f20c"; 437 | $fa-var-medium: "\f23a"; 438 | $fa-var-medkit: "\f0fa"; 439 | $fa-var-meh-o: "\f11a"; 440 | $fa-var-mercury: "\f223"; 441 | $fa-var-microphone: "\f130"; 442 | $fa-var-microphone-slash: "\f131"; 443 | $fa-var-minus: "\f068"; 444 | $fa-var-minus-circle: "\f056"; 445 | $fa-var-minus-square: "\f146"; 446 | $fa-var-minus-square-o: "\f147"; 447 | $fa-var-mixcloud: "\f289"; 448 | $fa-var-mobile: "\f10b"; 449 | $fa-var-mobile-phone: "\f10b"; 450 | $fa-var-modx: "\f285"; 451 | $fa-var-money: "\f0d6"; 452 | $fa-var-moon-o: "\f186"; 453 | $fa-var-mortar-board: "\f19d"; 454 | $fa-var-motorcycle: "\f21c"; 455 | $fa-var-mouse-pointer: "\f245"; 456 | $fa-var-music: "\f001"; 457 | $fa-var-navicon: "\f0c9"; 458 | $fa-var-neuter: "\f22c"; 459 | $fa-var-newspaper-o: "\f1ea"; 460 | $fa-var-object-group: "\f247"; 461 | $fa-var-object-ungroup: "\f248"; 462 | $fa-var-odnoklassniki: "\f263"; 463 | $fa-var-odnoklassniki-square: "\f264"; 464 | $fa-var-opencart: "\f23d"; 465 | $fa-var-openid: "\f19b"; 466 | $fa-var-opera: "\f26a"; 467 | $fa-var-optin-monster: "\f23c"; 468 | $fa-var-outdent: "\f03b"; 469 | $fa-var-pagelines: "\f18c"; 470 | $fa-var-paint-brush: "\f1fc"; 471 | $fa-var-paper-plane: "\f1d8"; 472 | $fa-var-paper-plane-o: "\f1d9"; 473 | $fa-var-paperclip: "\f0c6"; 474 | $fa-var-paragraph: "\f1dd"; 475 | $fa-var-paste: "\f0ea"; 476 | $fa-var-pause: "\f04c"; 477 | $fa-var-pause-circle: "\f28b"; 478 | $fa-var-pause-circle-o: "\f28c"; 479 | $fa-var-paw: "\f1b0"; 480 | $fa-var-paypal: "\f1ed"; 481 | $fa-var-pencil: "\f040"; 482 | $fa-var-pencil-square: "\f14b"; 483 | $fa-var-pencil-square-o: "\f044"; 484 | $fa-var-percent: "\f295"; 485 | $fa-var-phone: "\f095"; 486 | $fa-var-phone-square: "\f098"; 487 | $fa-var-photo: "\f03e"; 488 | $fa-var-picture-o: "\f03e"; 489 | $fa-var-pie-chart: "\f200"; 490 | $fa-var-pied-piper: "\f2ae"; 491 | $fa-var-pied-piper-alt: "\f1a8"; 492 | $fa-var-pied-piper-pp: "\f1a7"; 493 | $fa-var-pinterest: "\f0d2"; 494 | $fa-var-pinterest-p: "\f231"; 495 | $fa-var-pinterest-square: "\f0d3"; 496 | $fa-var-plane: "\f072"; 497 | $fa-var-play: "\f04b"; 498 | $fa-var-play-circle: "\f144"; 499 | $fa-var-play-circle-o: "\f01d"; 500 | $fa-var-plug: "\f1e6"; 501 | $fa-var-plus: "\f067"; 502 | $fa-var-plus-circle: "\f055"; 503 | $fa-var-plus-square: "\f0fe"; 504 | $fa-var-plus-square-o: "\f196"; 505 | $fa-var-power-off: "\f011"; 506 | $fa-var-print: "\f02f"; 507 | $fa-var-product-hunt: "\f288"; 508 | $fa-var-puzzle-piece: "\f12e"; 509 | $fa-var-qq: "\f1d6"; 510 | $fa-var-qrcode: "\f029"; 511 | $fa-var-question: "\f128"; 512 | $fa-var-question-circle: "\f059"; 513 | $fa-var-question-circle-o: "\f29c"; 514 | $fa-var-quote-left: "\f10d"; 515 | $fa-var-quote-right: "\f10e"; 516 | $fa-var-ra: "\f1d0"; 517 | $fa-var-random: "\f074"; 518 | $fa-var-rebel: "\f1d0"; 519 | $fa-var-recycle: "\f1b8"; 520 | $fa-var-reddit: "\f1a1"; 521 | $fa-var-reddit-alien: "\f281"; 522 | $fa-var-reddit-square: "\f1a2"; 523 | $fa-var-refresh: "\f021"; 524 | $fa-var-registered: "\f25d"; 525 | $fa-var-remove: "\f00d"; 526 | $fa-var-renren: "\f18b"; 527 | $fa-var-reorder: "\f0c9"; 528 | $fa-var-repeat: "\f01e"; 529 | $fa-var-reply: "\f112"; 530 | $fa-var-reply-all: "\f122"; 531 | $fa-var-resistance: "\f1d0"; 532 | $fa-var-retweet: "\f079"; 533 | $fa-var-rmb: "\f157"; 534 | $fa-var-road: "\f018"; 535 | $fa-var-rocket: "\f135"; 536 | $fa-var-rotate-left: "\f0e2"; 537 | $fa-var-rotate-right: "\f01e"; 538 | $fa-var-rouble: "\f158"; 539 | $fa-var-rss: "\f09e"; 540 | $fa-var-rss-square: "\f143"; 541 | $fa-var-rub: "\f158"; 542 | $fa-var-ruble: "\f158"; 543 | $fa-var-rupee: "\f156"; 544 | $fa-var-safari: "\f267"; 545 | $fa-var-save: "\f0c7"; 546 | $fa-var-scissors: "\f0c4"; 547 | $fa-var-scribd: "\f28a"; 548 | $fa-var-search: "\f002"; 549 | $fa-var-search-minus: "\f010"; 550 | $fa-var-search-plus: "\f00e"; 551 | $fa-var-sellsy: "\f213"; 552 | $fa-var-send: "\f1d8"; 553 | $fa-var-send-o: "\f1d9"; 554 | $fa-var-server: "\f233"; 555 | $fa-var-share: "\f064"; 556 | $fa-var-share-alt: "\f1e0"; 557 | $fa-var-share-alt-square: "\f1e1"; 558 | $fa-var-share-square: "\f14d"; 559 | $fa-var-share-square-o: "\f045"; 560 | $fa-var-shekel: "\f20b"; 561 | $fa-var-sheqel: "\f20b"; 562 | $fa-var-shield: "\f132"; 563 | $fa-var-ship: "\f21a"; 564 | $fa-var-shirtsinbulk: "\f214"; 565 | $fa-var-shopping-bag: "\f290"; 566 | $fa-var-shopping-basket: "\f291"; 567 | $fa-var-shopping-cart: "\f07a"; 568 | $fa-var-sign-in: "\f090"; 569 | $fa-var-sign-language: "\f2a7"; 570 | $fa-var-sign-out: "\f08b"; 571 | $fa-var-signal: "\f012"; 572 | $fa-var-signing: "\f2a7"; 573 | $fa-var-simplybuilt: "\f215"; 574 | $fa-var-sitemap: "\f0e8"; 575 | $fa-var-skyatlas: "\f216"; 576 | $fa-var-skype: "\f17e"; 577 | $fa-var-slack: "\f198"; 578 | $fa-var-sliders: "\f1de"; 579 | $fa-var-slideshare: "\f1e7"; 580 | $fa-var-smile-o: "\f118"; 581 | $fa-var-snapchat: "\f2ab"; 582 | $fa-var-snapchat-ghost: "\f2ac"; 583 | $fa-var-snapchat-square: "\f2ad"; 584 | $fa-var-soccer-ball-o: "\f1e3"; 585 | $fa-var-sort: "\f0dc"; 586 | $fa-var-sort-alpha-asc: "\f15d"; 587 | $fa-var-sort-alpha-desc: "\f15e"; 588 | $fa-var-sort-amount-asc: "\f160"; 589 | $fa-var-sort-amount-desc: "\f161"; 590 | $fa-var-sort-asc: "\f0de"; 591 | $fa-var-sort-desc: "\f0dd"; 592 | $fa-var-sort-down: "\f0dd"; 593 | $fa-var-sort-numeric-asc: "\f162"; 594 | $fa-var-sort-numeric-desc: "\f163"; 595 | $fa-var-sort-up: "\f0de"; 596 | $fa-var-soundcloud: "\f1be"; 597 | $fa-var-space-shuttle: "\f197"; 598 | $fa-var-spinner: "\f110"; 599 | $fa-var-spoon: "\f1b1"; 600 | $fa-var-spotify: "\f1bc"; 601 | $fa-var-square: "\f0c8"; 602 | $fa-var-square-o: "\f096"; 603 | $fa-var-stack-exchange: "\f18d"; 604 | $fa-var-stack-overflow: "\f16c"; 605 | $fa-var-star: "\f005"; 606 | $fa-var-star-half: "\f089"; 607 | $fa-var-star-half-empty: "\f123"; 608 | $fa-var-star-half-full: "\f123"; 609 | $fa-var-star-half-o: "\f123"; 610 | $fa-var-star-o: "\f006"; 611 | $fa-var-steam: "\f1b6"; 612 | $fa-var-steam-square: "\f1b7"; 613 | $fa-var-step-backward: "\f048"; 614 | $fa-var-step-forward: "\f051"; 615 | $fa-var-stethoscope: "\f0f1"; 616 | $fa-var-sticky-note: "\f249"; 617 | $fa-var-sticky-note-o: "\f24a"; 618 | $fa-var-stop: "\f04d"; 619 | $fa-var-stop-circle: "\f28d"; 620 | $fa-var-stop-circle-o: "\f28e"; 621 | $fa-var-street-view: "\f21d"; 622 | $fa-var-strikethrough: "\f0cc"; 623 | $fa-var-stumbleupon: "\f1a4"; 624 | $fa-var-stumbleupon-circle: "\f1a3"; 625 | $fa-var-subscript: "\f12c"; 626 | $fa-var-subway: "\f239"; 627 | $fa-var-suitcase: "\f0f2"; 628 | $fa-var-sun-o: "\f185"; 629 | $fa-var-superscript: "\f12b"; 630 | $fa-var-support: "\f1cd"; 631 | $fa-var-table: "\f0ce"; 632 | $fa-var-tablet: "\f10a"; 633 | $fa-var-tachometer: "\f0e4"; 634 | $fa-var-tag: "\f02b"; 635 | $fa-var-tags: "\f02c"; 636 | $fa-var-tasks: "\f0ae"; 637 | $fa-var-taxi: "\f1ba"; 638 | $fa-var-television: "\f26c"; 639 | $fa-var-tencent-weibo: "\f1d5"; 640 | $fa-var-terminal: "\f120"; 641 | $fa-var-text-height: "\f034"; 642 | $fa-var-text-width: "\f035"; 643 | $fa-var-th: "\f00a"; 644 | $fa-var-th-large: "\f009"; 645 | $fa-var-th-list: "\f00b"; 646 | $fa-var-themeisle: "\f2b2"; 647 | $fa-var-thumb-tack: "\f08d"; 648 | $fa-var-thumbs-down: "\f165"; 649 | $fa-var-thumbs-o-down: "\f088"; 650 | $fa-var-thumbs-o-up: "\f087"; 651 | $fa-var-thumbs-up: "\f164"; 652 | $fa-var-ticket: "\f145"; 653 | $fa-var-times: "\f00d"; 654 | $fa-var-times-circle: "\f057"; 655 | $fa-var-times-circle-o: "\f05c"; 656 | $fa-var-tint: "\f043"; 657 | $fa-var-toggle-down: "\f150"; 658 | $fa-var-toggle-left: "\f191"; 659 | $fa-var-toggle-off: "\f204"; 660 | $fa-var-toggle-on: "\f205"; 661 | $fa-var-toggle-right: "\f152"; 662 | $fa-var-toggle-up: "\f151"; 663 | $fa-var-trademark: "\f25c"; 664 | $fa-var-train: "\f238"; 665 | $fa-var-transgender: "\f224"; 666 | $fa-var-transgender-alt: "\f225"; 667 | $fa-var-trash: "\f1f8"; 668 | $fa-var-trash-o: "\f014"; 669 | $fa-var-tree: "\f1bb"; 670 | $fa-var-trello: "\f181"; 671 | $fa-var-tripadvisor: "\f262"; 672 | $fa-var-trophy: "\f091"; 673 | $fa-var-truck: "\f0d1"; 674 | $fa-var-try: "\f195"; 675 | $fa-var-tty: "\f1e4"; 676 | $fa-var-tumblr: "\f173"; 677 | $fa-var-tumblr-square: "\f174"; 678 | $fa-var-turkish-lira: "\f195"; 679 | $fa-var-tv: "\f26c"; 680 | $fa-var-twitch: "\f1e8"; 681 | $fa-var-twitter: "\f099"; 682 | $fa-var-twitter-square: "\f081"; 683 | $fa-var-umbrella: "\f0e9"; 684 | $fa-var-underline: "\f0cd"; 685 | $fa-var-undo: "\f0e2"; 686 | $fa-var-universal-access: "\f29a"; 687 | $fa-var-university: "\f19c"; 688 | $fa-var-unlink: "\f127"; 689 | $fa-var-unlock: "\f09c"; 690 | $fa-var-unlock-alt: "\f13e"; 691 | $fa-var-unsorted: "\f0dc"; 692 | $fa-var-upload: "\f093"; 693 | $fa-var-usb: "\f287"; 694 | $fa-var-usd: "\f155"; 695 | $fa-var-user: "\f007"; 696 | $fa-var-user-md: "\f0f0"; 697 | $fa-var-user-plus: "\f234"; 698 | $fa-var-user-secret: "\f21b"; 699 | $fa-var-user-times: "\f235"; 700 | $fa-var-users: "\f0c0"; 701 | $fa-var-venus: "\f221"; 702 | $fa-var-venus-double: "\f226"; 703 | $fa-var-venus-mars: "\f228"; 704 | $fa-var-viacoin: "\f237"; 705 | $fa-var-viadeo: "\f2a9"; 706 | $fa-var-viadeo-square: "\f2aa"; 707 | $fa-var-video-camera: "\f03d"; 708 | $fa-var-vimeo: "\f27d"; 709 | $fa-var-vimeo-square: "\f194"; 710 | $fa-var-vine: "\f1ca"; 711 | $fa-var-vk: "\f189"; 712 | $fa-var-volume-control-phone: "\f2a0"; 713 | $fa-var-volume-down: "\f027"; 714 | $fa-var-volume-off: "\f026"; 715 | $fa-var-volume-up: "\f028"; 716 | $fa-var-warning: "\f071"; 717 | $fa-var-wechat: "\f1d7"; 718 | $fa-var-weibo: "\f18a"; 719 | $fa-var-weixin: "\f1d7"; 720 | $fa-var-whatsapp: "\f232"; 721 | $fa-var-wheelchair: "\f193"; 722 | $fa-var-wheelchair-alt: "\f29b"; 723 | $fa-var-wifi: "\f1eb"; 724 | $fa-var-wikipedia-w: "\f266"; 725 | $fa-var-windows: "\f17a"; 726 | $fa-var-won: "\f159"; 727 | $fa-var-wordpress: "\f19a"; 728 | $fa-var-wpbeginner: "\f297"; 729 | $fa-var-wpforms: "\f298"; 730 | $fa-var-wrench: "\f0ad"; 731 | $fa-var-xing: "\f168"; 732 | $fa-var-xing-square: "\f169"; 733 | $fa-var-y-combinator: "\f23b"; 734 | $fa-var-y-combinator-square: "\f1d4"; 735 | $fa-var-yahoo: "\f19e"; 736 | $fa-var-yc: "\f23b"; 737 | $fa-var-yc-square: "\f1d4"; 738 | $fa-var-yelp: "\f1e9"; 739 | $fa-var-yen: "\f157"; 740 | $fa-var-yoast: "\f2b1"; 741 | $fa-var-youtube: "\f167"; 742 | $fa-var-youtube-play: "\f16a"; 743 | $fa-var-youtube-square: "\f166"; 744 | 745 | -------------------------------------------------------------------------------- /conf/home/vendor/font-awesome/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | @import "screen-reader"; 19 | -------------------------------------------------------------------------------- /conf/log4j.properties: -------------------------------------------------------------------------------- 1 | # Default to info level output; this is very handy if you eventually use Hibernate as well. 2 | log4j.rootCategory=INFO, CONSOLE 3 | 4 | # In order to use an external configuration file for log4j, use this key for JAVA_OPS 5 | # JAVA_OPTS="${JAVA_OPTS} -Dlog4j.configuration=file:/etc/linshare/log4j.properties" 6 | 7 | # Define all the appenders 8 | log4j.appender.LINSHARE=org.apache.log4j.DailyRollingFileAppender 9 | log4j.appender.LINSHARE.File=${catalina.home}/logs/linshare 10 | #log4j.appender.LINSHARE.File=${jetty.home}/logs/linshare 11 | log4j.appender.LINSHARE.Append=true 12 | log4j.appender.LINSHARE.Encoding=UTF-8 13 | # Roll-over the log once per day 14 | log4j.appender.LINSHARE.DatePattern='.'yyyy-MM-dd'.log' 15 | log4j.appender.LINSHARE.layout = org.apache.log4j.PatternLayout 16 | #log4j.appender.LINSHARE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n 17 | log4j.appender.LINSHARE.layout.ConversionPattern=[%p]:%t:%d{yyyyMMdd.HHmmss}:%c:%M:%m%n 18 | 19 | 20 | # CONSOLE is set to be a ConsoleAppender. 21 | log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 22 | # CONSOLE uses PatternLayout. 23 | log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout 24 | log4j.appender.CONSOLE.layout.ConversionPattern=[%p]:%t:%d{yyyyMMdd.HHmmss}:%c:%M:%m%n 25 | 26 | 27 | # Service category names are the name of the defining module class and then the service id. 28 | # we could set the two new logger to warn to avoid a lot of information in production mode. 29 | log4j.category.org.linagora.linshare.services.AppModule.TimingFilter=info 30 | log4j.category.org.linagora.linshare.view.tapestry.services.AppModule.TimingFilter=info 31 | 32 | 33 | # Outputs a list of pages, components and mixins at startup. 34 | log4j.category.org.apache.tapestry5.services.TapestryModule.ComponentClassResolver=info 35 | 36 | # Outputs startup statistics; time to setup and initialize the registry, and a list of 37 | # available services. 38 | log4j.category.org.apache.tapestry5.TapestryFilter=info 39 | 40 | # Disable info message "[INFO]:AbstractContextSource:afterPropertiesSet:Property 'userDn' not set - anonymous context will be used for read-write operations" 41 | log4j.category.org.springframework.ldap.core.support.AbstractContextSource=warn 42 | 43 | # Turning on debug mode for a page or component will show all of the code changes that occur when the 44 | # class is loaded. Turning on debug mode for a page will enable detailed output about 45 | # the contruction of the page, including the runtime code modifications that occur. Verbose 46 | # mode is rarely used, as it outputs voluminous details about the rendering of the page. 47 | 48 | # log4j.category.org.linagora.linshare.pages.Index=info 49 | 50 | # Turn on some verbose debugging about everything in the application. This is nice initially, 51 | # while getting everything set up. You'll probably want to remove this once you are 52 | # up and running, replacing it with more selecting debugging output. 53 | #log4j.category.org.linagora.linshare=info 54 | 55 | #log4j.category.org.springframework.security=info 56 | 57 | log4j.category.org.linagora.linkit=info 58 | 59 | log4j.category.org.linagora.linshare=debug 60 | -------------------------------------------------------------------------------- /conf/mail_conf/main.cf: -------------------------------------------------------------------------------- 1 | # See /usr/share/postfix/main.cf.dist for a commented, more complete version 2 | 3 | smtpd_banner = $myhostname ESMTP 4 | biff = no 5 | append_dot_mydomain = no 6 | readme_directory = no 7 | 8 | # Basic configuration 9 | # myhostname = 10 | alias_maps = hash:/etc/aliases 11 | alias_database = hash:/etc/aliases 12 | mydestination = localhost.$mydomain, localhost 13 | relayhost = 14 | mynetworks = 15 | mailbox_size_limit = 0 16 | recipient_delimiter = + 17 | inet_interfaces = all 18 | inet_protocols = all 19 | 20 | # TLS parameters 21 | # These [snakeoil files actually exist](https://askubuntu.com/questions/396120/what-is-the-purpose-of-the-ssl-cert-snakeoil-key), but shouldn't ever be used in production! 22 | # If no `SSL_TYPE` env is set, "plaintext" is configured, but still accepts SSL with these: 23 | smtpd_tls_chain_files = /etc/ssl/private/ssl-cert-snakeoil.key /etc/ssl/certs/ssl-cert-snakeoil.pem 24 | #smtpd_tls_CAfile = 25 | #smtp_tls_CAfile = 26 | smtpd_tls_security_level = none 27 | smtpd_tls_loglevel = 1 28 | smtp_tls_security_level = none 29 | smtp_tls_loglevel = 1 30 | 31 | # Reduces CPU overhead with `NO_COMPRESSION`, SMTP not at risk of CRIME attack (see git blame for details) 32 | # Reduce opportunities for a potential CPU exhaustion attack with `NO_RENEGOTIATION` 33 | tls_ssl_options = NO_COMPRESSION, NO_RENEGOTIATION 34 | 35 | tls_high_cipherlist = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 36 | tls_preempt_cipherlist = yes 37 | smtpd_tls_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1 38 | smtp_tls_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1 39 | smtpd_tls_mandatory_ciphers = high 40 | smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1 41 | smtpd_tls_exclude_ciphers = aNULL, SEED, CAMELLIA, RSA+AES 42 | smtpd_tls_dh1024_param_file = /etc/postfix/dhparams.pem 43 | smtpd_tls_CApath = /etc/ssl/certs 44 | smtp_tls_CApath = /etc/ssl/certs 45 | 46 | # Settings to prevent SPAM early 47 | smtpd_helo_required = yes 48 | smtpd_delay_reject = yes 49 | smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination 50 | smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, check_policy_service unix:private/policyd-spf, reject_unauth_pipelining, reject_unknown_recipient_domain 51 | smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_unauth_pipelining 52 | smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unknown_sender_domain 53 | disable_vrfy_command = yes 54 | 55 | # Postscreen settings to drop zombies/open relays/spam early 56 | postscreen_dnsbl_action = ignore 57 | postscreen_dnsbl_sites = 58 | postscreen_dnsbl_threshold = 3 59 | postscreen_dnsbl_whitelist_threshold = -1 60 | postscreen_greet_action = enforce 61 | postscreen_bare_newline_action = enforce 62 | 63 | # SASL 64 | smtpd_sasl_auth_enable = yes 65 | smtpd_sasl_path = /var/spool/postfix/private/auth 66 | smtpd_sasl_type = dovecot 67 | 68 | smtpd_sasl_security_options = noanonymous 69 | smtpd_sasl_local_domain = $mydomain 70 | broken_sasl_auth_clients = yes 71 | 72 | # Mail directory 73 | virtual_transport = lmtp:unix:/var/run/dovecot/lmtp 74 | virtual_mailbox_domains = /etc/postfix/vhost, ldap:/etc/postfix/ldap-domains.cf 75 | virtual_mailbox_maps = ldap:/etc/postfix/ldap-users.cf 76 | virtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf, ldap:/etc/postfix/ldap-groups.cf 77 | 78 | # Additional option for filtering 79 | content_filter = smtp-amavis:[127.0.0.1]:10024 80 | 81 | # Milters used by DKIM 82 | milter_protocol = 6 83 | milter_default_action = accept 84 | dkim_milter = inet:localhost:8891 85 | dmarc_milter = inet:localhost:8893 86 | smtpd_milters = $dkim_milter,$dmarc_milter 87 | non_smtpd_milters = $dkim_milter 88 | 89 | # SPF policy settings 90 | policyd-spf_time_limit = 3600 91 | 92 | # Header checks for content inspection on receiving 93 | header_checks = pcre:/etc/postfix/maps/header_checks.pcre 94 | 95 | # Remove unwanted headers that reveail our privacy 96 | smtp_header_checks = pcre:/etc/postfix/maps/sender_header_filter.pcre 97 | myhostname = mail.linshare.org 98 | mydomain = linshare.org 99 | smtputf8_enable = no 100 | message_size_limit = 10240000 101 | virtual_mailbox_limit = 0 102 | compatibility_level = 2 103 | -------------------------------------------------------------------------------- /conf/smtpd.conf: -------------------------------------------------------------------------------- 1 | # This is the smtpd server system-wide configuration file. 2 | # See smtpd.conf(5) for more information. 3 | 4 | # To accept external mail, replace with: listen on all 5 | listen on 0.0.0.0 6 | 7 | # If you edit the file, you have to run "smtpctl update table aliases" 8 | table aliases file:/etc/smtpd/aliases 9 | 10 | # Uncomment the following to accept external mail for domain "example.org" 11 | #accept from any for domain "example.org" alias deliver to mbox 12 | 13 | #accept for local alias deliver to mbox 14 | accept from any for any relay 15 | -------------------------------------------------------------------------------- /conf/traefik/dynamic.toml: -------------------------------------------------------------------------------- 1 | [[tls.certificates]] 2 | certFile = "/ssl/linshare.pem" 3 | keyFile = "/ssl/linshare.key" 4 | -------------------------------------------------------------------------------- /conf/traefik/traefik.toml: -------------------------------------------------------------------------------- 1 | [entryPoints] 2 | [entryPoints.web] 3 | address = ":80" 4 | 5 | [entryPoints.websecure] 6 | address = ":443" 7 | [entryPoints.websecure.http.tls] 8 | 9 | [providers] 10 | providersThrottleDuration = "2s" 11 | [providers.file] 12 | watch = true 13 | directory = "/etc/traefik" 14 | filename = "dynamic.toml" 15 | debugLogGeneratedTemplate = true 16 | [providers.docker] 17 | watch = true 18 | endpoint = "tcp://docker-socket:2375" 19 | swarmModeRefreshSeconds = "15s" 20 | httpClientTimeout = "0s" 21 | 22 | [api] 23 | insecure = true 24 | 25 | [log] 26 | level = "DEBUG" 27 | 28 | -------------------------------------------------------------------------------- /conf/webmail_conf/config.inc.php: -------------------------------------------------------------------------------- 1 | [ 10 | 'verify_peer' => false, 11 | 'verify_peer_name' => false, 12 | 'allow_self_signed' => false, 13 | ], 14 | ]; 15 | 16 | 17 | $config['plugins'] = array('carddav', 'managesieve'); 18 | if(getenv('ROUNDCUBE_USER_FILE')) $config['plugins'][] = 'password'; 19 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | # vim: syntax=yaml textwidth=120 expandtab tabstop=2 softtabstop=2 shiftwidth=2 autoindent 2 | 3 | # Docker compose file for a full-featured Linshare architecture 4 | version: '3.7' 5 | 6 | services: 7 | 8 | reverse-proxy: 9 | image: traefik:v2.6 10 | container_name: linshare_reverse-proxy 11 | ports: 12 | - 443:443 13 | 14 | labels: 15 | - "traefik.enable=true" 16 | - "traefik.http.routers.traefik.rule=Host(`traefik.linshare.local`)" 17 | - "traefik.http.services.traefik.loadbalancer.server.port=8080" 18 | 19 | volumes: 20 | - ./conf/traefik:/etc/traefik 21 | - ./ssl/:/ssl/ 22 | 23 | docker-socket: 24 | container_name: linshare_docker-socket 25 | image: tecnativa/docker-socket-proxy 26 | volumes: 27 | - /var/run/docker.sock:/var/run/docker.sock 28 | environment: 29 | - CONTAINERS=1 30 | 31 | database: 32 | container_name: linshare_database 33 | restart: on-failure 34 | image: linagora/linshare-database:6.3.0 35 | volumes: 36 | - ./data/postgres_data/lib:/var/lib/postgresql/data 37 | environment: 38 | - PGDATA=/var/lib/postgresql/data/pgdata 39 | - POSTGRES_USER=linshare 40 | - POSTGRES_PASSWORD=linshare 41 | 42 | backend: 43 | container_name: linshare_backend 44 | restart: on-failure 45 | image: linagora/linshare-backend:6.3.0 46 | links: 47 | - database:linshare_database 48 | - mongodb:linshare_mongodb 49 | - thumbnail-server:linshare_thumbnail-server 50 | depends_on: 51 | - database 52 | - mongodb 53 | - thumbnail-server 54 | volumes: 55 | - ./data/linshare_data/lib:/var/lib/linshare 56 | - ./conf/catalina.properties:/usr/local/tomcat/conf/catalina.properties 57 | - ./conf/log4j.properties:/etc/linshare/log4j.properties 58 | healthcheck: 59 | test: ["CMD", "curl", "-s", "-f", "http://localhost:8080/linshare/"] 60 | interval: 30s 61 | timeout: 10s 62 | retries: 3 63 | start_period: 40s 64 | environment: 65 | # These variables are mandatory 66 | - SMTP_HOST=linshare_mail 67 | - SMTP_PORT=25 68 | - CLAMAV_HOST=linshare_clamav 69 | - POSTGRES_HOST=linshare_database 70 | - POSTGRES_PORT=5432 71 | - POSTGRES_USER=linshare 72 | - POSTGRES_PASSWORD=linshare 73 | - CLAMAV_PORT=3310 74 | - MONGODB_DATA_REPLICA_SET=linshare_mongodb:27017 75 | - MONGODB_SMALLFILES_REPLICA_SET=linshare_mongodb:27017 76 | - MONGODB_USER=linshare 77 | - MONGODB_PASSWORD=linshare 78 | - THUMBNAIL_ENABLE=true 79 | # - THUMBNAIL_HOST=thumbnail-server 80 | # - THUMBNAIL_PORT=8080 81 | # Default variables can be overriden if needed. 82 | #- SMTP_USER= 83 | #- SMTP_PASSWORD= 84 | #- CLAMAV_PORT=3310 85 | #- POSTGRES_PORT=5432 86 | 87 | thumbnail-server: 88 | container_name: linshare_thumbnail-server 89 | restart: on-failure 90 | image: linagora/linshare-thumbnail-server:2.1.1 91 | healthcheck: 92 | test: ["CMD", "curl", "-s", "-f", "http://localhost:8081/healthcheck"] 93 | interval: 30s 94 | timeout: 10s 95 | retries: 3 96 | start_period: 10s 97 | 98 | home: 99 | container_name: linshare_home 100 | restart: on-failure 101 | image: httpd:2.4 102 | volumes: 103 | - ./conf/home:/usr/local/apache2/htdocs/ 104 | - ./README.md:/usr/local/apache2/htdocs/md/README.md 105 | labels: 106 | - "traefik.enable=true" 107 | - "traefik.http.routers.home.rule=Host(`home.linshare.local`)" 108 | 109 | ui-user: 110 | container_name: linshare_ui-user 111 | restart: on-failure 112 | image: linagora/linshare-ui-user:6.3.0 113 | healthcheck: 114 | test: ["CMD", "curl", "-s", "-f", "http://localhost/linshare/"] 115 | interval: 30s 116 | timeout: 10s 117 | retries: 3 118 | start_period: 40s 119 | depends_on: 120 | - backend 121 | labels: 122 | - "traefik.enable=true" 123 | - "traefik.http.routers.user.rule=Host(`user.linshare.local`)" 124 | environment: 125 | - EXTERNAL_URL=user.linshare.local 126 | - TOMCAT_URL=backend 127 | - TOMCAT_PORT=8080 128 | 129 | ui-admin: 130 | container_name: linshare_ui-admin 131 | restart: on-failure 132 | image: linagora/linshare-ui-admin:6.3.0 133 | healthcheck: 134 | test: ["CMD", "curl", "-s", "-f", "http://localhost/linshare/"] 135 | interval: 30s 136 | timeout: 10s 137 | retries: 3 138 | start_period: 40s 139 | depends_on: 140 | - backend 141 | labels: 142 | - "traefik.enable=true" 143 | - "traefik.http.routers.admin.rule=Host(`admin.linshare.local`)" 144 | environment: 145 | - EXTERNAL_URL=admin.linshare.local 146 | - TOMCAT_URL=backend 147 | - TOMCAT_PORT=8080 148 | 149 | ui-upload-request: 150 | container_name: linshare_ui-upload-request 151 | image: linagora/linshare-ui-upload-request:6.3.0 152 | environment: 153 | - EXTERNAL_URL=upload-request.linshare.local 154 | - TOMCAT_URL=backend 155 | - TOMCAT_PORT=8080 156 | labels: 157 | - "traefik.enable=true" 158 | - "traefik.http.routers.uploadrequest.rule=Host(`upload-request.linshare.local`)" 159 | 160 | mail: 161 | container_name: linshare_mail 162 | image: docker.io/mailserver/docker-mailserver:10.5 163 | hostname: mail 164 | domainname: linshare.org 165 | volumes: 166 | - /var/mail 167 | - /var/mail-state 168 | - /var/log/mail/ 169 | - /tmp/docker-mailserver/ 170 | - /etc/localtime:/etc/localtime:ro 171 | - ./conf/mail_conf/main.cf:/etc/postfix/main.cf 172 | 173 | environment: 174 | - ENABLE_SPAMASSASSIN=0 175 | - SPAMASSASSIN_SPAM_TO_INBOX=0 176 | - ENABLE_POSTGREY=0 177 | - DMS_DEBUG=1 178 | - ENABLE_CLAMAV=0 179 | - ENABLE_FAIL2BAN=0 180 | - ONE_DIR=1 181 | - DMS_DEBUG=0 182 | - ENABLE_LDAP=1 183 | - LDAP_SERVER_HOST=ldap://ldap:1389 184 | - LDAP_SEARCH_BASE=ou=People,dc=linshare,dc=org 185 | - LDAP_BIND_DN=cn=linshare,dc=linshare,dc=org 186 | - LDAP_BIND_PW=linshare 187 | - LDAP_QUERY_FILTER_DOMAIN=(&(|(mail=*@%s)(mailalias=*@%s)(mailGroupMember=*@%s))(mailEnabled=TRUE)) 188 | - LDAP_QUERY_FILTER_USER=(&(mail=%s)(mailEnabled=TRUE)) 189 | - LDAP_QUERY_FILTER_ALIAS=(&(mailAlias=%s)(mailEnabled=TRUE)) 190 | - LDAP_QUERY_FILTER_GROUP=(&(mailGroupMember=%s)(mailEnabled=TRUE)) 191 | - DOVECOT_AUTH_BIND=yes 192 | - DOVECOT_USER_FILTER=(&(objectClass=PostfixBookMailAccount)(uid=%n)) 193 | - DOVECOT_USER_ATTRS=mailHomeDirectory=home,mailUidNumber=uid,mailGidNumber=gid,mailStorageDirectory=mail 194 | - DOVECOT_PASS_FILTER=(&(objectClass=PostfixBookMailAccount)(uid=%n)) 195 | - DOVECOT_PASS_ATTRS=uid=user,userPassword=password 196 | 197 | webmail: 198 | container_name: linshare_webmail 199 | image: robbertkl/roundcube 200 | volumes: 201 | - ./conf/webmail_conf/config.inc.php:/var/www/config/config.inc.php 202 | environment: 203 | - ROUNDCUBE_DEFAULT_HOST=linshare_mail 204 | - ROUNDCUBE_SMTP_SERVER=linshare_mail 205 | - ROUNDCUBE_SMTP_PORT=25 206 | labels: 207 | - "traefik.enable=true" 208 | - "traefik.http.routers.webmail.rule=Host(`webmail.linshare.local`)" 209 | 210 | documentation: 211 | container_name: linshare_documentation 212 | image: linagora/linshare-backend-documentation-webservice:6.3.0 213 | labels: 214 | - "traefik.enable=true" 215 | - "traefik.http.routers.docs.rule=Host(`docs.linshare.local`)" 216 | - "traefik.http.services.docs.loadbalancer.server.port=8080" 217 | 218 | clamav: 219 | container_name: linshare_clamav 220 | restart: on-failure 221 | image: mkodockx/docker-clamav 222 | 223 | mongodb: 224 | container_name: linshare_mongodb 225 | restart: on-failure 226 | image: mongo:4.2 227 | environment: 228 | - MONGO_INITDB_ROOT_USERNAME=linshare 229 | - MONGO_INITDB_ROOT_PASSWORD=linshare 230 | volumes: 231 | - ./data/mongodb_data/db:/data/db 232 | 233 | ldap: 234 | image: linagora/linshare-ldap-for-tests:2.0 235 | container_name: linshare_ldap 236 | ports: 237 | - "1389:1389" 238 | 239 | init: 240 | image: linagora/linshare-init:6.3.0 241 | container_name: linshare_init 242 | environment: 243 | - LS_SERVER_HOST=backend 244 | - LS_SERVER_PORT=8080 245 | - LS_LDAP_NAME=ldap 246 | - LS_LDAP_URL=ldap://ldap:1389 247 | - LS_LDAP_BASE_DN=ou=People,dc=linshare,dc=org 248 | - LS_LDAP_DN=cn=linshare,dc=linshare,dc=org 249 | - LS_LDAP_PW=linshare 250 | - LS_DOMAIN_PATTERN_NAME=pattern-demo 251 | - LS_DOMAIN_PATTERN_MODEL=a4620dfc-dc46-11e8-a098-2355f9d6585a 252 | -------------------------------------------------------------------------------- /ssl/ca.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIEzTCCA7WgAwIBAgIJAMikNamqqRPjMA0GCSqGSIb3DQEBCwUAMIGfMQswCQYD 3 | VQQGEwJGUjEMMAoGA1UECBMDSWRGMQ4wDAYDVQQHEwVQYXJpczERMA8GA1UEChMI 4 | TGluYWdvcmExETAPBgNVBAsUCFImRCBTYWFzMRQwEgYDVQQDEwtMaW5hZ29yYSBD 5 | QTEQMA4GA1UEKRMHRWFzeVJTQTEkMCIGCSqGSIb3DQEJARYVdHNhcmJvbmlAbGlu 6 | YWdvcmEuY29tMB4XDTE1MDkxNDA4NTAxOVoXDTI1MDkxMTA4NTAxOVowgZ8xCzAJ 7 | BgNVBAYTAkZSMQwwCgYDVQQIEwNJZEYxDjAMBgNVBAcTBVBhcmlzMREwDwYDVQQK 8 | EwhMaW5hZ29yYTERMA8GA1UECxQIUiZEIFNhYXMxFDASBgNVBAMTC0xpbmFnb3Jh 9 | IENBMRAwDgYDVQQpEwdFYXN5UlNBMSQwIgYJKoZIhvcNAQkBFhV0c2FyYm9uaUBs 10 | aW5hZ29yYS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDnX76W 11 | /7NAsYW9SvK/jPCY3QlpL5lNtiN99OV2hD/Hk1PSG34rwe9GyFCL/4YikcHTnWuk 12 | vizK1/IDGhi482FlljecWH5UxMlHG8yxUG9ahs86pNjcsyUafDAryXC3ocFtGk4v 13 | e2kAOatGlqlV7EH2rKi0t5jnMXdV2stMeitUNSFs8+iyDQK4V3T6n/hXpxO8VXsB 14 | wF7vd/4+idyAcC1YwUKiB+PAbUvpot+hJ8OaM1q5i3CXEFEbUCrJLh/oC2srOdhr 15 | 7Rk4YK6oz+Pw3NQTvVZBByfziE2H6YRHWdRDVcOfWh2L0z42C5tCr23LDAray/9d 16 | uOYKl+cLKdvv4ymHAgMBAAGjggEIMIIBBDAdBgNVHQ4EFgQUnLuJzgwZk9X8Rgb0 17 | QUyYz6zdILQwgdQGA1UdIwSBzDCByYAUnLuJzgwZk9X8Rgb0QUyYz6zdILShgaWk 18 | gaIwgZ8xCzAJBgNVBAYTAkZSMQwwCgYDVQQIEwNJZEYxDjAMBgNVBAcTBVBhcmlz 19 | MREwDwYDVQQKEwhMaW5hZ29yYTERMA8GA1UECxQIUiZEIFNhYXMxFDASBgNVBAMT 20 | C0xpbmFnb3JhIENBMRAwDgYDVQQpEwdFYXN5UlNBMSQwIgYJKoZIhvcNAQkBFhV0 21 | c2FyYm9uaUBsaW5hZ29yYS5jb22CCQDIpDWpqqkT4zAMBgNVHRMEBTADAQH/MA0G 22 | CSqGSIb3DQEBCwUAA4IBAQCiEAmG+czlm/HT0s1ahWTtqcbzGl0+j3Io/JtyVNWW 23 | ALmmYid3VejcHYDbKd0rN+yFJtI+p6CMjpRVZCDEJo8eLZr9P7YZa+jKc0OhjSgr 24 | mD7FVwyZePid33VuKzWaMLbKiNVIcXroKkm2pEvENdibMZWBuhgrs6Pa00iYH68g 25 | s5Y1glQV7IeCmHkwNmHtgkiLDIzJYYukxAQSnaz7su8wnGtEJS6iz8+iCtEJm8XR 26 | FoUzfMS1/TI+C2tU80qfkc7D4kL7eEDob0zfdlZlqMKEWen47EuVuB+4DdImaI1P 27 | i+10msgMl2o6K4tNYVlfcM3qkHSXFfwEwvWtIqvRYsx4 28 | -----END CERTIFICATE----- 29 | -------------------------------------------------------------------------------- /ssl/full.pem: -------------------------------------------------------------------------------- 1 | Certificate: 2 | Data: 3 | Version: 3 (0x2) 4 | Serial Number: 1 (0x1) 5 | Signature Algorithm: sha256WithRSAEncryption 6 | Issuer: C=FR, ST=IdF, L=Paris, O=Linagora, OU=R&D Saas, CN=Linagora CA/name=EasyRSA/emailAddress=tsarboni@linagora.com 7 | Validity 8 | Not Before: Sep 14 08:53:06 2015 GMT 9 | Not After : Sep 11 08:53:06 2025 GMT 10 | Subject: C=FR, ST=IdF, L=Paris, O=Linagora, OU=R&D Saas, CN=*.linshare.local/name=EasyRSA/emailAddress=tsarboni@linagora.com 11 | Subject Public Key Info: 12 | Public Key Algorithm: rsaEncryption 13 | Public-Key: (2048 bit) 14 | Modulus: 15 | 00:df:8f:9e:0c:7e:ff:03:12:a2:ef:01:4a:4f:02: 16 | 9f:92:da:32:36:23:f0:e3:04:1c:db:be:ea:a5:b0: 17 | f1:8d:e1:0a:a5:b7:c5:cf:c0:19:7c:30:4b:b8:0c: 18 | 3c:22:9e:02:47:bc:ae:b8:8d:9e:e1:4f:7f:8a:dd: 19 | 99:3f:4f:61:c6:45:8a:b5:78:96:00:53:40:8b:8f: 20 | aa:40:86:1d:e4:cf:16:9d:c6:d4:d9:1d:ca:43:66: 21 | c9:52:78:5c:ea:e5:ba:20:d4:b2:a4:fd:de:71:bf: 22 | dc:1e:42:ee:31:0f:15:14:e1:ae:40:f6:33:3d:4b: 23 | 23:fe:e9:85:63:8a:1e:52:79:b2:d1:85:4a:b6:89: 24 | 43:e6:a1:02:ef:2e:a1:b3:d9:85:6a:fa:47:80:6e: 25 | 9c:c5:71:f3:97:ed:21:1f:5d:bd:65:7b:d1:d4:c6: 26 | bb:69:54:4d:6c:be:d6:9a:a1:9c:e2:1d:06:26:c1: 27 | 32:c4:6f:dc:aa:d5:45:b2:bb:e2:d7:4a:4f:e0:9e: 28 | c9:ed:f4:8c:b5:f4:fe:08:57:64:ee:a1:a8:83:21: 29 | 79:30:d4:71:33:0f:e7:d1:a2:6d:fc:23:b5:b3:7f: 30 | db:7e:a4:bb:89:6c:6a:d8:d8:0c:f4:93:b3:5d:3b: 31 | f4:62:d0:6e:5f:7b:1d:c7:bd:cf:a8:f9:eb:8d:11: 32 | ad:71 33 | Exponent: 65537 (0x10001) 34 | X509v3 extensions: 35 | X509v3 Basic Constraints: 36 | CA:FALSE 37 | Netscape Cert Type: 38 | SSL Server 39 | Netscape Comment: 40 | Easy-RSA Generated Server Certificate 41 | X509v3 Subject Key Identifier: 42 | 28:DD:B4:92:F2:8C:CB:0F:42:2A:CE:1F:0B:7C:02:76:D9:A4:E9:D3 43 | X509v3 Authority Key Identifier: 44 | keyid:9C:BB:89:CE:0C:19:93:D5:FC:46:06:F4:41:4C:98:CF:AC:DD:20:B4 45 | DirName:/C=FR/ST=IdF/L=Paris/O=Linagora/OU=R&D Saas/CN=Linagora CA/name=EasyRSA/emailAddress=tsarboni@linagora.com 46 | serial:C8:A4:35:A9:AA:A9:13:E3 47 | 48 | X509v3 Extended Key Usage: 49 | TLS Web Server Authentication 50 | X509v3 Key Usage: 51 | Digital Signature, Key Encipherment 52 | Signature Algorithm: sha256WithRSAEncryption 53 | 99:8d:66:fc:73:b4:04:ae:d1:04:5e:80:73:a5:6c:54:f3:bd: 54 | a4:51:1a:6f:90:11:32:f4:e4:c1:f2:9d:e0:aa:fe:c6:c5:02: 55 | 68:a1:f9:fa:8d:88:d2:62:db:6c:9d:78:dc:6a:e2:89:3f:cf: 56 | 3f:3a:8a:89:56:b3:70:f2:db:32:da:08:07:06:11:33:05:60: 57 | d7:31:f3:21:3f:f5:11:21:59:5e:8e:8a:ad:1d:2f:c8:88:54: 58 | 42:90:bc:2a:fd:42:26:99:b3:45:ac:4a:98:2d:2f:51:ee:8d: 59 | 1e:3e:01:40:b1:f2:a1:45:e3:8b:f1:91:97:e8:f8:9c:45:fe: 60 | c2:42:2e:8f:f1:7e:24:3d:73:ad:c0:7b:6d:3e:e7:5e:c5:36: 61 | 70:e3:32:ee:8e:d0:47:46:d6:63:5e:8d:5c:e3:ee:08:3e:56: 62 | 53:3f:ca:39:02:23:1d:d5:fd:90:20:cd:37:a5:4f:83:21:c9: 63 | 5b:41:cc:cb:57:51:9c:b9:a6:31:1c:74:fa:24:a4:84:a0:98: 64 | a0:69:3e:b1:eb:a5:1c:84:ac:9d:4d:e0:37:e9:a0:f2:e6:9d: 65 | ca:7b:26:0a:66:d9:91:f8:b0:f3:49:4f:85:59:cf:58:b5:b5: 66 | 15:7c:86:0b:c0:a8:42:4b:bd:3c:90:54:70:8b:dd:c1:bd:cb: 67 | ba:67:13:a9 68 | -----BEGIN CERTIFICATE----- 69 | MIIFMjCCBBqgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBnzELMAkGA1UEBhMCRlIx 70 | DDAKBgNVBAgTA0lkRjEOMAwGA1UEBxMFUGFyaXMxETAPBgNVBAoTCExpbmFnb3Jh 71 | MREwDwYDVQQLFAhSJkQgU2FhczEUMBIGA1UEAxMLTGluYWdvcmEgQ0ExEDAOBgNV 72 | BCkTB0Vhc3lSU0ExJDAiBgkqhkiG9w0BCQEWFXRzYXJib25pQGxpbmFnb3JhLmNv 73 | bTAeFw0xNTA5MTQwODUzMDZaFw0yNTA5MTEwODUzMDZaMIGkMQswCQYDVQQGEwJG 74 | UjEMMAoGA1UECBMDSWRGMQ4wDAYDVQQHEwVQYXJpczERMA8GA1UEChMITGluYWdv 75 | cmExETAPBgNVBAsUCFImRCBTYWFzMRkwFwYDVQQDFBAqLmxpbnNoYXJlLmxvY2Fs 76 | MRAwDgYDVQQpEwdFYXN5UlNBMSQwIgYJKoZIhvcNAQkBFhV0c2FyYm9uaUBsaW5h 77 | Z29yYS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDfj54Mfv8D 78 | EqLvAUpPAp+S2jI2I/DjBBzbvuqlsPGN4Qqlt8XPwBl8MEu4DDwingJHvK64jZ7h 79 | T3+K3Zk/T2HGRYq1eJYAU0CLj6pAhh3kzxadxtTZHcpDZslSeFzq5bog1LKk/d5x 80 | v9weQu4xDxUU4a5A9jM9SyP+6YVjih5SebLRhUq2iUPmoQLvLqGz2YVq+keAbpzF 81 | cfOX7SEfXb1le9HUxrtpVE1svtaaoZziHQYmwTLEb9yq1UWyu+LXSk/gnsnt9Iy1 82 | 9P4IV2TuoaiDIXkw1HEzD+fRom38I7Wzf9t+pLuJbGrY2Az0k7NdO/Ri0G5fex3H 83 | vc+o+euNEa1xAgMBAAGjggFwMIIBbDAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQE 84 | AwIGQDA0BglghkgBhvhCAQ0EJxYlRWFzeS1SU0EgR2VuZXJhdGVkIFNlcnZlciBD 85 | ZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUKN20kvKMyw9CKs4fC3wCdtmk6dMwgdQGA1Ud 86 | IwSBzDCByYAUnLuJzgwZk9X8Rgb0QUyYz6zdILShgaWkgaIwgZ8xCzAJBgNVBAYT 87 | AkZSMQwwCgYDVQQIEwNJZEYxDjAMBgNVBAcTBVBhcmlzMREwDwYDVQQKEwhMaW5h 88 | Z29yYTERMA8GA1UECxQIUiZEIFNhYXMxFDASBgNVBAMTC0xpbmFnb3JhIENBMRAw 89 | DgYDVQQpEwdFYXN5UlNBMSQwIgYJKoZIhvcNAQkBFhV0c2FyYm9uaUBsaW5hZ29y 90 | YS5jb22CCQDIpDWpqqkT4zATBgNVHSUEDDAKBggrBgEFBQcDATALBgNVHQ8EBAMC 91 | BaAwDQYJKoZIhvcNAQELBQADggEBAJmNZvxztASu0QRegHOlbFTzvaRRGm+QETL0 92 | 5MHyneCq/sbFAmih+fqNiNJi22ydeNxq4ok/zz86iolWs3Dy2zLaCAcGETMFYNcx 93 | 8yE/9REhWV6Oiq0dL8iIVEKQvCr9QiaZs0WsSpgtL1HujR4+AUCx8qFF44vxkZfo 94 | +JxF/sJCLo/xfiQ9c63Ae20+517FNnDjMu6O0EdG1mNejVzj7gg+VlM/yjkCIx3V 95 | /ZAgzTelT4MhyVtBzMtXUZy5pjEcdPokpISgmKBpPrHrpRyErJ1N4DfpoPLmncp7 96 | Jgpm2ZH4sPNJT4VZz1i1tRV8hgvAqEJLvTyQVHCL3cG9y7pnE6k= 97 | -----END CERTIFICATE----- 98 | -------------------------------------------------------------------------------- /ssl/linshare.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDfj54Mfv8DEqLv 3 | AUpPAp+S2jI2I/DjBBzbvuqlsPGN4Qqlt8XPwBl8MEu4DDwingJHvK64jZ7hT3+K 4 | 3Zk/T2HGRYq1eJYAU0CLj6pAhh3kzxadxtTZHcpDZslSeFzq5bog1LKk/d5xv9we 5 | Qu4xDxUU4a5A9jM9SyP+6YVjih5SebLRhUq2iUPmoQLvLqGz2YVq+keAbpzFcfOX 6 | 7SEfXb1le9HUxrtpVE1svtaaoZziHQYmwTLEb9yq1UWyu+LXSk/gnsnt9Iy19P4I 7 | V2TuoaiDIXkw1HEzD+fRom38I7Wzf9t+pLuJbGrY2Az0k7NdO/Ri0G5fex3Hvc+o 8 | +euNEa1xAgMBAAECggEBAJFzcEHzEllec7GKpl0XeNjjq417/srErz3tTd81a0OC 9 | 6hl9om6TLkGVbn41P57KLPOdeBPM2FUBExs3J/B/5j5ImoGNDhLyF2l1tDA80hA/ 10 | CBjo9yy3bBREOLG2a8XMZzfbCsu7/FEHod/ybeRvSqkGWAgd5qJ3U9kS990WTLod 11 | Clx2rYb6ewOhyn0ij9HcyQnPnjetGmvTeBlkIxoz3qjUg7vpxwdj4WQoSUvyTu+c 12 | YBbLjCKWY7UIlr8EimnPFYl87IMnl6Awj9+iwLTkg3vw83pqsxepllbVpJZh55Vi 13 | qmIBb0RtPT5mloT4AmeRERpjKFRPfoEc6U18JHCXypECgYEA9wwNviF3NQJtqlV/ 14 | DLxgsWzPiqwT/2KqzcPzRJrKFMf4nMZFTIonXWAkIPGu6bFnsz9mfwgxZjhRMfoW 15 | amm9NUym0So61joCkCTg08LHUYnFFKFLzesEqiMumq/FDDGMPIG7eNRVw+Pwtd3+ 16 | h2UqcGBjtwzb4mHo8aG7SdrhXtUCgYEA56msu1ALMh2WQm81QLrBybqF7LDWyWab 17 | 65Es356ukBv0FszsCFYW1SngEFjsrcNjNdyjuMu5khxYpW0V7T/lBEnB/BcZ0xBi 18 | 2IQ4OgJH1iPJrd2yhh/U7gHbz26BRM7/hCJuO7CNcPEZJJkfRu3Vv7cohozg+1Uk 19 | 6ipxW+V4+i0CgYEA14SvdH/Tc+5DZ4agiKbKH96SDCLkazZTVaCtV9tFke2GCJa7 20 | m/MmNkKKIidVdU+r7ObRbt7h4ZAd3WCUL49BXf8ZxH13yK3g0IkrjfFtWse6o622 21 | 6NQvRJHetVnDqEiNU7fFqbpre7IdqzsYMlviMxkTxHw2Uv8hbbKvJdYKKGUCgYAE 22 | 66WvlNOoDNjUMGiBJ3ZWQo/1pwvo2zUUm9DILyamCPH2SgP5aVqyzGDl9/2O80d4 23 | LWeM1Ubrw45edSKyF1lV7fsgz5zMztxKnQRUtxevhLMT7lGMZ8CuDXwNu9sjCwKC 24 | W/jba7SVYYmXLWlsqECSAeHqebONoxFVp/Egco9PQQKBgE1iQ30yPc6EaYnVoXGe 25 | j5BQw80T1yc5ePX5aixZkS0YRywb5YjR6lg6/tSqCSFsvUs7ysj9etXfMLP2JDns 26 | 7LFzDEhPP71uQASe729JCBcK92pQOmbJZO2yxFp06P6y8eMNb+giefWybRe2CTt2 27 | rE8Xi7dsol9Ev4pYqI4DZF9l 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /ssl/linshare.pem: -------------------------------------------------------------------------------- 1 | Certificate: 2 | Data: 3 | Version: 3 (0x2) 4 | Serial Number: 1 (0x1) 5 | Signature Algorithm: sha256WithRSAEncryption 6 | Issuer: C=FR, ST=IdF, L=Paris, O=Linagora, OU=R&D Saas, CN=Linagora CA/name=EasyRSA/emailAddress=tsarboni@linagora.com 7 | Validity 8 | Not Before: Sep 14 08:53:06 2015 GMT 9 | Not After : Sep 11 08:53:06 2025 GMT 10 | Subject: C=FR, ST=IdF, L=Paris, O=Linagora, OU=R&D Saas, CN=*.linshare.local/name=EasyRSA/emailAddress=tsarboni@linagora.com 11 | Subject Public Key Info: 12 | Public Key Algorithm: rsaEncryption 13 | Public-Key: (2048 bit) 14 | Modulus: 15 | 00:df:8f:9e:0c:7e:ff:03:12:a2:ef:01:4a:4f:02: 16 | 9f:92:da:32:36:23:f0:e3:04:1c:db:be:ea:a5:b0: 17 | f1:8d:e1:0a:a5:b7:c5:cf:c0:19:7c:30:4b:b8:0c: 18 | 3c:22:9e:02:47:bc:ae:b8:8d:9e:e1:4f:7f:8a:dd: 19 | 99:3f:4f:61:c6:45:8a:b5:78:96:00:53:40:8b:8f: 20 | aa:40:86:1d:e4:cf:16:9d:c6:d4:d9:1d:ca:43:66: 21 | c9:52:78:5c:ea:e5:ba:20:d4:b2:a4:fd:de:71:bf: 22 | dc:1e:42:ee:31:0f:15:14:e1:ae:40:f6:33:3d:4b: 23 | 23:fe:e9:85:63:8a:1e:52:79:b2:d1:85:4a:b6:89: 24 | 43:e6:a1:02:ef:2e:a1:b3:d9:85:6a:fa:47:80:6e: 25 | 9c:c5:71:f3:97:ed:21:1f:5d:bd:65:7b:d1:d4:c6: 26 | bb:69:54:4d:6c:be:d6:9a:a1:9c:e2:1d:06:26:c1: 27 | 32:c4:6f:dc:aa:d5:45:b2:bb:e2:d7:4a:4f:e0:9e: 28 | c9:ed:f4:8c:b5:f4:fe:08:57:64:ee:a1:a8:83:21: 29 | 79:30:d4:71:33:0f:e7:d1:a2:6d:fc:23:b5:b3:7f: 30 | db:7e:a4:bb:89:6c:6a:d8:d8:0c:f4:93:b3:5d:3b: 31 | f4:62:d0:6e:5f:7b:1d:c7:bd:cf:a8:f9:eb:8d:11: 32 | ad:71 33 | Exponent: 65537 (0x10001) 34 | X509v3 extensions: 35 | X509v3 Basic Constraints: 36 | CA:FALSE 37 | Netscape Cert Type: 38 | SSL Server 39 | Netscape Comment: 40 | Easy-RSA Generated Server Certificate 41 | X509v3 Subject Key Identifier: 42 | 28:DD:B4:92:F2:8C:CB:0F:42:2A:CE:1F:0B:7C:02:76:D9:A4:E9:D3 43 | X509v3 Authority Key Identifier: 44 | keyid:9C:BB:89:CE:0C:19:93:D5:FC:46:06:F4:41:4C:98:CF:AC:DD:20:B4 45 | DirName:/C=FR/ST=IdF/L=Paris/O=Linagora/OU=R&D Saas/CN=Linagora CA/name=EasyRSA/emailAddress=tsarboni@linagora.com 46 | serial:C8:A4:35:A9:AA:A9:13:E3 47 | 48 | X509v3 Extended Key Usage: 49 | TLS Web Server Authentication 50 | X509v3 Key Usage: 51 | Digital Signature, Key Encipherment 52 | Signature Algorithm: sha256WithRSAEncryption 53 | 99:8d:66:fc:73:b4:04:ae:d1:04:5e:80:73:a5:6c:54:f3:bd: 54 | a4:51:1a:6f:90:11:32:f4:e4:c1:f2:9d:e0:aa:fe:c6:c5:02: 55 | 68:a1:f9:fa:8d:88:d2:62:db:6c:9d:78:dc:6a:e2:89:3f:cf: 56 | 3f:3a:8a:89:56:b3:70:f2:db:32:da:08:07:06:11:33:05:60: 57 | d7:31:f3:21:3f:f5:11:21:59:5e:8e:8a:ad:1d:2f:c8:88:54: 58 | 42:90:bc:2a:fd:42:26:99:b3:45:ac:4a:98:2d:2f:51:ee:8d: 59 | 1e:3e:01:40:b1:f2:a1:45:e3:8b:f1:91:97:e8:f8:9c:45:fe: 60 | c2:42:2e:8f:f1:7e:24:3d:73:ad:c0:7b:6d:3e:e7:5e:c5:36: 61 | 70:e3:32:ee:8e:d0:47:46:d6:63:5e:8d:5c:e3:ee:08:3e:56: 62 | 53:3f:ca:39:02:23:1d:d5:fd:90:20:cd:37:a5:4f:83:21:c9: 63 | 5b:41:cc:cb:57:51:9c:b9:a6:31:1c:74:fa:24:a4:84:a0:98: 64 | a0:69:3e:b1:eb:a5:1c:84:ac:9d:4d:e0:37:e9:a0:f2:e6:9d: 65 | ca:7b:26:0a:66:d9:91:f8:b0:f3:49:4f:85:59:cf:58:b5:b5: 66 | 15:7c:86:0b:c0:a8:42:4b:bd:3c:90:54:70:8b:dd:c1:bd:cb: 67 | ba:67:13:a9 68 | -----BEGIN CERTIFICATE----- 69 | MIIFMjCCBBqgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBnzELMAkGA1UEBhMCRlIx 70 | DDAKBgNVBAgTA0lkRjEOMAwGA1UEBxMFUGFyaXMxETAPBgNVBAoTCExpbmFnb3Jh 71 | MREwDwYDVQQLFAhSJkQgU2FhczEUMBIGA1UEAxMLTGluYWdvcmEgQ0ExEDAOBgNV 72 | BCkTB0Vhc3lSU0ExJDAiBgkqhkiG9w0BCQEWFXRzYXJib25pQGxpbmFnb3JhLmNv 73 | bTAeFw0xNTA5MTQwODUzMDZaFw0yNTA5MTEwODUzMDZaMIGkMQswCQYDVQQGEwJG 74 | UjEMMAoGA1UECBMDSWRGMQ4wDAYDVQQHEwVQYXJpczERMA8GA1UEChMITGluYWdv 75 | cmExETAPBgNVBAsUCFImRCBTYWFzMRkwFwYDVQQDFBAqLmxpbnNoYXJlLmxvY2Fs 76 | MRAwDgYDVQQpEwdFYXN5UlNBMSQwIgYJKoZIhvcNAQkBFhV0c2FyYm9uaUBsaW5h 77 | Z29yYS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDfj54Mfv8D 78 | EqLvAUpPAp+S2jI2I/DjBBzbvuqlsPGN4Qqlt8XPwBl8MEu4DDwingJHvK64jZ7h 79 | T3+K3Zk/T2HGRYq1eJYAU0CLj6pAhh3kzxadxtTZHcpDZslSeFzq5bog1LKk/d5x 80 | v9weQu4xDxUU4a5A9jM9SyP+6YVjih5SebLRhUq2iUPmoQLvLqGz2YVq+keAbpzF 81 | cfOX7SEfXb1le9HUxrtpVE1svtaaoZziHQYmwTLEb9yq1UWyu+LXSk/gnsnt9Iy1 82 | 9P4IV2TuoaiDIXkw1HEzD+fRom38I7Wzf9t+pLuJbGrY2Az0k7NdO/Ri0G5fex3H 83 | vc+o+euNEa1xAgMBAAGjggFwMIIBbDAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQE 84 | AwIGQDA0BglghkgBhvhCAQ0EJxYlRWFzeS1SU0EgR2VuZXJhdGVkIFNlcnZlciBD 85 | ZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUKN20kvKMyw9CKs4fC3wCdtmk6dMwgdQGA1Ud 86 | IwSBzDCByYAUnLuJzgwZk9X8Rgb0QUyYz6zdILShgaWkgaIwgZ8xCzAJBgNVBAYT 87 | AkZSMQwwCgYDVQQIEwNJZEYxDjAMBgNVBAcTBVBhcmlzMREwDwYDVQQKEwhMaW5h 88 | Z29yYTERMA8GA1UECxQIUiZEIFNhYXMxFDASBgNVBAMTC0xpbmFnb3JhIENBMRAw 89 | DgYDVQQpEwdFYXN5UlNBMSQwIgYJKoZIhvcNAQkBFhV0c2FyYm9uaUBsaW5hZ29y 90 | YS5jb22CCQDIpDWpqqkT4zATBgNVHSUEDDAKBggrBgEFBQcDATALBgNVHQ8EBAMC 91 | BaAwDQYJKoZIhvcNAQELBQADggEBAJmNZvxztASu0QRegHOlbFTzvaRRGm+QETL0 92 | 5MHyneCq/sbFAmih+fqNiNJi22ydeNxq4ok/zz86iolWs3Dy2zLaCAcGETMFYNcx 93 | 8yE/9REhWV6Oiq0dL8iIVEKQvCr9QiaZs0WsSpgtL1HujR4+AUCx8qFF44vxkZfo 94 | +JxF/sJCLo/xfiQ9c63Ae20+517FNnDjMu6O0EdG1mNejVzj7gg+VlM/yjkCIx3V 95 | /ZAgzTelT4MhyVtBzMtXUZy5pjEcdPokpISgmKBpPrHrpRyErJ1N4DfpoPLmncp7 96 | Jgpm2ZH4sPNJT4VZz1i1tRV8hgvAqEJLvTyQVHCL3cG9y7pnE6k= 97 | -----END CERTIFICATE----- 98 | --------------------------------------------------------------------------------