/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document ========================================================================== */
/** 1. Correct the line height in all browsers. 2. Prevent adjustments of font size after orientation changes in iOS. */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,700;0,800;0,900;1,400;1,500;1,700&display=swap");
html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ }

/* Sections ========================================================================== */
/** Remove the margin in all browsers. */
body { margin: 0; }

/** Render the `main` element consistently in IE. */
main { display: block; }

/** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
h1 { font-size: 2em; margin: 0.67em 0; }

/* Grouping content ========================================================================== */
/** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

/* Text-level semantics ========================================================================== */
/** Remove the gray background on active links in IE 10. */
a { background-color: transparent; }

/** 1. Remove the bottom border in Chrome 57- 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ }

/** Add the correct font weight in Chrome, Edge, and Safari. */
b, strong { font-weight: bolder; }

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

/** Add the correct font size in all browsers. */
small { font-size: 80%; }

/** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

/* Embedded content ========================================================================== */
/** Remove the border on images inside links in IE 10. */
img { border-style: none; }

/* Forms ========================================================================== */
/** 1. Change the font styles in all browsers. 2. Remove the margin in Firefox and Safari. */
button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ }

/** Show the overflow in IE. 1. Show the overflow in Edge. */
button, input { /* 1 */ overflow: visible; }

/** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */
button, select { /* 1 */ text-transform: none; }

/** Correct the inability to style clickable types in iOS and Safari. */
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }

/** Remove the inner border and padding in Firefox. */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }

/** Restore the focus styles unset by the previous rule. */
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

/** Correct the padding in Firefox. */
fieldset { padding: 0.35em 0.75em 0.625em; }

/** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */
legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }

/** Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress { vertical-align: baseline; }

/** Remove the default vertical scrollbar in IE 10+. */
textarea { overflow: auto; }

/** 1. Add the correct box sizing in IE 10. 2. Remove the padding in IE 10. */
[type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }

/** Correct the cursor style of increment and decrement buttons in Chrome. */
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

/** 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */
[type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ }

/** Remove the inner padding in Chrome and Safari on macOS. */
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

/** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }

/* Interactive ========================================================================== */
/* Add the correct display in Edge, IE 10+, and Firefox. */
details { display: block; }

/* Add the correct display in all browsers. */
summary { display: list-item; }

/* Misc ========================================================================== */
/** Add the correct display in IE 10+. */
template { display: none; }

/** Add the correct display in IE 10. */
[hidden] { display: none; }

