:root { --padded-content-padding: 50px; } html { width: 100vw; overflow-x: hidden; } body { margin: 0; background-color: hsl(0deg 0% 100%) !important; color: hsl(0deg 0% 27%); line-height: normal; max-width: 100vw; } /* -- generic styles -- */ h1, h2, h3 { margin: 10px 0; font-weight: 300; line-height: 1.2; } h1 { font-size: 2em; } h2 { font-size: 1.8em; } p { margin: 10px 0; font-weight: normal; line-height: 1.5; } ul { font-weight: normal; } a { position: relative; cursor: pointer; color: hsl(170deg 47% 33%); &:hover, &:visited { color: hsl(170deg 47% 33%); } &:hover, &:focus { text-decoration: none; } &.arrow { &::after { content: " "; display: inline-block; position: relative; height: 17px; width: 17px; top: 3px; background-image: url("../../images/landing-page/arrow.png"); background-size: 100%; margin-left: 5px; } } &.silver { text-decoration: underline; } } span a:hover, p a:hover, ul a:hover, ol a:hover { text-decoration: underline; } .flex { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; } .float { &.left { float: left; } &.right { float: right; } &.clear { clear: both; } } .small { font-size: 0.8em; } .box-shadow { box-shadow: 0 0 80px hsl(0deg 0% 0% / 12%); } .grey { color: hsl(0deg 0% 60%); } .dark-grey { color: hsl(0deg 0% 40%); } .bold { font-weight: 600; } .padded-content { padding: var(--padded-content-padding); } .clear-float { clear: both; } *::selection { background-color: hsl(31deg 84% 60% / 30%); } .center { text-align: center; } /* -- component styling -- */ .button, button { padding: 5px 12px; font-family: inherit; font-size: 0.7em; background-color: hsl(0deg 0% 100%); color: hsl(0deg 0% 27%); line-height: 20px; border-radius: 4px; border: 1px solid hsl(0deg 0% 80%); outline: none; &:active { background-color: hsl(0deg 0% 98%); border-color: hsl(0deg 0% 73%); } &.green { color: hsl(0deg 0% 100%); background-color: hsl(170deg 47% 53%); border-color: hsl(169deg 45% 43%); &:hover { background-color: hsl(170deg 47% 58%); } &:active { background-color: hsl(170deg 47% 48%); } } &.black-current-value { color: hsl(0deg 0% 20%); background-color: transparent; border-color: hsl(0deg 0% 53%); } } .silver { color: hsl(0deg 0% 100%) !important; opacity: 0.8; &:hover { opacity: 1; } &.bold { font-weight: 600; } } /* -- main panel styling -- */ .main { width: calc(100% - 200px - 20px); margin: 0 auto; } /* -- modify portico.css -- */ .app-main { max-width: none; min-width: 0; padding: 0 !important; } .header { display: none; } /* -- features page css -- */ .portico-landing { position: relative; padding-top: 120px; z-index: 1; &.show { opacity: 1; } &.why-page, &.case-studies-page { /* Move top padding to inner-content for better scroll positions on URL fragments. */ .padded-content { padding-top: 0; } .inner-content { padding-top: var(--padded-content-padding); } } :target { /* Keep elements targeted by URL fragments visible below the floating top menu; coordinate the value here with the menu's height. */ scroll-margin-top: 60px; } } .portico-landing.features-app { position: relative; overflow-x: hidden; padding-top: 0; z-index: 2; .gradients { z-index: -1; } & section { max-width: 1440px; display: flex; flex: 1 1 auto; flex-flow: row wrap; justify-content: space-around; margin: 40px auto; padding: 0 30px; color: hsl(219deg 21% 21%); &.hero { display: flex; align-items: center; justify-content: center; height: 400px; padding: 100px 100px 50px; margin: 0; max-width: none; color: hsl(0deg 0% 100%); background-color: hsl(0deg 0% 0% / 10%); .copy { max-width: 800px; margin: 0 auto; text-align: center; } & h1 { margin: 0; font-size: 3.7em; } & h2 { font-size: 1.8em; margin: 30px auto 0; max-width: 600px; line-height: 1.3; } .image { height: 400px; width: 40%; background-color: hsl(0deg 0% 0% / 5%); } } &.keyboard-shortcuts { display: flex; justify-content: center; align-items: center; position: relative; max-width: none; padding: 50px; /* this should only be a thing if the section above is not white */ margin-top: 0; background-color: hsl(219deg 21% 21%); color: hsl(219deg 76% 93%); & img { &.overflow-wave { width: 685px; right: 0; top: -168px; position: absolute; } &.image { width: 600px; margin-left: 100px; } } & h3 { font-size: 3em; } .feature-block { width: 50%; } & p { font-size: 1.2em; } & a.cta { font-size: 1em; color: hsl(170deg 52% 70%); } } &.messages { display: flex; justify-content: center; align-items: center; margin: 50px auto; padding: 0 50px; .image { width: calc(100% - 500px - 100px); margin: 50px 0 50px 50px; max-width: 500px; } .features { max-width: 500px; & h2 { margin: 0; } .feature-block { display: block; margin: 30px 0; } } } &.notifications { position: relative; padding: 50px 100px; max-width: calc(1000px); background-color: hsl(0deg 0% 100%); border-radius: 10px; box-shadow: 10px 20px 80px hsl(0deg 0% 0% / 15%); margin: 100px auto 150px; text-align: center; .envelope { position: absolute; top: 0; left: 0; width: 100%; max-height: 40vw; } & h2 { position: relative; margin-bottom: 120px; top: 0; } .feature-list { position: relative; display: inline-block; vertical-align: top; text-align: left; margin: 35px 0 0 20px; z-index: 1; & h3 { position: relative; margin: 15px 0 15px 50px; font-size: 1.2em; font-weight: 400; color: hsl(0deg 0% 53%); &::before { content: " "; display: block; position: absolute; left: -35px; top: 0; width: 20px; height: 20px; border-radius: 4px; background-image: url("../../images/checkbox-green.svg"); background-size: 100% auto; background-position: center; background-repeat: no-repeat; } } } .image-block { width: 400px; height: 280px; background: linear-gradient( 135deg, hsl(0deg 0% 0% / 5%), hsl(0deg 0% 0% / 20%) ); border-radius: 4px; background-image: url("../../images/landing-page/features/notifications.jpg"); background-size: contain; background-position: center; background-repeat: no-repeat; display: inline-block; } } .feature-block { display: inline-block; vertical-align: top; } & h2 { font-size: 2.5em; text-align: center; margin: 0 10px; line-height: 1.6; flex: 1 0 100%; } > .feature-block { padding: 10px 20px; flex: 1 1 320px; color: inherit; } & a { &.feature-block { &:hover { box-shadow: 0 3px 10px hsl(0deg 0% 75%); } &:active { box-shadow: 0 3px 10px hsl(0deg 0% 50%); } } } } .cta { &::after { content: "\2192"; margin-left: 5px; transform: scaleX(2); transition: all 0.3s ease; } &:hover { &::after { margin-left: 10px; } } } .feature-block { & h3 { font-size: 1.2em; font-weight: 600; } & p { margin: 0; opacity: 0.8; } } } /* -- hello page -- */ .portico-landing.hello { background-color: transparent; color: hsl(219deg 23% 33%); .hero-buttons { margin-top: 40px; } } .portico-landing.hello .hero { position: relative; padding: 60px 50px 30px; color: hsl(0deg 0% 100%); overflow: hidden; .content { position: relative; z-index: 1; text-align: center; & p { font-weight: 400; opacity: 0.85; } } & header { width: 850px; display: inline-block; text-align: left; & h1 { font-size: 3em; font-weight: 400; text-shadow: 0 0 20px hsl(0deg 0% 100% / 20%); } & p { margin: 30px 0; font-size: 1.5em; font-weight: 300; line-height: 1.4; text-shadow: 0 0 5px hsl(164deg 74% 15% / 30%), 0 0 20px hsl(0deg 0% 100% / 20%); } & a { display: block; margin: 20px auto 0; text-align: center; } & button { margin-top: 0; padding: 12px 20px; background-color: hsl(0deg 0% 100%); border: 2px solid hsl(0deg 0% 100%); font-size: 1.2em; font-weight: 500; color: hsl(148deg 23% 51%); box-shadow: 0 3px 10px hsl(0deg 0% 0% / 20%); transition: all 0.2s ease; &:hover { box-shadow: 0 3px 10px hsl(0deg 0% 100% / 20%); } &:active { box-shadow: 0 3px 20px hsl(0deg 0% 100% / 50%); } } } } .portico-landing.hello .gradients .gradient { position: absolute; left: 0; width: 100%; height: 1100px; &.dark-blue { background: linear-gradient( 10deg, hsl(196deg 58% 14% / 0%) 50%, hsl(196deg 58% 14% / 70%) ); } &.green { background: linear-gradient( -25deg, hsl(156deg 47% 47% / 0%) 40%, hsl(156deg 47% 47%) ); } &.blue { background: linear-gradient( 25deg, hsl(196deg 38% 51% / 0%) 40%, hsl(196deg 38% 51%) ); } &.sunburst { background: linear-gradient( 5deg, hsl(49deg 71% 68% / 0%) 20%, hsl(49deg 71% 68%) ); } &.white-fade { background: linear-gradient( 0deg, hsl(0deg 0% 98%) 0%, hsl(0deg 0% 98% / 0%) 40% ); } } @keyframes waves { 0% { transform: rotate(0); } 50% { transform: rotate(180deg); } 100% { transform: rotate(360deg); } } @keyframes wavesBackward { 0% { transform: rotate(0); } 50% { transform: rotate(-180deg); } 100% { transform: rotate(-360deg); } } /* -- compare css -- */ .compare, .compare-education { background: linear-gradient( 198deg, hsl(170deg 34% 47%), hsl(146deg 31% 60%) ); color: hsl(0deg 0% 100%); .table-container { overflow-x: auto; } .gradients .gradient.white-fade { background: none; } .text-header .text-content h1 { margin-top: 0; } .padded-content { max-width: 900px; margin: 0 auto; position: relative; /* To place the content on top of gradients. */ z-index: 2; } & table { min-width: 550px; padding: 33px; border: 20px solid transparent; width: 100%; text-align: left; border-collapse: collapse; font-weight: 400; color: hsl(0deg 0% 100% / 80%); & thead th { &:last-of-type { width: 120px; } &.uniform { width: 20%; } } & td:not(:first-of-type), th:not(:first-of-type) { text-align: center; } } & thead { border-bottom: 3px solid hsl(0deg 0% 0% / 10%); & th { font-weight: 600; padding: 15px 0; font-size: 18px; color: hsl(0deg 0% 100%); &.normal { font-weight: normal; color: inherit; } &:nth-of-type(1) { width: 28%; background-color: hsl(222deg 24% 31%); } &:nth-of-type(2) { width: 18%; background-color: hsl(187deg 94% 20%); } &:nth-of-type(3), &:nth-of-type(4), &:nth-of-type(5), &:nth-of-type(6) { width: 18%; background-color: hsl(162deg 67% 25%); } } } .gradients { position: static; } & tbody tr { border-bottom: 1px solid hsl(360deg 0% 100% / 3%); & td { padding: 10px 0; &:nth-of-type(1) { background-color: hsl(222deg 20% 40%); } &:nth-of-type(2) { background-color: hsl(186.9deg 90.3% 28.4%); } &:nth-of-type(3), &:nth-of-type(4), &:nth-of-type(5), &:nth-of-type(6) { background-color: hsl(162deg 44% 38%); } &.no { text-align: center; } &.yes::before { content: " "; display: inline-block; width: 27px; height: 27px; background-image: url("../../images/landing-page/checkmark.png"); background-size: 100% auto; } &.no::before { content: "\d7"; position: relative; display: inline-block; top: 3px; font-size: 2.5rem; font-weight: 500; line-height: 0.9; opacity: 0.4; } & a { font-size: 0.9rem; font-weight: 400; text-transform: uppercase; } } } & p { font-weight: 300; } .terms { margin-top: 30px; font-weight: 400; font-size: 0.7em; line-height: 1.2; color: hsl(0deg 24% 23%); & a { color: hsl(170deg 47% 73%); } } } .compare-education { color: hsl(0deg 0% 0%); background: none; & table { min-width: 650px; .number { font-weight: 800; &.one { color: hsl(0deg 0% 100% / 40%); } } & td:first-of-type { padding: 10px 10px 10px 0; } } } /* -- faq css -- */ .faqs { position: relative; background-color: hsl(0deg 0% 98%); .padded-content { position: relative; z-index: 1; } & header { max-width: 700px; margin: 0 auto; & h1 span { vertical-align: top; } } .faq { margin: 50px auto; max-width: 700px; font-size: 1.2em; color: hsl(223deg 6% 25%); .question { font-weight: 600; color: hsl(222deg 20% 40%); font-size: 1.1em; } .answer { margin: 20px 0 0; font-weight: 400; } } /* the last faq in the box shouldn't have an extra 50px of margin. */ .faq-box div:last-of-type { margin-bottom: 10px; } .faq-header-link { color: hsl(0deg 0% 0%); &:hover { text-decoration: underline; } } } .screen { .line { width: 100%; height: 6px; margin: 8px 0; background-color: hsl(0deg 0% 93%); border-radius: 3px; &.small { width: 60%; } &.micro { display: inline-block; vertical-align: top; width: 15%; } &.nano { display: inline-block; vertical-align: top; width: 10%; } &.med { width: 80%; } &.red { background-color: hsl(350deg 42% 77%); } &.blue { background-color: hsl(193deg 42% 77%); } &.green { background-color: hsl(119deg 42% 77%); } &.orange { background-color: hsl(30deg 42% 77%); } } .top { .avatar { display: inline-block; vertical-align: top; width: 20px; height: 20px; background-color: hsl(0deg 0% 73%); border-radius: 4px; } .top-line { display: inline-block; vertical-align: top; width: 50px; margin-top: 0; background-color: hsl(0deg 0% 73%); } } .navbar { background-color: hsl(170deg 48% 54%); padding: 10px; } .center-page { height: 100%; position: relative; overflow: hidden; .message-feed { height: calc(100% - 20px); margin-top: 20px; transition: all 0.1s ease; } } .message-feed { .message .content { margin-left: 24px; position: relative; top: -15px; } .stream { padding: 3px 5px 0; margin: 0 5px; background-color: hsl(0deg 0% 100%); border-radius: 4px; box-shadow: 0 0 15px hsl(0deg 0% 0% / 1%); } } } .portico-landing.hello .screen { position: relative; margin: -300px auto 0; width: 600px; height: 350px; padding: 10px 30px; border-radius: 12px; box-shadow: 0 0 50px hsl(0deg 0% 0% / 20%); background-color: hsl(0deg 0% 27%); z-index: 1; &::before { content: " "; position: absolute; top: calc(50% - 5px); left: 20px; width: 10px; height: 10px; border-radius: 5px; background-color: hsl(0deg 0% 13%); } &::after { content: " "; position: absolute; top: calc(50% - 12.5px); right: 8px; width: 25px; height: 25px; border-radius: 13px; background-color: hsl(0deg 0% 73%); } .main-page { display: inline-block; height: calc(100% - 30px); width: calc(100% - 30px); margin: 10px; border: 5px solid hsl(0deg 0% 13%); border-radius: 4px; background-color: hsl(0deg 0% 98%); } } .portico-landing.hello .features { padding: 50px 0 100px; background-color: hsl(0deg 0% 100%); } .portico-landing.hello .open-source { text-align: center; position: relative; z-index: 1; background-color: hsl(217deg 22% 93%); .flex { min-height: 0; padding: 50px 0; } & img { margin: 0 2%; width: 28%; max-width: 500px; display: inline-block; } .il-block { display: inline-block; vertical-align: top; width: 50%; max-width: 700px; text-align: left; } & h2 { font-weight: normal; } } .carousel.carousel-fade .carousel-inner { .item { display: block; opacity: 0; height: 0; transition: opacity 0.4s ease; visibility: hidden; &.active { opacity: 1; height: auto; visibility: visible; &.left, &.right { left: 0; opacity: 0; z-index: 2; } } &.next.left, &.prev.right { opacity: 1; z-index: 1; } } .item-inner { position: relative; } .next.left .item-inner, .prev.right .item-inner { padding: 30px 20px; } } .portico-landing .tour { color: hsl(0deg 0% 0%); width: 1200px; max-width: 100%; margin: 0 auto; } .tour .carousel-inner .item-container { width: 80%; height: 520px; margin: 20px auto; padding: 30px 20px; background: linear-gradient( hsl(220deg 20% 97% / 40%), hsl(220deg 20% 97% / 90%) ); border-radius: 12px; box-shadow: 0 3px 10px hsl(0deg 0% 0% / 2%); position: relative; } .tour .carousel-inner .start-button { padding: 11px 25px; font-size: 1.2rem; font-weight: 400; color: hsl(0deg 0% 100%); background: linear-gradient( 145deg, hsl(191deg 56% 55%), hsl(169deg 65% 42%) ); box-shadow: 0 3px 10px hsl(0deg 0% 0% / 20%); border: 0; position: absolute; left: 50%; margin-left: -100px; top: 50%; margin-top: -25px; width: 200px; height: 50px; z-index: 10; &:hover { background-color: hsl(169deg 65% 42%); box-shadow: 0 3px 10px hsl(0deg 0% 0% / 30%); } } .tour .carousel-inner .start-image { position: relative; margin: 0 auto; display: block; width: 100%; max-width: 100%; border: 1px solid hsl(0deg 0% 87%); opacity: 0.4; } .tour .carousel-inner .tour-item-header { margin: 0 0 30px 54px; max-width: 700px; font-size: 1.3em; text-align: left; } .tour .carousel-inner .tour-item-header-top-push { margin-top: 40px; } .tour .carousel-inner .tour-item-header-centered { text-align: center; margin-left: auto; margin-right: auto; } .tour .carousel-inner .zulip-slack-comparison { display: flex; text-align: left; width: 850px; max-width: 100%; margin: 20px auto 0; position: relative; .comparison-zulip { width: 500px; } .comparison-slack { width: 300px; } & img { max-width: 100%; &.zulip-streams-selected { width: 320px; border: 0; } &.slack-streams-selected { width: 200px; } &.zulip-unreads-arrows { width: 406px; border: 0; } &.slack-stream-unreads { width: 200px; } } .caption { text-align: left; font-weight: bold; margin-bottom: 10px; } } .tour .carousel-inner img { border: 1px solid hsl(210deg 8% 95%); &.centered-image { display: block; margin: 0 auto; } &.zulip-streams { width: 200px; } &.slack-streams { width: 200px; } &.zulip-topic { margin: -10px 0 0 50px; width: 800px; } &.slack-overwhelming { border: none; width: 750px; margin: -30px 0 0 50px; } &.zulip-easy { border: none; width: 700px; margin-left: 50px; } } .tour .carousel-inner .mobile-hide, .tour .carousel-inner img.mobile-hide, .tour .carousel-inner img.centered-image.mobile-hide { display: block; } .tour .carousel-inner .mobile-show, .tour .carousel-inner img.mobile-show, .tour .carousel-inner img.centered-image.mobile-show { display: none; } .tour .carousel-inner .comparison-slack img { margin: 0; } .tour .carousel-inner .other-resources { text-align: left; margin: 30px auto; max-width: 600px; .other-resources-section { display: inline-block; width: 48%; text-align: center; vertical-align: top; & img { border: 0; display: block; margin: 0 auto; } } } .tour .carousel-inner .call-to-action { display: inline-block; margin: 40px auto; padding: 11px 25px; font-size: 1.2rem; line-height: 20px; font-weight: 400; color: hsl(0deg 0% 100%); background: linear-gradient( 145deg, hsl(191deg 56% 55%), hsl(169deg 65% 42%) ); box-shadow: 0 3px 10px hsl(0deg 0% 0% / 20%); border-radius: 4px; &:hover { background-color: hsl(169deg 65% 42%); box-shadow: 0 3px 10px hsl(0deg 0% 0% / 30%); } } .tour .carousel-control { background: 0; border: 0; color: hsl(223deg 13% 52%); font-size: 2em; top: 50%; font-weight: 400; opacity: 1; border-radius: 0; &:hover { color: hsl(220deg 23% 33%); } &.right { right: 40px; } &.left { left: 40px; } } .carousel-indicators { margin: 20px 0 0; display: flex; justify-content: center; padding-left: 0; list-style: none; position: relative; top: auto; right: auto; & li { position: relative; flex: 0 1 auto; width: 10px; height: 10px; border-radius: 10px; margin-right: 10px; margin-left: 10px; text-indent: -999px; cursor: pointer; background-color: hsl(222deg 12% 66%); transition: background 0.1s ease; &::before { position: absolute; top: -10px; left: 0; display: inline-block; width: 100%; height: 10px; content: ""; } &::after { position: absolute; bottom: -10px; left: 0; display: inline-block; width: 100%; height: 10px; content: ""; } &.active { background-color: hsl(220deg 23% 33%); } } } .portico-landing .testimonials { color: hsl(0deg 0% 100%); background-color: hsl(168deg 43% 24%); } .portico-landing .testimonials .text-header .text-content { float: left; } .portico-landing .testimonials .quote-container { width: 98%; margin: 30px auto 20px; padding-left: 2%; font-size: 1.2rem; } .portico-landing .testimonials .carousel { min-height: 250px; } .portico-landing .testimonials .carousel-quotes { width: 60%; margin: auto; } .portico-landing .testimonials .carousel-inner { width: 100%; left: -2%; } .portico-landing .testimonials .fa-chevron-left, .portico-landing .testimonials .fa-chevron-right { color: hsl(0deg 0% 100%); opacity: 0.5; position: absolute; font-size: 36px; top: 40%; } .portico-landing .testimonials .fa-chevron-right { right: 10%; } .portico-landing .testimonials .fa-chevron-left { left: 10%; } .portico-landing .testimonials .fa-chevron-left:hover, .portico-landing .testimonials .fa-chevron-right:hover { opacity: 1; } .portico-landing .testimonials blockquote::before { content: "“"; margin-left: -10px; margin-right: -3px; } .portico-landing .testimonials blockquote::after { content: "”"; } .portico-landing .testimonials blockquote + cite { display: block; margin-top: 5px; margin-bottom: 30px; color: hsl(0deg 0% 100%); opacity: 0.7; font-weight: 400; font-style: normal; } .portico-landing .testimonials blockquote { padding: 0; font-weight: 400; line-height: 1.6; text-align: left; border: none; opacity: 0.8; } .portico-landing .testimonials hr { width: 60%; margin: 0 auto; border: none; border-bottom: 1px solid hsl(0deg 0% 100% / 20%); } .portico-landing .testimonials .company-container { width: 60%; margin: 30px auto; text-align: left; } .portico-landing .testimonials .company-box { margin-top: 20px; } .portico-landing .testimonials .company-container header h2 { font-weight: 400; font-size: 1.5em; } .portico-landing .testimonials .company-container header .arrow { margin-top: 12px; font-weight: normal; } .portico-landing .testimonials .company-box .company { display: inline-block; margin: 10px 20px; height: 60px; width: calc(25% - 44px); background-color: hsl(0deg 0% 67%); background-size: contain; background-position: center; background-repeat: no-repeat; } /* -- company logos -- */ .portico-landing .testimonials .company-box .company.akamai { background-image: url("../../images/landing-page/logos/akamai.png"); background-color: transparent; } .portico-landing .testimonials .company-box .company.doctorondemand { background-image: url("../../images/landing-page/logos/doctorondemand.png"); background-color: transparent; } .portico-landing .testimonials .company-box .company.layershift { background-image: url("../../images/landing-page/logos/layershift.png"); background-color: transparent; } .portico-landing .testimonials .company-box .company.recurse { background-image: url("../../images/landing-page/logos/recurse.png"); background-color: transparent; } .portico-landing .testimonials .company-box .company.panjiva { background-image: url("../../images/landing-page/logos/panjiva.png"); background-color: transparent; } .portico-landing .testimonials .company-box .company.cmt { background-image: url("../../images/landing-page/logos/cambridge-mobile-telematics.png"); background-color: transparent; } .portico-landing .testimonials .company-box .company.levelup { background-image: url("../../images/landing-page/logos/levelup.png"); background-color: transparent; } .portico-landing .testimonials .company-box .company.mariadb { background-image: url("../../images/landing-page/logos/mariadb.png"); background-color: transparent; } .portico-landing .testimonials .company-box .company.wikimedia-outreach { background-image: url("../../images/landing-page/logos/wikimedia-outreach.png"); background-color: transparent; } .portico-landing .testimonials .company-box .company.mixxx { background-image: url("../../images/landing-page/logos/mixxx.png"); background-color: transparent; height: 45px; } .portico-landing.hello .apps { position: relative; padding: 200px 80px 100px; margin-top: -50px; background: linear-gradient( 145deg, hsl(191deg 56% 55%), hsl(169deg 65% 42%) ); color: hsl(0deg 0% 100%); } .portico-landing.hello .apps .triangle { position: absolute; top: 0; left: 0; width: 0; height: 0; border-style: solid; border-width: 150px 100vw 0 0; border-color: hsl(0deg 0% 98%) transparent transparent transparent; } .portico-landing.hello .apps .arrow { color: hsl(0deg 0% 100%); font-weight: 400; } .portico-landing.hello .apps .arrow::before { background-color: hsl(0deg 0% 100%); } .portico-landing.hello .apps .left-side, .portico-landing.hello .apps .right-side { display: inline-block; vertical-align: top; } .portico-landing.hello .apps .left-side { width: calc(60% - 4px); } .portico-landing.hello .apps .right-side { width: calc(40% - 4px); text-align: center; } .portico-landing.hello .apps .left-side .content { width: 650px; margin: 50px auto; } .portico-landing.hello .apps .left-side .platform-icons { text-align: center; } .portico-landing.hello .apps .left-side .platform-icons .group h2 { font-size: 1.5em; } .portico-landing.hello .apps .left-side .platform-icons .group { display: inline-block; vertical-align: top; margin: 0 30px; text-align: center; } .portico-landing.hello .apps .left-side .platform-icons .group a { color: inherit; } .portico-landing.hello .apps .left-side .platform-icons .group i { display: inline-block; width: 80px; font-size: 3.5em; opacity: 0.8; } .portico-landing.hello .apps .left-side .platform-icons .group i:hover { opacity: 1; } .portico-landing.hello .apps .arrow::after { filter: brightness(4) saturate(0); } .portico-landing.hello .integrations { padding: 80px; } .portico-landing.hello .integrations .content { margin-left: 50px; } .portico-landing.hello .integrations .integration-icons { width: 100%; margin: 20px 0; text-align: center; } .portico-landing.hello .integrations .integration-icons .group { display: inline-block; vertical-align: top; width: 155px; height: 220px; padding: 0 5px; transition: all 0.3s ease; margin: 10px 5px; color: hsl(219deg 23% 33%); border-radius: 5px; border: 1px solid hsl(206deg 44% 93%); } .portico-landing.hello .integrations .integration-icons .group:hover { border: 1px solid hsl(170deg 47% 53%); } .portico-landing.hello .integrations .integration-logo { margin-top: 20px; width: 80px; } .portico-landing.hello .integrations .integration-name { margin-top: 20px; font-size: 22px; font-weight: 400; } .portico-landing.hello .integrations .integration-description { width: 120px; margin: 0 auto 20px; font-weight: 400; font-size: 14px; } .portico-landing.hello .call-to-action-bottom { position: relative; padding: 50px 100px 0; @media (width <= 768px) { padding: 50px 10px 0; } margin-top: 0; } .portico-landing.hello .call-to-action-bottom .styled-button { display: table; margin: 20px auto 0; padding: 10px 20px; font-size: 1em; font-weight: 600; } .portico-landing.hello .call-to-action-bottom h1 { text-align: center; margin-top: 20px; } .portico-landing.hello .call-to-action-bottom .zulip-octopus { margin: 15px auto 50px; width: 32px; height: 30px; background-image: url("../../images/landing-page/zulip-octopus.png"); background-size: cover; filter: invert(0.9); } /* -- apps page -- */ .portico-landing.apps { padding-top: 0; } .portico-landing.apps .main, .portico-landing.features-app .main { background-color: hsl(0deg 0% 100%); } .portico-landing.apps .hero { position: relative; padding: 100px 50px 50px; background: linear-gradient( 35deg, hsl(197deg 100% 16%), hsl(166deg 45% 49%) ); height: 600px; color: hsl(0deg 0% 100%); overflow: hidden; } .portico-landing.apps .hero .inner-content { max-width: 1600px; margin: 0 auto; } .portico-landing.apps .hero h1 { font-size: 3em; margin-bottom: 0; margin-top: 0; } .portico-landing.apps .hero #waves { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url("../../images/landing-page/apps/waves.svg"); background-size: cover; background-repeat: no-repeat; } .portico-landing.apps .hero .info, .portico-landing.apps .hero .image { position: relative; width: 50%; float: left; height: 100%; z-index: 1; } .portico-landing.apps .hero .image img { border-radius: 4px 4px 0 0; } .portico-landing.apps .hero .info .cta { text-shadow: 0 0 60px hsl(0deg 0% 0% / 30%); max-width: 600px; } .portico-landing.apps .hero .image img.app-screenshot-mobile { height: 85%; } .portico-landing.apps .hero .info .flex, .portico-landing.apps .hero .image .flex { height: 500px; min-height: 0; } .portico-landing.apps .hero .info .flex { width: 90%; } .portico-landing.apps .hero .info .button { display: inline-block; padding: 10px 20px; font-size: 1em; font-weight: 600; } .portico-landing.apps .other-apps { background-color: hsl(0deg 0% 100%); padding: 50px 50px 120px; text-align: center; } .portico-landing.apps .other-apps h2 { width: 600px; margin: 0 auto; text-align: center; } .portico-landing.apps .other-apps .apps { display: inline-block; margin: 50px 0 0; } .portico-landing.apps .other-apps .apps .icon { vertical-align: top; width: 50px; padding: 18px 30px; border-radius: 70px; /* Reset color since we don't want default link styling. */ color: hsl(0deg 0% 27%); font-size: 3em; text-align: center; transition: all 0.2s ease; } .portico-landing.apps .other-apps .apps .icon:hover { background: linear-gradient(-45deg, hsl(0deg 0% 83%), hsl(0deg 0% 98%)); } .portico-landing.apps .other-apps .apps .icon.fa-mobile-phone { font-size: 4em; padding: 14px 30px; } .portico-landing.apps .other-apps .apps .icon.fa-terminal { padding: 12px 30px; } .portico-landing.apps .other-apps .apps .icon.fa-mobile-phone::after { margin-top: 1px; } .portico-landing.apps .other-apps .apps .icon::after { content: attr(data-label); display: block; font-size: 0.8rem; font-weight: 600; font-family: "Source Sans 3", sans-serif; margin-top: 10px; } .download-from-google-play-store img { height: 42px; padding: 15px 0; } .download-from-apple-app-store img { height: 42px; padding: 15px 0; } /* -- /for/open-source/ -- */ .portico-landing.why-page { padding-top: 0; color: hsl(223deg 6% 25%); } .portico-landing.why-page .main { max-width: 800px; } .portico-landing.why-page .hero { padding: 200px 50px 100px; @media (width < 900px) { padding: 200px 0 100px; } &.empty-hero { padding: 50px 50px 70px; } background-color: hsl(153deg 32% 55%); color: hsl(0deg 0% 100%); } .portico-landing.why-page .hero.small-hero { padding: 120px 50px 30px; } .portico-landing.why-page .hero h1 { position: relative; margin: 0 0 20px; font-size: 3.5em; font-weight: 300; } .portico-landing.why-page .hero p { width: 70%; margin: 0 auto; font-size: 1.3em; text-align: center; opacity: 0.9; } .portico-landing.why-page .markdown { font-size: 1.1rem; } .portico-landing.why-page .main blockquote { background-color: hsl(0deg 0% 100%); border-color: hsl(168deg 24% 51%); padding: 20px 30px; margin-top: 20px; font-size: 1.05em; & p { line-height: 1.5; margin: 0; font-weight: 400; color: hsl(220deg 23% 33%); } & p:last-child { margin-top: 10px; } } .portico-landing.why-page .main img { display: block; margin: 0 auto; max-width: 100%; box-shadow: none; border: none; } .portico-landing.why-page .main .slack-image { width: 500px; } .portico-landing.why-page .main .zulip-topics-image { width: 300px; } .portico-landing.why-page .main .zulip-reply-later-image { width: 600px; } .portico-landing.why-page .photo-description { position: relative; top: 10px; /* Place in padding gap below photo */ height: 0; font-size: 0.8em; font-weight: normal; line-height: 100%; color: hsl(0deg 0% 53%); } .portico-landing.why-page .team h2 { margin-top: 20px; } .portico-landing.why-page .bg-events { position: relative; background-image: url("../../images/landing-page/events/for-events.jpg"); background-size: cover; background-position: center; } .portico-landing.why-page .bg-education { position: relative; background-image: url("../../images/landing-page/education/for-education-cover.jpg"); background-size: cover; background-position: center; } .portico-landing.why-page .bg-companies { position: relative; background-image: url("../../images/landing-page/education/companies-laptop.jpg"); background-size: cover; background-position: center; .bg-dimmer { background-color: hsl(224deg 52% 12% / 75%); } } .portico-landing.why-page .bg-pycon { position: relative; background-image: url("../../images/landing-page/pycon.jpg"); background-size: cover; background-position: center; } .portico-landing.why-page .bg-pycon.drone { background-image: url("../../images/landing-page/pycon-drone.jpg"); } .portico-landing.why-page .bg-pycon.mit { background-image: url("../../images/landing-page/mit-lobby-7.jpg"); } .portico-landing.why-page .bg-pycon.security { background-image: url("../../images/landing-page/security.jpg"); } .portico-landing.why-page .bg-pycon.why-zulip { background-image: url("../../images/landing-page/why-zulip/why-zulip-threads.jpg"); } .portico-landing.why-page .bg-dimmer { position: absolute; width: 100%; height: 100%; top: 0; left: 0; background-color: hsl(224deg 52% 12% / 70%); z-index: 0; } .portico-landing.why-page .bg-pycon .content { position: relative; z-index: 1; } .portico-landing.why-page .testimonials { background-color: hsl(168deg 43% 24%); color: hsl(0deg 0% 100%); margin-bottom: 40px; } .portico-landing.why-page .testimonials .quote-container { width: 98%; margin: 30px auto 20px; padding-left: 2%; font-size: 1.2rem; } .portico-landing.why-page .testimonials .carousel-quotes { width: 60%; margin: auto; } .portico-landing.why-page .testimonials .carousel-inner { width: 100%; left: -2%; } .portico-landing.why-page .testimonials blockquote::before { content: "“"; margin-left: -10px; margin-right: -3px; } .portico-landing.why-page .testimonials blockquote::after { content: "”"; } .portico-landing.why-page .testimonials blockquote + cite { display: block; margin-top: 5px; margin-bottom: 30px; color: hsl(0deg 0% 100%); opacity: 0.7; font-weight: 400; line-height: 140%; } .portico-landing.why-page .testimonials blockquote { padding: 0; font-weight: 400; line-height: 1.6; text-align: left; border: none; opacity: 0.8; } /* -- hello page styling -- */ .portico-landing.hello .apps .screen { display: inline-block; margin: 0 10px; text-align: left; } .portico-landing.hello .apps .screen.ios { width: 200px; height: 350px; padding: 30px 0; border-radius: 20px; transform: translateY(50px); background-color: hsl(0deg 0% 100%); } .portico-landing.hello .apps .screen.android { width: 200px; height: 370px; padding: 10px 0 30px; border-radius: 20px; transform: translateY(-110px); background: linear-gradient( 90deg, hsl(0deg 0% 27%) 0%, hsl(0deg 0% 33%) 8%, hsl(0deg 0% 33%) 92%, hsl(0deg 0% 27%) 100% ); } .portico-landing.hello .apps .screen .center-page { height: calc(100% - 20px); } .portico-landing.hello .apps .screen .center-page .message-feed { margin-top: 10px; } .portico-landing.hello .apps .screen.ios::before { top: 17px; left: calc(50% - 20px); width: 40px; height: 5px; background-color: hsl(0deg 0% 80%); } .portico-landing.hello .apps .screen.ios::after { top: auto; bottom: 7px; left: calc(50% - 12.5px); background-color: hsl(0deg 0% 80%); } .portico-landing.hello .apps .screen.android::before { content: none; } .portico-landing.hello .apps .screen.android::after { top: auto; bottom: 10px; left: calc(50% - 17.5px); border-radius: 8px; background-color: hsl(0deg 0% 13%); width: 35px; height: 20px; } .portico-landing.hello .apps .screen.ios .main-page { border-color: hsl(0deg 0% 87%); } .portico-landing.hello .apps .screen.android .main-page { border-color: hsl(0deg 0% 13%); } /* -- gradients -- */ .gradients { width: 100%; position: absolute; top: 0; z-index: 1; } .gradients .gradient { position: absolute; left: 0; width: 100%; height: 1100px; } .gradients .gradient.dark-blue { background: linear-gradient( 10deg, hsl(196deg 58% 14% / 0%) 50%, hsl(196deg 58% 14% / 70%) ); } .gradients .gradient.green { background: linear-gradient( -25deg, hsl(156deg 47% 47% / 0%) 40%, hsl(156deg 47% 47%) ); } .gradients .gradient.blue { background: linear-gradient( 25deg, hsl(196deg 38% 51% / 0%) 40%, hsl(196deg 38% 51%) ); } .gradients .gradient.sunburst { background: linear-gradient( 5deg, hsl(49deg 71% 68% / 0%) 20%, hsl(49deg 71% 68%) ); } .gradients .gradient.white-fade { background: linear-gradient( 0deg, hsl(0deg 0% 100%) 0%, hsl(0deg 0% 98% / 0%) 40% ); } /* -- pricing css -- */ .portico-landing.plans .main { width: 100%; } .portico-landing.plans .main .padded-content > h1 { text-align: center; font-size: 2.5em; margin: 0; color: hsl(0deg 0% 100%); } .portico-landing.plans .main .padded-content > h2 { text-align: center; font-size: 1.5em; margin-bottom: 50px; color: hsl(0deg 0% 100%); } .pricing-model .pricing-container { text-align: center; } .pricing-model .pricing-container .block { display: inline-block; margin: 40px 20px 20px; } .pricing-model .pricing-container .block .plan-title { padding: 10px; margin-bottom: 3px; color: hsl(0deg 0% 100%); font-size: 2em; font-weight: 300; } .pricing-model .pricing-container .price-box { position: relative; display: inline-block; vertical-align: bottom; margin: 0; width: 300px; height: 500px; box-shadow: 0 0 10px hsl(0deg 0% 0% / 10%); text-align: left; background-color: hsl(0deg 0% 100%); transition-property: all; transition-duration: 0.3s; transition-timing-function: ease; } .pricing-model .pricing-container .text-content { margin: 18px; } .pricing-model .padded-content .text-header .text-content h1 { margin-top: 0; } .pricing-model .pricing-container .text-content h2 { font-size: 1.5em; font-weight: 400; margin-bottom: 0; text-align: left; } .pricing-model .pricing-container hr { border: none; border-bottom: 2px solid hsl(170deg 47% 53%); margin: 15px 0; } .pricing-model .pricing-container .text-content .description { font-size: 0.9em; font-weight: 400; color: hsl(0deg 0% 53%); } .pricing-model .pricing-container ul.feature-list { list-style: none; padding: 0; margin: 0; } .pricing-model .pricing-container ul.feature-list li { position: relative; padding: 10px 0 10px 25px; font-size: 0.9em; font-weight: 500; } .pricing-model .pricing-container ul.feature-list li::before { content: " "; position: absolute; top: 10px; left: 0; width: 20px; height: 18px; background-image: url("../../images/checkbox-green.svg"); background-size: contain; background-position: center; background-repeat: no-repeat; filter: invert(0.3); } .pricing-model .pricing-container .bottom { position: absolute; bottom: 0; width: 100%; height: 150px; background-color: hsl(0deg 0% 93%); } .pricing-model .pricing-container .text-content .price::before { content: "$"; position: relative; vertical-align: top; top: 7px; left: -3px; font-size: 2rem; font-weight: 300; color: hsl(0deg 0% 53%); } .pricing-model .pricing-container .text-content .price { display: inline-block; margin-right: 2px; font-size: 3.5em; font-weight: 600; line-height: 0.8; margin-top: 4px; } .pricing-model .pricing-container .bottom .details { display: inline-block; vertical-align: top; margin-left: 8px; margin-top: 4px; font-size: 0.9em; font-weight: 400; color: hsl(0deg 0% 53%); text-align: left; white-space: nowrap; } .pricing-model .pricing-container .bottom .button { margin-top: 24px; display: block; text-align: center; font-size: 0.9em; transition: all 0.3s ease; } .pricing-model .pricing-container .price-box:focus { outline: none; } .pricing-model .pricing-container .price-box:focus .button { box-shadow: 0 0 25px hsl(169deg 48% 60%); animation: box-shadow-pulse 2s infinite; } .pricing-model .pricing-container .text-content .standard-price-box { display: flex; height: 55px; .pricing-period { color: hsl(0deg 0% 27%); } } .pricing-model .pricing-container .text-content .price .price-cents { font-size: 0.4em; vertical-align: top; position: relative; top: 6px; } .plans_faq_questions { background: transparent; padding: 20px 0; margin: auto; &.plans_top_faq { font-size: 17px; font-weight: 400; color: hsl(0deg 0% 53%); padding-top: 0; & p { padding: 10px; } & p:first-child { margin-top: -20px; } & p:last-child { margin-bottom: 30px; } } & p { width: 80%; margin: auto; text-align: center; @media (width <= 1100px) { text-align: left; } } } .text-content .pricing-details { padding: 15px 0; height: 25px; font-weight: 400; color: hsl(0deg 0% 53%); font-style: italic; text-align: center; &.multi-line { padding: 5px 0 25px; } } .portico-landing.jobs h2 { line-height: 1.4; margin: 20px 0 5px; } .portico-landing.jobs h3 { line-height: 1.4; margin: 20px 0 7px; } .portico-landing.jobs .how-we-work { padding-top: 25px; } .portico-landing.jobs .what-were-building { background-color: hsl(217deg 22% 93%); } @keyframes box-shadow-pulse { 0% { box-shadow: 0 0 0 hsl(170deg 47% 60%); } 50% { box-shadow: 0 0 25px hsl(170deg 47% 60% / 80%); } 100% { box-shadow: 0 0 0 hsl(170deg 47% 60%); } } /* -- media queries -- */ @media (width <= 1426px) { .portico-landing.hello .integrations .integration-icons .hide-1 { display: none; } .portico-landing.integrations .integration-categories-sidebar { padding-left: 30px; } .portico-landing.integrations .integration-lozenge { width: 135px; } } @media (width <= 1390px) { .portico-landing.plans .pricing-container .block:not(:first-child) .responsive-title { color: inherit; } } @media (width <= 1376px) { .portico-landing.plans .price-box { margin: 20px; } } @media (width >= 1296px), (687px <= width <= 985px) { /* while there are nine, show only two rows of four. */ .portico-landing .testimonials .company-box > div:last-of-type { display: none; } } @media (width <= 1295px) { .portico-landing.hello .apps .right-side { display: none; } .portico-landing.hello .apps .left-side { width: 100%; } .portico-landing.hello .integrations .content { max-width: 750px; margin: 0 auto; } .portico-landing.hello .integrations .integration-icons { max-width: 600px; margin: 0 auto; } .portico-landing.hello .apps .left-side .content { margin: 0 auto 50px; } .portico-landing .testimonials .company-box .company { width: calc(33% - 44px); } } @media (width <= 1100px) { .tour .carousel-inner img { &.zulip-topic, &.slack-overwhelming, &.zulip-easy { width: 85%; left: 0; margin-left: auto; margin-right: auto; } } .tour .carousel-inner .tour-item-header { margin: 0 0 30px; } .tour .carousel-control { &.right { right: 20px; } &.left { left: 20px; } } .tour .carousel-inner .zulip-slack-comparison { width: 650px; max-width: 100%; .comparison-zulip { width: 450px; } .comparison-slack { width: 200px; } } } @media (width <= 1024px) { .portico-landing.hello .gradients .gradient { height: 1400px; } .portico-landing { padding-top: 170px; } .portico-landing.features-app { & section { &.messages { display: block; text-align: center; > * { display: inline-block; text-align: left; } .image { width: 100%; margin: 0; } } } } .portico-landing.plans .compare .padded-content { width: auto; } } @media (width <= 985px) { .features .feature-box .text-content { width: 100%; height: auto; margin-bottom: 20px; } .features .feature-box .image { float: none; width: 100%; margin: 0; } .features .text-content .flex { display: block; } .portico-landing.apps .main { width: 100%; margin: 0; } .portico-landing .testimonials .carousel-quotes { width: 100%; } .portico-landing .testimonials .fa-chevron-right { right: -40px; } .portico-landing .testimonials .fa-chevron-left { left: -40px; } .screen .message-feed .message .content { top: -12px; } .portico-landing.hello .apps, .portico-landing.hello .integrations { padding: 200px 50px 80px; } .portico-landing.hello .apps .left-side .content { width: 100%; text-align: center; } .portico-landing.hello .integrations { width: 100%; padding: 80px 0; } .portico-landing.hello .integrations .content { padding: 0 50px; } .portico-landing .testimonials hr, .portico-landing .testimonials .company-container { width: 100%; } .portico-landing .testimonials .company-box .company { width: calc(25% - 44px); } .tour .carousel-inner img { &.slack-overwhelming, &.zulip-easy { width: 80%; left: 0; } } .portico-landing.hello .hero { & header { width: calc(100% - 50px); } } } @media (width <= 906px) { .portico-landing.features-app { & section { &.notifications { padding: 50px 10px; .image-block { display: none; } } } } .portico-landing .testimonials .quote-container { width: 96%; padding-left: 4%; } .portico-landing .testimonials .carousel-inner { left: -4%; } } @media (width <= 830px) { .portico-landing.hello .apps .left-side .platform-icons .group { margin: 50px 30px; display: block; } .portico-landing.hello .tour .carousel-inner .item-container { width: 85%; } .tour .carousel-control { font-size: 1.2em; &.right { right: -10px; } &.left { left: -10px; } } .tour .carousel-inner .zulip-slack-comparison { width: 100%; .comparison-zulip { width: 65%; } .comparison-slack { width: 35%; } } .tour .carousel-inner .tour-item-header { font-size: 1.1em; } } @media (width <= 768px) { .portico-landing.hello .open-source { .flex { display: block; } & img { display: block; width: 300px; margin: 0 auto; } .il-block { width: 75%; } } .main { width: auto; } .portico-landing.why-page .main { width: auto; margin: 0; } .portico-landing.why-page .hero { padding-left: 20px; padding-right: 20px; font-size: 0.6em; } .portico-landing.why-page .hero p { font-size: 2em; width: 100%; } .portico-landing.why-page .padded-content { padding: 50px 20px; } .portico-landing.why-page .testimonials .padded-content { padding: 50px; } .portico-landing.why-page .testimonials .carousel-quotes { width: 90%; } .portico-landing.why-page .testimonials .quote-container { padding-left: 4%; font-size: 1em; } .platform.image { display: none !important; } .platform.description { width: 100% !important; } .portico-landing.hello .hero { & header { width: 600px; } } .portico-landing.hello .apps .left-side .content { width: auto; } .portico-landing.features-app { & section { padding: 0 20px; &.hero { padding: 50px; & h1 { font-size: 3em; } } } } .billing-upgrade-page { .nav-tabs, .tab-content { font-size: 1em; } } } @media (width <= 1024px) { .portico-landing { padding-top: 120px; } .portico-landing.apps .hero { height: 350px; } .portico-landing.apps .hero h1 { font-size: 1.9em; font-weight: 400; } .portico-landing.apps .hero .info .flex, .portico-landing.apps .hero .image .flex { height: 200px; min-height: 0; width: 100%; } .portico-landing.apps .other-apps { padding: 50px 5px 120px; } .portico-landing.apps .other-apps h2 { font-size: 1.5em; width: 100%; } .portico-landing.apps .other-apps .apps .icon { padding: 0 14px; width: 30px; padding-top: 8px; padding-bottom: 0; font-size: 2.3em; } .portico-landing.apps .other-apps .apps .icon.fa-mobile-phone { padding: 7px 10px 5px; width: 35px; font-size: 2.5em; } .portico-landing.apps .other-apps .apps .icon.fa-windows { font-size: 2em; padding: 10px 13px 2px !important; } .portico-landing.apps .other-apps .apps .icon::after { content: ""; } .portico-landing.apps .hero .image { display: none; } .portico-landing.apps .hero .info { width: 100%; } .main { width: calc(100% - 50px); margin: 0 auto; } .portico-landing.hello .hero { padding-bottom: 100px; .waves { height: 450px; } & header { width: auto; } } .portico-header .content > ul::before { content: "Zulip"; display: block; margin-top: 25px; padding-top: 5px; margin-left: 10px; width: 100px; height: 40px; font-size: 1.5rem; line-height: 30px; text-align: right; color: hsl(0deg 0% 27%); background-size: 40px auto; background-image: url("../../images/zulip-logo.svg"); background-repeat: no-repeat; } .portico-header .dropdown ul { width: 100%; height: auto; margin: 42px 0 0; font-size: 0.8em; } .portico-landing.apps .main ul.sidebar { display: block; text-align: center; margin-bottom: 10px; } .portico-landing.apps .main ul.sidebar li { display: inline-block; padding: 10px; width: 80px; text-align: center; border-radius: 4px; } .portico-landing .testimonials .company-box .company { margin: 10px; width: calc(33% - 24px); } .tour .carousel-control { font-size: 1.1em; .right { right: -30px; } .left { left: -30px; } } .tour .carousel-inner .zulip-slack-comparison img { max-width: 90%; } .portico-landing.hello .tour .carousel-inner .item-container { height: 450px; } .tour .carousel-inner .call-to-action { margin: 10px auto; } } @media (width <= 640px) { .portico-landing.hello .integrations .integration-icons .group { margin: 10px 16px 0; } .portico-landing.features-app { & section { &.keyboard-shortcuts { & img { &.overflow-wave { top: -100px; } } } } } } @media (width <= 550px) { .portico-landing.features-app { & section { &.hero { padding: 50px 20px 20px; } &.messages { padding: 0 20px; & h2 { font-size: 2em; } .features { .feature-block { margin: 20px 0; } } } } } .portico-landing .tour { max-width: 100%; } .portico-landing.hello .tour .carousel-inner .item-container { height: 400px; } .tour .carousel-control { top: 100%; } .tour .carousel-inner .zulip-slack-comparison { .comparison-zulip { width: 60%; } .comparison-slack { width: 38%; } .caption { font-size: 90%; } & img { max-width: 100%; &.zulip-streams { max-width: 140px; } &.zulip-streams-selected { max-width: 95%; } } } .tour .carousel-inner .tour-explanation { opacity: 0.8; font-size: 90%; text-align: left; } .billing-upgrade-page { .payment-schedule { .box { width: 100px; height: 80px; } } } } @media (width <= 450px) { .portico-landing.plans .price-box { display: inline-flex; flex-direction: column; min-height: 500px; height: auto; max-width: 300px; width: auto; margin: 10px 0; } .pricing-model .pricing-container .text-content { flex: 1; } .pricing-model .pricing-container .bottom { position: static; height: auto; } .portico-landing.hello .hero { padding: 60px 5px 40px; } .portico-landing.hello header { padding: 0 45px; } .portico-landing.hello .integrations .content header { padding: 0; } .portico-landing.hello .integrations .integration-icons .group { margin: 4px 2px; } .main { width: 100%; } .portico-landing.plans .compare .padded-content { padding: 20px; } .portico-landing.plans .pricing-container .block { margin: 0; } .tour .carousel-inner .mobile-hide, .tour .carousel-inner img.mobile-hide, .tour .carousel-inner img.centered-image.mobile-hide { display: none; } .tour .carousel-inner .mobile-show, .tour .carousel-inner img.mobile-show, .tour .carousel-inner img.centered-image.mobile-show { display: block; } .main .padded-content { padding: 20px; } /* the gradients leave the bottom of the text and the button white so we want to have the gradients stay darker for longer. */ .gradients .gradient.green { background: linear-gradient( -25deg, hsl(156deg 47% 47% / 0%) 10%, hsl(156deg 47% 47%) 80% ); } .gradients .gradient.blue { background: linear-gradient( 25deg, hsl(196deg 38% 51% / 0%) 10%, hsl(196deg 38% 51%) 80% ); } .gradients .gradient.sunburst { background: linear-gradient( 5deg, hsl(49deg 71% 68% / 0%) 20%, hsl(49deg 71% 68%) 80% ); } .features-app .gradients .gradient { height: 700px; } } @media (width <= 375px) { .portico-landing.hello .integrations .integration-icons .group { width: 130px; height: 215px; } .portico-landing.hello .integrations .integration-icons .integration-logo { width: 60px; } .portico-landing.integrations .integration-categories-dropdown { width: 323px; } .portico-landing.features-app { & section { &.keyboard-shortcuts { & img { &.overflow-wave { top: -92px; } } } } } } @media (width <= 360px) { .portico-landing.features-app { & section { .keyboard-shortcuts { & img { &.overflow-wave { top: -88px; } } } } } } /* For iPhone 5/SE device */ @media (width <= 320px) { .portico-landing.features-app { & section { .keyboard-shortcuts { & img { &.overflow-wave { top: -78px; } } } } } } @media (width <= 313px) { .portico-landing .testimonials .quote-container { width: 93%; padding-left: 7%; } .portico-landing .testimonials .carousel-inner { left: -7%; } } #download-from-microsoft-store, #download-android-apk, #download-mac-arm64 { display: inline-block; color: hsl(0deg 0% 100%); font-size: 13px; padding-left: 10px; } .feature-container { display: flex; flex-wrap: wrap; justify-content: center; padding: 50px 4vw 10px; .feature-half { display: flex; flex-direction: column; justify-content: center; } .md-hide { display: none; } .md-display { display: block; } @media (width <= 768px) { .feature-text { margin-bottom: 10px; } .twitter-tweet { margin: 30px auto !important; } } @media (width >= 768px) { display: grid; grid-column-gap: 5%; grid-template-columns: 43% auto; max-width: 1300px; align-items: center; justify-items: center; margin: auto; .alternate-grid& { grid-template-columns: auto 43%; } .feature-half { display: block; } .md-display { display: none !important; } } .feature-text { & h1 { font-size: 30px; font-weight: 600; } & ul { list-style: none; margin-left: 0; } & ul li { margin-bottom: 15px; &::before { float: left; background-repeat: no-repeat; content: ""; width: 18px; height: 18px; margin-right: 5px; margin-top: 4px; background-image: url('data:image/svg+xml;utf8,'); } .list-content { margin-left: 22px; line-height: 1.6; font-size: 18px; } } } .feature-image { & img, div.quote { width: 400px; } @media (width < 1024px) { & div.quote { width: 300px; } } @media (width < 768px) { & div.quote { width: auto; } } } .feature-icon { & img, div.quote { width: 100px; } } .topics-image { border: solid 2px hsl(0deg 0% 60%); } } .twitter-tweet { margin: auto; } .discounts-section { text-align: center; & header { & b { font-weight: 600; color: hsl(169deg 45% 43%); } } } .register-buttons { display: flex; flex-flow: row wrap; justify-content: center; margin: 20px; } /* Common button styles */ .register-now, .register-now:visited { text-align: center; display: flex; flex-direction: column; justify-content: center; font-size: 15px; margin: 10px 20px; float: left; width: 200px; border: 2px solid; border-radius: 4px; background: none; color: hsl(169deg 45% 43%); vertical-align: middle; position: relative; z-index: 1; backface-visibility: hidden; -moz-osx-font-smoothing: grayscale; letter-spacing: 2px; text-transform: uppercase; overflow: hidden; transition: border-color 0.3s, background-color 0.3s; transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1); font-weight: 800; padding: 15px 5px; &:focus { outline: none; } & p { font-weight: 600; margin-bottom: 0; } &:hover { border-color: hsl(169deg 45% 43%); background-color: hsl(170deg 47% 53%); color: hsl(0deg 0% 100%); } } .quote { background: hsl(218deg 46% 43%); padding: 1em; border-radius: 1em; font-weight: 400; margin: 40px 5px; display: flex; flex-direction: column; & a { color: hsl(0deg 0% 100%); &.case-study-link { margin-left: 20px; text-decoration: underline; } &:hover { text-decoration: underline; } } .author, blockquote { color: hsl(0deg 0% 100%); margin: 5px 20px 20px; } & blockquote { font-size: 18px; } & blockquote::before { font-size: 20px; font-weight: 800; } & cite { font-style: normal; } } .intro_quote { & blockquote { font-size: 17px; font-weight: 400; color: hsl(223deg 6% 25%); border-left: 6px solid hsl(218deg 46% 43%); position: relative; background: hsl(0deg 0% 93%); padding: 20px; } & blockquote::after { content: ""; } .author { padding-top: 20px; } } .case-study-page, .solutions-page { .bottom-register-buttons.extra_margin_before_footer { margin-bottom: 60px; } .hero-text { position: relative; width: 80%; max-width: 700px; margin: 40px auto; font-size: 20px; text-align: center; font-weight: bolder; opacity: 0.9; } .hero { & a { color: hsl(170deg 76% 64%); } } .hero-buttons { display: flex; flex-flow: row wrap; justify-content: center; & a { color: hsl(170deg 47% 33%); font-weight: 600; font-size: 15px; margin: 10px; &:hover { color: hsl(0deg 0% 100%); background-color: hsl(170deg 47% 33%); border-color: hsl(170deg 47% 33%); } } } .feature-end { @media (width >= 768px) { margin: 10px; } & h1 { margin-top: 20px; text-align: center; font-weight: 600; margin-bottom: 10px; padding-bottom: 0; } & ul { margin: auto; max-width: 800px; padding: 30px; } & p { margin: auto; max-width: 800px; padding: 30px; } } .price-asterisk { text-align: center; margin-top: 0 !important; padding-top: 0 !important; font-size: 15px; opacity: 0.8; max-width: 560px !important; } } .bottom-register-buttons { max-width: 800px; margin: auto; & h1 { text-align: center; font-weight: 600; margin-bottom: 0; padding-bottom: 0; } .hero-buttons { margin: 20px; } } .solutions-page .pricing-model { .padded-content { padding-bottom: 10px; } .pricing-container { display: flex; flex-flow: row wrap; justify-content: center; } .price-box { margin: 10px; } } .for-education.pricing-model { .pricing-details { color: inherit; font-style: inherit; } .price-box { height: 625px; .bottom { height: 275px; .standard-register-button { margin-top: 10px; } .free-text { margin-top: 90px; .pricing-details { font-size: 34px; } & a { margin-top: 76px; } } .standard-price-box { flex-flow: row wrap; height: 90px; font-size: 15px; &:first-child { padding-bottom: 10px; } & p { padding: 0; margin: 0 0 -10px; width: 100%; text-align: center; font-weight: 550; color: hsl(169deg 46% 33%); } } } } } .portico-landing.why-page.case-study-page { .bg-dimmer { background-color: hsl(224deg 52% 12% / 86%); } } .feature-intro { max-width: 800px; margin: 50px auto 0; padding: 0 4vw; & h1 { font-size: 36px; font-weight: 600; } } .for-companies { .feature-end { margin-top: 50px; .description { margin: 0 10px; } & p { padding: 10px; } .intro_quote { margin: 20px auto 0; max-width: 800px; } .pricing-model { @media (width >= 768px) { .price-box { margin: 10px; } } .padded-content { padding: 20px; } .plan-title { color: hsl(0deg 0% 0%); } } } } .mirror-image { transform: scaleX(-1); } .why-zulip { .discounts-section { margin: 30px; & h1 { font-weight: 700 !important; font-size: 26px !important; } } } .portico-landing.why-page .hero.why-zulip { padding-bottom: 120px; .bg-dimmer { background-color: hsl(224deg 52% 12% / 85%); } .padded-content { padding-top: 0; padding-bottom: 10px; } @media (width <= 768px) { .register-buttons { display: none; } } .discounts-section .register-buttons a { color: hsl(169deg 71% 64%); &:hover { color: hsl(0deg 0% 100%); } } } .why-zulip, .hello { .register-buttons { max-width: 800px; margin: auto; margin-top: 30px; & a { min-height: 40px; padding: 7px 0; } } @media (width <= 768px) { .register-buttons { & a { margin: 10px calc(5vw - 10px); width: clamp(130px, 40vw, 200px); font-size: 13px; } } } } .self-hosting-page { & p { font-size: 18px !important; } .hero-buttons { margin-top: 30px; } .alternative-features { .feature-container { padding: 30px; &:nth-child(even) { background: hsl(171deg 49% 39% / 21%); border-radius: 10px; } } .feature-icon img { width: 100%; } } .triangle { position: absolute; top: 0; left: 0; width: 0; height: 0; border-style: solid; border-width: 150px 100vw 0 0; border-color: hsl(0deg 0% 100%) transparent transparent transparent; } .quote { position: relative; margin: 0; margin-top: 50px; padding: 50px; padding-top: 200px; border-radius: 0; background: linear-gradient( 145deg, hsl(191deg 56% 55%), hsl(169deg 65% 42%) ); & blockquote { max-width: 700px; margin: auto; font-size: 24px; .author { font-size: 18px; } } } .feature-grid { display: flex; flex-direction: column; width: 100%; margin: 0; background: hsl(171deg 49% 39% / 21%); padding: 50px 0; .feature-row { display: flex; flex-direction: row; max-width: 1000px; margin: auto; align-items: center; justify-content: center; gap: 20px; .feature-box { display: flex; justify-content: flex-start; align-items: flex-start; flex-direction: column; width: 40vw; height: 350px; box-shadow: 0 1px 1px 0 hsl(193deg 100% 7.1% / 30%), 1px 1px 1px 0 hsl(193deg 100% 7.1% / 15%), -1px 1px 1px 0 hsl(193deg 100% 7.1% / 15%); background: hsl(0deg 0% 100%); text-align: left; margin: 10px 0; padding: 50px 30px 0; border-top: 5px solid hsl(171deg 49% 39%); @media (width < 1000px) { height: 400px; } & h1 { font-weight: 550; font-size: clamp(24px, 2.5vw, 32px); } .feature-icon { align-self: center; & img { max-width: 100px; } } } @media (width < 768px) { flex-direction: column; .feature-box { width: 75vw !important; height: calc(600px - 35vw); } } } } .for-education.pricing-model .pricing-container .price-box { height: 525px; .bottom { height: 150px; } } .feature-end { margin: 0; .feature-pricing { padding: 50px; background: linear-gradient( 180deg, hsl(191deg 56% 55%), hsl(169deg 65% 42%) ); @media (width <= 540px) { padding: 50px 0; .price-box { padding-bottom: 50px; } } & h1 { color: hsl(0deg 0% 100%); } } } } .try-zulip-now-page { .bottom-register-buttons { text-align: center; margin-bottom: 20px; } .try-now-button { padding: 11px 25px; font-size: 1.2rem; font-weight: 400; color: hsl(0deg 0% 100%); background: linear-gradient( 145deg, hsl(191deg 56% 55%), hsl(169deg 65% 42%) ); box-shadow: 0 3px 10px hsl(0deg 0% 0% / 20%); border: 0; width: 200px; height: 50px; outline: none; border-radius: 4px; &:visited { color: hsl(0deg 0% 100%); } &:hover { background-color: hsl(169deg 65% 42%); box-shadow: 0 3px 10px hsl(0deg 0% 0% / 30%); } } }