.abscenter{left:50%; top:50%; transform:translate(-50%, -50%);} .green{font-size:larger; font-weight:500; color:green;} .red{font-size:larger; font-weight:500; color:red;} .modal{position:fixed; z-index:100053; background:#fff;} .overlay{background:#000; opacity:0.7; position:fixed; top:0; right:0; bottom:0; left:0; z-index:100052;} .modal-title{height:40px;background:#fcfcfc; border-bottom:1px solid #ddd;} .modal-title span{line-height:40px; font-size:1.3em; padding-left:20px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; width:calc( 100% - 39px );} .modal-title .modal-close{left:auto; right:-30px; color:#eee; position:absolute; width:29px; height:29px; border:0; padding:0; background:none; cursor:pointer; outline:none;} .modal-title .modal-close:after{content:"\f335"; font:400 32px/29px dashicons; speak:none; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;} .modal-content{background:#f1f1f1; padding:2px 25px 15px 25px; clear:both; overflow:auto; text-align:left; line-height:1.4em;} .wpjam-tooltip{position:relative; display:inline-block; color:#555 !important;} .wpjam-tooltip .wpjam-tooltip-text{visibility:hidden; opacity:0; transition:opacity 0.3s; max-width:300px; min-width:200px; background-color:#ddd; padding:5px; border-radius:6px; text-align:center; position:absolute; z-index:10000; bottom:125%;} .wpjam-tooltip .wpjam-tooltip-text p{margin:4px;} .wpjam-tooltip .wpjam-tooltip-text::after{content:" "; position:absolute; top:100%; border-width:5px; border-style:solid; border-color:#ddd transparent transparent transparent;} .wpjam-tooltip:hover .wpjam-tooltip-text{visibility:visible; opacity:1;} .notice p a{text-decoration:none;} .notice p a .dashicons{height:16px; font-size:16px; line-height:18px;} .wp-menu-ri:before{display: inline-block; line-height: 1; width: 20px; height: 20px; font-size: 20px; } #tb_modal{display:none;} form.chart-form{margin:20px 0; display:flex; align-items:center; flex-wrap:wrap; gap:6px;} div.donut-chart-wrap{display:flex; align-items:flex-start; flex-wrap:wrap; gap:40px; margin-bottom:20px;} div.donut-chart-wrap table{width:initial; border:none; background:none;} div.donut-chart-wrap .widefat thead td, div.donut-chart-wrap .widefat thead th{border:none;} input::placeholder{font-size:13px;} input.medium-text{width:100px;} input[type=number]{padding-right:0;} input[type=text]{height:28px;} .image-radio input, .image-radio input + img + img{display:none;} .image-radio input ~ img{max-width:120px !important;cursor: pointer;} .image-radio input:checked + img{display:none; box-shadow: 0 0 10px;} .image-radio input:checked ~ img:last-child{display: initial;} form table.form-table td .dashicons{vertical-align:middle;} form table.form-table tr > td:only-child{padding:15px 10px 15px 0;} form table.form-table th a, form table.form-table td a{text-decoration:none;} .form-table td p.description{font-size:13px;} span.description{color:#646970;} div.wpjam-file{display:flex; gap:4px;} div.plupload{position:relative} div.plupload-drag-drop{border:4px dashed #c3c4c7; height:200px;} div.plupload div.progress{height:22px; margin:7px 6px; width:200px; line-height:2em; padding:0; overflow:hidden; border-radius:22px; background:#dcdcde; box-shadow:inset 0 1px 2px rgb(0 0 0 / 10%);} div.plupload div.progress div.percent{z-index:10; position:relative; width:200px; padding:0; color:#fff; text-align:center; line-height:22px; font-weight:400; text-shadow:0 1px 2px rgb(0 0 0 / 20%);} div.plupload div.progress div.bar{z-index:9; width:0; height:100%; margin-top:-22px; border-radius:22px; background-color:#2271b1; box-shadow:inset 0 0 2px rgb(0 0 0 / 30%);} summary + .sub-field{margin-top:20px;} .sub-field{margin-bottom:12px; line-height:30px;} .sub-field .sub-field{margin-bottom:0;} .sub-field-label{min-width:76px; padding-right:4px; font-weight:500; display:table-cell; vertical-align:top;} .sub-field-detail{max-width:calc(100% - 80px); display:table-cell;} .sub-field-detail label{line-height:1;} div.field-group{display:flex; flex-wrap:wrap; align-items:flex-start; gap:6px;} div.field-group .sub-field:not(:first-child) .sub-field-label{min-width:initial;} div.mu-item .dashicons-menu{opacity:0.1; width:30px; height:30px; font-size:30px; cursor:pointer;} div.mu-item > a.button{margin:0 6px;} div.mu-item:hover > .dashicons{opacity:0.8 !important;} div.mu-item:last-child .del-item, div.mu-item:last-child .dashicons-menu{display:none;} .direction-column{display:flex; flex-direction:column; gap:6px;} .direction-row{display:inline-flex; flex-wrap:wrap; align-items:center; gap:6px 10px; line-height:30px;} div.mu-text.direction-row{gap:8px 4px} div.mu-text.direction-row > div.mu-item:last-child input{display:none;} div.mu-text.direction-row > div.mu-item .dashicons-no-alt{opacity:0.2;} div.mu-text.direction-row > div.mu-item input + .dashicons-no-alt{margin-left:-24px; margin-right:4px;} div.mu-text.direction-row > div.mu-item .dashicons-menu{font-size:20px; width:20px; height:20px; margin-right:2px;} div.mu-text.direction-row > div.mu-item input{padding-right:20px !important;} div.mu-text.direction-row > div.mu-item input + a.button{margin-left:0px;} div.mu-fields > div.mu-item{margin-bottom:6px; padding-bottom:10px; border-bottom:1px solid #E5E5E5;} div.mu-fields > div.mu-item:last-child{margin-bottom:0; border-bottom:none; padding-bottom:6px;} div.mu-fields > div.mu-item > a{margin-left:80px;} div.mu-fields > div.mu-item > a.new-item.button{margin:0;} div.mu-fields > div.mu-item.field-group .sub-field{margin-bottom:0;} div.mu-fields > div.mu-item.field-group > a.button{margin-left:0;} div.mu-text > div.mu-item, div.mu-file > div.mu-item{display:flex; align-items:center;} div.mu-img{max-width:720px;} div.mu-img > div.mu-item{width:100px; height:100px; margin:10px 10px 10px 0; position:relative;} div.mu-img > div.mu-item img{width:100px; height:100px !important; object-fit:cover;} div.mu-img > div.mu-item .dashicons-menu{display:none;} div.mu-img .new-item{box-sizing:border-box; width:100px; height:100px; color:#ccc; background:#f7f7f7; border:2px solid #ccc; border-radius:8px;} div.mu-img .new-item.dashicons:before{line-height:100px; font-size:32px; font-weight:100;} div.mu-img .new-item{position:relative; cursor:pointer; text-decoration:none;} div.wpjam-img{position:relative; cursor:pointer; text-decoration:none; display:inline-block;} div.wpjam-img .wp-media-buttons{float:none;min-width:100px;} div.wpjam-img .wp-media-buttons .add_media{padding-left:5px;} div.wpjam-img img{max-width:300px !important; max-height:300px !important; object-fit:cover;} div.wpjam-img a.del-img, div.wpjam-img img:not(.hidden) + .wp-media-buttons, div.wpjam-img img:not(.hidden) ~ .description{display:none;} div.wpjam-img img:not(.hidden) ~ a.del-img{display:block !important;} div.mu-img a.del-item, a.del-img, a.del-icon{position:absolute; line-height:1; top:-10px; right:-10px; border-radius:10px; color:#ffffff; background:#cc3333; text-decoration:none; opacity:0.8 !important; cursor:pointer;} div.mu-item span.query-title{margin:0 2px 4px 0;} span.query-title{box-sizing:border-box; vertical-align:top; display:inline-block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:default; padding:0 8px 0 4px; background:#e5e5e5; border-radius:4px; line-height:30px;} span.query-title .dashicons{cursor:pointer; color:#0073aa; margin-right:4px;} input:not(.regular-text) + .description{display:inline-block; margin-left:4px;} input.autocomplete.hidden ~ .description{display:none;} input + span.query-title{display:none;} input.hidden + span.query-title{display:inline-block;} input.button ~ span.query-title{margin-left:6px;} input[type="checkbox"].switch{appearance:none; width:auto; height:auto; position:relative; border:0; outline:0; cursor:pointer; background:none; box-shadow:none;} input[type="checkbox"].switch:focus{box-shadow:none;} input[type="checkbox"].switch:after{content:''; font-size:8px; font-weight:400; line-height:18px; text-indent:-14px; color:#ffffff; width:36px; height:18px; display:inline-block; background-color:#a7aaad; border-radius:9px; box-shadow:0 0 12px rgb(0 0 0 / 15%) inset;} input[type="checkbox"].switch:before{content:''; width:14px; height:14px; display:block; position:absolute; top:2px; left:2px; margin:0; border-radius:50%; background-color:#ffffff;} input[type="checkbox"].switch:checked:before{left:20px; margin:0; background-color:#ffffff;} input[type="checkbox"].switch, input[type="checkbox"].switch:before, input[type="checkbox"].switch:after, input[type="checkbox"].switch:checked:before, input[type="checkbox"].switch:checked:after{transition:ease .15s;} input[type="checkbox"].switch:checked:after{content:' '; background-color:#2271b1;} .ui-autocomplete{z-index:1000000 !important;} /*要超过 TB z-index 才行,不然弹窗不行*/ .readonly div.mu-item:last-child, .disabled div.mu-item:last-child, .readonly div.mu-item > a.del-item, .disabled div.mu-item > a.del-item, .readonly .query-title .dashicons, .disabled .query-title .dashicons, .readonly .button, .disabled .button, .readonly a.del-img, .disabled a.del-img{display:none !important;} span.all-options{width:250px;} span.large-text{width:99%;} span.small-text{width:50px;} span.tiny-text{width:35px;} a.wpjam-button{text-decoration:none;} p.submit .spinner{float:none; margin:0 10px 0 -10px;} p.submit .button{margin-right:20px;} p.submit .button:last-child{margin-right:0;} div.tabs h2.nav-tab-wrapper ul, div.tabs h2.nav-tab-wrapper li{margin:0;} a.nav-tab:focus{box-shadow:none;} #post-body #normal-sortables{min-height:0;} div#postexcerpt div.inside p{display:none;} div.postbox table.form-table th{padding:12px 10px 12px 0; width:120px;} div.postbox table.form-table td{padding:6px;} div.postbox.tabs table.form-table th{width:100px;} div#poststuff div.postbox .nav-tab-wrapper{padding-bottom:0; border-color:#ddd;} div#poststuff div.postbox .nav-tab-wrapper a.nav-tab{background:#f3f5f6; border-color:#ddd;} div#poststuff div.postbox .nav-tab-wrapper a.nav-tab-active{background:#fff; border-bottom-color:#fff;} div#poststuff div.postbox.closed .nav-tab-wrapper a.nav-tab-active{background:#fff; border-color:#ddd;} .tablenav{height:auto; min-height:44px; margin-bottom:-5px;} .tablenav .actions{padding:0 8px 6px 0; margin-right:12px;} .tablenav .actions input, .tablenav .actions span.query-title{float:left; margin-right:6px; max-width:12.5rem;} .tablenav .overallactions a:not(:first-child){margin-left:12px;} .widefat td{overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; hyphens:auto;} ul.subsubsub{margin-bottom:6px;} table.wp-list-table th{text-wrap: nowrap;} table.wp-list-table th.check-column .dashicons{margin-left:6px; color:#999; font-size:16px; width:16px; height:16px;} table.wp-list-table th.check-column .spinner{margin:4px 0 0 0;} table.wp-list-table .pending th, table.wp-list-table .pending td{background-color:#f0f6fc;} table.wp-list-table .pending th.check-column{border-left:4px solid #0073aa;} table.wp-list-table .pending th.check-column input{margin-left:4px;} table.wp-list-table .unapproved th, table.wp-list-table .unapproved td{background-color:#fcf9e8;} table.wp-list-table .unapproved th.check-column{border-left:4px solid #d63638;} table.wp-list-table .unapproved th.check-column input{margin-left:4px;} table.wp-list-table .approve a, table.wp-list-table .audit a, table.wp-list-table .publish a{color:#007017;} table.wp-list-table .unapprove a, table.wp-list-table .unpublish a{color:#996800;} table.wp-list-table .dashicons, table.wp-list-table .dashicons-before:before{width:16px; height:16px; font-size:16px;} table.wp-list-table .item > .dashicons.dashicons-plus-alt2{font-size:24px; width:24px; height:24px; color:#ccc; left:50%; top:50%; transform:translate(-50%, -50%); position:relative;} table.wp-list-table td pre{white-space:pre-wrap; max-width:800px; margin-top:0;} table.wp-list-table td img.alignleft{margin-right: 10px; margin-top: 1px;} table.wp-list-table a.ui-sortable-handle{cursor:move;} table.wp-list-table tr.ui-sortable-helper, table.wp-list-table tr.ui-sortable-placeholder{background:#eeffee;} table.wp-list-table tbody tr.ui-sortable-item:first-of-type span.up, table.wp-list-table tbody tr.ui-sortable-item:last-of-type span.down, table.wp-list-table tbody tr.ui-sortable-item:first-child:nth-last-child(1) span.move, table.wp-list-table tbody tr.ui-sortable-item:first-child:nth-last-child(2) span.move, table.wp-list-table tbody tr.ui-sortable-item:first-child:nth-last-child(2) ~ tr.ui-sortable-item span.move{display:none;} div.sticky-columns-list-table-wrap{width: 100%; height:100vh; position: relative; overflow: scroll; border: 1px solid #c3c4c7; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);} table.wp-list-table.sticky-columns{width: 100%; border:none; box-shadow: none;} table.wp-list-table.sticky-columns thead, table.wp-list-table.sticky-columns tfoot{position: sticky;background: #ffffff; z-index: 3; top:0; } table.wp-list-table.sticky-columns tfoot{bottom:0px;} table.wp-list-table.sticky-columns tr > td{white-space: nowrap; text-wrap: nowrap; word-wrap: normal; overflow-wrap: normal;} table.wp-list-table.sticky-columns .sticky-column{position: sticky; z-index: 2;} table.wp-list-table.sticky-columns thead .sticky-column, table.wp-list-table.sticky-columns tfoot .sticky-column{background: #ffffff;} table.wp-list-table.sticky-columns.striped>tbody>:nth-child(odd) .sticky-column{background-color: #f6f7f7;} table.wp-list-table.sticky-columns.striped>tbody>:nth-child(even) .sticky-column{background-color: #ffffff;} a.wpjam-thumbnail-wrap{position:relative;} a.wpjam-thumbnail-wrap:focus{outline:0; box-shadow:none;} a.wpjam-thumbnail-wrap img, .no-thumbnail{float:left; margin:0px 10px 10px 0; border-radius:4px; border:1px solid #eee;} .no-thumbnail{display:inline-block; text-align:center; font-size:12px; font-weight:100; width:50px; height:50px; line-height:50px; background:#eee; color:#555;} a.wpjam-thumbnail-wrap:hover:after{content:"\f464"; font-size:16px; font-family:dashicons; padding:2px; line-height:1; top:-4px; right:6px; position:absolute; border-radius:10px; color:#fff; background:#2271b1; opacity:0.8;} div#col-left .left-item.left-current{background-color:#f0f6fc; color:#3c434a;} div#col-left .left-item{cursor:pointer;} div.items span.row-actions > span{margin:0 3px;} div.items.image-list{display:flex; flex-wrap:wrap;} div.items.image-list .item{display:flex; flex-direction:column; margin:10px 30px 20px 0; position:relative; text-align:center;} div.items.image-list .item span.item-title, div.image-list .item span.row-actions{font-size:smaller; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;} div.items.image-list .add-item{margin:10px 0px 20px 0; background:#f9f9f966; border-radius:4px; border:1px solid #ccc; box-sizing:border-box;} .striped>tbody>:nth-child(odd) .add-item{background:#ffffff66;} div.items.text-list .item{display:flex; margin-bottom:10px; max-width:400px;} div.items.text-list .item a.text{display:inline-block; width:130px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; margin-right:10px; vertical-align:middle;} div.items.text-list .item a.del-icon{top:inherit; right:inherit;} .wp-picker-container .wp-color-result-text{color:inherit;} .wp-picker-container input[type=text].wp-color-picker{margin:0 2px;} .wp-picker-container .wp-picker-clear{min-height:30px;} .list-table.layout-calendar .tablenav.top{text-align:center;} .list-table.layout-calendar h2{font-size:2em; display:inline-block; margin:0 0 10px 0; line-height:30px;} .list-table.layout-calendar a.current-month{padding-left:20px; padding-right:20px;} .list-table.layout-calendar table{width:100%; margin:20px 0;} .list-table.layout-calendar table a{text-decoration:none;} .list-table.layout-calendar table .weekend{background:#f6f7f7;} .list-table.layout-calendar table th{font-size:larger; font-weight:bold;} .list-table.layout-calendar table td, .list-table.layout-calendar table th{border-right:1px solid #c3c4c7; border-bottom:1px solid #c3c4c7;} .list-table.layout-calendar table td:last-child, .list-table.layout-calendar table th:last-child{border-right:none;} .list-table.layout-calendar table tfoot th{border-bottom:none;} .list-table.layout-calendar table td .date-meta{min-height:24px;} .list-table.layout-calendar table td span.day{display:inline-block; width:20px; height:20px; line-height:20px; text-align:center;} .list-table.layout-calendar table td span.day.today{color:#fff; border-radius:10px; background:red;} .list-table.layout-calendar table td a.list-table-action{display:none;} .list-table.layout-calendar table td:hover a.list-table-action{display:inline;} #TB_window #TB_title{height:40px;} #TB_window #TB_title #TB_ajaxWindowTitle{line-height:40px; font-size:1.3em; padding-left:20px;} #TB_window #TB_title #TB_closeWindowButton{left:auto; right:-30px; color:#eee;} #TB_window #TB_title #TB_closeWindowButton:hover{color:#00a0d2;} #TB_window #TB_title #TB_closeWindowButton:after{content:"\f335"; font:400 32px/29px dashicons; speak:none; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;} #TB_window #TB_title .tb-close-icon{display:none;} #TB_window #TB_ajaxContent{background:#f1f1f1; padding:2px 25px 15px 25px;} #TB_window #TB_ajaxContent table.form-table > tbody > tr > th{width:110px;} #TB_window #TB_ajaxContent table.form-table > tbody > tr > td{min-width:240px;} #TB_window img{max-width:100%; height:auto;} #TB_window div.notice{margin:5px 0px 2px;} #TB_window img#TB_Image{margin:15px 15px 5px 15px;} #TB_window #TB_caption a{text-decoration:none;} div.news-items{width:360px; box-shadow:1px 1px 10px #CCC; border-radius:4px; margin-bottom:10px;} div.news-items div.big{position:relative;} div.news-items div.news-item:first-child:nth-last-child(1){position:inherit; padding-bottom:12px;} div.news-items div.big span.news-item-title{font-size:16px; color:#fff; padding:12px; box-sizing:border-box; width:100%; bottom:0; left:0; background:linear-gradient(180deg,transparent,rgba(0,0,0,.6)); position:absolute;} div.news-items div.news-item:first-child:nth-last-child(1) span.news-item-title{color:inherit; background:inherit; position:inherit; display:block;} div.news-items div.big span.news-item-excerpt{display:block; box-sizing:border-box; width:100%; padding:12px;} div.news-items div.big span.item-thumb{width:360px; height:150px; overflow:hidden; display:block; position:relative;} div.news-items div.big span.item-thumb img{border-radius:4px; position:relative; left :50%; top :50%; transform:translate(-50%, -50%);} div.news-items div.small{padding:12px 12px 0 12px; display:flex; flex-direction:row-reverse; justify-content:space-between; width:100%; box-sizing:border-box;} div.news-items div.small span.news-item-title{width:260px; height:60px; display:flex; align-items:center; padding-bottom:12px; font-size:14px; border-bottom:1px solid #DDD;} div.news-items div.small:last-child span.news-item-title{border-bottom:0;} div.news-items div.small span.item-thumb{width:60px; height:60px; overflow:hidden;} div.news-items div.small span.item-thumb img{position:relative; left :50%; top :50%; transform:translate(-50%, -50%);} #wpjam_modal_wrap{position:fixed; bottom:8px; right:10px; background:#fff; box-shadow:0 3px 6px rgba(0, 0, 0, 0.3); z-index:1000000;} .welcome-panel.wpjam-welcome-panel{background:#fff;} .welcome-panel.wpjam-welcome-panel::before{display:none;} .welcome-panel.wpjam-welcome-panel h2{font-size:32px; color:initial;} .welcome-panel.wpjam-welcome-panel .welcome-panel-content{min-height:initial;} .welcome-panel.wpjam-welcome-panel .welcome-panel-column-container{margin:0;} @media screen and (max-width:830px){ #TB_window #TB_title #TB_closeWindowButton{right:0; top:-30px;} #TB_window #TB_ajaxContent .form-table th{width:inherit;} } @media screen and (max-width:782px){ div.mu-fields > div.mu-item.field-group .sub-field{margin-bottom:4px;} .sub-field + a.button{margin-bottom:4px;} .direction-row{line-height:40px;} input[type=text]{height:40px;} input::placeholder{font-size:15px;} input.hidden{display:none !important;} } @media screen and (min-width:783px){ #adminmenu .awaiting-mod, #adminmenu .update-plugins{line-height:18px; transform:scale(0.92);} .post-com-count-pending{line-height:20px !important; height:20px !important; left:-6px !important; border-radius:12px !important; min-width:10px !important; transform:scale(0.833333);} table.wp-list-table td .row-action{display:none;} table.wp-list-table td:hover .row-action{display:initial;} } jQuery(document).ready(function ($) { let bodhisvgsReplacements = 0; function bodhisvgsReplace(img) { var imgID = img.attr('id'); var imgClass = img.attr('class'); var imgURL = img.attr('src'); // Set svg size to the original img size // var imgWidth = $img.attr('width'); // var imgHeight = $img.attr('height'); if (!imgURL.endsWith('svg')) { return; } $.get(imgURL, function(data) { // Get the SVG tag, ignore the rest var $svg = $(data).find('svg'); var svgID = $svg.attr('id'); // Add replaced image's ID to the new SVG if necessary if(typeof imgID === 'undefined') { if(typeof svgID === 'undefined') { imgID = 'svg-replaced-'+bodhisvgsReplacements; $svg = $svg.attr('id', imgID); } else { imgID = svgID; } } else { $svg = $svg.attr('id', imgID); } // Add replaced image's classes to the new SVG if(typeof imgClass !== 'undefined') { $svg = $svg.attr('class', imgClass+' replaced-svg svg-replaced-'+bodhisvgsReplacements); } // Remove any invalid XML tags as per http://validator.w3.org $svg = $svg.removeAttr('xmlns:a'); if(frontSanitizationEnabled == 'on' && $svg[0]['outerHTML'] != "") { // Is sanitization enabled? $svg = DOMPurify.sanitize($svg[0]['outerHTML']); // Sanitize SVG code via DOMPurify library } // Add size attributes // $svg = $svg.attr('width', imgWidth); // $svg = $svg.attr('height', imgHeight); // Replace image with new SVG img.replaceWith($svg); $(document).trigger('svg.loaded', [imgID]); bodhisvgsReplacements++; }, 'xml'); } // Wrap in IIFE so that it can be called again later as bodhisvgsInlineSupport(); (bodhisvgsInlineSupport = function() { // If force inline SVG option is active then add class if ( ForceInlineSVGActive === 'true' ) { // Find all SVG inside img and add class if it hasn't got it jQuery('img').each(function() { // Check if the SRC attribute is present at all if ( typeof jQuery(this).attr('src') !== typeof undefined && jQuery(this).attr('src') !== false) { // Pick only those with the extension we want if ( jQuery(this).attr('src').match(/\.(svg)/) ) { // Add our class name if ( !jQuery(this).hasClass(cssTarget.ForceInlineSVG) ) { jQuery(this).addClass(cssTarget.ForceInlineSVG); } } } }); } // Polyfill to support all ye old browsers // delete when not needed in the future if (!String.prototype.endsWith) { String.prototype.endsWith = function(searchString, position) { var subjectString = this.toString(); if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) { position = subjectString.length; } position -= searchString.length; var lastIndex = subjectString.lastIndexOf(searchString, position); return lastIndex !== -1 && lastIndex === position; }; } // end polyfill // Another snippet to support IE11 String.prototype.endsWith = function(pattern) { var d = this.length - pattern.length; return d >= 0 && this.lastIndexOf(pattern) === d; }; // End snippet to support IE11 // Check to see if user set alternate class if ( ForceInlineSVGActive === 'true' ) { var target = ( cssTarget.Bodhi !== 'img.' ? cssTarget.Bodhi : '.style-svg' ); } else { var target = ( cssTarget !== 'img.' ? cssTarget : '.style-svg' ); } target = target.replace("img",""); $(target).each(function(index){ // if image then send for replacement if ( typeof $(this).attr('src') !== typeof undefined && $(this).attr('src') !== false) { bodhisvgsReplace($(this)); }else{ // look for svg children and send for replacement $(this).find("img").each(function(i){ if( typeof $(this).attr('src') !== typeof undefined && $(this).attr('src') !== false ){ bodhisvgsReplace($(this)); } }); } }); })(); // Execute immediately });{"id":28655,"date":"2023-06-23T18:45:11","date_gmt":"2023-06-23T18:45:11","guid":{"rendered":"https:\/\/themusicmemo.com\/interview-how-sonic-superstars-was-born-from-a-zoom-drinking-party\/"},"modified":"2023-06-23T18:45:12","modified_gmt":"2023-06-23T18:45:12","slug":"interview-how-sonic-superstars-was-born-from-a-zoom-drinking-party","status":"publish","type":"post","link":"https:\/\/themusicmemo.com\/interview-how-sonic-superstars-was-born-from-a-zoom-drinking-party\/","title":{"rendered":"Interview: How Sonic Superstars was born from a Zoom drinking party"},"content":{"rendered":"


\n<\/p>\n

\n

For years, Sega seems to have struggled to figure out what a Sonic the Hedgehog game should be in the modern world.<\/p>\n

The struggle between appealing to die-hard fans and expanding to new, younger audiences has resulted in countless awkward compromises in The Blue Hedgehog’s attempt to please everyone at once, turning a familiar course into one moment. In the next instant, he was transformed into a werewolf. .<\/p>\n

In comparison, modern games feel much more reassuring. Sonic Mania is the mascot’s best side-scrolling game since his ’90s, but Sonic Frontiers was the first to introduce the template into a massive open-world 3D environment with great success.<\/p>\n

By alternating between ‘casual’ and ‘hardcore’ games, Sonic Team seems to have found an effective rhythm.<\/p>\n

This year’s game, Sonic Superstars, seeks to take the classic feel of Sonic Mania and update it with modern visuals and drop-in, drop-out co-op. Importantly, this is also the first game in over 20 years to be led by Naoto Oshima, Sonic’s original character designer, at his own studio, Arzest.<\/p>\n

At Summer Game Fest, VGC sat down with Sonic’s Creative Officer, Takashi Iizuka, to discuss the new game and how it was conceived at a Zoom drinking party.<\/p>\n\n

Who’s working on the game? Sonic Team seems to be partnering with Arzest, maybe with Headcannon or Christian Whitehead\/Retro Engine?<\/strong><\/p>\n

When we were making Sonic Mania and the game was finished and Chris was finished, we had a discussion with Chris and the team about what the next 2D game we were going to make would be. A few concepts and ideas were discussed among the team, but the project was unable to start. So Chris and the team disappeared for a while.<\/p>\n

I’ve been friends with many of my old colleagues, and Oshima and I have been discussing whether or not we would be interested in making a Sonic game together. He is the original creator of Sonic the Hedgehog, so we discussed whether his company Arzest would be interested in developing a Sonic game.<\/p>\n

So Chris and team’s idea fell through. Sonic Superstars is actually all developed by Arzest, but the Sonic team in Japan collaborates with Arzest on design and other elements. Arzest and Mr. Oshima are 100% the developers of his game.<\/p>\n

Superstar’s physics, like Mania’s, are incredibly faithful to the original Sonic games. How difficult was it to implement that classic feel into a side-scrolling game with 3D elements?<\/strong><\/p>\n

When creating a new classic Sonic game, the team felt it was most important to recreate that classic experience. Yes, the team would end up creating 3D assets of him for the game, but we needed the physics and feel of the game to be exactly the same as the classic. That’s what we had Oshima’s team do first. We said, “If you can’t act on that feeling, you shouldn’t be doing this project.”<\/p>\n

That was the turning point of the project. The team at Arzest focused on taking classic gameplay and recreating it in 3D assets. When they were able to do that, that was the starting point for us to say, ‘Okay, we’ve got a game that plays just like the classic game… how can we add new features to it? .<\/p>\n

It seems that Sonic Team struggled for years to recreate that classic feel in a modern 2D game before Mania became a success. Do the superstars share any technology?<\/strong><\/p>\n

No, it’s built completely from scratch. Arzest’s team is really good at making his 2D games. They’ve made 2D games for Nintendo before, and that’s where their core competence lies. When Mr. Oshima took on the idea for his game classic Sonic, their team looked at classic games side by side and began working out the character’s precise movements from scratch in their own development environment.<\/p>\n

Why did you ultimately decide to make this game rather than a sequel to Sonic Mania after discussions with Christian Whitehead?<\/strong><\/p>\n

Sonic Mania is one of those games made with that classic design, and I personally worked closely with Christian, Headcannon, and everyone involved. The whole idea behind Mania was to make a game for hardcore fans. That’s why it’s called Sonic Mania because it’s a game for the maniac fanbase.<\/p>\n

\n
\n
\n

Notice:<\/strong> To view this embed, please allow functional cookies in your cookie settings.<\/p>\n<\/div>\n<\/div>\n<\/div>\n

For die-hard fans of the game, it doesn’t matter what the pixelated graphics look like, but outside of that group, it might be seen as a retro game or a rehash. Even if it was brand new content, some people put it in the \u201cretro\u201d box.<\/p>\n

We didn’t want 2D Sonic to be just a “retro” gameplay, we wanted to appeal to a new audience. So it has to look really unique, something that the modern casual would look at and say, “Oh, that’s a new game.” We also wanted content that non-hardcore fans would expect from that kind of title. We’ve taken what people loved from the classic games in the series and added a new look while keeping the same feel.<\/p>\n

You’ve talked before about how you felt Sonic needed to be split into a 3D game and a 2D game to appeal to two sets of fans. Can you explain how these two sets of fans differ and how that influences your approach?<\/strong><\/p>\n

We know exactly how we create content. When you think of Sonic Frontiers, it’s a modern game format with an immersive story, a huge world, and gameplay for hardcore gamers…it’s actually an evolution of the original format. As a solo player, it’s something you can take your time and focus on.<\/p>\n

But on the flip side, when you think of Sonic Superstars, it’s part of the classic game series, but it has these elements that make this game so unique. You don’t need to read the manual to understand how to play the game. There are no story sequences you have to sit down and watch to figure out what to do next.<\/p>\n

Give your little one the controller and they will quickly understand how to play the game and how to get there. The storytelling is through character interactions, so it’s easy to understand. Classic Sonic fans will love Sonic Superstar, but what’s newer is that this is also very suitable for families and kids. That’s a big difference from Frontiers, which is a game for hardcore fans.<\/p>\n

<\/figure>\n

Naoto Oshima returns for the first Sonic game since Sonic Adventure over 20 years ago. What did he bring to this project?<\/strong><\/p>\n

During the coronavirus lockdown, Mr. Oshima called out to me and planned a Zoom drinking party to connect America and Japan. We decided to get together and just have fun. During that conversation, when I mentioned that I wanted to make a new 2D Sonic game, Mr. Oshima said, me too. I think that’s a really great idea. \u2019 So what started as a really casual conversation ended up being done.<\/p>\n

What Oshima-san really brings is his classic Sonic experience working on Sonic 1 and Sonic CD. He understands how to make a true classic Sonic his game. Christian Whitehead and his team are all fans and love this series. That’s why they’ve been able to make great classic games, and that’s one of the things Mr. Oshima brings to the table. He knows how to make games. A classic Sonic experience.<\/p>\n

I don’t feel confident or comfortable with other inexperienced developers [working on this]. It’s kind of a hurdle that doesn’t feel like a classic Sonic game.<\/p>\n

So it seems like Mr. Oshima is much more involved than just designing a few new characters?<\/strong><\/p>\n

Many people think that Mr. Oshima just drew the character with an idea of \u200b\u200bwhat Sonic would be like. However, in addition to drawing and creating characters, he was also designing his levels for Sonic 1. In other words, he was responsible for the original level design of his game, so Sonic he has experience creating games.<\/p>\n

\n

“What Oshima-san really brings is the classic Sonic experience he had on Sonic 1 and Sonic CD. He understands how to make a true classic Sonic game.”<\/p>\n<\/blockquote>\n

Will other classic Sonic developers return?<\/strong><\/p>\n

When we talk about the people who are still behind the classic Sonic games, there aren’t that many people actively creating games left over from that really small group.<\/p>\n

But there are three people there. I, Mr. Oshima, and the third person is Mr. Jun Segami from Sega, who was in charge of the music for Sonic 3 in the past. He also participated in the development of Sonic Superstars. Jun is the game’s music director, with a focus on making it sound like the classic game.<\/p>\n

But clearly he’s not sitting around making all this music himself. He has worked with Sega’s internal teams to create music with a classic Sonic feel, as well as external teams like Tea Lopez, who helped with Sonic Mania.<\/p>\n

Superstars is a full-price title. Can you tell us about how much content is planned for the game?<\/strong><\/p>\n

We just announced it so I can’t really talk about all the features at this point, but stay tuned as we’ll be revealing more about the game later this year. However, from my point of view of what a 2D Sonic game should be, this game definitely reaches the level of content that a 2D Sonic game should be.<\/p>\n

\"Interview:<\/figure>\n

The game has cooperative multiplayer. How is the experience different between solo and multiplayer, and have you had to tweak classic gameplay to accommodate multiplayer?<\/strong><\/p>\n

4-player co-op multiplayer is like the core base on which the game can be played. He doesn’t have to play with four players to get the most out of it or beat a particular mode. Literally, if a friend comes to your house while you’re playing, you can immediately join in and continue together. The game never changes. It’s really just jump in and pop out co-op.<\/p>\n

Digging deeper into the question, the level design doesn’t change as the number of players in the game increases, but the game experience changes depending on which character you play with. Tails and Sonic, for example, just like in Sonic 3, Tails can carry Sonic to another location. Alternatively, now that we have Emerald Power, we can use each other’s powers to get out of trouble.<\/p>\n

With the possibility of adding online in the future, why did you choose to only play locally?<\/strong><\/p>\n

Because the gameplay is so fast. You can travel this far in the level in one frame. We didn’t want to put this feature in a place where lag was introduced and technical requirements stopped people from enjoying it. So we wanted to keep it a local shared experience.<\/p>\n

\n

“If we dig deeper into your question, the level design will not change as more players enter the game, but the game experience will change depending on which character you play with.”<\/p>\n<\/blockquote>\n

Why did it take so long for Amy to be able to play in 2D Sonic, and how did you decide how Amy should play?<\/strong><\/p>\n

Making the classic Amy a playable character was something we always wanted to do. During the development of Sonic Mania, there were discussions about how to include her, but it was too late. However, we are working to incorporate her into her Origins Plus release, which we have worked on in collaboration with her Headcannon.<\/p>\n

For Superstar, we wanted to work on Amy’s unique moveset and make her different from other characters. For example, if there is an enemy with thorns, even if you attack while curled up, you will still receive damage. But Amy uses objects. She does not touch herself to destroy her enemies. she uses a hammer As such, she can defeat enemies that other characters cannot. So Amy has an element that is unique to her and perhaps players will experience her more easily.<\/p>\n

With Samba de Amigo and 2D Sonic returning, what are the chances of Sonic Team’s other series returning, such as Nights: Into Dreams and Burning Rangers?<\/strong><\/p>\n

I can’t say yes to anything now. I’m currently the creative officer for Sonic the Hedgehog, so I’m completely focused on that aspect. So, I can’t speak for others, but Sonic Team in Japan has recently stepped up, hired more people, and has more people than ever before. So you may hear titles like this in the future.<\/p>\n

<\/p>\n


\n
Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"

For years, Sega seems to have struggled to figure out what a Sonic the Hedgehog game should be in the modern world. The struggle between appealing to die-hard fans and expanding to new, younger audiences has resulted in countless awkward compromises in The Blue Hedgehog’s attempt to please everyone at once, turning a familiar course […]<\/p>\n","protected":false},"author":1,"featured_media":28656,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-28655","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-interviews"],"aioseo_notices":[],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/themusicmemo.com\/wp-json\/wp\/v2\/posts\/28655","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themusicmemo.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themusicmemo.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themusicmemo.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themusicmemo.com\/wp-json\/wp\/v2\/comments?post=28655"}],"version-history":[{"count":1,"href":"https:\/\/themusicmemo.com\/wp-json\/wp\/v2\/posts\/28655\/revisions"}],"predecessor-version":[{"id":28657,"href":"https:\/\/themusicmemo.com\/wp-json\/wp\/v2\/posts\/28655\/revisions\/28657"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themusicmemo.com\/wp-json\/wp\/v2\/media\/28656"}],"wp:attachment":[{"href":"https:\/\/themusicmemo.com\/wp-json\/wp\/v2\/media?parent=28655"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themusicmemo.com\/wp-json\/wp\/v2\/categories?post=28655"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themusicmemo.com\/wp-json\/wp\/v2\/tags?post=28655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}