html * { font-family: "Montserrat", sans-serif; color: #373F51; margin: 0; box-sizing: border-box; }

section:focus { outline: none; }

pre { background-color: #373F51; color: white; border-radius: 3px; font-family: courier, monospace; padding: 10px; margin-bottom: 16px; }

pre code { color: white; }

.clearfix::after { content: ""; display: table; clear: both; }

header, footer, body.news-list-page, section.blog-post { background: linear-gradient(-25deg, rgba(255, 255, 255, 0.05) 10%, rgba(255, 255, 255, 0.03) 0% 20%, rgba(255, 255, 255, 0.02) 0% 30%, transparent 30%), linear-gradient(to top, #2C6781, #373F51); }

.publications { background: linear-gradient(-25deg, rgba(255, 255, 255, 0.05) 10%, rgba(255, 255, 255, 0.03) 0% 20%, rgba(255, 255, 255, 0.02) 0% 30%, transparent 30%), linear-gradient(to top, #2C6781, #373F51); }

.abouthack { background: linear-gradient(-25deg, rgba(255, 255, 255, 0.05) 10%, rgba(255, 255, 255, 0.03) 0% 20%, rgba(255, 255, 255, 0.02) 0% 30%, transparent 30%), linear-gradient(to top, #3B83B8, #2C6781); }

section { position: relative; padding: 100px; }

section h2 { position: absolute; top: 0; left: 0; font-size: 13vw; font-weight: 900; text-align: center; display: block; width: 100%; line-height: 14vw; opacity: 0.03; letter-spacing: 10px; overflow: hidden; }

section .container { max-width: 1024px; margin: auto; position: relative; z-index: 99; }

.btn a, .btn span { font-size: 20px; padding: 5px 10px; margin-bottom: 16px; display: inline-block; border-radius: 30px; background: linear-gradient(45deg, #EDA796, #EDCB96); text-decoration: none; text-shadow: 0 1px 1px #00000047; box-shadow: 1px 2px 3px 0px rgba(0, 0, 0, 0.4); }

.btn a:hover, .btn span:hover { box-shadow: 0 0 5px 1px #EDA796; }

.btn--outline a { border: 2px solid #EDA796; background: transparent; text-shadow: none; color: white; }

.btn--icon a { padding: 5px 15px 5px 10px; }

nav.menu { position: fixed; top: 0; left: 50%; transform: translateX(-50%); width: 100%; font-size: 0; background-color: #373F51; z-index: 9999; transition: all 0.2s ease-in; }

nav.menu.transparent { background-color: transparent; }

nav.menu.transparent .dropdown-content { background-color: white; }

nav.menu.transparent .dropdown-content li a { color: #373F51; }

nav.menu.transparent .dropdown-content li a:before { background-color: #373F51; }

nav.menu div.menu--inner { max-width: 1366px; margin: auto; }

nav.menu a.logo { display: inline-block; width: 20%; }

nav.menu a.logo img { width: 60px; height: auto; padding-top: 18px; }

nav.menu ul { display: inline-block; list-style: none; text-align: right; width: 80%; vertical-align: top; }

nav.menu ul .hamburger { display: none; position: absolute; top: 40px; right: 40px; width: 30px; height: 23px; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: .5s ease-in-out; -moz-transition: .5s ease-in-out; -o-transition: .5s ease-in-out; transition: .5s ease-in-out; cursor: pointer; }

nav.menu ul .hamburger span { display: block; position: absolute; height: 3px; width: 100%; background: white; border-radius: 9px; opacity: 1; left: 0; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: .25s ease-in-out; -moz-transition: .25s ease-in-out; -o-transition: .25s ease-in-out; transition: .25s ease-in-out; }

nav.menu ul .hamburger span:nth-child(1) { top: 0px; -webkit-transform-origin: left center; -moz-transform-origin: left center; -o-transform-origin: left center; transform-origin: left center; }

nav.menu ul .hamburger span:nth-child(2) { top: 11px; -webkit-transform-origin: left center; -moz-transform-origin: left center; -o-transform-origin: left center; transform-origin: left center; }

nav.menu ul .hamburger span:nth-child(3) { top: 22px; -webkit-transform-origin: left center; -moz-transform-origin: left center; -o-transform-origin: left center; transform-origin: left center; }

nav.menu ul li { display: inline-block; padding: 40px 16px; position: relative; }

nav.menu ul li a { text-decoration: none; color: white; font-size: 20px; position: relative; }

nav.menu ul li a:before { content: ''; display: block; position: absolute; left: 0px; bottom: -8px; height: 2px; width: 0; background: white; transition: all .15s ease-in-out; }

nav.menu ul li a:hover:before { width: 100%; }

nav.menu ul li .dropdown-content { visibility: hidden; opacity: 0; position: absolute; transition: all 0.5s ease; left: 0; display: none; padding: 16px; width: max-content; background-color: #373F51; border-radius: 3px; margin-top: 6px; }

nav.menu ul li .dropdown-content li { display: block; margin: 0; padding: 0; text-align: left; padding: 8px 0; }

nav.menu ul li .dropdown-content li a { font-size: 18px; color: white; position: relative; }

nav.menu ul li .dropdown-content li a:before { content: ''; display: block; position: absolute; left: 0px; bottom: 0px; height: 1px; width: 0; background: white; transition: all .15s ease-in-out; }

nav.menu ul li .dropdown-content li a:hover:before { width: 100%; }

nav.menu ul li .dropdown-content:hover { visibility: visible; opacity: 1; display: block; }

nav.menu ul li:hover .dropdown-content { visibility: visible; opacity: 1; display: block; }

nav.menu ul.mobile .hamburger { display: block; }

nav.menu ul.mobile li { display: none; }

nav.menu ul.open { position: fixed; top: 0; left: 0; text-align: center; width: 100%; padding: 50px; background: #373F51; z-index: 1; }

nav.menu ul.open .hamburger { display: block; }

nav.menu ul.open .hamburger span:nth-child(1) { -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); left: 4px; }

nav.menu ul.open .hamburger span:nth-child(2) { width: 0%; opacity: 0; }

nav.menu ul.open .hamburger span:nth-child(3) { -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg); left: 4px; top: 21px; }

nav.menu ul.open li { display: block; padding: 20px; position: relative; margin: 10px 0; }

header { padding: 200px 0 100px; }

header.team { min-height: 100vh; }

header .container { max-width: 1366px; margin: auto; display: flex; align-items: center; justify-content: space-evenly; }

header .container .card { width: 400px; background-color: white; border: 1px solid white; border-radius: 5px; display: flex; flex-direction: column; align-items: center; padding: 50px 25px; text-decoration: none; transition: all .4s ease-in-out; }

header .container .card .img { width: 250px; height: 250px; background-size: contain; background-repeat: no-repeat; background-position: center; }

header .container .card .img.cernvm { background-image: url("../images/cernvm-logo.png"); }

header .container .card .img.cvmfs { background-image: url("../images/cvmfs-logo.png"); }

header .container .card h2, header .container .card h4 { color: #373F51; }

header .container .card h2 { font-weight: 900; padding: 15px 0 10px; font-size: 40px; }

header .container .card h4 { margin-bottom: 30px; font-size: 22px; }

header .container .card .btn { padding: 8px 20px; }

header .container .card .btn span { color: white; }

header .container .card:hover { background: transparent; transition-duration: .35s; }

header .container .card:hover .img.cernvm { background-image: url("../images/cernvm-outline.png"); }

header .container .card:hover .img.cvmfs { background-image: url("../images/cvmfs-outline.png"); }

header .container .card:hover h2, header .container .card:hover h4 { color: white; }

header .container .scroll-down-mouse { position: absolute; bottom: 20px; }

header .container .scroll-down-mouse p { padding-top: 60px; }

header .container .scroll-down-mouse p.text { padding-top: 10px; color: white; }

header .container .scroll-down-mouse p span { position: absolute; top: 0; left: 50%; width: 30px; height: 50px; margin-left: -15px; border: 2px solid white; border-radius: 50px; box-sizing: border-box; }

header .container .scroll-down-mouse p span:before { position: absolute; top: 10px; left: 50%; content: ''; width: 6px; height: 6px; margin-left: -3px; background-color: white; border-radius: 100%; -webkit-animation: scroll 2s infinite; animation: scroll 2s infinite; box-sizing: border-box; }

@-webkit-keyframes scroll { 0% { -webkit-transform: translate(0, 0);
    opacity: 0; }
  40% { opacity: 1; }
  80% { -webkit-transform: translate(0, 20px);
    opacity: 0; }
  100% { opacity: 0; } }

@keyframes scroll { 0% { transform: translate(0, 0);
    opacity: 0; }
  40% { opacity: 1; }
  80% { transform: translate(0, 20px);
    opacity: 0; }
  100% { opacity: 0; } }

section.about .container h3 { text-align: center; font-size: 24px; margin-bottom: 20px; }

section.about .container p { margin-bottom: 50px; line-height: 24px; }

section.about.our-team .team-member { margin-bottom: 25px; }

section.about.our-team .team-member img { display: inline-block; width: 150px; height: auto; border: 6px solid #EDAA96; border-radius: 18px; padding: 10px; }

section.about.our-team .team-member > div { display: inline-block; width: calc(100% - 155px); padding: 10px 25px; vertical-align: top; }

section.about.our-team .team-member > div h3 { text-align: left; }

section.about.our-team .team-member > div p { margin-bottom: 25px; }

section.abouthack h2 { color: white; }

section.abouthack * { color: whitesmoke; }

section.abouthack .container .tabs { margin: 0px; padding: 0px; list-style: none; }

section.abouthack .container .tabs li { background: none; display: inline-block; padding: 10px 15px; cursor: pointer; border-top-right-radius: 5px; border-top-left-radius: 5px; }

section.abouthack .container .tabs li strong { color: #EDCB96; }

section.abouthack .container .tabs li.active { background: #EDCB96; }

section.abouthack .container .tabs li.active strong { color: #373F51; }

section.abouthack .container .tab-content { display: none; background: linear-gradient(#EDCB96, #EDA796); padding: 20px; margin-bottom: 40px; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; line-height: 1.5em; }

section.abouthack .container .tab-content.active { display: inherit; }

section.abouthack .container .tab-content .blog-post { padding: 10px 10px 5px; }

section.abouthack .container .tab-content .blog-post h3.post-title { margin-bottom: 10px; }

section.abouthack .container .tab-content .blog-post .excerpt { padding-bottom: 10px; border-bottom: 1px solid #3740522b; }

section.abouthack .container .tab-content .blog-post:last-child .excerpt { border: none; }

section.abouthack .team-member { margin-bottom: 25px; }

section.abouthack .team-member img { display: inline-block; width: 150px; height: auto; border: 6px solid white; border-radius: 18px; padding: 10px; }

section.abouthack .team-member > div { display: inline-block; width: calc(100% - 155px); padding: 10px 25px; vertical-align: top; }

section.abouthack .team-member > div h3 { text-align: left; }

section.abouthack .team-member > div p { margin-bottom: 25px; }

section.publications h2 { color: white; }

section.publications .container .tabs { margin: 0px; padding: 0px; list-style: none; }

section.publications .container .tabs li { background: none; display: inline-block; padding: 10px 15px; cursor: pointer; border-top-right-radius: 5px; border-top-left-radius: 5px; }

section.publications .container .tabs li strong { color: #EDCB96; }

section.publications .container .tabs li.active { background: #EDCB96; }

section.publications .container .tabs li.active strong { color: #373F51; }

section.publications .container .tab-content { display: none; background: linear-gradient(#EDCB96, #EDA796); padding: 20px; margin-bottom: 40px; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; line-height: 1.5em; }

section.publications .container .tab-content.active { display: inherit; }

section.publications .container .tab-content .blog-post { padding: 10px 10px 5px; }

section.publications .container .tab-content .blog-post h3.post-title { margin-bottom: 10px; }

section.publications .container .tab-content .blog-post .excerpt { padding-bottom: 10px; border-bottom: 1px solid #3740522b; }

section.publications .container .tab-content .blog-post:last-child .excerpt { border: none; }

section.news { padding: 150px 0 50px; }

section.news h2 { color: white; text-align: right; }

section.news .container .btn { position: absolute; bottom: 0; right: 5px; }

section.news .container .slider .slick-list { border-radius: 5px; }

section.news .container .slider .slide { background: linear-gradient(to top, #EDA796, #EDCB96); padding: 30px; }

section.news .container .slider .slide .top { font-size: 0; }

section.news .container .slider .slide .top .title { font-size: 24px; text-decoration: none; font-weight: bold; margin-bottom: 20px; display: inline-block; width: 70%; }

section.news .container .slider .slide .top .title:hover { text-decoration: underline; }

section.news .container .slider .slide .top .date { font-size: 24px; display: inline-block; width: 30%; text-align: right; color: #373F51; }

section.news .container .slider .slide p { color: white; line-height: 24px; margin-bottom: 10px; max-width: 70%; }

section.news .container .slider .slick-dots { align-self: center; list-style: none; margin: 0; padding: 0; display: inline-flex; padding: 16px 0; }

section.news .container .slider .slick-dots button { cursor: pointer; color: transparent; border: 0; outline: none; background: transparent; font-size: 0; padding: 8px; }

section.news .container .slider .slick-dots button::before { content: ''; height: 12px; width: 12px; display: inline-block; border-radius: 20px; border: 2px solid #EDA796; cursor: pointer; transition: all 300ms ease; }

section.news .container .slider .slick-dots li.slick-active button::before { width: 40px; background-color: #EDA796; }

section.support h2 { color: white; text-align: left; }

section.support .container { font-size: 0; }

section.support .container p { font-size: 16px; margin-bottom: 16px; color: white; }

section.support .container a { text-decoration: none; font-size: 16px; color: #EDCB96; }

section.support .container a:hover { text-decoration: underline; }

section.support .container .link { display: inline-block; width: 50%; padding-left: 70px; margin-bottom: 50px; position: relative; }

section.support .container .link::before, section.support .container .link::after { background: linear-gradient(25deg, rgba(255, 255, 255, 0.15) 10%, rgba(255, 255, 255, 0.1) 0% 20%, rgba(255, 255, 255, 0.05) 0% 30%, transparent 30%), linear-gradient(to top, #EDA796, #EDCB96); content: ''; display: block; position: absolute; height: 50px; width: 50px; left: 0; top: 0; border-radius: 50%; }

section.support .container .link.icon-email-at::after { background-image: url("../images/email-at.png"); background-size: 60%; background-repeat: no-repeat; background-position: center; }

section.support .container .link.icon-email-outline::after { background-image: url("../images/email-outline.png"); background-size: 60%; background-repeat: no-repeat; background-position: center; }

section.support .container .link.icon-bug-report::after { background-image: url("../images/bug-report.png"); background-size: 60%; background-repeat: no-repeat; background-position: center; }

section.support .container .text { margin: 50px 0; }

section.support .container .text p { line-height: 24px; }

body.news-list-page { min-height: 100vh; }

body.news-list-page section.news .container { background-color: white; border-radius: 5px; padding: 30px 50px; }

body.news-list-page section.news .container .news { border-bottom: 2px solid #38485b33; }

body.news-list-page section.news .container .news .news-date { font-size: 18px; font-weight: bold; padding: 20px 0 10px; }

body.news-list-page section.news .container .news .news-title a { font-size: 24px; font-weight: 600; color: #EDAA96; text-decoration: none; display: inline-block; padding-bottom: 10px; transition: color .1s ease-in-out; }

body.news-list-page section.news .container .news .news-title a:hover { color: #373F51; }

body.news-list-page section.news .container .news .news-preview { padding: 8px 0; }

body.news-list-page section.news .container .news .read-more a { color: #EDAA96; display: inline-block; padding: 20px 0; transition: color .1s ease-in-out; }

body.news-list-page section.news .container .news .read-more a:hover { color: #373F51; }

section.blog-post { padding: 150px 100px 100px; min-height: 100vh; }

section.blog-post .container { background-color: white; border-radius: 5px; padding: 25px; }

section.blog-post .container h1 { margin: 20px 0; }

section.blog-post .container h2 { all: revert; margin: 10px 0; font-size: 20px; }

@media all and (max-width: 1400px) { nav.menu { padding: 0px 20px; } }

@media all and (max-width: 1400px) { .team { padding: 120px 0; } .team .container .card { width: 300px; padding: 15px; } .team .container .card .img { width: 200px; height: 200px; } }

@media all and (max-width: 1048px) { .team .container .scroll-down-mouse { display: none; } }

@media all and (max-width: 768px) { .team .container .card { width: 250px; } .team .container .card .img { width: 150px; height: 150px; } .team .container .card .card-subtitle { display: none; } .team .container .card .card-title h2 { font-size: 32px; } .team .container .card .btn { padding: 0; } }

@media all and (max-width: 600px) { .team .container { display: block; } .team .container .card { margin: auto; margin-bottom: 20px; } }

/*# sourceMappingURL=main.css.map */