body { margin: 0; padding: 0; } .close { position: fixed; top: 2%; left: 50%; transform-origin: 0 50%; -webkit-transform: translateX(-50%) scale(0); -moz-transform: translateX(-50%) scale(0); -o-transform: translateX(-50%) scale(0); -ms-transform: translateX(-50%) scale(0); transform: translateX(-50%) scale(0); width: 60px; height: 60px; border: none; background: #000; border-radius: 100%; margin: 0; padding: 0; cursor: pointer; z-index: 10; } .close:focus { outline: none; } .close.open { -webkit-animation: scale 0.4s ease-in; -moz-animation: scale 0.4s ease-in; -o-animation: scale 0.4s ease-in; animation: scale 0.4s ease-in; -webkit-animation-fill-mode: forwards; -moz-animation-fill-mode: forwards; -o-animation-fill-mode: forwards; animation-fill-mode: forwards; -webkit-animation-delay: 1.5s; -moz-webkit-animation-delay: 1.5s; -o-webkit-animation-delay: 1.5s; -webkit-animation-delay: 1.5s; /*-webkit-transform: scale(1) translateX(-50%);*/ } @-webkit-keyframes scale { 0% { transform: scale(0) translateX(-50%); } 80% { transform: scale(1.1) translateX(-50%) } 100% { transform: scale(1) translateX(-50%) } } @keyframes scale { 0% { transform: scale(0) translateX(-50%); } 80% { transform: scale(1.1) translateX(-50%) } 100% { transform: scale(1) translateX(-50%) } } .line { position: absolute; width: 35%; height: 1px; background: #fff; left: 50%; -webkit-transform: translateX(-50%) rotate(45deg); -moz-transform: translateX(-50%) rotate(45deg); -o-transform: translateX(-50%) rotate(45deg); -ms-transform: translateX(-50%) rotate(45deg); transform: translateX(-50%) rotate(45deg); } .line:nth-child(2) { -webkit-transform: translateX(-50%) rotate(-45deg); -moz-transform: translateX(-50%) rotate(-45deg); -o-transform: translateX(-50%) rotate(-45deg); -ms-transform: translateX(-50%) rotate(-45deg); transform: translateX(-50%) rotate(-45deg); } .button { display: inline-block; width: 15%; min-width: 120px; height: 50px; line-height: 50px; text-align: center; background: black; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); cursor: pointer; -webkit-transition: top 0.5s ease; -moz-transition: top 0.5s ease; -o-transition: top 0.5s ease; transition: top 0.5s ease; } span { font-family: 'Fjalla One'; font-size: 15px; letter-spacing: 3px; color: #fff; text-transform: uppercase; -webkit-transition: 0.5s ease; -moz-transition: 0.5s ease; -o-transition: 0.5s ease; transition: 0.5s ease; } .button.active span { display: none; } .button.active { width: 30%; height: 2px; top: -100%; -webkit-transition: width 0.5s ease, height 0.5s ease, top 1s ease 1.2s; -moz-transition: width 0.5s ease, height 0.5s ease, top 1s ease 1.2s; -o-transition: width 0.5s ease, height 0.5s ease, top 1s ease 1.2s; transition: width 0.5s ease, height 0.5s ease, top 1s ease 1.2s; } .button:before { content: ""; position: absolute; left: 0; width: 0; height: 100%; background: red; -webkit-transition: 0.5s ease; -moz-transition: 0.5s ease; -o-transition: 0.5s ease; transition: 0.5s ease; -webkit-transition-delay: 0.5s; -moz-transition-delay: 0.5s; -o-transition-delay: 0.5s; transition-delay: 0.5s; } .button.active:before { width: 100%; } .content { position: fixed; top: 100%; width: 100%; height: 100%; -webkit-transition: 1s ease; -moz-transition: 1s ease; -o-transition: 1s ease; transition: 1s ease; } .content.show { top: 0; -webkit-transition: 1s ease 1s; -moz-transition: 1s ease 1s; -o-transition: 1s ease 1s; transition: 1s ease 1s; } p { width: 100%; height: auto; padding: 0; margin: 0; font-family: 'Fjalla One'; font-size: 25px; letter-spacing: 3px; text-align: center; position: absolute; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -o-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }